@acrobits/ipc-sdk 0.0.15 → 0.1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"ipc-sdk.js","sources":["../src/lib/events.ts","../../ipc-protocol/lib/ipc-protocol.js","../../../node_modules/.pnpm/tslib@2.5.0/node_modules/tslib/tslib.es6.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/isFunction.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/Subscription.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/config.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/noop.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/Subscriber.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/identity.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/lift.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/EmptyError.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/firstValueFrom.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/operators/map.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/operators/tap.js","../src/lib/getDefaultLogger.ts","../src/lib/sdk.ts"],"sourcesContent":["/**\n * A collection of Events that are used by the `IPC` SDK.\n *\n * @public\n */\nexport const enum IPCEvents {\n /**\n * Event that is fired when the `Host` app requests a badge count update.\n */\n BadgeQuery = 'BADGE QUERY',\n\n /**\n * Event that is fired whenever the `Host` app is in foreground.\n */\n HostInForeground = 'HOST IN FOREGROUND'\n}\n","var rr = Object.defineProperty;\nvar sr = (r, t, e) => t in r ? rr(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e;\nvar H = (r, t, e) => (sr(r, typeof t != \"symbol\" ? t + \"\" : t, e), e);\nfunction nr(r, t) {\n for (var e = 0; e < t.length; e++) {\n const s = t[e];\n if (typeof s != \"string\" && !Array.isArray(s)) {\n for (const n in s)\n if (n !== \"default\" && !(n in r)) {\n const i = Object.getOwnPropertyDescriptor(s, n);\n i && Object.defineProperty(r, n, i.get ? i : {\n enumerable: !0,\n get: () => s[n]\n });\n }\n }\n }\n return Object.freeze(Object.defineProperty(r, Symbol.toStringTag, { value: \"Module\" }));\n}\nfunction ir(r) {\n return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, \"default\") ? r.default : r;\n}\nvar Fe = { exports: {} };\nconst or = \"2.0.0\", Pt = 256, ar = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */\n9007199254740991, lr = 16, cr = Pt - 6, ur = [\n \"major\",\n \"premajor\",\n \"minor\",\n \"preminor\",\n \"patch\",\n \"prepatch\",\n \"prerelease\"\n];\nvar Re = {\n MAX_LENGTH: Pt,\n MAX_SAFE_COMPONENT_LENGTH: lr,\n MAX_SAFE_BUILD_LENGTH: cr,\n MAX_SAFE_INTEGER: ar,\n RELEASE_TYPES: ur,\n SEMVER_SPEC_VERSION: or,\n FLAG_INCLUDE_PRERELEASE: 1,\n FLAG_LOOSE: 2\n};\nconst hr = typeof process == \"object\" && process.env && process.env.NODE_DEBUG && /\\bsemver\\b/i.test(process.env.NODE_DEBUG) ? (...r) => console.error(\"SEMVER\", ...r) : () => {\n};\nvar be = hr;\n(function(r, t) {\n const {\n MAX_SAFE_COMPONENT_LENGTH: e,\n MAX_SAFE_BUILD_LENGTH: s,\n MAX_LENGTH: n\n } = Re, i = be;\n t = r.exports = {};\n const a = t.re = [], c = t.safeRe = [], o = t.src = [], l = t.t = {};\n let u = 0;\n const f = \"[a-zA-Z0-9-]\", b = [\n [\"\\\\s\", 1],\n [\"\\\\d\", n],\n [f, s]\n ], d = (T) => {\n for (const [j, z] of b)\n T = T.split(`${j}*`).join(`${j}{0,${z}}`).split(`${j}+`).join(`${j}{1,${z}}`);\n return T;\n }, g = (T, j, z) => {\n const P = d(j), J = u++;\n i(T, J, j), l[T] = J, o[J] = j, a[J] = new RegExp(j, z ? \"g\" : void 0), c[J] = new RegExp(P, z ? \"g\" : void 0);\n };\n g(\"NUMERICIDENTIFIER\", \"0|[1-9]\\\\d*\"), g(\"NUMERICIDENTIFIERLOOSE\", \"\\\\d+\"), g(\"NONNUMERICIDENTIFIER\", `\\\\d*[a-zA-Z-]${f}*`), g(\"MAINVERSION\", `(${o[l.NUMERICIDENTIFIER]})\\\\.(${o[l.NUMERICIDENTIFIER]})\\\\.(${o[l.NUMERICIDENTIFIER]})`), g(\"MAINVERSIONLOOSE\", `(${o[l.NUMERICIDENTIFIERLOOSE]})\\\\.(${o[l.NUMERICIDENTIFIERLOOSE]})\\\\.(${o[l.NUMERICIDENTIFIERLOOSE]})`), g(\"PRERELEASEIDENTIFIER\", `(?:${o[l.NUMERICIDENTIFIER]}|${o[l.NONNUMERICIDENTIFIER]})`), g(\"PRERELEASEIDENTIFIERLOOSE\", `(?:${o[l.NUMERICIDENTIFIERLOOSE]}|${o[l.NONNUMERICIDENTIFIER]})`), g(\"PRERELEASE\", `(?:-(${o[l.PRERELEASEIDENTIFIER]}(?:\\\\.${o[l.PRERELEASEIDENTIFIER]})*))`), g(\"PRERELEASELOOSE\", `(?:-?(${o[l.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${o[l.PRERELEASEIDENTIFIERLOOSE]})*))`), g(\"BUILDIDENTIFIER\", `${f}+`), g(\"BUILD\", `(?:\\\\+(${o[l.BUILDIDENTIFIER]}(?:\\\\.${o[l.BUILDIDENTIFIER]})*))`), g(\"FULLPLAIN\", `v?${o[l.MAINVERSION]}${o[l.PRERELEASE]}?${o[l.BUILD]}?`), g(\"FULL\", `^${o[l.FULLPLAIN]}$`), g(\"LOOSEPLAIN\", `[v=\\\\s]*${o[l.MAINVERSIONLOOSE]}${o[l.PRERELEASELOOSE]}?${o[l.BUILD]}?`), g(\"LOOSE\", `^${o[l.LOOSEPLAIN]}$`), g(\"GTLT\", \"((?:<|>)?=?)\"), g(\"XRANGEIDENTIFIERLOOSE\", `${o[l.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`), g(\"XRANGEIDENTIFIER\", `${o[l.NUMERICIDENTIFIER]}|x|X|\\\\*`), g(\"XRANGEPLAIN\", `[v=\\\\s]*(${o[l.XRANGEIDENTIFIER]})(?:\\\\.(${o[l.XRANGEIDENTIFIER]})(?:\\\\.(${o[l.XRANGEIDENTIFIER]})(?:${o[l.PRERELEASE]})?${o[l.BUILD]}?)?)?`), g(\"XRANGEPLAINLOOSE\", `[v=\\\\s]*(${o[l.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${o[l.XRANGEIDENTIFIERLOOSE]})(?:\\\\.(${o[l.XRANGEIDENTIFIERLOOSE]})(?:${o[l.PRERELEASELOOSE]})?${o[l.BUILD]}?)?)?`), g(\"XRANGE\", `^${o[l.GTLT]}\\\\s*${o[l.XRANGEPLAIN]}$`), g(\"XRANGELOOSE\", `^${o[l.GTLT]}\\\\s*${o[l.XRANGEPLAINLOOSE]}$`), g(\"COERCE\", `(^|[^\\\\d])(\\\\d{1,${e}})(?:\\\\.(\\\\d{1,${e}}))?(?:\\\\.(\\\\d{1,${e}}))?(?:$|[^\\\\d])`), g(\"COERCERTL\", o[l.COERCE], !0), g(\"LONETILDE\", \"(?:~>?)\"), g(\"TILDETRIM\", `(\\\\s*)${o[l.LONETILDE]}\\\\s+`, !0), t.tildeTrimReplace = \"$1~\", g(\"TILDE\", `^${o[l.LONETILDE]}${o[l.XRANGEPLAIN]}$`), g(\"TILDELOOSE\", `^${o[l.LONETILDE]}${o[l.XRANGEPLAINLOOSE]}$`), g(\"LONECARET\", \"(?:\\\\^)\"), g(\"CARETTRIM\", `(\\\\s*)${o[l.LONECARET]}\\\\s+`, !0), t.caretTrimReplace = \"$1^\", g(\"CARET\", `^${o[l.LONECARET]}${o[l.XRANGEPLAIN]}$`), g(\"CARETLOOSE\", `^${o[l.LONECARET]}${o[l.XRANGEPLAINLOOSE]}$`), g(\"COMPARATORLOOSE\", `^${o[l.GTLT]}\\\\s*(${o[l.LOOSEPLAIN]})$|^$`), g(\"COMPARATOR\", `^${o[l.GTLT]}\\\\s*(${o[l.FULLPLAIN]})$|^$`), g(\"COMPARATORTRIM\", `(\\\\s*)${o[l.GTLT]}\\\\s*(${o[l.LOOSEPLAIN]}|${o[l.XRANGEPLAIN]})`, !0), t.comparatorTrimReplace = \"$1$2$3\", g(\"HYPHENRANGE\", `^\\\\s*(${o[l.XRANGEPLAIN]})\\\\s+-\\\\s+(${o[l.XRANGEPLAIN]})\\\\s*$`), g(\"HYPHENRANGELOOSE\", `^\\\\s*(${o[l.XRANGEPLAINLOOSE]})\\\\s+-\\\\s+(${o[l.XRANGEPLAINLOOSE]})\\\\s*$`), g(\"STAR\", \"(<|>)?=?\\\\s*\\\\*\"), g(\"GTE0\", \"^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$\"), g(\"GTE0PRE\", \"^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$\");\n})(Fe, Fe.exports);\nvar ue = Fe.exports;\nconst fr = Object.freeze({ loose: !0 }), pr = Object.freeze({}), dr = (r) => r ? typeof r != \"object\" ? fr : r : pr;\nvar Ye = dr;\nconst et = /^[0-9]+$/, xt = (r, t) => {\n const e = et.test(r), s = et.test(t);\n return e && s && (r = +r, t = +t), r === t ? 0 : e && !s ? -1 : s && !e ? 1 : r < t ? -1 : 1;\n}, vr = (r, t) => xt(t, r);\nvar _t = {\n compareIdentifiers: xt,\n rcompareIdentifiers: vr\n};\nconst fe = be, { MAX_LENGTH: tt, MAX_SAFE_INTEGER: pe } = Re, { safeRe: rt, t: st } = ue, Er = Ye, { compareIdentifiers: ee } = _t;\nlet gr = class X {\n constructor(t, e) {\n if (e = Er(e), t instanceof X) {\n if (t.loose === !!e.loose && t.includePrerelease === !!e.includePrerelease)\n return t;\n t = t.version;\n } else if (typeof t != \"string\")\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof t}\".`);\n if (t.length > tt)\n throw new TypeError(\n `version is longer than ${tt} characters`\n );\n fe(\"SemVer\", t, e), this.options = e, this.loose = !!e.loose, this.includePrerelease = !!e.includePrerelease;\n const s = t.trim().match(e.loose ? rt[st.LOOSE] : rt[st.FULL]);\n if (!s)\n throw new TypeError(`Invalid Version: ${t}`);\n if (this.raw = t, this.major = +s[1], this.minor = +s[2], this.patch = +s[3], this.major > pe || this.major < 0)\n throw new TypeError(\"Invalid major version\");\n if (this.minor > pe || this.minor < 0)\n throw new TypeError(\"Invalid minor version\");\n if (this.patch > pe || this.patch < 0)\n throw new TypeError(\"Invalid patch version\");\n s[4] ? this.prerelease = s[4].split(\".\").map((n) => {\n if (/^[0-9]+$/.test(n)) {\n const i = +n;\n if (i >= 0 && i < pe)\n return i;\n }\n return n;\n }) : this.prerelease = [], this.build = s[5] ? s[5].split(\".\") : [], this.format();\n }\n format() {\n return this.version = `${this.major}.${this.minor}.${this.patch}`, this.prerelease.length && (this.version += `-${this.prerelease.join(\".\")}`), this.version;\n }\n toString() {\n return this.version;\n }\n compare(t) {\n if (fe(\"SemVer.compare\", this.version, this.options, t), !(t instanceof X)) {\n if (typeof t == \"string\" && t === this.version)\n return 0;\n t = new X(t, this.options);\n }\n return t.version === this.version ? 0 : this.compareMain(t) || this.comparePre(t);\n }\n compareMain(t) {\n return t instanceof X || (t = new X(t, this.options)), ee(this.major, t.major) || ee(this.minor, t.minor) || ee(this.patch, t.patch);\n }\n comparePre(t) {\n if (t instanceof X || (t = new X(t, this.options)), this.prerelease.length && !t.prerelease.length)\n return -1;\n if (!this.prerelease.length && t.prerelease.length)\n return 1;\n if (!this.prerelease.length && !t.prerelease.length)\n return 0;\n let e = 0;\n do {\n const s = this.prerelease[e], n = t.prerelease[e];\n if (fe(\"prerelease compare\", e, s, n), s === void 0 && n === void 0)\n return 0;\n if (n === void 0)\n return 1;\n if (s === void 0)\n return -1;\n if (s === n)\n continue;\n return ee(s, n);\n } while (++e);\n }\n compareBuild(t) {\n t instanceof X || (t = new X(t, this.options));\n let e = 0;\n do {\n const s = this.build[e], n = t.build[e];\n if (fe(\"prerelease compare\", e, s, n), s === void 0 && n === void 0)\n return 0;\n if (n === void 0)\n return 1;\n if (s === void 0)\n return -1;\n if (s === n)\n continue;\n return ee(s, n);\n } while (++e);\n }\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc(t, e, s) {\n switch (t) {\n case \"premajor\":\n this.prerelease.length = 0, this.patch = 0, this.minor = 0, this.major++, this.inc(\"pre\", e, s);\n break;\n case \"preminor\":\n this.prerelease.length = 0, this.patch = 0, this.minor++, this.inc(\"pre\", e, s);\n break;\n case \"prepatch\":\n this.prerelease.length = 0, this.inc(\"patch\", e, s), this.inc(\"pre\", e, s);\n break;\n case \"prerelease\":\n this.prerelease.length === 0 && this.inc(\"patch\", e, s), this.inc(\"pre\", e, s);\n break;\n case \"major\":\n (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) && this.major++, this.minor = 0, this.patch = 0, this.prerelease = [];\n break;\n case \"minor\":\n (this.patch !== 0 || this.prerelease.length === 0) && this.minor++, this.patch = 0, this.prerelease = [];\n break;\n case \"patch\":\n this.prerelease.length === 0 && this.patch++, this.prerelease = [];\n break;\n case \"pre\": {\n const n = Number(s) ? 1 : 0;\n if (!e && s === !1)\n throw new Error(\"invalid increment argument: identifier is empty\");\n if (this.prerelease.length === 0)\n this.prerelease = [n];\n else {\n let i = this.prerelease.length;\n for (; --i >= 0; )\n typeof this.prerelease[i] == \"number\" && (this.prerelease[i]++, i = -2);\n if (i === -1) {\n if (e === this.prerelease.join(\".\") && s === !1)\n throw new Error(\"invalid increment argument: identifier already exists\");\n this.prerelease.push(n);\n }\n }\n if (e) {\n let i = [e, n];\n s === !1 && (i = [e]), ee(this.prerelease[0], e) === 0 ? isNaN(this.prerelease[1]) && (this.prerelease = i) : this.prerelease = i;\n }\n break;\n }\n default:\n throw new Error(`invalid increment argument: ${t}`);\n }\n return this.raw = this.format(), this.build.length && (this.raw += `+${this.build.join(\".\")}`), this;\n }\n};\nvar M = gr;\nconst nt = M, mr = (r, t, e = !1) => {\n if (r instanceof nt)\n return r;\n try {\n return new nt(r, t);\n } catch (s) {\n if (!e)\n return null;\n throw s;\n }\n};\nvar ie = mr;\nconst $r = ie, yr = (r, t) => {\n const e = $r(r, t);\n return e ? e.version : null;\n};\nvar Sr = yr;\nconst Rr = ie, br = (r, t) => {\n const e = Rr(r.trim().replace(/^[=v]+/, \"\"), t);\n return e ? e.version : null;\n};\nvar Ir = br;\nconst it = M, wr = (r, t, e, s, n) => {\n typeof e == \"string\" && (n = s, s = e, e = void 0);\n try {\n return new it(\n r instanceof it ? r.version : r,\n e\n ).inc(t, s, n).version;\n } catch {\n return null;\n }\n};\nvar Ar = wr;\nconst ot = ie, Or = (r, t) => {\n const e = ot(r, null, !0), s = ot(t, null, !0), n = e.compare(s);\n if (n === 0)\n return null;\n const i = n > 0, a = i ? e : s, c = i ? s : e, o = !!a.prerelease.length;\n if (!!c.prerelease.length && !o)\n return !c.patch && !c.minor ? \"major\" : a.patch ? \"patch\" : a.minor ? \"minor\" : \"major\";\n const u = o ? \"pre\" : \"\";\n return e.major !== s.major ? u + \"major\" : e.minor !== s.minor ? u + \"minor\" : e.patch !== s.patch ? u + \"patch\" : \"prerelease\";\n};\nvar Tr = Or;\nconst Nr = M, Lr = (r, t) => new Nr(r, t).major;\nvar Cr = Lr;\nconst Pr = M, xr = (r, t) => new Pr(r, t).minor;\nvar _r = xr;\nconst Mr = M, Dr = (r, t) => new Mr(r, t).patch;\nvar jr = Dr;\nconst Gr = ie, Ur = (r, t) => {\n const e = Gr(r, t);\n return e && e.prerelease.length ? e.prerelease : null;\n};\nvar Fr = Ur;\nconst at = M, Vr = (r, t, e) => new at(r, e).compare(new at(t, e));\nvar F = Vr;\nconst Xr = F, Hr = (r, t, e) => Xr(t, r, e);\nvar qr = Hr;\nconst Yr = F, Br = (r, t) => Yr(r, t, !0);\nvar Wr = Br;\nconst lt = M, zr = (r, t, e) => {\n const s = new lt(r, e), n = new lt(t, e);\n return s.compare(n) || s.compareBuild(n);\n};\nvar Be = zr;\nconst Jr = Be, Kr = (r, t) => r.sort((e, s) => Jr(e, s, t));\nvar Qr = Kr;\nconst Zr = Be, kr = (r, t) => r.sort((e, s) => Zr(s, e, t));\nvar es = kr;\nconst ts = F, rs = (r, t, e) => ts(r, t, e) > 0;\nvar Ie = rs;\nconst ss = F, ns = (r, t, e) => ss(r, t, e) < 0;\nvar We = ns;\nconst is = F, os = (r, t, e) => is(r, t, e) === 0;\nvar Mt = os;\nconst as = F, ls = (r, t, e) => as(r, t, e) !== 0;\nvar Dt = ls;\nconst cs = F, us = (r, t, e) => cs(r, t, e) >= 0;\nvar ze = us;\nconst hs = F, fs = (r, t, e) => hs(r, t, e) <= 0;\nvar Je = fs;\nconst ps = Mt, ds = Dt, vs = Ie, Es = ze, gs = We, ms = Je, $s = (r, t, e, s) => {\n switch (t) {\n case \"===\":\n return typeof r == \"object\" && (r = r.version), typeof e == \"object\" && (e = e.version), r === e;\n case \"!==\":\n return typeof r == \"object\" && (r = r.version), typeof e == \"object\" && (e = e.version), r !== e;\n case \"\":\n case \"=\":\n case \"==\":\n return ps(r, e, s);\n case \"!=\":\n return ds(r, e, s);\n case \">\":\n return vs(r, e, s);\n case \">=\":\n return Es(r, e, s);\n case \"<\":\n return gs(r, e, s);\n case \"<=\":\n return ms(r, e, s);\n default:\n throw new TypeError(`Invalid operator: ${t}`);\n }\n};\nvar jt = $s;\nconst ys = M, Ss = ie, { safeRe: de, t: ve } = ue, Rs = (r, t) => {\n if (r instanceof ys)\n return r;\n if (typeof r == \"number\" && (r = String(r)), typeof r != \"string\")\n return null;\n t = t || {};\n let e = null;\n if (!t.rtl)\n e = r.match(de[ve.COERCE]);\n else {\n let s;\n for (; (s = de[ve.COERCERTL].exec(r)) && (!e || e.index + e[0].length !== r.length); )\n (!e || s.index + s[0].length !== e.index + e[0].length) && (e = s), de[ve.COERCERTL].lastIndex = s.index + s[1].length + s[2].length;\n de[ve.COERCERTL].lastIndex = -1;\n }\n return e === null ? null : Ss(`${e[2]}.${e[3] || \"0\"}.${e[4] || \"0\"}`, t);\n};\nvar bs = Rs, Ne, ct;\nfunction Is() {\n return ct || (ct = 1, Ne = function(r) {\n r.prototype[Symbol.iterator] = function* () {\n for (let t = this.head; t; t = t.next)\n yield t.value;\n };\n }), Ne;\n}\nvar ws = R;\nR.Node = k;\nR.create = R;\nfunction R(r) {\n var t = this;\n if (t instanceof R || (t = new R()), t.tail = null, t.head = null, t.length = 0, r && typeof r.forEach == \"function\")\n r.forEach(function(n) {\n t.push(n);\n });\n else if (arguments.length > 0)\n for (var e = 0, s = arguments.length; e < s; e++)\n t.push(arguments[e]);\n return t;\n}\nR.prototype.removeNode = function(r) {\n if (r.list !== this)\n throw new Error(\"removing node which does not belong to this list\");\n var t = r.next, e = r.prev;\n return t && (t.prev = e), e && (e.next = t), r === this.head && (this.head = t), r === this.tail && (this.tail = e), r.list.length--, r.next = null, r.prev = null, r.list = null, t;\n};\nR.prototype.unshiftNode = function(r) {\n if (r !== this.head) {\n r.list && r.list.removeNode(r);\n var t = this.head;\n r.list = this, r.next = t, t && (t.prev = r), this.head = r, this.tail || (this.tail = r), this.length++;\n }\n};\nR.prototype.pushNode = function(r) {\n if (r !== this.tail) {\n r.list && r.list.removeNode(r);\n var t = this.tail;\n r.list = this, r.prev = t, t && (t.next = r), this.tail = r, this.head || (this.head = r), this.length++;\n }\n};\nR.prototype.push = function() {\n for (var r = 0, t = arguments.length; r < t; r++)\n Os(this, arguments[r]);\n return this.length;\n};\nR.prototype.unshift = function() {\n for (var r = 0, t = arguments.length; r < t; r++)\n Ts(this, arguments[r]);\n return this.length;\n};\nR.prototype.pop = function() {\n if (this.tail) {\n var r = this.tail.value;\n return this.tail = this.tail.prev, this.tail ? this.tail.next = null : this.head = null, this.length--, r;\n }\n};\nR.prototype.shift = function() {\n if (this.head) {\n var r = this.head.value;\n return this.head = this.head.next, this.head ? this.head.prev = null : this.tail = null, this.length--, r;\n }\n};\nR.prototype.forEach = function(r, t) {\n t = t || this;\n for (var e = this.head, s = 0; e !== null; s++)\n r.call(t, e.value, s, this), e = e.next;\n};\nR.prototype.forEachReverse = function(r, t) {\n t = t || this;\n for (var e = this.tail, s = this.length - 1; e !== null; s--)\n r.call(t, e.value, s, this), e = e.prev;\n};\nR.prototype.get = function(r) {\n for (var t = 0, e = this.head; e !== null && t < r; t++)\n e = e.next;\n if (t === r && e !== null)\n return e.value;\n};\nR.prototype.getReverse = function(r) {\n for (var t = 0, e = this.tail; e !== null && t < r; t++)\n e = e.prev;\n if (t === r && e !== null)\n return e.value;\n};\nR.prototype.map = function(r, t) {\n t = t || this;\n for (var e = new R(), s = this.head; s !== null; )\n e.push(r.call(t, s.value, this)), s = s.next;\n return e;\n};\nR.prototype.mapReverse = function(r, t) {\n t = t || this;\n for (var e = new R(), s = this.tail; s !== null; )\n e.push(r.call(t, s.value, this)), s = s.prev;\n return e;\n};\nR.prototype.reduce = function(r, t) {\n var e, s = this.head;\n if (arguments.length > 1)\n e = t;\n else if (this.head)\n s = this.head.next, e = this.head.value;\n else\n throw new TypeError(\"Reduce of empty list with no initial value\");\n for (var n = 0; s !== null; n++)\n e = r(e, s.value, n), s = s.next;\n return e;\n};\nR.prototype.reduceReverse = function(r, t) {\n var e, s = this.tail;\n if (arguments.length > 1)\n e = t;\n else if (this.tail)\n s = this.tail.prev, e = this.tail.value;\n else\n throw new TypeError(\"Reduce of empty list with no initial value\");\n for (var n = this.length - 1; s !== null; n--)\n e = r(e, s.value, n), s = s.prev;\n return e;\n};\nR.prototype.toArray = function() {\n for (var r = new Array(this.length), t = 0, e = this.head; e !== null; t++)\n r[t] = e.value, e = e.next;\n return r;\n};\nR.prototype.toArrayReverse = function() {\n for (var r = new Array(this.length), t = 0, e = this.tail; e !== null; t++)\n r[t] = e.value, e = e.prev;\n return r;\n};\nR.prototype.slice = function(r, t) {\n t = t || this.length, t < 0 && (t += this.length), r = r || 0, r < 0 && (r += this.length);\n var e = new R();\n if (t < r || t < 0)\n return e;\n r < 0 && (r = 0), t > this.length && (t = this.length);\n for (var s = 0, n = this.head; n !== null && s < r; s++)\n n = n.next;\n for (; n !== null && s < t; s++, n = n.next)\n e.push(n.value);\n return e;\n};\nR.prototype.sliceReverse = function(r, t) {\n t = t || this.length, t < 0 && (t += this.length), r = r || 0, r < 0 && (r += this.length);\n var e = new R();\n if (t < r || t < 0)\n return e;\n r < 0 && (r = 0), t > this.length && (t = this.length);\n for (var s = this.length, n = this.tail; n !== null && s > t; s--)\n n = n.prev;\n for (; n !== null && s > r; s--, n = n.prev)\n e.push(n.value);\n return e;\n};\nR.prototype.splice = function(r, t, ...e) {\n r > this.length && (r = this.length - 1), r < 0 && (r = this.length + r);\n for (var s = 0, n = this.head; n !== null && s < r; s++)\n n = n.next;\n for (var i = [], s = 0; n && s < t; s++)\n i.push(n.value), n = this.removeNode(n);\n n === null && (n = this.tail), n !== this.head && n !== this.tail && (n = n.prev);\n for (var s = 0; s < e.length; s++)\n n = As(this, n, e[s]);\n return i;\n};\nR.prototype.reverse = function() {\n for (var r = this.head, t = this.tail, e = r; e !== null; e = e.prev) {\n var s = e.prev;\n e.prev = e.next, e.next = s;\n }\n return this.head = t, this.tail = r, this;\n};\nfunction As(r, t, e) {\n var s = t === r.head ? new k(e, null, t, r) : new k(e, t, t.next, r);\n return s.next === null && (r.tail = s), s.prev === null && (r.head = s), r.length++, s;\n}\nfunction Os(r, t) {\n r.tail = new k(t, r.tail, null, r), r.head || (r.head = r.tail), r.length++;\n}\nfunction Ts(r, t) {\n r.head = new k(t, null, r.head, r), r.tail || (r.tail = r.head), r.length++;\n}\nfunction k(r, t, e, s) {\n if (!(this instanceof k))\n return new k(r, t, e, s);\n this.list = s, this.value = r, t ? (t.next = this, this.prev = t) : this.prev = null, e ? (e.prev = this, this.next = e) : this.next = null;\n}\ntry {\n Is()(R);\n} catch {\n}\nconst Ns = ws, K = Symbol(\"max\"), B = Symbol(\"length\"), te = Symbol(\"lengthCalculator\"), ce = Symbol(\"allowStale\"), Q = Symbol(\"maxAge\"), Y = Symbol(\"dispose\"), ut = Symbol(\"noDisposeOnSet\"), C = Symbol(\"lruList\"), U = Symbol(\"cache\"), Gt = Symbol(\"updateAgeOnGet\"), Le = () => 1;\nclass Ls {\n constructor(t) {\n if (typeof t == \"number\" && (t = { max: t }), t || (t = {}), t.max && (typeof t.max != \"number\" || t.max < 0))\n throw new TypeError(\"max must be a non-negative number\");\n this[K] = t.max || 1 / 0;\n const e = t.length || Le;\n if (this[te] = typeof e != \"function\" ? Le : e, this[ce] = t.stale || !1, t.maxAge && typeof t.maxAge != \"number\")\n throw new TypeError(\"maxAge must be a number\");\n this[Q] = t.maxAge || 0, this[Y] = t.dispose, this[ut] = t.noDisposeOnSet || !1, this[Gt] = t.updateAgeOnGet || !1, this.reset();\n }\n // resize the cache when the max changes.\n set max(t) {\n if (typeof t != \"number\" || t < 0)\n throw new TypeError(\"max must be a non-negative number\");\n this[K] = t || 1 / 0, ae(this);\n }\n get max() {\n return this[K];\n }\n set allowStale(t) {\n this[ce] = !!t;\n }\n get allowStale() {\n return this[ce];\n }\n set maxAge(t) {\n if (typeof t != \"number\")\n throw new TypeError(\"maxAge must be a non-negative number\");\n this[Q] = t, ae(this);\n }\n get maxAge() {\n return this[Q];\n }\n // resize the cache when the lengthCalculator changes.\n set lengthCalculator(t) {\n typeof t != \"function\" && (t = Le), t !== this[te] && (this[te] = t, this[B] = 0, this[C].forEach((e) => {\n e.length = this[te](e.value, e.key), this[B] += e.length;\n })), ae(this);\n }\n get lengthCalculator() {\n return this[te];\n }\n get length() {\n return this[B];\n }\n get itemCount() {\n return this[C].length;\n }\n rforEach(t, e) {\n e = e || this;\n for (let s = this[C].tail; s !== null; ) {\n const n = s.prev;\n ht(this, t, s, e), s = n;\n }\n }\n forEach(t, e) {\n e = e || this;\n for (let s = this[C].head; s !== null; ) {\n const n = s.next;\n ht(this, t, s, e), s = n;\n }\n }\n keys() {\n return this[C].toArray().map((t) => t.key);\n }\n values() {\n return this[C].toArray().map((t) => t.value);\n }\n reset() {\n this[Y] && this[C] && this[C].length && this[C].forEach((t) => this[Y](t.key, t.value)), this[U] = /* @__PURE__ */ new Map(), this[C] = new Ns(), this[B] = 0;\n }\n dump() {\n return this[C].map((t) => me(this, t) ? !1 : {\n k: t.key,\n v: t.value,\n e: t.now + (t.maxAge || 0)\n }).toArray().filter((t) => t);\n }\n dumpLru() {\n return this[C];\n }\n set(t, e, s) {\n if (s = s || this[Q], s && typeof s != \"number\")\n throw new TypeError(\"maxAge must be a number\");\n const n = s ? Date.now() : 0, i = this[te](e, t);\n if (this[U].has(t)) {\n if (i > this[K])\n return re(this, this[U].get(t)), !1;\n const o = this[U].get(t).value;\n return this[Y] && (this[ut] || this[Y](t, o.value)), o.now = n, o.maxAge = s, o.value = e, this[B] += i - o.length, o.length = i, this.get(t), ae(this), !0;\n }\n const a = new Cs(t, e, i, n, s);\n return a.length > this[K] ? (this[Y] && this[Y](t, e), !1) : (this[B] += a.length, this[C].unshift(a), this[U].set(t, this[C].head), ae(this), !0);\n }\n has(t) {\n if (!this[U].has(t))\n return !1;\n const e = this[U].get(t).value;\n return !me(this, e);\n }\n get(t) {\n return Ce(this, t, !0);\n }\n peek(t) {\n return Ce(this, t, !1);\n }\n pop() {\n const t = this[C].tail;\n return t ? (re(this, t), t.value) : null;\n }\n del(t) {\n re(this, this[U].get(t));\n }\n load(t) {\n this.reset();\n const e = Date.now();\n for (let s = t.length - 1; s >= 0; s--) {\n const n = t[s], i = n.e || 0;\n if (i === 0)\n this.set(n.k, n.v);\n else {\n const a = i - e;\n a > 0 && this.set(n.k, n.v, a);\n }\n }\n }\n prune() {\n this[U].forEach((t, e) => Ce(this, e, !1));\n }\n}\nconst Ce = (r, t, e) => {\n const s = r[U].get(t);\n if (s) {\n const n = s.value;\n if (me(r, n)) {\n if (re(r, s), !r[ce])\n return;\n } else\n e && (r[Gt] && (s.value.now = Date.now()), r[C].unshiftNode(s));\n return n.value;\n }\n}, me = (r, t) => {\n if (!t || !t.maxAge && !r[Q])\n return !1;\n const e = Date.now() - t.now;\n return t.maxAge ? e > t.maxAge : r[Q] && e > r[Q];\n}, ae = (r) => {\n if (r[B] > r[K])\n for (let t = r[C].tail; r[B] > r[K] && t !== null; ) {\n const e = t.prev;\n re(r, t), t = e;\n }\n}, re = (r, t) => {\n if (t) {\n const e = t.value;\n r[Y] && r[Y](e.key, e.value), r[B] -= e.length, r[U].delete(e.key), r[C].removeNode(t);\n }\n};\nclass Cs {\n constructor(t, e, s, n, i) {\n this.key = t, this.value = e, this.length = s, this.now = n, this.maxAge = i || 0;\n }\n}\nconst ht = (r, t, e, s) => {\n let n = e.value;\n me(r, n) && (re(r, e), r[ce] || (n = void 0)), n && t.call(s, n.value, n.key, r);\n};\nvar Ps = Ls, Pe, ft;\nfunction V() {\n if (ft)\n return Pe;\n ft = 1;\n class r {\n constructor(h, $) {\n if ($ = s($), h instanceof r)\n return h.loose === !!$.loose && h.includePrerelease === !!$.includePrerelease ? h : new r(h.raw, $);\n if (h instanceof n)\n return this.raw = h.value, this.set = [[h]], this.format(), this;\n if (this.options = $, this.loose = !!$.loose, this.includePrerelease = !!$.includePrerelease, this.raw = h.trim().split(/\\s+/).join(\" \"), this.set = this.raw.split(\"||\").map((E) => this.parseRange(E.trim())).filter((E) => E.length), !this.set.length)\n throw new TypeError(`Invalid SemVer Range: ${this.raw}`);\n if (this.set.length > 1) {\n const E = this.set[0];\n if (this.set = this.set.filter((m) => !g(m[0])), this.set.length === 0)\n this.set = [E];\n else if (this.set.length > 1) {\n for (const m of this.set)\n if (m.length === 1 && T(m[0])) {\n this.set = [m];\n break;\n }\n }\n }\n this.format();\n }\n format() {\n return this.range = this.set.map((h) => h.join(\" \").trim()).join(\"||\").trim(), this.range;\n }\n toString() {\n return this.range;\n }\n parseRange(h) {\n const E = ((this.options.includePrerelease && b) | (this.options.loose && d)) + \":\" + h, m = e.get(E);\n if (m)\n return m;\n const v = this.options.loose, y = v ? c[o.HYPHENRANGELOOSE] : c[o.HYPHENRANGE];\n h = h.replace(y, er(this.options.includePrerelease)), i(\"hyphen replace\", h), h = h.replace(c[o.COMPARATORTRIM], l), i(\"comparator trim\", h), h = h.replace(c[o.TILDETRIM], u), i(\"tilde trim\", h), h = h.replace(c[o.CARETTRIM], f), i(\"caret trim\", h);\n let I = h.split(\" \").map((N) => z(N, this.options)).join(\" \").split(/\\s+/).map((N) => kt(N, this.options));\n v && (I = I.filter((N) => (i(\"loose invalid filter\", N, this.options), !!N.match(c[o.COMPARATORLOOSE])))), i(\"range list\", I);\n const S = /* @__PURE__ */ new Map(), w = I.map((N) => new n(N, this.options));\n for (const N of w) {\n if (g(N))\n return [N];\n S.set(N.value, N);\n }\n S.size > 1 && S.has(\"\") && S.delete(\"\");\n const D = [...S.values()];\n return e.set(E, D), D;\n }\n intersects(h, $) {\n if (!(h instanceof r))\n throw new TypeError(\"a Range is required\");\n return this.set.some((E) => j(E, $) && h.set.some((m) => j(m, $) && E.every((v) => m.every((y) => v.intersects(y, $)))));\n }\n // if ANY of the sets match ALL of its comparators, then pass\n test(h) {\n if (!h)\n return !1;\n if (typeof h == \"string\")\n try {\n h = new a(h, this.options);\n } catch {\n return !1;\n }\n for (let $ = 0; $ < this.set.length; $++)\n if (tr(this.set[$], h, this.options))\n return !0;\n return !1;\n }\n }\n Pe = r;\n const t = Ps, e = new t({ max: 1e3 }), s = Ye, n = we(), i = be, a = M, {\n safeRe: c,\n t: o,\n comparatorTrimReplace: l,\n tildeTrimReplace: u,\n caretTrimReplace: f\n } = ue, { FLAG_INCLUDE_PRERELEASE: b, FLAG_LOOSE: d } = Re, g = (p) => p.value === \"<0.0.0-0\", T = (p) => p.value === \"\", j = (p, h) => {\n let $ = !0;\n const E = p.slice();\n let m = E.pop();\n for (; $ && E.length; )\n $ = E.every((v) => m.intersects(v, h)), m = E.pop();\n return $;\n }, z = (p, h) => (i(\"comp\", p, h), p = zt(p, h), i(\"caret\", p), p = J(p, h), i(\"tildes\", p), p = Kt(p, h), i(\"xrange\", p), p = Zt(p, h), i(\"stars\", p), p), P = (p) => !p || p.toLowerCase() === \"x\" || p === \"*\", J = (p, h) => p.trim().split(/\\s+/).map(($) => Wt($, h)).join(\" \"), Wt = (p, h) => {\n const $ = h.loose ? c[o.TILDELOOSE] : c[o.TILDE];\n return p.replace($, (E, m, v, y, I) => {\n i(\"tilde\", p, E, m, v, y, I);\n let S;\n return P(m) ? S = \"\" : P(v) ? S = `>=${m}.0.0 <${+m + 1}.0.0-0` : P(y) ? S = `>=${m}.${v}.0 <${m}.${+v + 1}.0-0` : I ? (i(\"replaceTilde pr\", I), S = `>=${m}.${v}.${y}-${I} <${m}.${+v + 1}.0-0`) : S = `>=${m}.${v}.${y} <${m}.${+v + 1}.0-0`, i(\"tilde return\", S), S;\n });\n }, zt = (p, h) => p.trim().split(/\\s+/).map(($) => Jt($, h)).join(\" \"), Jt = (p, h) => {\n i(\"caret\", p, h);\n const $ = h.loose ? c[o.CARETLOOSE] : c[o.CARET], E = h.includePrerelease ? \"-0\" : \"\";\n return p.replace($, (m, v, y, I, S) => {\n i(\"caret\", p, m, v, y, I, S);\n let w;\n return P(v) ? w = \"\" : P(y) ? w = `>=${v}.0.0${E} <${+v + 1}.0.0-0` : P(I) ? v === \"0\" ? w = `>=${v}.${y}.0${E} <${v}.${+y + 1}.0-0` : w = `>=${v}.${y}.0${E} <${+v + 1}.0.0-0` : S ? (i(\"replaceCaret pr\", S), v === \"0\" ? y === \"0\" ? w = `>=${v}.${y}.${I}-${S} <${v}.${y}.${+I + 1}-0` : w = `>=${v}.${y}.${I}-${S} <${v}.${+y + 1}.0-0` : w = `>=${v}.${y}.${I}-${S} <${+v + 1}.0.0-0`) : (i(\"no pr\"), v === \"0\" ? y === \"0\" ? w = `>=${v}.${y}.${I}${E} <${v}.${y}.${+I + 1}-0` : w = `>=${v}.${y}.${I}${E} <${v}.${+y + 1}.0-0` : w = `>=${v}.${y}.${I} <${+v + 1}.0.0-0`), i(\"caret return\", w), w;\n });\n }, Kt = (p, h) => (i(\"replaceXRanges\", p, h), p.split(/\\s+/).map(($) => Qt($, h)).join(\" \")), Qt = (p, h) => {\n p = p.trim();\n const $ = h.loose ? c[o.XRANGELOOSE] : c[o.XRANGE];\n return p.replace($, (E, m, v, y, I, S) => {\n i(\"xRange\", p, E, m, v, y, I, S);\n const w = P(v), D = w || P(y), N = D || P(I), oe = N;\n return m === \"=\" && oe && (m = \"\"), S = h.includePrerelease ? \"-0\" : \"\", w ? m === \">\" || m === \"<\" ? E = \"<0.0.0-0\" : E = \"*\" : m && oe ? (D && (y = 0), I = 0, m === \">\" ? (m = \">=\", D ? (v = +v + 1, y = 0, I = 0) : (y = +y + 1, I = 0)) : m === \"<=\" && (m = \"<\", D ? v = +v + 1 : y = +y + 1), m === \"<\" && (S = \"-0\"), E = `${m + v}.${y}.${I}${S}`) : D ? E = `>=${v}.0.0${S} <${+v + 1}.0.0-0` : N && (E = `>=${v}.${y}.0${S} <${v}.${+y + 1}.0-0`), i(\"xRange return\", E), E;\n });\n }, Zt = (p, h) => (i(\"replaceStars\", p, h), p.trim().replace(c[o.STAR], \"\")), kt = (p, h) => (i(\"replaceGTE0\", p, h), p.trim().replace(c[h.includePrerelease ? o.GTE0PRE : o.GTE0], \"\")), er = (p) => (h, $, E, m, v, y, I, S, w, D, N, oe, Ti) => (P(E) ? $ = \"\" : P(m) ? $ = `>=${E}.0.0${p ? \"-0\" : \"\"}` : P(v) ? $ = `>=${E}.${m}.0${p ? \"-0\" : \"\"}` : y ? $ = `>=${$}` : $ = `>=${$}${p ? \"-0\" : \"\"}`, P(w) ? S = \"\" : P(D) ? S = `<${+w + 1}.0.0-0` : P(N) ? S = `<${w}.${+D + 1}.0-0` : oe ? S = `<=${w}.${D}.${N}-${oe}` : p ? S = `<${w}.${D}.${+N + 1}-0` : S = `<=${S}`, `${$} ${S}`.trim()), tr = (p, h, $) => {\n for (let E = 0; E < p.length; E++)\n if (!p[E].test(h))\n return !1;\n if (h.prerelease.length && !$.includePrerelease) {\n for (let E = 0; E < p.length; E++)\n if (i(p[E].semver), p[E].semver !== n.ANY && p[E].semver.prerelease.length > 0) {\n const m = p[E].semver;\n if (m.major === h.major && m.minor === h.minor && m.patch === h.patch)\n return !0;\n }\n return !1;\n }\n return !0;\n };\n return Pe;\n}\nvar xe, pt;\nfunction we() {\n if (pt)\n return xe;\n pt = 1;\n const r = Symbol(\"SemVer ANY\");\n class t {\n static get ANY() {\n return r;\n }\n constructor(u, f) {\n if (f = e(f), u instanceof t) {\n if (u.loose === !!f.loose)\n return u;\n u = u.value;\n }\n u = u.trim().split(/\\s+/).join(\" \"), a(\"comparator\", u, f), this.options = f, this.loose = !!f.loose, this.parse(u), this.semver === r ? this.value = \"\" : this.value = this.operator + this.semver.version, a(\"comp\", this);\n }\n parse(u) {\n const f = this.options.loose ? s[n.COMPARATORLOOSE] : s[n.COMPARATOR], b = u.match(f);\n if (!b)\n throw new TypeError(`Invalid comparator: ${u}`);\n this.operator = b[1] !== void 0 ? b[1] : \"\", this.operator === \"=\" && (this.operator = \"\"), b[2] ? this.semver = new c(b[2], this.options.loose) : this.semver = r;\n }\n toString() {\n return this.value;\n }\n test(u) {\n if (a(\"Comparator.test\", u, this.options.loose), this.semver === r || u === r)\n return !0;\n if (typeof u == \"string\")\n try {\n u = new c(u, this.options);\n } catch {\n return !1;\n }\n return i(u, this.operator, this.semver, this.options);\n }\n intersects(u, f) {\n if (!(u instanceof t))\n throw new TypeError(\"a Comparator is required\");\n return this.operator === \"\" ? this.value === \"\" ? !0 : new o(u.value, f).test(this.value) : u.operator === \"\" ? u.value === \"\" ? !0 : new o(this.value, f).test(u.semver) : (f = e(f), f.includePrerelease && (this.value === \"<0.0.0-0\" || u.value === \"<0.0.0-0\") || !f.includePrerelease && (this.value.startsWith(\"<0.0.0\") || u.value.startsWith(\"<0.0.0\")) ? !1 : !!(this.operator.startsWith(\">\") && u.operator.startsWith(\">\") || this.operator.startsWith(\"<\") && u.operator.startsWith(\"<\") || this.semver.version === u.semver.version && this.operator.includes(\"=\") && u.operator.includes(\"=\") || i(this.semver, \"<\", u.semver, f) && this.operator.startsWith(\">\") && u.operator.startsWith(\"<\") || i(this.semver, \">\", u.semver, f) && this.operator.startsWith(\"<\") && u.operator.startsWith(\">\")));\n }\n }\n xe = t;\n const e = Ye, { safeRe: s, t: n } = ue, i = jt, a = be, c = M, o = V();\n return xe;\n}\nconst xs = V(), _s = (r, t, e) => {\n try {\n t = new xs(t, e);\n } catch {\n return !1;\n }\n return t.test(r);\n};\nvar Ae = _s;\nconst Ms = V(), Ds = (r, t) => new Ms(r, t).set.map((e) => e.map((s) => s.value).join(\" \").trim().split(\" \"));\nvar js = Ds;\nconst Gs = M, Us = V(), Fs = (r, t, e) => {\n let s = null, n = null, i = null;\n try {\n i = new Us(t, e);\n } catch {\n return null;\n }\n return r.forEach((a) => {\n i.test(a) && (!s || n.compare(a) === -1) && (s = a, n = new Gs(s, e));\n }), s;\n};\nvar Vs = Fs;\nconst Xs = M, Hs = V(), qs = (r, t, e) => {\n let s = null, n = null, i = null;\n try {\n i = new Hs(t, e);\n } catch {\n return null;\n }\n return r.forEach((a) => {\n i.test(a) && (!s || n.compare(a) === 1) && (s = a, n = new Xs(s, e));\n }), s;\n};\nvar Ys = qs;\nconst _e = M, Bs = V(), dt = Ie, Ws = (r, t) => {\n r = new Bs(r, t);\n let e = new _e(\"0.0.0\");\n if (r.test(e) || (e = new _e(\"0.0.0-0\"), r.test(e)))\n return e;\n e = null;\n for (let s = 0; s < r.set.length; ++s) {\n const n = r.set[s];\n let i = null;\n n.forEach((a) => {\n const c = new _e(a.semver.version);\n switch (a.operator) {\n case \">\":\n c.prerelease.length === 0 ? c.patch++ : c.prerelease.push(0), c.raw = c.format();\n case \"\":\n case \">=\":\n (!i || dt(c, i)) && (i = c);\n break;\n case \"<\":\n case \"<=\":\n break;\n default:\n throw new Error(`Unexpected operation: ${a.operator}`);\n }\n }), i && (!e || dt(e, i)) && (e = i);\n }\n return e && r.test(e) ? e : null;\n};\nvar zs = Ws;\nconst Js = V(), Ks = (r, t) => {\n try {\n return new Js(r, t).range || \"*\";\n } catch {\n return null;\n }\n};\nvar Qs = Ks;\nconst Zs = M, Ut = we(), { ANY: ks } = Ut, en = V(), tn = Ae, vt = Ie, Et = We, rn = Je, sn = ze, nn = (r, t, e, s) => {\n r = new Zs(r, s), t = new en(t, s);\n let n, i, a, c, o;\n switch (e) {\n case \">\":\n n = vt, i = rn, a = Et, c = \">\", o = \">=\";\n break;\n case \"<\":\n n = Et, i = sn, a = vt, c = \"<\", o = \"<=\";\n break;\n default:\n throw new TypeError('Must provide a hilo val of \"<\" or \">\"');\n }\n if (tn(r, t, s))\n return !1;\n for (let l = 0; l < t.set.length; ++l) {\n const u = t.set[l];\n let f = null, b = null;\n if (u.forEach((d) => {\n d.semver === ks && (d = new Ut(\">=0.0.0\")), f = f || d, b = b || d, n(d.semver, f.semver, s) ? f = d : a(d.semver, b.semver, s) && (b = d);\n }), f.operator === c || f.operator === o || (!b.operator || b.operator === c) && i(r, b.semver))\n return !1;\n if (b.operator === o && a(r, b.semver))\n return !1;\n }\n return !0;\n};\nvar Ke = nn;\nconst on = Ke, an = (r, t, e) => on(r, t, \">\", e);\nvar ln = an;\nconst cn = Ke, un = (r, t, e) => cn(r, t, \"<\", e);\nvar hn = un;\nconst gt = V(), fn = (r, t, e) => (r = new gt(r, e), t = new gt(t, e), r.intersects(t, e));\nvar pn = fn;\nconst dn = Ae, vn = F;\nvar En = (r, t, e) => {\n const s = [];\n let n = null, i = null;\n const a = r.sort((u, f) => vn(u, f, e));\n for (const u of a)\n dn(u, t, e) ? (i = u, n || (n = u)) : (i && s.push([n, i]), i = null, n = null);\n n && s.push([n, null]);\n const c = [];\n for (const [u, f] of s)\n u === f ? c.push(u) : !f && u === a[0] ? c.push(\"*\") : f ? u === a[0] ? c.push(`<=${f}`) : c.push(`${u} - ${f}`) : c.push(`>=${u}`);\n const o = c.join(\" || \"), l = typeof t.raw == \"string\" ? t.raw : String(t);\n return o.length < l.length ? o : t;\n};\nconst mt = V(), Qe = we(), { ANY: Me } = Qe, le = Ae, Ze = F, gn = (r, t, e = {}) => {\n if (r === t)\n return !0;\n r = new mt(r, e), t = new mt(t, e);\n let s = !1;\n e:\n for (const n of r.set) {\n for (const i of t.set) {\n const a = $n(n, i, e);\n if (s = s || a !== null, a)\n continue e;\n }\n if (s)\n return !1;\n }\n return !0;\n}, mn = [new Qe(\">=0.0.0-0\")], $t = [new Qe(\">=0.0.0\")], $n = (r, t, e) => {\n if (r === t)\n return !0;\n if (r.length === 1 && r[0].semver === Me) {\n if (t.length === 1 && t[0].semver === Me)\n return !0;\n e.includePrerelease ? r = mn : r = $t;\n }\n if (t.length === 1 && t[0].semver === Me) {\n if (e.includePrerelease)\n return !0;\n t = $t;\n }\n const s = /* @__PURE__ */ new Set();\n let n, i;\n for (const d of r)\n d.operator === \">\" || d.operator === \">=\" ? n = yt(n, d, e) : d.operator === \"<\" || d.operator === \"<=\" ? i = St(i, d, e) : s.add(d.semver);\n if (s.size > 1)\n return null;\n let a;\n if (n && i) {\n if (a = Ze(n.semver, i.semver, e), a > 0)\n return null;\n if (a === 0 && (n.operator !== \">=\" || i.operator !== \"<=\"))\n return null;\n }\n for (const d of s) {\n if (n && !le(d, String(n), e) || i && !le(d, String(i), e))\n return null;\n for (const g of t)\n if (!le(d, String(g), e))\n return !1;\n return !0;\n }\n let c, o, l, u, f = i && !e.includePrerelease && i.semver.prerelease.length ? i.semver : !1, b = n && !e.includePrerelease && n.semver.prerelease.length ? n.semver : !1;\n f && f.prerelease.length === 1 && i.operator === \"<\" && f.prerelease[0] === 0 && (f = !1);\n for (const d of t) {\n if (u = u || d.operator === \">\" || d.operator === \">=\", l = l || d.operator === \"<\" || d.operator === \"<=\", n) {\n if (b && d.semver.prerelease && d.semver.prerelease.length && d.semver.major === b.major && d.semver.minor === b.minor && d.semver.patch === b.patch && (b = !1), d.operator === \">\" || d.operator === \">=\") {\n if (c = yt(n, d, e), c === d && c !== n)\n return !1;\n } else if (n.operator === \">=\" && !le(n.semver, String(d), e))\n return !1;\n }\n if (i) {\n if (f && d.semver.prerelease && d.semver.prerelease.length && d.semver.major === f.major && d.semver.minor === f.minor && d.semver.patch === f.patch && (f = !1), d.operator === \"<\" || d.operator === \"<=\") {\n if (o = St(i, d, e), o === d && o !== i)\n return !1;\n } else if (i.operator === \"<=\" && !le(i.semver, String(d), e))\n return !1;\n }\n if (!d.operator && (i || n) && a !== 0)\n return !1;\n }\n return !(n && l && !i && a !== 0 || i && u && !n && a !== 0 || b || f);\n}, yt = (r, t, e) => {\n if (!r)\n return t;\n const s = Ze(r.semver, t.semver, e);\n return s > 0 ? r : s < 0 || t.operator === \">\" && r.operator === \">=\" ? t : r;\n}, St = (r, t, e) => {\n if (!r)\n return t;\n const s = Ze(r.semver, t.semver, e);\n return s < 0 ? r : s > 0 || t.operator === \"<\" && r.operator === \"<=\" ? t : r;\n};\nvar yn = gn;\nconst De = ue, Rt = Re, Sn = M, bt = _t, Rn = ie, bn = Sr, In = Ir, wn = Ar, An = Tr, On = Cr, Tn = _r, Nn = jr, Ln = Fr, Cn = F, Pn = qr, xn = Wr, _n = Be, Mn = Qr, Dn = es, jn = Ie, Gn = We, Un = Mt, Fn = Dt, Vn = ze, Xn = Je, Hn = jt, qn = bs, Yn = we(), Bn = V(), Wn = Ae, zn = js, Jn = Vs, Kn = Ys, Qn = zs, Zn = Qs, kn = Ke, ei = ln, ti = hn, ri = pn, si = En, ni = yn;\nvar O = {\n parse: Rn,\n valid: bn,\n clean: In,\n inc: wn,\n diff: An,\n major: On,\n minor: Tn,\n patch: Nn,\n prerelease: Ln,\n compare: Cn,\n rcompare: Pn,\n compareLoose: xn,\n compareBuild: _n,\n sort: Mn,\n rsort: Dn,\n gt: jn,\n lt: Gn,\n eq: Un,\n neq: Fn,\n gte: Vn,\n lte: Xn,\n cmp: Hn,\n coerce: qn,\n Comparator: Yn,\n Range: Bn,\n satisfies: Wn,\n toComparators: zn,\n maxSatisfying: Jn,\n minSatisfying: Kn,\n minVersion: Qn,\n validRange: Zn,\n outside: kn,\n gtr: ei,\n ltr: ti,\n intersects: ri,\n simplifyRange: si,\n subset: ni,\n SemVer: Sn,\n re: De.re,\n src: De.src,\n tokens: De.t,\n SEMVER_SPEC_VERSION: Rt.SEMVER_SPEC_VERSION,\n RELEASE_TYPES: Rt.RELEASE_TYPES,\n compareIdentifiers: bt.compareIdentifiers,\n rcompareIdentifiers: bt.rcompareIdentifiers\n};\nconst ii = /* @__PURE__ */ ir(O), Li = /* @__PURE__ */ nr({\n __proto__: null,\n default: ii\n}, [O]);\nclass L extends Error {\n constructor(e) {\n super(`Incorrect context (${e}). Cannot perform the requested operation.`);\n H(this, \"context\");\n this.context = e;\n }\n}\nclass je extends Error {\n constructor(t, e, s) {\n super(`Invalid parameter (${t}). ${s}`), this.param = t, this.value = e, this.reason = s;\n }\n}\nclass oi extends Error {\n constructor(t, e) {\n super(\n `'streamId' value of \"${t}\" is different from what we expected (\"${e}\")`\n ), this.streamId = t, this.expectedStreamId = e;\n }\n}\nclass It extends Error {\n constructor(t) {\n super(`${t} needs to be initialized before it can be used.`);\n }\n}\nclass wt extends Error {\n constructor(t, e) {\n let s = `Unsupported Protocol ${Array.isArray(t) ? \"versions\" : \"version\"}: (${t}).`;\n e && (s += ` Minimum version supported is ${e}.`), super(s), this.version = t;\n }\n}\nvar Ve = function(r, t) {\n return Ve = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(e, s) {\n e.__proto__ = s;\n } || function(e, s) {\n for (var n in s)\n Object.prototype.hasOwnProperty.call(s, n) && (e[n] = s[n]);\n }, Ve(r, t);\n};\nfunction W(r, t) {\n if (typeof t != \"function\" && t !== null)\n throw new TypeError(\"Class extends value \" + String(t) + \" is not a constructor or null\");\n Ve(r, t);\n function e() {\n this.constructor = r;\n }\n r.prototype = t === null ? Object.create(t) : (e.prototype = t.prototype, new e());\n}\nfunction Xe(r) {\n var t = typeof Symbol == \"function\" && Symbol.iterator, e = t && r[t], s = 0;\n if (e)\n return e.call(r);\n if (r && typeof r.length == \"number\")\n return {\n next: function() {\n return r && s >= r.length && (r = void 0), { value: r && r[s++], done: !r };\n }\n };\n throw new TypeError(t ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nfunction se(r, t) {\n var e = typeof Symbol == \"function\" && r[Symbol.iterator];\n if (!e)\n return r;\n var s = e.call(r), n, i = [], a;\n try {\n for (; (t === void 0 || t-- > 0) && !(n = s.next()).done; )\n i.push(n.value);\n } catch (c) {\n a = { error: c };\n } finally {\n try {\n n && !n.done && (e = s.return) && e.call(s);\n } finally {\n if (a)\n throw a.error;\n }\n }\n return i;\n}\nfunction ne(r, t, e) {\n if (e || arguments.length === 2)\n for (var s = 0, n = t.length, i; s < n; s++)\n (i || !(s in t)) && (i || (i = Array.prototype.slice.call(t, 0, s)), i[s] = t[s]);\n return r.concat(i || Array.prototype.slice.call(t));\n}\nfunction G(r) {\n return typeof r == \"function\";\n}\nfunction Ft(r) {\n var t = function(s) {\n Error.call(s), s.stack = new Error().stack;\n }, e = r(t);\n return e.prototype = Object.create(Error.prototype), e.prototype.constructor = e, e;\n}\nvar Ge = Ft(function(r) {\n return function(e) {\n r(this), this.message = e ? e.length + ` errors occurred during unsubscription:\n` + e.map(function(s, n) {\n return n + 1 + \") \" + s.toString();\n }).join(`\n `) : \"\", this.name = \"UnsubscriptionError\", this.errors = e;\n };\n});\nfunction $e(r, t) {\n if (r) {\n var e = r.indexOf(t);\n 0 <= e && r.splice(e, 1);\n }\n}\nvar he = function() {\n function r(t) {\n this.initialTeardown = t, this.closed = !1, this._parentage = null, this._finalizers = null;\n }\n return r.prototype.unsubscribe = function() {\n var t, e, s, n, i;\n if (!this.closed) {\n this.closed = !0;\n var a = this._parentage;\n if (a)\n if (this._parentage = null, Array.isArray(a))\n try {\n for (var c = Xe(a), o = c.next(); !o.done; o = c.next()) {\n var l = o.value;\n l.remove(this);\n }\n } catch (T) {\n t = { error: T };\n } finally {\n try {\n o && !o.done && (e = c.return) && e.call(c);\n } finally {\n if (t)\n throw t.error;\n }\n }\n else\n a.remove(this);\n var u = this.initialTeardown;\n if (G(u))\n try {\n u();\n } catch (T) {\n i = T instanceof Ge ? T.errors : [T];\n }\n var f = this._finalizers;\n if (f) {\n this._finalizers = null;\n try {\n for (var b = Xe(f), d = b.next(); !d.done; d = b.next()) {\n var g = d.value;\n try {\n At(g);\n } catch (T) {\n i = i ?? [], T instanceof Ge ? i = ne(ne([], se(i)), se(T.errors)) : i.push(T);\n }\n }\n } catch (T) {\n s = { error: T };\n } finally {\n try {\n d && !d.done && (n = b.return) && n.call(b);\n } finally {\n if (s)\n throw s.error;\n }\n }\n }\n if (i)\n throw new Ge(i);\n }\n }, r.prototype.add = function(t) {\n var e;\n if (t && t !== this)\n if (this.closed)\n At(t);\n else {\n if (t instanceof r) {\n if (t.closed || t._hasParent(this))\n return;\n t._addParent(this);\n }\n (this._finalizers = (e = this._finalizers) !== null && e !== void 0 ? e : []).push(t);\n }\n }, r.prototype._hasParent = function(t) {\n var e = this._parentage;\n return e === t || Array.isArray(e) && e.includes(t);\n }, r.prototype._addParent = function(t) {\n var e = this._parentage;\n this._parentage = Array.isArray(e) ? (e.push(t), e) : e ? [e, t] : t;\n }, r.prototype._removeParent = function(t) {\n var e = this._parentage;\n e === t ? this._parentage = null : Array.isArray(e) && $e(e, t);\n }, r.prototype.remove = function(t) {\n var e = this._finalizers;\n e && $e(e, t), t instanceof r && t._removeParent(this);\n }, r.EMPTY = function() {\n var t = new r();\n return t.closed = !0, t;\n }(), r;\n}(), Vt = he.EMPTY;\nfunction Xt(r) {\n return r instanceof he || r && \"closed\" in r && G(r.remove) && G(r.add) && G(r.unsubscribe);\n}\nfunction At(r) {\n G(r) ? r() : r.unsubscribe();\n}\nvar Ht = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: void 0,\n useDeprecatedSynchronousErrorHandling: !1,\n useDeprecatedNextContext: !1\n}, He = {\n setTimeout: function(r, t) {\n for (var e = [], s = 2; s < arguments.length; s++)\n e[s - 2] = arguments[s];\n var n = He.delegate;\n return n != null && n.setTimeout ? n.setTimeout.apply(n, ne([r, t], se(e))) : setTimeout.apply(void 0, ne([r, t], se(e)));\n },\n clearTimeout: function(r) {\n var t = He.delegate;\n return ((t == null ? void 0 : t.clearTimeout) || clearTimeout)(r);\n },\n delegate: void 0\n};\nfunction ai(r) {\n He.setTimeout(function() {\n throw r;\n });\n}\nfunction Ot() {\n}\nfunction ge(r) {\n r();\n}\nvar ke = function(r) {\n W(t, r);\n function t(e) {\n var s = r.call(this) || this;\n return s.isStopped = !1, e ? (s.destination = e, Xt(e) && e.add(s)) : s.destination = hi, s;\n }\n return t.create = function(e, s, n) {\n return new qe(e, s, n);\n }, t.prototype.next = function(e) {\n this.isStopped || this._next(e);\n }, t.prototype.error = function(e) {\n this.isStopped || (this.isStopped = !0, this._error(e));\n }, t.prototype.complete = function() {\n this.isStopped || (this.isStopped = !0, this._complete());\n }, t.prototype.unsubscribe = function() {\n this.closed || (this.isStopped = !0, r.prototype.unsubscribe.call(this), this.destination = null);\n }, t.prototype._next = function(e) {\n this.destination.next(e);\n }, t.prototype._error = function(e) {\n try {\n this.destination.error(e);\n } finally {\n this.unsubscribe();\n }\n }, t.prototype._complete = function() {\n try {\n this.destination.complete();\n } finally {\n this.unsubscribe();\n }\n }, t;\n}(he), li = Function.prototype.bind;\nfunction Ue(r, t) {\n return li.call(r, t);\n}\nvar ci = function() {\n function r(t) {\n this.partialObserver = t;\n }\n return r.prototype.next = function(t) {\n var e = this.partialObserver;\n if (e.next)\n try {\n e.next(t);\n } catch (s) {\n Ee(s);\n }\n }, r.prototype.error = function(t) {\n var e = this.partialObserver;\n if (e.error)\n try {\n e.error(t);\n } catch (s) {\n Ee(s);\n }\n else\n Ee(t);\n }, r.prototype.complete = function() {\n var t = this.partialObserver;\n if (t.complete)\n try {\n t.complete();\n } catch (e) {\n Ee(e);\n }\n }, r;\n}(), qe = function(r) {\n W(t, r);\n function t(e, s, n) {\n var i = r.call(this) || this, a;\n if (G(e) || !e)\n a = {\n next: e ?? void 0,\n error: s ?? void 0,\n complete: n ?? void 0\n };\n else {\n var c;\n i && Ht.useDeprecatedNextContext ? (c = Object.create(e), c.unsubscribe = function() {\n return i.unsubscribe();\n }, a = {\n next: e.next && Ue(e.next, c),\n error: e.error && Ue(e.error, c),\n complete: e.complete && Ue(e.complete, c)\n }) : a = e;\n }\n return i.destination = new ci(a), i;\n }\n return t;\n}(ke);\nfunction Ee(r) {\n ai(r);\n}\nfunction ui(r) {\n throw r;\n}\nvar hi = {\n closed: !0,\n next: Ot,\n error: ui,\n complete: Ot\n}, fi = function() {\n return typeof Symbol == \"function\" && Symbol.observable || \"@@observable\";\n}();\nfunction qt(r) {\n return r;\n}\nfunction pi(r) {\n return r.length === 0 ? qt : r.length === 1 ? r[0] : function(e) {\n return r.reduce(function(s, n) {\n return n(s);\n }, e);\n };\n}\nvar ye = function() {\n function r(t) {\n t && (this._subscribe = t);\n }\n return r.prototype.lift = function(t) {\n var e = new r();\n return e.source = this, e.operator = t, e;\n }, r.prototype.subscribe = function(t, e, s) {\n var n = this, i = vi(t) ? t : new qe(t, e, s);\n return ge(function() {\n var a = n, c = a.operator, o = a.source;\n i.add(c ? c.call(i, o) : o ? n._subscribe(i) : n._trySubscribe(i));\n }), i;\n }, r.prototype._trySubscribe = function(t) {\n try {\n return this._subscribe(t);\n } catch (e) {\n t.error(e);\n }\n }, r.prototype.forEach = function(t, e) {\n var s = this;\n return e = Tt(e), new e(function(n, i) {\n var a = new qe({\n next: function(c) {\n try {\n t(c);\n } catch (o) {\n i(o), a.unsubscribe();\n }\n },\n error: i,\n complete: n\n });\n s.subscribe(a);\n });\n }, r.prototype._subscribe = function(t) {\n var e;\n return (e = this.source) === null || e === void 0 ? void 0 : e.subscribe(t);\n }, r.prototype[fi] = function() {\n return this;\n }, r.prototype.pipe = function() {\n for (var t = [], e = 0; e < arguments.length; e++)\n t[e] = arguments[e];\n return pi(t)(this);\n }, r.prototype.toPromise = function(t) {\n var e = this;\n return t = Tt(t), new t(function(s, n) {\n var i;\n e.subscribe(function(a) {\n return i = a;\n }, function(a) {\n return n(a);\n }, function() {\n return s(i);\n });\n });\n }, r.create = function(t) {\n return new r(t);\n }, r;\n}();\nfunction Tt(r) {\n var t;\n return (t = r ?? Ht.Promise) !== null && t !== void 0 ? t : Promise;\n}\nfunction di(r) {\n return r && G(r.next) && G(r.error) && G(r.complete);\n}\nfunction vi(r) {\n return r && r instanceof ke || di(r) && Xt(r);\n}\nfunction Ei(r) {\n return G(r == null ? void 0 : r.lift);\n}\nfunction Oe(r) {\n return function(t) {\n if (Ei(t))\n return t.lift(function(e) {\n try {\n return r(e, this);\n } catch (s) {\n this.error(s);\n }\n });\n throw new TypeError(\"Unable to lift unknown Observable type\");\n };\n}\nfunction Te(r, t, e, s, n) {\n return new gi(r, t, e, s, n);\n}\nvar gi = function(r) {\n W(t, r);\n function t(e, s, n, i, a, c) {\n var o = r.call(this, e) || this;\n return o.onFinalize = a, o.shouldUnsubscribe = c, o._next = s ? function(l) {\n try {\n s(l);\n } catch (u) {\n e.error(u);\n }\n } : r.prototype._next, o._error = i ? function(l) {\n try {\n i(l);\n } catch (u) {\n e.error(u);\n } finally {\n this.unsubscribe();\n }\n } : r.prototype._error, o._complete = n ? function() {\n try {\n n();\n } catch (l) {\n e.error(l);\n } finally {\n this.unsubscribe();\n }\n } : r.prototype._complete, o;\n }\n return t.prototype.unsubscribe = function() {\n var e;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n var s = this.closed;\n r.prototype.unsubscribe.call(this), !s && ((e = this.onFinalize) === null || e === void 0 || e.call(this));\n }\n }, t;\n}(ke), mi = Ft(function(r) {\n return function() {\n r(this), this.name = \"ObjectUnsubscribedError\", this.message = \"object unsubscribed\";\n };\n}), Yt = function(r) {\n W(t, r);\n function t() {\n var e = r.call(this) || this;\n return e.closed = !1, e.currentObservers = null, e.observers = [], e.isStopped = !1, e.hasError = !1, e.thrownError = null, e;\n }\n return t.prototype.lift = function(e) {\n var s = new Nt(this, this);\n return s.operator = e, s;\n }, t.prototype._throwIfClosed = function() {\n if (this.closed)\n throw new mi();\n }, t.prototype.next = function(e) {\n var s = this;\n ge(function() {\n var n, i;\n if (s._throwIfClosed(), !s.isStopped) {\n s.currentObservers || (s.currentObservers = Array.from(s.observers));\n try {\n for (var a = Xe(s.currentObservers), c = a.next(); !c.done; c = a.next()) {\n var o = c.value;\n o.next(e);\n }\n } catch (l) {\n n = { error: l };\n } finally {\n try {\n c && !c.done && (i = a.return) && i.call(a);\n } finally {\n if (n)\n throw n.error;\n }\n }\n }\n });\n }, t.prototype.error = function(e) {\n var s = this;\n ge(function() {\n if (s._throwIfClosed(), !s.isStopped) {\n s.hasError = s.isStopped = !0, s.thrownError = e;\n for (var n = s.observers; n.length; )\n n.shift().error(e);\n }\n });\n }, t.prototype.complete = function() {\n var e = this;\n ge(function() {\n if (e._throwIfClosed(), !e.isStopped) {\n e.isStopped = !0;\n for (var s = e.observers; s.length; )\n s.shift().complete();\n }\n });\n }, t.prototype.unsubscribe = function() {\n this.isStopped = this.closed = !0, this.observers = this.currentObservers = null;\n }, Object.defineProperty(t.prototype, \"observed\", {\n get: function() {\n var e;\n return ((e = this.observers) === null || e === void 0 ? void 0 : e.length) > 0;\n },\n enumerable: !1,\n configurable: !0\n }), t.prototype._trySubscribe = function(e) {\n return this._throwIfClosed(), r.prototype._trySubscribe.call(this, e);\n }, t.prototype._subscribe = function(e) {\n return this._throwIfClosed(), this._checkFinalizedStatuses(e), this._innerSubscribe(e);\n }, t.prototype._innerSubscribe = function(e) {\n var s = this, n = this, i = n.hasError, a = n.isStopped, c = n.observers;\n return i || a ? Vt : (this.currentObservers = null, c.push(e), new he(function() {\n s.currentObservers = null, $e(c, e);\n }));\n }, t.prototype._checkFinalizedStatuses = function(e) {\n var s = this, n = s.hasError, i = s.thrownError, a = s.isStopped;\n n ? e.error(i) : a && e.complete();\n }, t.prototype.asObservable = function() {\n var e = new ye();\n return e.source = this, e;\n }, t.create = function(e, s) {\n return new Nt(e, s);\n }, t;\n}(ye), Nt = function(r) {\n W(t, r);\n function t(e, s) {\n var n = r.call(this) || this;\n return n.destination = e, n.source = s, n;\n }\n return t.prototype.next = function(e) {\n var s, n;\n (n = (s = this.destination) === null || s === void 0 ? void 0 : s.next) === null || n === void 0 || n.call(s, e);\n }, t.prototype.error = function(e) {\n var s, n;\n (n = (s = this.destination) === null || s === void 0 ? void 0 : s.error) === null || n === void 0 || n.call(s, e);\n }, t.prototype.complete = function() {\n var e, s;\n (s = (e = this.destination) === null || e === void 0 ? void 0 : e.complete) === null || s === void 0 || s.call(e);\n }, t.prototype._subscribe = function(e) {\n var s, n;\n return (n = (s = this.source) === null || s === void 0 ? void 0 : s.subscribe(e)) !== null && n !== void 0 ? n : Vt;\n }, t;\n}(Yt), Bt = {\n now: function() {\n return (Bt.delegate || Date).now();\n },\n delegate: void 0\n}, $i = function(r) {\n W(t, r);\n function t(e, s) {\n return r.call(this) || this;\n }\n return t.prototype.schedule = function(e, s) {\n return this;\n }, t;\n}(he), Se = {\n setInterval: function(r, t) {\n for (var e = [], s = 2; s < arguments.length; s++)\n e[s - 2] = arguments[s];\n var n = Se.delegate;\n return n != null && n.setInterval ? n.setInterval.apply(n, ne([r, t], se(e))) : setInterval.apply(void 0, ne([r, t], se(e)));\n },\n clearInterval: function(r) {\n var t = Se.delegate;\n return ((t == null ? void 0 : t.clearInterval) || clearInterval)(r);\n },\n delegate: void 0\n}, yi = function(r) {\n W(t, r);\n function t(e, s) {\n var n = r.call(this, e, s) || this;\n return n.scheduler = e, n.work = s, n.pending = !1, n;\n }\n return t.prototype.schedule = function(e, s) {\n var n;\n if (s === void 0 && (s = 0), this.closed)\n return this;\n this.state = e;\n var i = this.id, a = this.scheduler;\n return i != null && (this.id = this.recycleAsyncId(a, i, s)), this.pending = !0, this.delay = s, this.id = (n = this.id) !== null && n !== void 0 ? n : this.requestAsyncId(a, this.id, s), this;\n }, t.prototype.requestAsyncId = function(e, s, n) {\n return n === void 0 && (n = 0), Se.setInterval(e.flush.bind(e, this), n);\n }, t.prototype.recycleAsyncId = function(e, s, n) {\n if (n === void 0 && (n = 0), n != null && this.delay === n && this.pending === !1)\n return s;\n s != null && Se.clearInterval(s);\n }, t.prototype.execute = function(e, s) {\n if (this.closed)\n return new Error(\"executing a cancelled action\");\n this.pending = !1;\n var n = this._execute(e, s);\n if (n)\n return n;\n this.pending === !1 && this.id != null && (this.id = this.recycleAsyncId(this.scheduler, this.id, null));\n }, t.prototype._execute = function(e, s) {\n var n = !1, i;\n try {\n this.work(e);\n } catch (a) {\n n = !0, i = a || new Error(\"Scheduled action threw falsy error\");\n }\n if (n)\n return this.unsubscribe(), i;\n }, t.prototype.unsubscribe = function() {\n if (!this.closed) {\n var e = this, s = e.id, n = e.scheduler, i = n.actions;\n this.work = this.state = this.scheduler = null, this.pending = !1, $e(i, this), s != null && (this.id = this.recycleAsyncId(n, s, null)), this.delay = null, r.prototype.unsubscribe.call(this);\n }\n }, t;\n}($i), Lt = function() {\n function r(t, e) {\n e === void 0 && (e = r.now), this.schedulerActionCtor = t, this.now = e;\n }\n return r.prototype.schedule = function(t, e, s) {\n return e === void 0 && (e = 0), new this.schedulerActionCtor(this, t).schedule(s, e);\n }, r.now = Bt.now, r;\n}(), Si = function(r) {\n W(t, r);\n function t(e, s) {\n s === void 0 && (s = Lt.now);\n var n = r.call(this, e, s) || this;\n return n.actions = [], n._active = !1, n;\n }\n return t.prototype.flush = function(e) {\n var s = this.actions;\n if (this._active) {\n s.push(e);\n return;\n }\n var n;\n this._active = !0;\n do\n if (n = e.execute(e.state, e.delay))\n break;\n while (e = s.shift());\n if (this._active = !1, n) {\n for (; e = s.shift(); )\n e.unsubscribe();\n throw n;\n }\n }, t;\n}(Lt), Ri = new Si(yi), bi = Ri, Ii = new ye(function(r) {\n return r.complete();\n});\nfunction wi(r) {\n return r && G(r.schedule);\n}\nfunction Ai(r) {\n return r instanceof Date && !isNaN(r);\n}\nfunction A(r, t) {\n return Oe(function(e, s) {\n var n = 0;\n e.subscribe(Te(s, function(i) {\n s.next(r.call(t, i, n++));\n }));\n });\n}\nfunction Oi(r, t, e) {\n r === void 0 && (r = 0), e === void 0 && (e = bi);\n var s = -1;\n return t != null && (wi(t) ? e = t : s = t), new ye(function(n) {\n var i = Ai(r) ? +r - e.now() : r;\n i < 0 && (i = 0);\n var a = 0;\n return e.schedule(function() {\n n.closed || (n.next(a++), 0 <= s ? this.schedule(void 0, s) : n.complete());\n }, i);\n });\n}\nfunction _(r, t) {\n return Oe(function(e, s) {\n var n = 0;\n e.subscribe(Te(s, function(i) {\n return r.call(t, i, n++) && s.next(i);\n }));\n });\n}\nfunction q(r) {\n return r <= 0 ? function() {\n return Ii;\n } : Oe(function(t, e) {\n var s = 0;\n t.subscribe(Te(e, function(n) {\n ++s <= r && (e.next(n), r <= s && e.complete());\n }));\n });\n}\nfunction x(r, t, e) {\n var s = G(r) || t || e ? { next: r, error: t, complete: e } : r;\n return s ? Oe(function(n, i) {\n var a;\n (a = s.subscribe) === null || a === void 0 || a.call(s);\n var c = !0;\n n.subscribe(Te(i, function(o) {\n var l;\n (l = s.next) === null || l === void 0 || l.call(s, o), i.next(o);\n }, function() {\n var o;\n c = !1, (o = s.complete) === null || o === void 0 || o.call(s), i.complete();\n }, function(o) {\n var l;\n c = !1, (l = s.error) === null || l === void 0 || l.call(s, o), i.error(o);\n }, function() {\n var o, l;\n c && ((o = s.unsubscribe) === null || o === void 0 || o.call(s)), (l = s.finalize) === null || l === void 0 || l.call(s);\n }));\n }) : qt;\n}\nclass Z {\n static gte(t, e) {\n return e === void 0 ? (s) => Z.gte(s, t) ? s : !1 : O.gte(O.coerce(t), O.coerce(e));\n }\n static lte(t, e) {\n return e === void 0 ? (s) => Z.lte(s, t) ? s : !1 : O.lte(O.coerce(t), O.coerce(e));\n }\n static gt(t, e) {\n return e === void 0 ? (s) => Z.gt(s, t) ? s : !1 : O.gt(O.coerce(t), O.coerce(e));\n }\n static lt(t, e) {\n return e === void 0 ? (s) => Z.lt(s, t) ? s : !1 : O.lt(O.coerce(t), O.coerce(e));\n }\n /**\n * Check if the two {@link IpcProtocolVersion} values are logically (==) equal.\n *\n * @param v1 - First version to compare\n * @param v2 - Second version to compare\n * @returns Return true if the versions are logically (==) equal.\n */\n static eq(t, e) {\n return O.eq(O.coerce(t), O.coerce(e));\n }\n /**\n * Check if the two {@link IpcProtocolVersion} values are not equal.\n *\n * @param v1 - First version to compare\n * @param v2 - Second version to compare\n * @returns Return true if the versions are not equal.\n */\n static neq(t, e) {\n return O.neq(O.coerce(t), O.coerce(e));\n }\n /**\n * Compare two {@link IpcProtocolVersion} values.\n *\n * @param v1 - First version to compare\n * @param v2 - Second version to compare\n * @returns Return 0 if v1 == v2, or 1 if v1 is greater, or -1 if v2 is greater. Sorts in\n * ascending order if passed to Array.sort().\n */\n static compare(t, e) {\n return O.compare(O.coerce(t), O.coerce(e));\n }\n}\nconst Ct = \"1.0\";\nclass Ci {\n /**\n * Create a new instance of the {@link IpcHelper | IPC Protocol Helper}.\n *\n * @remarks\n * Ideally, you should always have only one instance of the helper created at any point.\n *\n * @param supportedVersions - An array of supported protocol versions to choose from\n * @param logService - An instance of a logging service or utility\n */\n constructor(t, e) {\n /**\n * Protocol version negotiated with the Host app. Will always be from one of the values passed via\n * the constructor.\n */\n H(this, \"negotiatedProtocolVersion\");\n /**\n * The current {@link AppContext} determined after running {@link IpcHelper.determineContext}. The\n * value will be `undefined` until the method is called.\n */\n H(this, \"currentContext\");\n H(this, \"incomingMessages$\");\n H(this, \"inIframe\", !1);\n H(this, \"embeddedResult\");\n H(this, \"iframePort1\");\n H(this, \"iframePort2\");\n if (this.supportedVersions = t, this.logService = e, this.incomingMessages$ = new Yt(), this.supportedVersions = t.filter(Z.gte(Ct)), !this.supportedVersions.length)\n throw new wt(t, Ct);\n this.negotiatedProtocolVersion = this.supportedVersions[0], this.embeddedResult = null, this.iframePort2 = null;\n }\n get parent() {\n return window.parent;\n }\n get self() {\n return window.self;\n }\n get frameElement() {\n return window.frameElement;\n }\n // only used by remote party, not used locally\n // @ts-expect-error\n get port1() {\n var t, e;\n return this.inIframe ? this.iframePort1 : (e = (t = window.Acrobits) == null ? void 0 : t.messageChannel) == null ? void 0 : e.port1;\n }\n get port2() {\n var t, e, s, n;\n if (this.inIframe) {\n if (!this.iframePort2)\n throw new It(\"port2\");\n return this.iframePort2;\n } else {\n if (!((e = (t = window.Acrobits) == null ? void 0 : t.messageChannel) != null && e.port2))\n throw new It(\"port2\");\n return (n = (s = window.Acrobits) == null ? void 0 : s.messageChannel) == null ? void 0 : n.port2;\n }\n }\n /**\n * Determines if the app is embedded in a Host app like WebRTC or native CSP clients.\n *\n * @returns Observable with the {@link AppContext} the app is running under. Emits once.\n */\n determineContext() {\n return Oi(1e3).pipe(\n A(() => (this.isEmbedded() ? this.currentContext = \"user\" : this.currentContext = \"guest\", this.currentContext)),\n q(1)\n );\n }\n /**\n * Opens the IPC Bridge by sending the {@link HelloMessage} to the host application to initiate\n * handshake and returns an Observable that emits once with the {@link HelloMessageReply}.\n *\n * @returns Observable with a {@link HelloMessageReply} instance. Emits once.\n */\n openBridge() {\n if (!this.isEmbedded())\n throw new L(this.currentContext);\n const t = \"HELLO\", e = this.createMessage(t);\n e.protocolVersions = this.supportedVersions, this.logCreated(t, e);\n const s = this.incomingMessages$.pipe(\n _((n) => n.type === t && n.replyTo === e.id),\n A((n) => n),\n x(this.logReceived(t)),\n A((n) => {\n if (this.supportedVersions.some(Z.gt(n.protocolVersion)))\n throw new wt(n.protocolVersion, this.supportedVersions[0]);\n return n;\n }),\n x((n) => {\n this.negotiatedProtocolVersion = n.protocolVersion, this.logService.info(\n `[IPC] Negotiated IPC Protocol Version: ${this.negotiatedProtocolVersion}`\n );\n }),\n q(1)\n );\n return this.logService.debug(`Created ${t} Reply handler`), this.inIframe ? this.createIframeChannel().then(() => this.finishIpcSetup(e)) : this.finishIpcSetup(e), s;\n }\n /**\n * Request an SSO Token from the Host app to authenticate the current user and make further API\n * requests on their behalf.\n *\n * @returns Observable with a {@link TokenMessageReply} instance containing the SSO Token. Emits\n * once.\n */\n requestSSOToken() {\n if (!this.isEmbedded())\n throw new L(this.currentContext);\n const t = \"TOKEN\", e = this.createMessage(t);\n this.logCreated(t, e);\n const s = this.incomingMessages$.pipe(\n _((n) => n.type === t && n.replyTo === e.id),\n A((n) => n),\n x(this.logReceived(t)),\n q(1)\n );\n return this.logService.debug(`Created ${t} Reply handler`), this.port2.postMessage(e), this.logSent(t, e), s;\n }\n /**\n * Sends the {@link JoiningRoomMessage} lifecycle message to the Host application based on the\n * parameters provided.\n *\n * @remarks\n * This message should always be sent whenever joining a conference. The host app can use\n * information provided by the {@link JoiningRoomMessageParams} fields to properly setup it's own\n * state and context if needed.\n *\n * @param params - Parameters object for the {@link JoiningRoomMessage} message.\n *\n * @returns This method returns void.\n */\n sendJoiningRoomMessage(t) {\n if (!this.isEmbedded())\n throw new L(this.currentContext);\n const {\n roomName: e,\n roomInvite: s,\n displayName: n,\n jwtToken: i,\n serverUrl: a,\n region: c,\n joinMicMuted: o,\n joinWithoutCamera: l\n } = t, u = \"JOINING ROOM\", f = this.createMessage(u, !1);\n f.roomName = e, f.jwtToken = i, f.serverUrl = a, f.region = c, f.roomInvite = s, f.joinMicMuted = o ?? !1, f.joinWithoutCamera = l ?? !1, f.displayName = n, this.logCreated(u, f), this.port2.postMessage(f), this.logSent(u, f);\n }\n /**\n * Sends a {@link LeavingRoomMessage} lifecycle message to the Host app.\n *\n * @remarks\n * This message should always be sent whenever leaving a conference so the host app can manage\n * it's state and context properly.\n *\n * @param roomName - The name of the room or Meeting ID we are leaving\n *\n * @returns This method returns void.\n */\n sendLeavingRoomMessage(t) {\n if (!this.isEmbedded())\n throw new L(this.currentContext);\n const e = \"LEAVING ROOM\", s = this.createMessage(e, !1);\n s.roomName = t, this.logCreated(e, s), this.port2.postMessage(s), this.logSent(e, s);\n }\n /**\n * Setup listener for {@link JoinRoomMessage}, which can be sent by a host app to ask the client\n * to join the specified room or meeting.\n *\n * @remarks\n * The client app still needs to follow the standard workflow for joining a conference, including\n * requesting an SSO Token and then sending the {@link JoiningRoomMessage} when joining the\n * conference.\n *\n * @example\n * Here is an example of how a listener can be setup:\n *\n * ```ts\n * const ipcHelper = new IpcHelper(['1.0'], console);\n *\n * const joinRoomSubscription = ipcHelper.onJoinRoomMessage().subscribe((msg) => {\n * // your logic for handling the message goes here\n * });\n *\n * // don't forget to unsubscribe when you're cleaning up\n * joinRoomSubscription.unsubscribe();\n * ```\n *\n * @returns An Observable that emits whenever {@link JoinRoomMessage} is received so it can be\n * subscribed to indefinitely.\n */\n onJoinRoomMessage() {\n if (!this.isEmbedded())\n throw new L(this.currentContext);\n const t = \"JOIN ROOM\";\n return this.incomingMessages$.pipe(\n _((e) => e.type === t && e.target === \"client\"),\n A((e) => e),\n x(this.logReceived(t)),\n A((e) => e)\n );\n }\n /**\n * Setup listener for {@link LeaveRoomMessage}, which can be sent by a host app to ask the client\n * to leave the current room or meeting.\n *\n * @remarks\n * The client app still needs to follow the standard workflow for leaving a conference, including\n * sending the {@link LeavingRoomMessage} when leaving the conference.\n *\n * @example\n * Here is an example of how a listener can be setup:\n *\n * ```ts\n * const ipcHelper = new IpcHelper(['1.0'], console);\n *\n * const leaveRoomSubscription = ipcHelper.onLeaveRoomMessage().subscribe((msg) => {\n * // your logic for handling the message goes here\n * });\n *\n * // don't forget to unsubscribe when you're cleaning up\n * leaveRoomSubscription.unsubscribe();\n * ```\n *\n * @returns An Observable that emits whenever {@link LeavingRoomMessage} is received so it can be\n * subscribed to indefinitely.\n */\n onLeaveRoomMessage() {\n if (!this.isEmbedded())\n throw new L(this.currentContext);\n const t = \"LEAVE ROOM\";\n return this.incomingMessages$.pipe(\n _((e) => e.type === t && e.target === \"client\"),\n A((e) => e),\n x(this.logReceived(t)),\n A((e) => e)\n );\n }\n /**\n * Setup listener for {@link ConfigMessage}, which is be sent by a host app whenever there is\n * an update to the user preferences or configuration (e.g. new default video camera).\n *\n * @remarks\n * Ideally, the client app should honor the user preferences received via {@link ConfigMessage},\n * however if the client app has it's own preferences for similar options as well, then they\n * should take priority.\n *\n * @example\n * Here is an example of how a listener can be setup:\n *\n * ```ts\n * const ipcHelper = new IpcHelper(['1.0'], console);\n *\n * const configSubscription = ipcHelper.onConfigMessage().subscribe((msg) => {\n * // your logic for handling the configuration goes here\n * });\n *\n * // don't forget to unsubscribe when you're cleaning up\n * configSubscription.unsubscribe();\n * ```\n *\n * @returns An Observable that emits whenever {@link ConfigMessage} is received so it can be\n * subscribed to indefinitely.\n */\n onConfigMessage() {\n if (!this.isEmbedded())\n throw new L(this.currentContext);\n const t = \"CONFIG\";\n return this.incomingMessages$.pipe(\n _((e) => e.type === t && e.target === \"client\"),\n A((e) => e),\n x(this.logReceived(t)),\n A((e) => ({\n preferredCameraType: e.preferredCameraType,\n preferredMicType: e.preferredMicType,\n preferredOutputType: e.preferredOutputType,\n preferredCameraDeviceLabel: e.preferredCameraDeviceLabel,\n preferredMicDeviceLabel: e.preferredMicDeviceLabel,\n preferredOutputDeviceLabel: e.preferredOutputDeviceLabel,\n performanceProfile: e.performanceProfile,\n cloudUsername: e.cloudUsername,\n configuredOAuthProviders: e.configuredOAuthProviders,\n locales: e.locales ? [...e.locales] : []\n }))\n );\n }\n sendScreenshareSourceMessage(t) {\n if (!this.isEmbedded())\n throw new L(this.currentContext);\n const e = \"SCREENSHARE SOURCE\", s = this.createMessage(e);\n s.sourceTypes = t, this.logCreated(e, s);\n const n = this.incomingMessages$.pipe(\n _((i) => i.type === e && i.replyTo === s.id),\n A((i) => i),\n x(this.logReceived(e)),\n A((i) => i),\n q(1)\n );\n return this.logService.debug(`Created ${e} Reply handler`), this.port2.postMessage(s), this.logSent(e, s), n;\n }\n layoutChange(t, e, s) {\n if (!this.isEmbedded())\n throw new L(this.currentContext);\n const n = \"LAYOUT CHANGE\";\n let i, a;\n if (e && s ? (i = this.createMessage(n, !1, s), i.result = e) : (i = this.createMessage(n), a = this.incomingMessages$.pipe(\n _((c) => c.type === n && c.replyTo === i.id),\n A((c) => c),\n x(this.logReceived(n)),\n A((c) => c),\n q(1)\n ), this.logService.debug(`Created ${n} Reply handler`)), i.layout = t, this.logCreated(n, i), this.port2.postMessage(i), this.logSent(n, i), a)\n return a;\n }\n /**\n * Setup listener for {@link LayoutChangeMessage}, which can be sent by a host app if it needs to\n * request a layout change on the client.\n *\n * @remarks\n * In some scenarios, a `host` app can request a layout change from the client, so this listener\n * should be setup to support that use case.\n *\n * Whenever such a request is received, the `client` app **SHOULD** respond with a\n * {@link LayoutChangeMessageReply} to acknowledge if it is ready for a change.\n *\n * @example\n * Here is an example of how a listener can be setup:\n *\n * ```ts\n * const ipcHelper = new IpcHelper(['1.0'], console);\n *\n * const layoutChangeSubscription = ipcHelper.onLayoutChangeMessage().subscribe((msg) => {\n * // your logic for handling the request goes here\n *\n * // once you're ready to acknowledge, let the `host` app know\n * ipcHelper.layoutChange(msg.layout, result, msg.id);\n * });\n *\n * // don't forget to unsubscribe when you're cleaning up\n * layoutChangeSubscription.unsubscribe();\n * ```\n *\n * @returns An Observable that emits whenever {@link LayoutChangeMessage} is received so it can be\n * subscribed to indefinitely.\n */\n onLayoutChangeMessage() {\n if (!this.isEmbedded())\n throw new L(this.currentContext);\n const t = \"LAYOUT CHANGE\";\n return this.incomingMessages$.pipe(\n _((e) => e.type === t && e.target === \"client\" && e.replyTo === null),\n A((e) => e),\n x(this.logReceived(t)),\n A((e) => e)\n );\n }\n requestOAuthToken(t) {\n if (!this.isEmbedded())\n throw new L(this.currentContext);\n Array.isArray(t) || (t = [t]);\n const e = \"OAUTH TOKEN\", s = this.createMessage(e);\n s.providerTypes = t, this.logCreated(e, s);\n const n = this.incomingMessages$.pipe(\n _((i) => i.type === e && i.replyTo === s.id),\n A((i) => i),\n x(this.logReceived(e)),\n q(1)\n );\n return this.logService.debug(`Created ${e} Reply handler`), this.port2.postMessage(s), this.logSent(e, s), n;\n }\n openUrl(t, e) {\n if (!this.isEmbedded())\n throw new L(this.currentContext);\n const s = \"OPEN URL\", n = this.createMessage(s, !1);\n n.url = t, n.data = e, this.logCreated(s, n), this.port2.postMessage(n), this.logSent(s, n);\n }\n selectContacts(t, e, s) {\n if (!this.isEmbedded())\n throw new L(this.currentContext);\n if (e === \"group\" && s === void 0)\n throw new je(\n \"currentContacts\",\n s,\n \"currentContacts is required for group streams\"\n );\n if (e === \"direct\" && s !== void 0)\n throw new je(\n \"currentContacts\",\n s,\n \"currentContacts should not be passed for direct streams\"\n );\n const n = \"SELECT CONTACTS\", i = this.createMessage(n, !0);\n i.streamType = e, i.streamId = t, i.currentContacts = s, this.logCreated(n, i);\n const a = this.incomingMessages$.pipe(\n _((c) => c.type === n && c.replyTo === i.id),\n x(this.logReceived(n)),\n // validate if `streamId` is the same as we sent\n A((c) => {\n const o = c;\n if (o.streamId !== t)\n throw new oi(o.streamId, t);\n return e === \"direct\" && o.contacts.length > 1 && (o.contacts = [o.contacts[0]]), o;\n }),\n q(1)\n );\n return this.logService.debug(`Created ${n} Reply handler`), this.port2.postMessage(i), this.logSent(n, i), a;\n }\n /**\n * Request detailed contact information for the given Cloud usernames.\n *\n * @param contacts - Cloud usernames for which we need detailed contact information\n *\n * @returns Observable with a {@link MatchContactsMessageReply} instance containing the requested\n * {@link ContactItem} information. Emits once.\n */\n matchContacts(t) {\n if (!this.isEmbedded())\n throw new L(this.currentContext);\n if (!t.length)\n throw new je(\"contacts\", t, \"At least one contact is required\");\n const e = \"MATCH CONTACTS\", s = this.createMessage(e);\n s.contacts = [...t], this.logCreated(e, s);\n const n = this.incomingMessages$.pipe(\n _((i) => i.type === e && i.replyTo === s.id),\n x(this.logReceived(e)),\n A((i) => i),\n q(1)\n );\n return this.logService.debug(`Created ${e} Reply handler`), this.port2.postMessage(s), this.logSent(e, s), n;\n }\n /**\n * Setup listener for {@link PushMessageMessage}, which can be sent by a Host app to forward an\n * an Acrobits Messaging message received via push notification to the Client app.\n *\n * @remarks\n * The format of the {@link PushMessagePayload} SHOULD be kept the same as the one received from\n * the push notification. The Client app can then use the payload to handle the message as needed.\n *\n * @example\n * Here is an example of how a listener can be setup:\n *\n * ```ts\n * const ipcHelper = new IpcHelper(['1.0'], console);\n *\n * const pushMessageSubscription = ipcHelper.onPushMessageMessage().subscribe((msg) => {\n * // your logic for handling the incoming push message goes here\n * });\n *\n * // don't forget to unsubscribe when you're cleaning up\n * pushMessageSubscription.unsubscribe();\n * ```\n *\n * @returns An observable that emits whenever {@link PushMessageMessage} is received so it can be\n * subscribed to indefinitely.\n */\n onPushMessageMessage() {\n if (!this.isEmbedded())\n throw new L(this.currentContext);\n const t = \"PUSH MESSAGE\";\n return this.incomingMessages$.pipe(\n _((e) => e.type === t && e.target === \"client\"),\n A((e) => e),\n x(this.logReceived(t))\n );\n }\n /**\n * Sends a {@link PushTokenMessage} to the Host app, to request the Push Token for the current\n * device.\n *\n * @remarks\n * The Host app should reply with a {@link PushTokenMessageReply} containing the Push Token.\n *\n * @returns Observable with a {@link PushTokenMessageReply} instance containing the Push Token.\n */\n requestPushToken() {\n if (!this.isEmbedded())\n throw new L(this.currentContext);\n const t = \"PUSH TOKEN\", e = this.createMessage(t);\n this.logCreated(t, e);\n const s = this.incomingMessages$.pipe(\n _((n) => n.type === t && n.replyTo === e.id),\n x(this.logReceived(t)),\n A((n) => n),\n q(1)\n );\n return this.logService.debug(`Created ${t} Reply handler`), this.port2.postMessage(e), this.logSent(t, e), s;\n }\n /**\n * Setup listener for {@link BadgeQueryMessage}, which can be sent by a `Host` app to request the\n * current badge counter from the `Client` app.\n *\n * @returns An observable that emits whenever {@link BadgeQueryMessage} is received so it can be\n * subscribed to indefinitely.\n */\n onBadgeQueryMessage() {\n if (!this.isEmbedded())\n throw new L(this.currentContext);\n const t = \"BADGE QUERY\";\n return this.incomingMessages$.pipe(\n _((e) => e.type === t && e.target === \"client\"),\n A((e) => e),\n x(this.logReceived(t))\n );\n }\n /**\n * Sends a {@link BadgeUpdateMessage} from the `Client` to the `Host` with the current counter.\n *\n * @remarks\n * This message can be sent independently or as a reply to a {@link BadgeQueryMessage} from the\n * Host app. If sending as a reply, the `replyTo` parameter should contain the ID of the original\n * {@link BadgeQueryMessage}.\n *\n * @param count - The counter's value\n * @param replyTo - _Optional_. The message ID to which the reply should be sent\n */\n sendBadgeUpdateMessage(t, e) {\n if (!this.isEmbedded())\n throw new L(this.currentContext);\n const s = \"BADGE UPDATE\", n = this.createMessage(s, !1, e);\n n.count = t, this.logCreated(s, n), this.port2.postMessage(n), this.logSent(s, n);\n }\n /**\n * Setup listener for {@link HostInForegroundMessage}, which can be sent by a `Host` app to\n * notify the `Client` app that it is now in the foreground.\n *\n * @remarks\n * This message has no data in it's payload apart from the basic message definition. It can be\n * used by client apps to refresh and sync their state.\n *\n * @returns An observable that emits whenever {@link HostInForegroundMessage} is received so it\n * can be subscribed to indefinitely.\n */\n onHostInForegroundMessage() {\n if (!this.isEmbedded())\n throw new L(this.currentContext);\n const t = \"HOST IN FOREGROUND\";\n return this.incomingMessages$.pipe(\n _((e) => e.type === t && e.target === \"client\"),\n A((e) => e),\n x(this.logReceived(t))\n );\n }\n /**\n * Checks if the client app is either embedded in an iframe or in a native webview.\n *\n * @internal\n *\n * @returns `true` if the client app is embedded, `false` otherwise.\n */\n isEmbedded() {\n if (this.embeddedResult !== null)\n return this.embeddedResult;\n let t = !1;\n return this.logService.debug(\"Checking if running in iframe...\"), t = !!this.frameElement, t || (t = this.self !== this.parent), t ? (this.logService.debug(\"In iframe\"), this.inIframe = !0, this.embeddedResult = !0, !0) : (this.logService.debug(\"Not in iframe\"), this.logService.debug(\"Checking if running in native app...\"), !t && (t = !!window.Acrobits, t) ? (this.logService.debug(\"In native app\"), this.embeddedResult = !0, t) : (this.logService.debug(\"Not running in native app\"), this.embeddedResult = !1, this.embeddedResult));\n }\n logReceived(t, e) {\n const s = (n) => this.logService.debug(`[IPC] Received ${t} message`, n);\n return e && s(e), s;\n }\n logSent(t, e) {\n this.logService.debug(`[IPC] Sent ${t} message`, e);\n }\n logCreated(t, e) {\n this.logService.debug(`[IPC] Created ${t} message`, e);\n }\n async createIframeChannel() {\n return new Promise((t) => {\n const e = (s) => {\n s.data === \"message channel port\" && (this.iframePort2 = s.ports[0], this.self.removeEventListener(\"message\", e), t());\n };\n this.self.addEventListener(\"message\", e), this.parent.postMessage(\"get channel\", \"*\");\n });\n }\n finishIpcSetup(t) {\n this.logService.debug(\"Registering listener on port2...\"), this.port2.addEventListener(\"message\", this.handleIpcMessage.bind(this)), this.port2.start(), this.logService.debug(\"Started listening on port2\"), this.port2.postMessage(t), this.logSent(\"HELLO\", t);\n }\n handleIpcMessage(t) {\n const { data: e } = t;\n !e.id || e.target !== \"client\" || this.incomingMessages$.next(e);\n }\n createMessage(t, e = !0, s) {\n return {\n type: t,\n id: this.generateId(),\n target: \"host\",\n expectReply: e,\n replyTo: s ?? null\n };\n }\n generateId(t = 8, e = !1) {\n let s = \"1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM\";\n const n = [];\n e && (s = s.substr(0, s.indexOf(\"Q\")));\n for (let i = 0; i < t; i++)\n n.push(s[Math.floor(Math.random() * s.length)]);\n return n.join(\"\");\n }\n}\nexport {\n L as InvalidContextError,\n je as InvalidParameterError,\n oi as InvalidStreamIdError,\n Ci as IpcHelper,\n It as MessagePortNotInitializedError,\n wt as UnsupportedVersionError,\n Z as VersionUtil,\n Li as semver\n};\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __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\nexport function __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++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","export function createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexport { Subscription };\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return function (source) {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n//# sourceMappingURL=lift.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nvar OperatorSubscriber = (function (_super) {\n __extends(OperatorSubscriber, _super);\n function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n var _this = _super.call(this, destination) || this;\n _this.onFinalize = onFinalize;\n _this.shouldUnsubscribe = shouldUnsubscribe;\n _this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : _super.prototype._next;\n _this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._error;\n _this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._complete;\n return _this;\n }\n OperatorSubscriber.prototype.unsubscribe = function () {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n var closed_1 = this.closed;\n _super.prototype.unsubscribe.call(this);\n !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n };\n return OperatorSubscriber;\n}(Subscriber));\nexport { OperatorSubscriber };\n//# sourceMappingURL=OperatorSubscriber.js.map","import { createErrorClass } from './createErrorClass';\nexport var EmptyError = createErrorClass(function (_super) { return function EmptyErrorImpl() {\n _super(this);\n this.name = 'EmptyError';\n this.message = 'no elements in sequence';\n}; });\n//# sourceMappingURL=EmptyError.js.map","import { EmptyError } from './util/EmptyError';\nimport { SafeSubscriber } from './Subscriber';\nexport function firstValueFrom(source, config) {\n var hasConfig = typeof config === 'object';\n return new Promise(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n resolve(value);\n subscriber.unsubscribe();\n },\n error: reject,\n complete: function () {\n if (hasConfig) {\n resolve(config.defaultValue);\n }\n else {\n reject(new EmptyError());\n }\n },\n });\n source.subscribe(subscriber);\n });\n}\n//# sourceMappingURL=firstValueFrom.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n//# sourceMappingURL=map.js.map","import { isFunction } from '../util/isFunction';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { identity } from '../util/identity';\nexport function tap(observerOrNext, error, complete) {\n var tapObserver = isFunction(observerOrNext) || error || complete\n ?\n { next: observerOrNext, error: error, complete: complete }\n : observerOrNext;\n return tapObserver\n ? operate(function (source, subscriber) {\n var _a;\n (_a = tapObserver.subscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n var isUnsub = true;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n var _a;\n (_a = tapObserver.next) === null || _a === void 0 ? void 0 : _a.call(tapObserver, value);\n subscriber.next(value);\n }, function () {\n var _a;\n isUnsub = false;\n (_a = tapObserver.complete) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n subscriber.complete();\n }, function (err) {\n var _a;\n isUnsub = false;\n (_a = tapObserver.error) === null || _a === void 0 ? void 0 : _a.call(tapObserver, err);\n subscriber.error(err);\n }, function () {\n var _a, _b;\n if (isUnsub) {\n (_a = tapObserver.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n }\n (_b = tapObserver.finalize) === null || _b === void 0 ? void 0 : _b.call(tapObserver);\n }));\n })\n :\n identity;\n}\n//# sourceMappingURL=tap.js.map","import type { ILogger } from '@acrobits/log-helper';\n\nexport default function getLogger() {\n return import('@acrobits/log-helper')\n .then((mod) => {\n return mod.LogHelper.getLogger('IpcSDK');\n })\n .catch(() => {\n console.log('Failed to load @acrobits/log-helper, using console logger');\n return Promise.resolve(console as ILogger);\n });\n}\n","import {\n ContactItem,\n InvalidParameterError,\n IpcHelper,\n type AppContext,\n type HostType,\n type IpcProtocolVersion\n} from '@acrobits/ipc-protocol';\nimport { type ILogger } from '@acrobits/log-helper';\nimport { firstValueFrom } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\nimport { UnsubscribeCallback } from './UnsubscribeCallback.ts';\nimport { IPCEvents } from './events.ts';\nimport getLogger from './getDefaultLogger.ts';\n\nconst SUPPORTED_VERSIONS: IpcProtocolVersion[] = ['1.0'];\n\n/**\n * A class that manages the IPC communication between the `Client` and the `Host`.\n *\n * @remarks\n * Ideally, there should only be one instance of the IPCManager in the app. It is recommended to\n * create the instance as a singleton and use it throughout the app.\n *\n * @public\n */\nexport default class IPCManager {\n /**\n * The type of the `Host` app the `Client` is embedded in.\n */\n host?: HostType;\n\n /**\n * The cloud ID of the `Host` app the `Client` is embedded in.\n */\n cloudId?: string;\n\n private logger: ILogger;\n private helper: IpcHelper;\n\n private listeners: Map<IPCEvents, Set<(...args: unknown[]) => void>>;\n\n /**\n * Returns whether the app is running inside a native WebView (`host` context) or as a\n * `standalone` app.\n */\n get context() {\n return this.#evaluateContext(this.helper.currentContext);\n }\n\n /**\n * Determines if the app is connected to a `Host` app.\n */\n get isConnected() {\n return !!(this.helper.currentContext === 'user' && this.host && this.cloudId);\n }\n\n /**\n * The negotiated IPC protocol version.\n */\n get negotiatedVersion() {\n return this.helper.negotiatedProtocolVersion;\n }\n\n /**\n * A class that manages the IPC communication between the `Client` and the `Host`.\n *\n * @remarks\n * Ideally, there should only be one instance of the IPCManager in the app. It is recommended to\n * create the instance as a singleton and use it throughout the app.\n *\n * @param logger - An optional logger instance to use for logging. If not provided, a default logger\n * will be used.\n */\n constructor(logger?: ILogger) {\n if (logger) {\n this.logger = logger;\n } else {\n this.logger = console;\n\n getLogger().then((logger) => {\n this.logger = logger;\n });\n }\n\n this.helper = new IpcHelper(SUPPORTED_VERSIONS, this.logger);\n\n this.listeners = new Map();\n this.listeners.set(IPCEvents.BadgeQuery, new Set());\n this.listeners.set(IPCEvents.HostInForeground, new Set());\n }\n\n /**\n * Determines if the app is embedded in a Host app or native CSP clients.\n *\n * @returns A promise with {@link IPCContext} the app is running under.\n */\n async determineContext() {\n const context = await firstValueFrom(this.helper.determineContext(), {\n defaultValue: 'guest' as AppContext\n });\n\n return this.#evaluateContext(context);\n }\n\n /**\n * Initiates the IPC handshake with the `Host` app.\n */\n initiateConnection() {\n return firstValueFrom(\n this.helper.openBridge().pipe(\n tap((reply) => {\n // now that the bridge is open, register receive-only listeners\n this.helper.onBadgeQueryMessage().subscribe((msg) => {\n this.logger.debug('Received Badge Query: ', msg);\n\n for (const cb of this.listeners.get(IPCEvents.BadgeQuery)?.values() ?? []) {\n cb();\n }\n });\n\n this.helper.onHostInForegroundMessage().subscribe((msg) => {\n this.logger.debug('Received Host In Foreground: ', msg);\n\n for (const cb of this.listeners.get(IPCEvents.HostInForeground)?.values() ?? []) {\n cb();\n }\n });\n\n this.cloudId = reply.cloudId;\n this.host = reply.host;\n }),\n map(() => {\n return;\n })\n )\n );\n }\n\n /**\n * Requests the `Host` app to open the contact selection UI.\n *\n * @remarks\n * When requesting a `single` contact, the `Host` app will return immediately\n * after contact selection.\n *\n * @param corelationId - An identifier for the message stream\n * @param mode - _Optional_. Whether to allow `single` or `multi` contact selection.\n *\n * @returns A collection of {@link ContactItem} objects which the user selected along with the\n * `corelationId`.\n */\n selectContacts(corelationId: number, mode?: 'single'): Promise<ContactItem[]>;\n\n /**\n * Requests the `Host` app to open the contact selection UI.\n *\n * @remarks\n * When requesting a `multi` contact, the user will have to manually close the contact selection\n * UI. The `Host` app will return the selected contacts when the user closes the UI.\n *\n * When requesting a `multi` contact, the `currentContacts` parameter is required. This will\n * be used to highlight the contacts that are already selected.\n *\n * @param corelationId - An identifier for the message stream\n * @param mode - Whether to allow `single` or `multi` contact selection.\n * @param currentContacts - A list of {@link ContactItem} objects that are currently selected.\n * This is used to highlight the current contacts from the selection UI.\n *\n * @returns A collection of {@link ContactItem} objects which the user selected along with the\n * `corelationId`.\n */\n selectContacts(\n streamId: number,\n mode: 'multi',\n currentContacts: ContactItem[]\n ): Promise<ContactItem[]>;\n selectContacts(streamId: number, mode?: 'single' | 'multi', currentContacts?: ContactItem[]) {\n this.logger.debug('Selecting Contacts: ', ...arguments);\n\n let result: ReturnType<IpcHelper['selectContacts']> | undefined = undefined;\n\n if (mode === 'multi') {\n if (!currentContacts) {\n throw new InvalidParameterError(\n 'currentContacts',\n currentContacts,\n 'currentContacts is required for group streams'\n );\n }\n\n result = this.helper.selectContacts(streamId.toString(), 'group', currentContacts);\n } else {\n result = this.helper.selectContacts(streamId.toString(), 'direct');\n }\n\n return firstValueFrom(result.pipe(map((reply) => reply.contacts)));\n }\n\n /**\n * Matches batch of {@link ContactItem} objects against the Host's contact list to fetch detailed\n * contact information.\n *\n * @param contacts - List of {@link ContactItem} collection to match against the Host's contact\n * list.\n * @returns A collection of {@link DetailedContactItem} objects which were matched against the\n * Host's contact list.\n */\n matchContacts(contacts: ContactItem[]) {\n this.logger.debug('Match Contacts: ', contacts);\n return firstValueFrom(this.helper.matchContacts(contacts).pipe(map((reply) => reply.contacts)));\n }\n\n /**\n * Requests the `Host` app to provide the Push Token for the current device.\n *\n * @returns A promise with the Push Token as `string`.\n */\n requestPushToken() {\n this.logger.debug('Requesting Push Token');\n return firstValueFrom(this.helper.requestPushToken().pipe(map((reply) => reply.pushToken)));\n }\n\n /**\n * Sends the current badge count to the `Host` app.\n *\n * @param count - The count to update the badge to.\n */\n badgeUpdate(count: number) {\n this.logger.debug('Sending Badge Update: ', count);\n this.helper.sendBadgeUpdateMessage(count);\n }\n\n /**\n * Registers a callback to be invoked when a {@link IPCEvents.BadgeQuery} is received.\n *\n * @param callback - A callback function to be invoked when a {@link IPCEvents.BadgeQuery} event\n * is received.\n * @returns An unsubscribe callback to remove the listener.\n */\n onBadgeQueryRequest(callback: () => void): UnsubscribeCallback {\n this.logger.debug('Registering for Badge Query');\n\n this.listeners.get(IPCEvents.BadgeQuery)?.add(callback);\n\n return () => this.listeners.get(IPCEvents.BadgeQuery)?.delete(callback);\n }\n\n /**\n * Registers a callback to be invoked when a {@link IPCEvents.HostInForeground} event is received.\n *\n * @param callback - A callback function to be invoked when a {@link IPCEvents.HostInForeground}\n * event is received.\n * @returns An unsubscribe callback to remove the listener.\n */\n onHostInForeground(callback: () => void): UnsubscribeCallback {\n this.logger.debug('Registering for Host In Foreground');\n\n this.listeners.get(IPCEvents.HostInForeground)?.add(callback);\n\n return () => this.listeners.get(IPCEvents.HostInForeground)?.delete(callback);\n }\n\n #evaluateContext(context?: AppContext) {\n if (context === 'user') {\n return 'host' as const;\n } else if (context === 'guest') {\n return 'standalone' as const;\n }\n\n return;\n }\n}\n"],"names":["IPCEvents","rr","sr","t","e","H","Fe","or","Pt","ar","lr","cr","ur","Re","hr","be","s","n","i","f","b","d","T","j","z","P","J","ue","fr","pr","dr","Ye","et","xt","vr","_t","fe","tt","pe","rt","st","Er","ee","gr","X","M","nt","mr","ie","$r","yr","Sr","Rr","br","Ir","it","wr","Ar","ot","Or","u","Tr","Nr","Lr","Cr","Pr","xr","_r","Mr","Dr","jr","Gr","Ur","Fr","at","Vr","F","Xr","Hr","qr","Yr","Br","Wr","lt","zr","Be","Jr","Kr","Qr","Zr","kr","es","ts","rs","Ie","ss","ns","We","is","os","Mt","as","ls","Dt","cs","us","ze","hs","fs","Je","ps","ds","vs","Es","gs","ms","$s","jt","ys","Ss","de","ve","Rs","bs","Ne","ct","Is","ws","R","k","Os","Ts","As","Ns","K","te","ce","Q","Y","ut","C","U","Gt","Le","Ls","ae","ht","me","re","o","Cs","Ce","Ps","Pe","ft","V","$","E","m","v","y","er","I","N","kt","w","D","tr","we","p","zt","Kt","Zt","Wt","S","Jt","Qt","oe","Ti","xe","pt","xs","_s","Ae","Ms","Ds","js","Gs","Us","Fs","Vs","Xs","Hs","qs","Ys","_e","Bs","dt","Ws","zs","Js","Ks","Qs","Zs","Ut","ks","en","tn","vt","Et","rn","sn","nn","Ke","on","an","ln","cn","un","hn","gt","fn","pn","dn","vn","En","mt","Qe","Me","le","Ze","gn","$n","mn","$t","yt","St","yn","De","Rt","Sn","bt","Rn","bn","In","wn","An","On","Tn","Nn","Ln","Cn","Pn","xn","_n","Mn","Dn","jn","Gn","Un","Fn","Vn","Xn","Hn","qn","Yn","Bn","Wn","zn","Jn","Kn","Qn","Zn","kn","ei","ti","ri","si","ni","O","L","je","oi","It","wt","Ve","W","Xe","se","ne","G","Ft","Ge","$e","he","At","Vt","Xt","Ht","He","ai","Ot","ge","ke","hi","qe","li","Ue","ci","Ee","ui","fi","qt","pi","ye","vi","Tt","di","Ei","Oe","Te","gi","mi","Yt","Nt","Bt","$i","Se","yi","Lt","Si","Ri","bi","Ii","wi","Ai","A","Oi","_","q","x","Ct","Ci","extendStatics","__extends","__","__values","__read","r","error","__spreadArray","to","from","pack","l","isFunction","value","createErrorClass","createImpl","_super","instance","ctorFunc","UnsubscriptionError","errors","err","arrRemove","arr","item","index","Subscription","initialTeardown","e_1","_a","e_2","_b","_parentage","_parentage_1","_parentage_1_1","parent_1","e_1_1","initialFinalizer","_finalizers","_finalizers_1","_finalizers_1_1","finalizer","execFinalizer","e_2_1","teardown","parent","empty","isSubscription","config","timeoutProvider","handler","timeout","args","_i","delegate","handle","reportUnhandledError","noop","Subscriber","destination","_this","EMPTY_OBSERVER","next","complete","SafeSubscriber","_bind","bind","thisArg","ConsumerObserver","partialObserver","handleUnhandledError","observerOrNext","context_1","defaultErrorHandler","identity","hasLift","source","operate","init","liftedSource","createOperatorSubscriber","onNext","onComplete","onError","onFinalize","OperatorSubscriber","shouldUnsubscribe","closed_1","EmptyError","firstValueFrom","hasConfig","resolve","reject","subscriber","map","project","tap","tapObserver","isUnsub","getLogger","mod","SUPPORTED_VERSIONS","_evaluateContext","evaluateContext_fn","IPCManager","logger","__privateAdd","__publicField","IpcHelper","__privateMethod","context","reply","msg","cb","streamId","mode","currentContacts","result","InvalidParameterError","contacts","count","callback"],"mappings":"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","x_google_ignoreList":[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]}
1
+ {"version":3,"file":"ipc-sdk.js","sources":["../src/lib/events.ts","../../../node_modules/.pnpm/tslib@2.5.0/node_modules/tslib/tslib.es6.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/isFunction.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/Subscription.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/config.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/noop.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/errorContext.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/Subscriber.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/symbol/observable.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/identity.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/pipe.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/Observable.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/lift.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/Subject.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/scheduler/Action.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/scheduler/intervalProvider.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/scheduler/AsyncAction.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/Scheduler.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/scheduler/AsyncScheduler.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/scheduler/async.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/isScheduler.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/EmptyError.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/firstValueFrom.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/util/isDate.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/operators/map.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/observable/timer.js","../../../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/esm5/internal/operators/tap.js","../../ipc-protocol/lib/ipc-protocol.js","../src/lib/sdk.ts"],"sourcesContent":["/**\n * A collection of Events that are used by the `IPC` SDK.\n *\n * @public\n */\nexport const enum IPCEvents {\n /**\n * Event that is fired when the `Host` app requests a badge count update.\n */\n BadgeQuery = 'BADGE QUERY',\n\n /**\n * Event that is fired whenever the `Host` app is in foreground.\n */\n HostInForeground = 'HOST IN FOREGROUND'\n}\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __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\nexport function __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++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","export function createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexport { Subscription };\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","import { config } from '../config';\nvar context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","export var observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nvar Observable = (function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n _this._subscribe(subscriber)\n :\n _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return (value = x); }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return function (source) {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n//# sourceMappingURL=lift.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nvar OperatorSubscriber = (function (_super) {\n __extends(OperatorSubscriber, _super);\n function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n var _this = _super.call(this, destination) || this;\n _this.onFinalize = onFinalize;\n _this.shouldUnsubscribe = shouldUnsubscribe;\n _this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : _super.prototype._next;\n _this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._error;\n _this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._complete;\n return _this;\n }\n OperatorSubscriber.prototype.unsubscribe = function () {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n var closed_1 = this.closed;\n _super.prototype.unsubscribe.call(this);\n !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n };\n return OperatorSubscriber;\n}(Subscriber));\nexport { OperatorSubscriber };\n//# sourceMappingURL=OperatorSubscriber.js.map","import { createErrorClass } from './createErrorClass';\nexport var ObjectUnsubscribedError = createErrorClass(function (_super) {\n return function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n };\n});\n//# sourceMappingURL=ObjectUnsubscribedError.js.map","import { __extends, __values } from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nvar Subject = (function (_super) {\n __extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.closed = false;\n _this.currentObservers = null;\n _this.observers = [];\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype._throwIfClosed = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n };\n Subject.prototype.next = function (value) {\n var _this = this;\n errorContext(function () {\n var e_1, _a;\n _this._throwIfClosed();\n if (!_this.isStopped) {\n if (!_this.currentObservers) {\n _this.currentObservers = Array.from(_this.observers);\n }\n try {\n for (var _b = __values(_this.currentObservers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var observer = _c.value;\n observer.next(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n });\n };\n Subject.prototype.error = function (err) {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.hasError = _this.isStopped = true;\n _this.thrownError = err;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n };\n Subject.prototype.complete = function () {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.isStopped = true;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n };\n Object.defineProperty(Subject.prototype, \"observed\", {\n get: function () {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n },\n enumerable: false,\n configurable: true\n });\n Subject.prototype._trySubscribe = function (subscriber) {\n this._throwIfClosed();\n return _super.prototype._trySubscribe.call(this, subscriber);\n };\n Subject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n };\n Subject.prototype._innerSubscribe = function (subscriber) {\n var _this = this;\n var _a = this, hasError = _a.hasError, isStopped = _a.isStopped, observers = _a.observers;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(function () {\n _this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n };\n Subject.prototype._checkFinalizedStatuses = function (subscriber) {\n var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, isStopped = _a.isStopped;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = (function (_super) {\n __extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n };\n AnonymousSubject.prototype.error = function (err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n };\n AnonymousSubject.prototype.complete = function () {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n };\n return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map","export var dateTimestampProvider = {\n now: function () {\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n//# sourceMappingURL=dateTimestampProvider.js.map","import { __extends } from \"tslib\";\nimport { Subscription } from '../Subscription';\nvar Action = (function (_super) {\n __extends(Action, _super);\n function Action(scheduler, work) {\n return _super.call(this) || this;\n }\n Action.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n return this;\n };\n return Action;\n}(Subscription));\nexport { Action };\n//# sourceMappingURL=Action.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var intervalProvider = {\n setInterval: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = intervalProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) {\n return delegate.setInterval.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setInterval.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearInterval: function (handle) {\n var delegate = intervalProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=intervalProvider.js.map","import { __extends } from \"tslib\";\nimport { Action } from './Action';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nvar AsyncAction = (function (_super) {\n __extends(AsyncAction, _super);\n function AsyncAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.pending = false;\n return _this;\n }\n AsyncAction.prototype.schedule = function (state, delay) {\n var _a;\n if (delay === void 0) { delay = 0; }\n if (this.closed) {\n return this;\n }\n this.state = state;\n var id = this.id;\n var scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = (_a = this.id) !== null && _a !== void 0 ? _a : this.requestAsyncId(scheduler, this.id, delay);\n return this;\n };\n AsyncAction.prototype.requestAsyncId = function (scheduler, _id, delay) {\n if (delay === void 0) { delay = 0; }\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n };\n AsyncAction.prototype.recycleAsyncId = function (_scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n if (id != null) {\n intervalProvider.clearInterval(id);\n }\n return undefined;\n };\n AsyncAction.prototype.execute = function (state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n var error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n };\n AsyncAction.prototype._execute = function (state, _delay) {\n var errored = false;\n var errorValue;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n };\n AsyncAction.prototype.unsubscribe = function () {\n if (!this.closed) {\n var _a = this, id = _a.id, scheduler = _a.scheduler;\n var actions = scheduler.actions;\n this.work = this.state = this.scheduler = null;\n this.pending = false;\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n _super.prototype.unsubscribe.call(this);\n }\n };\n return AsyncAction;\n}(Action));\nexport { AsyncAction };\n//# sourceMappingURL=AsyncAction.js.map","import { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nvar Scheduler = (function () {\n function Scheduler(schedulerActionCtor, now) {\n if (now === void 0) { now = Scheduler.now; }\n this.schedulerActionCtor = schedulerActionCtor;\n this.now = now;\n }\n Scheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) { delay = 0; }\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n };\n Scheduler.now = dateTimestampProvider.now;\n return Scheduler;\n}());\nexport { Scheduler };\n//# sourceMappingURL=Scheduler.js.map","import { __extends } from \"tslib\";\nimport { Scheduler } from '../Scheduler';\nvar AsyncScheduler = (function (_super) {\n __extends(AsyncScheduler, _super);\n function AsyncScheduler(SchedulerAction, now) {\n if (now === void 0) { now = Scheduler.now; }\n var _this = _super.call(this, SchedulerAction, now) || this;\n _this.actions = [];\n _this._active = false;\n return _this;\n }\n AsyncScheduler.prototype.flush = function (action) {\n var actions = this.actions;\n if (this._active) {\n actions.push(action);\n return;\n }\n var error;\n this._active = true;\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()));\n this._active = false;\n if (error) {\n while ((action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsyncScheduler;\n}(Scheduler));\nexport { AsyncScheduler };\n//# sourceMappingURL=AsyncScheduler.js.map","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport var asyncScheduler = new AsyncScheduler(AsyncAction);\nexport var async = asyncScheduler;\n//# sourceMappingURL=async.js.map","import { isFunction } from './isFunction';\nexport function isScheduler(value) {\n return value && isFunction(value.schedule);\n}\n//# sourceMappingURL=isScheduler.js.map","import { createErrorClass } from './createErrorClass';\nexport var EmptyError = createErrorClass(function (_super) { return function EmptyErrorImpl() {\n _super(this);\n this.name = 'EmptyError';\n this.message = 'no elements in sequence';\n}; });\n//# sourceMappingURL=EmptyError.js.map","import { EmptyError } from './util/EmptyError';\nimport { SafeSubscriber } from './Subscriber';\nexport function firstValueFrom(source, config) {\n var hasConfig = typeof config === 'object';\n return new Promise(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n resolve(value);\n subscriber.unsubscribe();\n },\n error: reject,\n complete: function () {\n if (hasConfig) {\n resolve(config.defaultValue);\n }\n else {\n reject(new EmptyError());\n }\n },\n });\n source.subscribe(subscriber);\n });\n}\n//# sourceMappingURL=firstValueFrom.js.map","export function isValidDate(value) {\n return value instanceof Date && !isNaN(value);\n}\n//# sourceMappingURL=isDate.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n//# sourceMappingURL=map.js.map","import { Observable } from '../Observable';\nimport { async as asyncScheduler } from '../scheduler/async';\nimport { isScheduler } from '../util/isScheduler';\nimport { isValidDate } from '../util/isDate';\nexport function timer(dueTime, intervalOrScheduler, scheduler) {\n if (dueTime === void 0) { dueTime = 0; }\n if (scheduler === void 0) { scheduler = asyncScheduler; }\n var intervalDuration = -1;\n if (intervalOrScheduler != null) {\n if (isScheduler(intervalOrScheduler)) {\n scheduler = intervalOrScheduler;\n }\n else {\n intervalDuration = intervalOrScheduler;\n }\n }\n return new Observable(function (subscriber) {\n var due = isValidDate(dueTime) ? +dueTime - scheduler.now() : dueTime;\n if (due < 0) {\n due = 0;\n }\n var n = 0;\n return scheduler.schedule(function () {\n if (!subscriber.closed) {\n subscriber.next(n++);\n if (0 <= intervalDuration) {\n this.schedule(undefined, intervalDuration);\n }\n else {\n subscriber.complete();\n }\n }\n }, due);\n });\n}\n//# sourceMappingURL=timer.js.map","import { isFunction } from '../util/isFunction';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { identity } from '../util/identity';\nexport function tap(observerOrNext, error, complete) {\n var tapObserver = isFunction(observerOrNext) || error || complete\n ?\n { next: observerOrNext, error: error, complete: complete }\n : observerOrNext;\n return tapObserver\n ? operate(function (source, subscriber) {\n var _a;\n (_a = tapObserver.subscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n var isUnsub = true;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n var _a;\n (_a = tapObserver.next) === null || _a === void 0 ? void 0 : _a.call(tapObserver, value);\n subscriber.next(value);\n }, function () {\n var _a;\n isUnsub = false;\n (_a = tapObserver.complete) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n subscriber.complete();\n }, function (err) {\n var _a;\n isUnsub = false;\n (_a = tapObserver.error) === null || _a === void 0 ? void 0 : _a.call(tapObserver, err);\n subscriber.error(err);\n }, function () {\n var _a, _b;\n if (isUnsub) {\n (_a = tapObserver.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);\n }\n (_b = tapObserver.finalize) === null || _b === void 0 ? void 0 : _b.call(tapObserver);\n }));\n })\n :\n identity;\n}\n//# sourceMappingURL=tap.js.map","var z = Object.defineProperty;\nvar W = (r, t, e) => t in r ? z(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e;\nvar m = (r, t, e) => (W(r, typeof t != \"symbol\" ? t + \"\" : t, e), e);\nimport { Subject as X, timer as Z } from \"rxjs\";\nclass h extends Error {\n constructor(e) {\n super(`Incorrect context (${e}). Cannot perform the requested operation.`);\n m(this, \"context\");\n this.context = e;\n }\n}\nclass I extends Error {\n constructor(t, e, n) {\n super(`Invalid parameter (${t}). ${n}`), this.param = t, this.value = e, this.reason = n;\n }\n}\nclass ee extends Error {\n constructor(t, e) {\n super(\n `'streamId' value of \"${t}\" is different from what we expected (\"${e}\")`\n ), this.streamId = t, this.expectedStreamId = e;\n }\n}\nclass te extends Error {\n constructor(t) {\n super(`Invalid version format: ${t}`);\n }\n}\nclass L extends Error {\n constructor(t) {\n super(`${t} needs to be initialized before it can be used.`);\n }\n}\nclass j extends Error {\n constructor(t, e) {\n let n = `Unsupported Protocol ${Array.isArray(t) ? \"versions\" : \"version\"}: (${t}).`;\n e && (n += ` Minimum version supported is ${e}.`), super(n), this.version = t;\n }\n}\nfunction v(r) {\n return typeof r == \"function\";\n}\nfunction re(r) {\n return v(r == null ? void 0 : r.lift);\n}\nfunction R(r) {\n return function(t) {\n if (re(t))\n return t.lift(function(e) {\n try {\n return r(e, this);\n } catch (n) {\n this.error(n);\n }\n });\n throw new TypeError(\"Unable to lift unknown Observable type\");\n };\n}\nvar O = function(r, t) {\n return O = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(e, n) {\n e.__proto__ = n;\n } || function(e, n) {\n for (var i in n)\n Object.prototype.hasOwnProperty.call(n, i) && (e[i] = n[i]);\n }, O(r, t);\n};\nfunction _(r, t) {\n if (typeof t != \"function\" && t !== null)\n throw new TypeError(\"Class extends value \" + String(t) + \" is not a constructor or null\");\n O(r, t);\n function e() {\n this.constructor = r;\n }\n r.prototype = t === null ? Object.create(t) : (e.prototype = t.prototype, new e());\n}\nfunction D(r) {\n var t = typeof Symbol == \"function\" && Symbol.iterator, e = t && r[t], n = 0;\n if (e)\n return e.call(r);\n if (r && typeof r.length == \"number\")\n return {\n next: function() {\n return r && n >= r.length && (r = void 0), { value: r && r[n++], done: !r };\n }\n };\n throw new TypeError(t ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\nfunction C(r, t) {\n var e = typeof Symbol == \"function\" && r[Symbol.iterator];\n if (!e)\n return r;\n var n = e.call(r), i, o = [], a;\n try {\n for (; (t === void 0 || t-- > 0) && !(i = n.next()).done; )\n o.push(i.value);\n } catch (c) {\n a = { error: c };\n } finally {\n try {\n i && !i.done && (e = n.return) && e.call(n);\n } finally {\n if (a)\n throw a.error;\n }\n }\n return o;\n}\nfunction M(r, t, e) {\n if (e || arguments.length === 2)\n for (var n = 0, i = t.length, o; n < i; n++)\n (o || !(n in t)) && (o || (o = Array.prototype.slice.call(t, 0, n)), o[n] = t[n]);\n return r.concat(o || Array.prototype.slice.call(t));\n}\nfunction ne(r) {\n var t = function(n) {\n Error.call(n), n.stack = new Error().stack;\n }, e = r(t);\n return e.prototype = Object.create(Error.prototype), e.prototype.constructor = e, e;\n}\nvar P = ne(function(r) {\n return function(e) {\n r(this), this.message = e ? e.length + ` errors occurred during unsubscription:\n` + e.map(function(n, i) {\n return i + 1 + \") \" + n.toString();\n }).join(`\n `) : \"\", this.name = \"UnsubscriptionError\", this.errors = e;\n };\n});\nfunction H(r, t) {\n if (r) {\n var e = r.indexOf(t);\n 0 <= e && r.splice(e, 1);\n }\n}\nvar U = function() {\n function r(t) {\n this.initialTeardown = t, this.closed = !1, this._parentage = null, this._finalizers = null;\n }\n return r.prototype.unsubscribe = function() {\n var t, e, n, i, o;\n if (!this.closed) {\n this.closed = !0;\n var a = this._parentage;\n if (a)\n if (this._parentage = null, Array.isArray(a))\n try {\n for (var c = D(a), s = c.next(); !s.done; s = c.next()) {\n var l = s.value;\n l.remove(this);\n }\n } catch (g) {\n t = { error: g };\n } finally {\n try {\n s && !s.done && (e = c.return) && e.call(c);\n } finally {\n if (t)\n throw t.error;\n }\n }\n else\n a.remove(this);\n var y = this.initialTeardown;\n if (v(y))\n try {\n y();\n } catch (g) {\n o = g instanceof P ? g.errors : [g];\n }\n var f = this._finalizers;\n if (f) {\n this._finalizers = null;\n try {\n for (var S = D(f), w = S.next(); !w.done; w = S.next()) {\n var Q = w.value;\n try {\n N(Q);\n } catch (g) {\n o = o ?? [], g instanceof P ? o = M(M([], C(o)), C(g.errors)) : o.push(g);\n }\n }\n } catch (g) {\n n = { error: g };\n } finally {\n try {\n w && !w.done && (i = S.return) && i.call(S);\n } finally {\n if (n)\n throw n.error;\n }\n }\n }\n if (o)\n throw new P(o);\n }\n }, r.prototype.add = function(t) {\n var e;\n if (t && t !== this)\n if (this.closed)\n N(t);\n else {\n if (t instanceof r) {\n if (t.closed || t._hasParent(this))\n return;\n t._addParent(this);\n }\n (this._finalizers = (e = this._finalizers) !== null && e !== void 0 ? e : []).push(t);\n }\n }, r.prototype._hasParent = function(t) {\n var e = this._parentage;\n return e === t || Array.isArray(e) && e.includes(t);\n }, r.prototype._addParent = function(t) {\n var e = this._parentage;\n this._parentage = Array.isArray(e) ? (e.push(t), e) : e ? [e, t] : t;\n }, r.prototype._removeParent = function(t) {\n var e = this._parentage;\n e === t ? this._parentage = null : Array.isArray(e) && H(e, t);\n }, r.prototype.remove = function(t) {\n var e = this._finalizers;\n e && H(e, t), t instanceof r && t._removeParent(this);\n }, r.EMPTY = function() {\n var t = new r();\n return t.closed = !0, t;\n }(), r;\n}();\nU.EMPTY;\nfunction q(r) {\n return r instanceof U || r && \"closed\" in r && v(r.remove) && v(r.add) && v(r.unsubscribe);\n}\nfunction N(r) {\n v(r) ? r() : r.unsubscribe();\n}\nvar B = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: void 0,\n useDeprecatedSynchronousErrorHandling: !1,\n useDeprecatedNextContext: !1\n}, $ = {\n setTimeout: function(r, t) {\n for (var e = [], n = 2; n < arguments.length; n++)\n e[n - 2] = arguments[n];\n var i = $.delegate;\n return i != null && i.setTimeout ? i.setTimeout.apply(i, M([r, t], C(e))) : setTimeout.apply(void 0, M([r, t], C(e)));\n },\n clearTimeout: function(r) {\n var t = $.delegate;\n return ((t == null ? void 0 : t.clearTimeout) || clearTimeout)(r);\n },\n delegate: void 0\n};\nfunction ie(r) {\n $.setTimeout(function() {\n throw r;\n });\n}\nfunction k() {\n}\nfunction oe(r) {\n r();\n}\nvar V = function(r) {\n _(t, r);\n function t(e) {\n var n = r.call(this) || this;\n return n.isStopped = !1, e ? (n.destination = e, q(e) && e.add(n)) : n.destination = ue, n;\n }\n return t.create = function(e, n, i) {\n return new A(e, n, i);\n }, t.prototype.next = function(e) {\n this.isStopped || this._next(e);\n }, t.prototype.error = function(e) {\n this.isStopped || (this.isStopped = !0, this._error(e));\n }, t.prototype.complete = function() {\n this.isStopped || (this.isStopped = !0, this._complete());\n }, t.prototype.unsubscribe = function() {\n this.closed || (this.isStopped = !0, r.prototype.unsubscribe.call(this), this.destination = null);\n }, t.prototype._next = function(e) {\n this.destination.next(e);\n }, t.prototype._error = function(e) {\n try {\n this.destination.error(e);\n } finally {\n this.unsubscribe();\n }\n }, t.prototype._complete = function() {\n try {\n this.destination.complete();\n } finally {\n this.unsubscribe();\n }\n }, t;\n}(U), se = Function.prototype.bind;\nfunction T(r, t) {\n return se.call(r, t);\n}\nvar ae = function() {\n function r(t) {\n this.partialObserver = t;\n }\n return r.prototype.next = function(t) {\n var e = this.partialObserver;\n if (e.next)\n try {\n e.next(t);\n } catch (n) {\n E(n);\n }\n }, r.prototype.error = function(t) {\n var e = this.partialObserver;\n if (e.error)\n try {\n e.error(t);\n } catch (n) {\n E(n);\n }\n else\n E(t);\n }, r.prototype.complete = function() {\n var t = this.partialObserver;\n if (t.complete)\n try {\n t.complete();\n } catch (e) {\n E(e);\n }\n }, r;\n}(), A = function(r) {\n _(t, r);\n function t(e, n, i) {\n var o = r.call(this) || this, a;\n if (v(e) || !e)\n a = {\n next: e ?? void 0,\n error: n ?? void 0,\n complete: i ?? void 0\n };\n else {\n var c;\n o && B.useDeprecatedNextContext ? (c = Object.create(e), c.unsubscribe = function() {\n return o.unsubscribe();\n }, a = {\n next: e.next && T(e.next, c),\n error: e.error && T(e.error, c),\n complete: e.complete && T(e.complete, c)\n }) : a = e;\n }\n return o.destination = new ae(a), o;\n }\n return t;\n}(V);\nfunction E(r) {\n ie(r);\n}\nfunction ce(r) {\n throw r;\n}\nvar ue = {\n closed: !0,\n next: k,\n error: ce,\n complete: k\n}, le = function() {\n return typeof Symbol == \"function\" && Symbol.observable || \"@@observable\";\n}();\nfunction J(r) {\n return r;\n}\nfunction he(r) {\n return r.length === 0 ? J : r.length === 1 ? r[0] : function(e) {\n return r.reduce(function(n, i) {\n return i(n);\n }, e);\n };\n}\nvar de = function() {\n function r(t) {\n t && (this._subscribe = t);\n }\n return r.prototype.lift = function(t) {\n var e = new r();\n return e.source = this, e.operator = t, e;\n }, r.prototype.subscribe = function(t, e, n) {\n var i = this, o = fe(t) ? t : new A(t, e, n);\n return oe(function() {\n var a = i, c = a.operator, s = a.source;\n o.add(c ? c.call(o, s) : s ? i._subscribe(o) : i._trySubscribe(o));\n }), o;\n }, r.prototype._trySubscribe = function(t) {\n try {\n return this._subscribe(t);\n } catch (e) {\n t.error(e);\n }\n }, r.prototype.forEach = function(t, e) {\n var n = this;\n return e = F(e), new e(function(i, o) {\n var a = new A({\n next: function(c) {\n try {\n t(c);\n } catch (s) {\n o(s), a.unsubscribe();\n }\n },\n error: o,\n complete: i\n });\n n.subscribe(a);\n });\n }, r.prototype._subscribe = function(t) {\n var e;\n return (e = this.source) === null || e === void 0 ? void 0 : e.subscribe(t);\n }, r.prototype[le] = function() {\n return this;\n }, r.prototype.pipe = function() {\n for (var t = [], e = 0; e < arguments.length; e++)\n t[e] = arguments[e];\n return he(t)(this);\n }, r.prototype.toPromise = function(t) {\n var e = this;\n return t = F(t), new t(function(n, i) {\n var o;\n e.subscribe(function(a) {\n return o = a;\n }, function(a) {\n return i(a);\n }, function() {\n return n(o);\n });\n });\n }, r.create = function(t) {\n return new r(t);\n }, r;\n}();\nfunction F(r) {\n var t;\n return (t = r ?? B.Promise) !== null && t !== void 0 ? t : Promise;\n}\nfunction pe(r) {\n return r && v(r.next) && v(r.error) && v(r.complete);\n}\nfunction fe(r) {\n return r && r instanceof V || pe(r) && q(r);\n}\nfunction x(r, t, e, n, i) {\n return new ge(r, t, e, n, i);\n}\nvar ge = function(r) {\n _(t, r);\n function t(e, n, i, o, a, c) {\n var s = r.call(this, e) || this;\n return s.onFinalize = a, s.shouldUnsubscribe = c, s._next = n ? function(l) {\n try {\n n(l);\n } catch (y) {\n e.error(y);\n }\n } : r.prototype._next, s._error = o ? function(l) {\n try {\n o(l);\n } catch (y) {\n e.error(y);\n } finally {\n this.unsubscribe();\n }\n } : r.prototype._error, s._complete = i ? function() {\n try {\n i();\n } catch (l) {\n e.error(l);\n } finally {\n this.unsubscribe();\n }\n } : r.prototype._complete, s;\n }\n return t.prototype.unsubscribe = function() {\n var e;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n var n = this.closed;\n r.prototype.unsubscribe.call(this), !n && ((e = this.onFinalize) === null || e === void 0 || e.call(this));\n }\n }, t;\n}(V);\nfunction u(r, t) {\n return R(function(e, n) {\n var i = 0;\n e.subscribe(x(n, function(o) {\n n.next(r.call(t, o, i++));\n }));\n });\n}\nvar ve = new de(function(r) {\n return r.complete();\n});\nfunction b(r) {\n return r <= 0 ? function() {\n return ve;\n } : R(function(t, e) {\n var n = 0;\n t.subscribe(x(e, function(i) {\n ++n <= r && (e.next(i), r <= n && e.complete());\n }));\n });\n}\nfunction p(r, t) {\n return R(function(e, n) {\n var i = 0;\n e.subscribe(x(n, function(o) {\n return r.call(t, o, i++) && n.next(o);\n }));\n });\n}\nfunction d(r, t, e) {\n var n = v(r) || t || e ? { next: r, error: t, complete: e } : r;\n return n ? R(function(i, o) {\n var a;\n (a = n.subscribe) === null || a === void 0 || a.call(n);\n var c = !0;\n i.subscribe(x(o, function(s) {\n var l;\n (l = n.next) === null || l === void 0 || l.call(n, s), o.next(s);\n }, function() {\n var s;\n c = !1, (s = n.complete) === null || s === void 0 || s.call(n), o.complete();\n }, function(s) {\n var l;\n c = !1, (l = n.error) === null || l === void 0 || l.call(n, s), o.error(s);\n }, function() {\n var s, l;\n c && ((s = n.unsubscribe) === null || s === void 0 || s.call(n)), (l = n.finalize) === null || l === void 0 || l.call(n);\n }));\n }) : J;\n}\nconst ye = /^(\\d+)\\.(\\d+)$/;\nfunction me(r) {\n if (typeof r == \"string\") {\n const t = r.match(ye);\n if (t)\n return `${t[1]}.${t[2]}`;\n }\n throw new te(r);\n}\nfunction G(r) {\n const t = me(r), [e, n] = t.split(\".\"), [i, o] = [parseInt(e), parseInt(n)];\n return [i, o];\n}\nfunction K(r, t) {\n const [e, n] = G(r), [i, o] = G(t);\n return e < i ? -1 : e > i ? 1 : n < o ? -1 : n > o ? 1 : 0;\n}\nfunction be(r, t) {\n return K(r, t) === 1;\n}\nfunction we(r, t) {\n return K(r, t) >= 0;\n}\nconst Y = \"2.0\";\nclass Ce {\n /**\n * Create a new instance of the {@link IpcHelper | IPC Protocol Helper}.\n *\n * @remarks\n * Ideally, you should always have only one instance of the helper created at any point.\n *\n * @param supportedVersions - An array of supported protocol versions to choose from\n * @param logService - An instance of a logging service or utility\n */\n constructor(t, e) {\n /**\n * Protocol version negotiated with the Host app. Will always be from one of the values passed via\n * the constructor.\n */\n m(this, \"negotiatedProtocolVersion\");\n /**\n * The current {@link AppContext} determined after running {@link IpcHelper.determineContext}. The\n * value will be `undefined` until the method is called.\n */\n m(this, \"currentContext\");\n m(this, \"incomingMessages$\");\n m(this, \"inIframe\", !1);\n m(this, \"embeddedResult\");\n m(this, \"iframePort1\");\n m(this, \"iframePort2\");\n if (this.supportedVersions = t, this.logService = e, this.incomingMessages$ = new X(), this.supportedVersions = t.filter((n) => we(n, Y)), !this.supportedVersions.length)\n throw new j(t, Y);\n this.negotiatedProtocolVersion = this.supportedVersions[0], this.embeddedResult = null, this.iframePort2 = null;\n }\n get parent() {\n return window.parent;\n }\n get self() {\n return window.self;\n }\n get frameElement() {\n return window.frameElement;\n }\n // only used by remote party, not used locally\n // @ts-expect-error\n get port1() {\n var t, e;\n return this.inIframe ? this.iframePort1 : (e = (t = window.Acrobits) == null ? void 0 : t.messageChannel) == null ? void 0 : e.port1;\n }\n get port2() {\n var t, e, n, i;\n if (this.inIframe) {\n if (!this.iframePort2)\n throw new L(\"port2\");\n return this.iframePort2;\n } else {\n if (!((e = (t = window.Acrobits) == null ? void 0 : t.messageChannel) != null && e.port2))\n throw new L(\"port2\");\n return (i = (n = window.Acrobits) == null ? void 0 : n.messageChannel) == null ? void 0 : i.port2;\n }\n }\n /**\n * Determines if the app is embedded in a Host app like WebRTC or native CSP clients.\n *\n * @returns Observable with the {@link AppContext} the app is running under. Emits once.\n */\n determineContext() {\n return Z(1e3).pipe(\n u(() => (this.isEmbedded() ? this.currentContext = \"user\" : this.currentContext = \"guest\", this.currentContext)),\n b(1)\n );\n }\n /**\n * Opens the IPC Bridge by sending the {@link HelloMessage} to the host application to initiate\n * handshake and returns an Observable that emits once with the {@link HelloMessageReply}.\n *\n * @returns Observable with a {@link HelloMessageReply} instance. Emits once.\n */\n openBridge() {\n if (!this.isEmbedded())\n throw new h(this.currentContext);\n const t = \"HELLO\", e = this.createMessage(t);\n e.protocolVersions = this.supportedVersions, this.logCreated(t, e);\n const n = this.incomingMessages$.pipe(\n p((i) => i.type === t && i.replyTo === e.id),\n u((i) => i),\n d(this.logReceived(t)),\n u((i) => {\n if (this.supportedVersions.some((o) => be(o, i.protocolVersion)))\n throw new j(i.protocolVersion, this.supportedVersions[0]);\n return i;\n }),\n d((i) => {\n this.negotiatedProtocolVersion = i.protocolVersion, this.logService.info(\n `[IPC] Negotiated IPC Protocol Version: ${this.negotiatedProtocolVersion}`\n );\n }),\n b(1)\n );\n return this.logService.debug(`Created ${t} Reply handler`), this.inIframe ? this.createIframeChannel().then(() => this.finishIpcSetup(e)) : this.finishIpcSetup(e), n;\n }\n /**\n * Request an SSO Token from the Host app to authenticate the current user and make further API\n * requests on their behalf.\n *\n * @returns Observable with a {@link TokenMessageReply} instance containing the SSO Token. Emits\n * once.\n */\n requestSSOToken() {\n if (!this.isEmbedded())\n throw new h(this.currentContext);\n const t = \"TOKEN\", e = this.createMessage(t);\n this.logCreated(t, e);\n const n = this.incomingMessages$.pipe(\n p((i) => i.type === t && i.replyTo === e.id),\n u((i) => i),\n d(this.logReceived(t)),\n b(1)\n );\n return this.logService.debug(`Created ${t} Reply handler`), this.port2.postMessage(e), this.logSent(t, e), n;\n }\n /**\n * Sends the {@link JoiningRoomMessage} lifecycle message to the Host application based on the\n * parameters provided.\n *\n * @remarks\n * This message should always be sent whenever joining a conference. The host app can use\n * information provided by the {@link JoiningRoomMessageParams} fields to properly setup it's own\n * state and context if needed.\n *\n * @param params - Parameters object for the {@link JoiningRoomMessage} message.\n *\n * @returns This method returns void.\n */\n sendJoiningRoomMessage(t) {\n if (!this.isEmbedded())\n throw new h(this.currentContext);\n const {\n roomName: e,\n roomInvite: n,\n displayName: i,\n jwtToken: o,\n serverUrl: a,\n region: c,\n joinMicMuted: s,\n joinWithoutCamera: l\n } = t, y = \"JOINING ROOM\", f = this.createMessage(y, !1);\n f.roomName = e, f.jwtToken = o, f.serverUrl = a, f.region = c, f.roomInvite = n, f.joinMicMuted = s ?? !1, f.joinWithoutCamera = l ?? !1, f.displayName = i, this.logCreated(y, f), this.port2.postMessage(f), this.logSent(y, f);\n }\n /**\n * Sends a {@link LeavingRoomMessage} lifecycle message to the Host app.\n *\n * @remarks\n * This message should always be sent whenever leaving a conference so the host app can manage\n * it's state and context properly.\n *\n * @param roomName - The name of the room or Meeting ID we are leaving\n *\n * @returns This method returns void.\n */\n sendLeavingRoomMessage(t) {\n if (!this.isEmbedded())\n throw new h(this.currentContext);\n const e = \"LEAVING ROOM\", n = this.createMessage(e, !1);\n n.roomName = t, this.logCreated(e, n), this.port2.postMessage(n), this.logSent(e, n);\n }\n /**\n * Setup listener for {@link JoinRoomMessage}, which can be sent by a host app to ask the client\n * to join the specified room or meeting.\n *\n * @remarks\n * The client app still needs to follow the standard workflow for joining a conference, including\n * requesting an SSO Token and then sending the {@link JoiningRoomMessage} when joining the\n * conference.\n *\n * @example\n * Here is an example of how a listener can be setup:\n *\n * ```ts\n * const ipcHelper = new IpcHelper(['2.0'], console);\n *\n * const joinRoomSubscription = ipcHelper.onJoinRoomMessage().subscribe((msg) => {\n * // your logic for handling the message goes here\n * });\n *\n * // don't forget to unsubscribe when you're cleaning up\n * joinRoomSubscription.unsubscribe();\n * ```\n *\n * @returns An Observable that emits whenever {@link JoinRoomMessage} is received so it can be\n * subscribed to indefinitely.\n */\n onJoinRoomMessage() {\n if (!this.isEmbedded())\n throw new h(this.currentContext);\n const t = \"JOIN ROOM\";\n return this.incomingMessages$.pipe(\n p((e) => e.type === t && e.target === \"client\"),\n u((e) => e),\n d(this.logReceived(t)),\n u((e) => e)\n );\n }\n /**\n * Setup listener for {@link LeaveRoomMessage}, which can be sent by a host app to ask the client\n * to leave the current room or meeting.\n *\n * @remarks\n * The client app still needs to follow the standard workflow for leaving a conference, including\n * sending the {@link LeavingRoomMessage} when leaving the conference.\n *\n * @example\n * Here is an example of how a listener can be setup:\n *\n * ```ts\n * const ipcHelper = new IpcHelper(['2.0'], console);\n *\n * const leaveRoomSubscription = ipcHelper.onLeaveRoomMessage().subscribe((msg) => {\n * // your logic for handling the message goes here\n * });\n *\n * // don't forget to unsubscribe when you're cleaning up\n * leaveRoomSubscription.unsubscribe();\n * ```\n *\n * @returns An Observable that emits whenever {@link LeavingRoomMessage} is received so it can be\n * subscribed to indefinitely.\n */\n onLeaveRoomMessage() {\n if (!this.isEmbedded())\n throw new h(this.currentContext);\n const t = \"LEAVE ROOM\";\n return this.incomingMessages$.pipe(\n p((e) => e.type === t && e.target === \"client\"),\n u((e) => e),\n d(this.logReceived(t)),\n u((e) => e)\n );\n }\n /**\n * Setup listener for {@link ConfigMessage}, which is be sent by a host app whenever there is\n * an update to the user preferences or configuration (e.g. new default video camera).\n *\n * @remarks\n * Ideally, the client app should honor the user preferences received via {@link ConfigMessage},\n * however if the client app has it's own preferences for similar options as well, then they\n * should take priority.\n *\n * @example\n * Here is an example of how a listener can be setup:\n *\n * ```ts\n * const ipcHelper = new IpcHelper(['2.0'], console);\n *\n * const configSubscription = ipcHelper.onConfigMessage().subscribe((msg) => {\n * // your logic for handling the configuration goes here\n * });\n *\n * // don't forget to unsubscribe when you're cleaning up\n * configSubscription.unsubscribe();\n * ```\n *\n * @returns An Observable that emits whenever {@link ConfigMessage} is received so it can be\n * subscribed to indefinitely.\n */\n onConfigMessage() {\n if (!this.isEmbedded())\n throw new h(this.currentContext);\n const t = \"CONFIG\";\n return this.incomingMessages$.pipe(\n p((e) => e.type === t && e.target === \"client\"),\n u((e) => e),\n d(this.logReceived(t)),\n u((e) => ({\n preferredCameraType: e.preferredCameraType,\n preferredMicType: e.preferredMicType,\n preferredOutputType: e.preferredOutputType,\n preferredCameraDeviceLabel: e.preferredCameraDeviceLabel,\n preferredMicDeviceLabel: e.preferredMicDeviceLabel,\n preferredOutputDeviceLabel: e.preferredOutputDeviceLabel,\n performanceProfile: e.performanceProfile,\n cloudUsername: e.cloudUsername,\n configuredOAuthProviders: e.configuredOAuthProviders,\n locales: e.locales ? [...e.locales] : []\n }))\n );\n }\n sendScreenshareSourceMessage(t) {\n if (!this.isEmbedded())\n throw new h(this.currentContext);\n const e = \"SCREENSHARE SOURCE\", n = this.createMessage(e);\n n.sourceTypes = t, this.logCreated(e, n);\n const i = this.incomingMessages$.pipe(\n p((o) => o.type === e && o.replyTo === n.id),\n u((o) => o),\n d(this.logReceived(e)),\n u((o) => o),\n b(1)\n );\n return this.logService.debug(`Created ${e} Reply handler`), this.port2.postMessage(n), this.logSent(e, n), i;\n }\n layoutChange(t, e, n) {\n if (!this.isEmbedded())\n throw new h(this.currentContext);\n const i = \"LAYOUT CHANGE\";\n let o, a;\n if (e && n ? (o = this.createMessage(i, !1, n), o.result = e) : (o = this.createMessage(i), a = this.incomingMessages$.pipe(\n p((c) => c.type === i && c.replyTo === o.id),\n u((c) => c),\n d(this.logReceived(i)),\n u((c) => c),\n b(1)\n ), this.logService.debug(`Created ${i} Reply handler`)), o.layout = t, this.logCreated(i, o), this.port2.postMessage(o), this.logSent(i, o), a)\n return a;\n }\n /**\n * Setup listener for {@link LayoutChangeMessage}, which can be sent by a host app if it needs to\n * request a layout change on the client.\n *\n * @remarks\n * In some scenarios, a `host` app can request a layout change from the client, so this listener\n * should be setup to support that use case.\n *\n * Whenever such a request is received, the `client` app **SHOULD** respond with a\n * {@link LayoutChangeMessageReply} to acknowledge if it is ready for a change.\n *\n * @example\n * Here is an example of how a listener can be setup:\n *\n * ```ts\n * const ipcHelper = new IpcHelper(['2.0'], console);\n *\n * const layoutChangeSubscription = ipcHelper.onLayoutChangeMessage().subscribe((msg) => {\n * // your logic for handling the request goes here\n *\n * // once you're ready to acknowledge, let the `host` app know\n * ipcHelper.layoutChange(msg.layout, result, msg.id);\n * });\n *\n * // don't forget to unsubscribe when you're cleaning up\n * layoutChangeSubscription.unsubscribe();\n * ```\n *\n * @returns An Observable that emits whenever {@link LayoutChangeMessage} is received so it can be\n * subscribed to indefinitely.\n */\n onLayoutChangeMessage() {\n if (!this.isEmbedded())\n throw new h(this.currentContext);\n const t = \"LAYOUT CHANGE\";\n return this.incomingMessages$.pipe(\n p((e) => e.type === t && e.target === \"client\" && e.replyTo === null),\n u((e) => e),\n d(this.logReceived(t)),\n u((e) => e)\n );\n }\n requestOAuthToken(t) {\n if (!this.isEmbedded())\n throw new h(this.currentContext);\n Array.isArray(t) || (t = [t]);\n const e = \"OAUTH TOKEN\", n = this.createMessage(e);\n n.providerTypes = t, this.logCreated(e, n);\n const i = this.incomingMessages$.pipe(\n p((o) => o.type === e && o.replyTo === n.id),\n u((o) => o),\n d(this.logReceived(e)),\n b(1)\n );\n return this.logService.debug(`Created ${e} Reply handler`), this.port2.postMessage(n), this.logSent(e, n), i;\n }\n openUrl(t, e) {\n if (!this.isEmbedded())\n throw new h(this.currentContext);\n const n = \"OPEN URL\", i = this.createMessage(n, !1);\n i.url = t, i.data = e, this.logCreated(n, i), this.port2.postMessage(i), this.logSent(n, i);\n }\n selectContacts(t, e, n) {\n if (!this.isEmbedded())\n throw new h(this.currentContext);\n if (e === \"group\" && n === void 0)\n throw new I(\n \"currentContacts\",\n n,\n \"currentContacts is required for group streams\"\n );\n if (e === \"direct\" && n !== void 0)\n throw new I(\n \"currentContacts\",\n n,\n \"currentContacts should not be passed for direct streams\"\n );\n const i = \"SELECT CONTACTS\", o = this.createMessage(i, !0);\n o.streamType = e, o.streamId = t, o.currentContacts = n, this.logCreated(i, o);\n const a = this.incomingMessages$.pipe(\n p((c) => c.type === i && c.replyTo === o.id),\n d(this.logReceived(i)),\n // validate if `streamId` is the same as we sent\n u((c) => {\n const s = c;\n if (s.streamId !== t)\n throw new ee(s.streamId, t);\n return e === \"direct\" && s.contacts.length > 1 && (s.contacts = [s.contacts[0]]), s;\n }),\n b(1)\n );\n return this.logService.debug(`Created ${i} Reply handler`), this.port2.postMessage(o), this.logSent(i, o), a;\n }\n /**\n * Request detailed contact information for the given Cloud usernames.\n *\n * @param contacts - Cloud usernames for which we need detailed contact information\n *\n * @returns Observable with a {@link MatchContactsMessageReply} instance containing the requested\n * {@link ContactItem} information. Emits once.\n */\n matchContacts(t) {\n if (!this.isEmbedded())\n throw new h(this.currentContext);\n if (!t.length)\n throw new I(\"contacts\", t, \"At least one contact is required\");\n const e = \"MATCH CONTACTS\", n = this.createMessage(e);\n n.contacts = [...t], this.logCreated(e, n);\n const i = this.incomingMessages$.pipe(\n p((o) => o.type === e && o.replyTo === n.id),\n d(this.logReceived(e)),\n u((o) => o),\n b(1)\n );\n return this.logService.debug(`Created ${e} Reply handler`), this.port2.postMessage(n), this.logSent(e, n), i;\n }\n /**\n * Setup listener for {@link PushMessageMessage}, which can be sent by a Host app to forward an\n * an Acrobits Messaging message received via push notification to the Client app.\n *\n * @remarks\n * The format of the {@link PushMessagePayload} SHOULD be kept the same as the one received from\n * the push notification. The Client app can then use the payload to handle the message as needed.\n *\n * @example\n * Here is an example of how a listener can be setup:\n *\n * ```ts\n * const ipcHelper = new IpcHelper(['2.0'], console);\n *\n * const pushMessageSubscription = ipcHelper.onPushMessageMessage().subscribe((msg) => {\n * // your logic for handling the incoming push message goes here\n * });\n *\n * // don't forget to unsubscribe when you're cleaning up\n * pushMessageSubscription.unsubscribe();\n * ```\n *\n * @returns An observable that emits whenever {@link PushMessageMessage} is received so it can be\n * subscribed to indefinitely.\n */\n onPushMessageMessage() {\n if (!this.isEmbedded())\n throw new h(this.currentContext);\n const t = \"PUSH MESSAGE\";\n return this.incomingMessages$.pipe(\n p((e) => e.type === t && e.target === \"client\"),\n u((e) => e),\n d(this.logReceived(t))\n );\n }\n /**\n * Sends a {@link PushTokenMessage} to the Host app, to request the Push Token for the current\n * device.\n *\n * @remarks\n * The Host app should reply with a {@link PushTokenMessageReply} containing the Push Token.\n *\n * @returns Observable with a {@link PushTokenMessageReply} instance containing the Push Token.\n */\n requestPushToken() {\n if (!this.isEmbedded())\n throw new h(this.currentContext);\n const t = \"PUSH TOKEN\", e = this.createMessage(t);\n this.logCreated(t, e);\n const n = this.incomingMessages$.pipe(\n p((i) => i.type === t && i.replyTo === e.id),\n d(this.logReceived(t)),\n u((i) => i),\n b(1)\n );\n return this.logService.debug(`Created ${t} Reply handler`), this.port2.postMessage(e), this.logSent(t, e), n;\n }\n /**\n * Setup listener for {@link BadgeQueryMessage}, which can be sent by a `Host` app to request the\n * current badge counter from the `Client` app.\n *\n * @returns An observable that emits whenever {@link BadgeQueryMessage} is received so it can be\n * subscribed to indefinitely.\n */\n onBadgeQueryMessage() {\n if (!this.isEmbedded())\n throw new h(this.currentContext);\n const t = \"BADGE QUERY\";\n return this.incomingMessages$.pipe(\n p((e) => e.type === t && e.target === \"client\"),\n u((e) => e),\n d(this.logReceived(t))\n );\n }\n /**\n * Sends a {@link BadgeUpdateMessage} from the `Client` to the `Host` with the current counter.\n *\n * @remarks\n * This message can be sent independently or as a reply to a {@link BadgeQueryMessage} from the\n * Host app. If sending as a reply, the `replyTo` parameter should contain the ID of the original\n * {@link BadgeQueryMessage}.\n *\n * @param count - The counter's value\n * @param replyTo - _Optional_. The message ID to which the reply should be sent\n */\n sendBadgeUpdateMessage(t, e) {\n if (!this.isEmbedded())\n throw new h(this.currentContext);\n const n = \"BADGE UPDATE\", i = this.createMessage(n, !1, e);\n i.count = t, this.logCreated(n, i), this.port2.postMessage(i), this.logSent(n, i);\n }\n /**\n * Setup listener for {@link HostInForegroundMessage}, which can be sent by a `Host` app to\n * notify the `Client` app that it is now in the foreground.\n *\n * @remarks\n * This message has no data in it's payload apart from the basic message definition. It can be\n * used by client apps to refresh and sync their state.\n *\n * @returns An observable that emits whenever {@link HostInForegroundMessage} is received so it\n * can be subscribed to indefinitely.\n */\n onHostInForegroundMessage() {\n if (!this.isEmbedded())\n throw new h(this.currentContext);\n const t = \"HOST IN FOREGROUND\";\n return this.incomingMessages$.pipe(\n p((e) => e.type === t && e.target === \"client\"),\n u((e) => e),\n d(this.logReceived(t))\n );\n }\n /**\n * Checks if the client app is either embedded in an iframe or in a native webview.\n *\n * @internal\n *\n * @returns `true` if the client app is embedded, `false` otherwise.\n */\n isEmbedded() {\n if (this.embeddedResult !== null)\n return this.embeddedResult;\n let t = !1;\n return this.logService.debug(\"Checking if running in iframe...\"), t = !!this.frameElement, t || (t = this.self !== this.parent), t ? (this.logService.debug(\"In iframe\"), this.inIframe = !0, this.embeddedResult = !0, !0) : (this.logService.debug(\"Not in iframe\"), this.logService.debug(\"Checking if running in native app...\"), !t && (t = !!window.Acrobits, t) ? (this.logService.debug(\"In native app\"), this.embeddedResult = !0, t) : (this.logService.debug(\"Not running in native app\"), this.embeddedResult = !1, this.embeddedResult));\n }\n logReceived(t, e) {\n const n = (i) => this.logService.debug(`[IPC] Received ${t} message`, i);\n return e && n(e), n;\n }\n logSent(t, e) {\n this.logService.debug(`[IPC] Sent ${t} message`, e);\n }\n logCreated(t, e) {\n this.logService.debug(`[IPC] Created ${t} message`, e);\n }\n async createIframeChannel() {\n return new Promise((t) => {\n const e = (n) => {\n n.data === \"message channel port\" && (this.iframePort2 = n.ports[0], this.self.removeEventListener(\"message\", e), t());\n };\n this.self.addEventListener(\"message\", e), this.parent.postMessage(\"get channel\", \"*\");\n });\n }\n finishIpcSetup(t) {\n this.logService.debug(\"Registering listener on port2...\"), this.port2.addEventListener(\"message\", this.handleIpcMessage.bind(this)), this.port2.start(), this.logService.debug(\"Started listening on port2\"), this.port2.postMessage(t), this.logSent(\"HELLO\", t);\n }\n handleIpcMessage(t) {\n const { data: e } = t;\n !e.id || e.target !== \"client\" || this.incomingMessages$.next(e);\n }\n createMessage(t, e = !0, n) {\n return {\n type: t,\n id: this.generateId(),\n target: \"host\",\n expectReply: e,\n replyTo: n ?? null\n };\n }\n generateId(t = 8, e = !1) {\n let n = \"1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM\";\n const i = [];\n e && (n = n.substr(0, n.indexOf(\"Q\")));\n for (let o = 0; o < t; o++)\n i.push(n[Math.floor(Math.random() * n.length)]);\n return i.join(\"\");\n }\n}\nexport {\n h as InvalidContextError,\n I as InvalidParameterError,\n ee as InvalidStreamIdError,\n te as InvalidVersionFormatError,\n Ce as IpcHelper,\n L as MessagePortNotInitializedError,\n j as UnsupportedVersionError\n};\n","import {\n ContactItem,\n InvalidParameterError,\n IpcHelper,\n type AppContext,\n type HostType,\n type IpcProtocolVersion\n} from '@acrobits/ipc-protocol';\nimport { type ILogger } from '@acrobits/log-helper';\nimport { firstValueFrom } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\nimport { UnsubscribeCallback } from './UnsubscribeCallback.ts';\nimport { IPCEvents } from './events.ts';\n\nconst SUPPORTED_VERSIONS: IpcProtocolVersion[] = ['2.0'];\n\n/**\n * A class that manages the IPC communication between the `Client` and the `Host`.\n *\n * @remarks\n * Ideally, there should only be one instance of the IPCManager in the app. It is recommended to\n * create the instance as a singleton and use it throughout the app.\n *\n * @public\n */\nexport default class IPCManager {\n /**\n * The type of the `Host` app the `Client` is embedded in.\n */\n host?: HostType;\n\n /**\n * The cloud ID of the `Host` app the `Client` is embedded in.\n */\n cloudId?: string;\n\n private logger: ILogger;\n private helper: IpcHelper;\n\n private listeners: Map<IPCEvents, Set<(...args: unknown[]) => void>>;\n\n /**\n * Returns whether the app is running inside a native WebView (`host` context) or as a\n * `standalone` app.\n */\n get context() {\n return this.#evaluateContext(this.helper.currentContext);\n }\n\n /**\n * Determines if the app is connected to a `Host` app.\n */\n get isConnected() {\n return !!(this.helper.currentContext === 'user' && this.host && this.cloudId);\n }\n\n /**\n * The negotiated IPC protocol version.\n */\n get negotiatedVersion() {\n return this.helper.negotiatedProtocolVersion;\n }\n\n /**\n * A class that manages the IPC communication between the `Client` and the `Host`.\n *\n * @remarks\n * Ideally, there should only be one instance of the IPCManager in the app. It is recommended to\n * create the instance as a singleton and use it throughout the app.\n *\n * @param logger - An optional logger instance to use for logging. If not provided, a default logger\n * will be used.\n */\n constructor(logger?: ILogger) {\n this.logger = logger ?? console;\n this.helper = new IpcHelper(SUPPORTED_VERSIONS, this.logger);\n\n this.listeners = new Map();\n this.listeners.set(IPCEvents.BadgeQuery, new Set());\n this.listeners.set(IPCEvents.HostInForeground, new Set());\n }\n\n /**\n * Determines if the app is embedded in a Host app or native CSP clients.\n *\n * @returns A promise with {@link IPCContext} the app is running under.\n */\n async determineContext() {\n const context = await firstValueFrom(this.helper.determineContext(), {\n defaultValue: 'guest' as AppContext\n });\n\n return this.#evaluateContext(context);\n }\n\n /**\n * Initiates the IPC handshake with the `Host` app.\n */\n initiateConnection() {\n return firstValueFrom(\n this.helper.openBridge().pipe(\n tap((reply) => {\n // now that the bridge is open, register receive-only listeners\n this.helper.onBadgeQueryMessage().subscribe((msg) => {\n this.logger.debug('Received Badge Query: ', msg);\n\n for (const cb of this.listeners.get(IPCEvents.BadgeQuery)?.values() ?? []) {\n cb();\n }\n });\n\n this.helper.onHostInForegroundMessage().subscribe((msg) => {\n this.logger.debug('Received Host In Foreground: ', msg);\n\n for (const cb of this.listeners.get(IPCEvents.HostInForeground)?.values() ?? []) {\n cb();\n }\n });\n\n this.cloudId = reply.cloudId;\n this.host = reply.host;\n }),\n map(() => {\n return;\n })\n )\n );\n }\n\n /**\n * Requests the `Host` app to open the contact selection UI.\n *\n * @remarks\n * When requesting a `single` contact, the `Host` app will return immediately\n * after contact selection.\n *\n * @param corelationId - An identifier for the message stream\n * @param mode - _Optional_. Whether to allow `single` or `multi` contact selection.\n *\n * @returns A collection of {@link ContactItem} objects which the user selected along with the\n * `corelationId`.\n */\n selectContacts(corelationId: number, mode?: 'single'): Promise<ContactItem[]>;\n\n /**\n * Requests the `Host` app to open the contact selection UI.\n *\n * @remarks\n * When requesting a `multi` contact, the user will have to manually close the contact selection\n * UI. The `Host` app will return the selected contacts when the user closes the UI.\n *\n * When requesting a `multi` contact, the `currentContacts` parameter is required. This will\n * be used to highlight the contacts that are already selected.\n *\n * @param corelationId - An identifier for the message stream\n * @param mode - Whether to allow `single` or `multi` contact selection.\n * @param currentContacts - A list of {@link ContactItem} objects that are currently selected.\n * This is used to highlight the current contacts from the selection UI.\n *\n * @returns A collection of {@link ContactItem} objects which the user selected along with the\n * `corelationId`.\n */\n selectContacts(\n streamId: number,\n mode: 'multi',\n currentContacts: ContactItem[]\n ): Promise<ContactItem[]>;\n selectContacts(streamId: number, mode?: 'single' | 'multi', currentContacts?: ContactItem[]) {\n this.logger.debug('Selecting Contacts: ', ...arguments);\n\n let result: ReturnType<IpcHelper['selectContacts']> | undefined = undefined;\n\n if (mode === 'multi') {\n if (!currentContacts) {\n throw new InvalidParameterError(\n 'currentContacts',\n currentContacts,\n 'currentContacts is required for group streams'\n );\n }\n\n result = this.helper.selectContacts(streamId.toString(), 'group', currentContacts);\n } else {\n result = this.helper.selectContacts(streamId.toString(), 'direct');\n }\n\n return firstValueFrom(result.pipe(map((reply) => reply.contacts)));\n }\n\n /**\n * Matches batch of {@link ContactItem} objects against the Host's contact list to fetch detailed\n * contact information.\n *\n * @param contacts - List of {@link ContactItem} collection to match against the Host's contact\n * list.\n * @returns A collection of {@link DetailedContactItem} objects which were matched against the\n * Host's contact list.\n */\n matchContacts(contacts: ContactItem[]) {\n this.logger.debug('Match Contacts: ', contacts);\n return firstValueFrom(this.helper.matchContacts(contacts).pipe(map((reply) => reply.contacts)));\n }\n\n /**\n * Requests the `Host` app to provide the Push Token for the current device.\n *\n * @returns A promise with the Push Token as `string`.\n */\n requestPushToken() {\n this.logger.debug('Requesting Push Token');\n return firstValueFrom(this.helper.requestPushToken().pipe(map((reply) => reply.pushToken)));\n }\n\n /**\n * Sends the current badge count to the `Host` app.\n *\n * @param count - The count to update the badge to.\n */\n badgeUpdate(count: number) {\n this.logger.debug('Sending Badge Update: ', count);\n this.helper.sendBadgeUpdateMessage(count);\n }\n\n /**\n * Registers a callback to be invoked when a {@link IPCEvents.BadgeQuery} is received.\n *\n * @param callback - A callback function to be invoked when a {@link IPCEvents.BadgeQuery} event\n * is received.\n * @returns An unsubscribe callback to remove the listener.\n */\n onBadgeQueryRequest(callback: () => void): UnsubscribeCallback {\n this.logger.debug('Registering for Badge Query');\n\n this.listeners.get(IPCEvents.BadgeQuery)?.add(callback);\n\n return () => this.listeners.get(IPCEvents.BadgeQuery)?.delete(callback);\n }\n\n /**\n * Registers a callback to be invoked when a {@link IPCEvents.HostInForeground} event is received.\n *\n * @param callback - A callback function to be invoked when a {@link IPCEvents.HostInForeground}\n * event is received.\n * @returns An unsubscribe callback to remove the listener.\n */\n onHostInForeground(callback: () => void): UnsubscribeCallback {\n this.logger.debug('Registering for Host In Foreground');\n\n this.listeners.get(IPCEvents.HostInForeground)?.add(callback);\n\n return () => this.listeners.get(IPCEvents.HostInForeground)?.delete(callback);\n }\n\n #evaluateContext(context?: AppContext) {\n if (context === 'user') {\n return 'host' as const;\n } else if (context === 'guest') {\n return 'standalone' as const;\n }\n\n return;\n }\n}\n"],"names":["IPCEvents","extendStatics","d","b","p","__extends","__","__values","o","s","m","i","__read","n","r","ar","e","error","__spreadArray","to","from","pack","l","isFunction","value","createErrorClass","createImpl","_super","instance","ctorFunc","UnsubscriptionError","errors","err","arrRemove","arr","item","index","Subscription","initialTeardown","e_1","_a","e_2","_b","_parentage","_parentage_1","_parentage_1_1","parent_1","e_1_1","initialFinalizer","_finalizers","_finalizers_1","_finalizers_1_1","finalizer","execFinalizer","e_2_1","teardown","parent","empty","EMPTY_SUBSCRIPTION","isSubscription","config","timeoutProvider","handler","timeout","args","_i","delegate","handle","reportUnhandledError","noop","errorContext","cb","Subscriber","destination","_this","EMPTY_OBSERVER","next","complete","SafeSubscriber","_bind","bind","fn","thisArg","ConsumerObserver","partialObserver","handleUnhandledError","observerOrNext","context_1","defaultErrorHandler","observable","identity","x","pipeFromArray","fns","input","prev","Observable","subscribe","operator","subscriber","isSubscriber","source","sink","promiseCtor","getPromiseCtor","resolve","reject","Symbol_observable","operations","isObserver","hasLift","operate","init","liftedSource","createOperatorSubscriber","onNext","onComplete","onError","onFinalize","OperatorSubscriber","shouldUnsubscribe","closed_1","ObjectUnsubscribedError","Subject","subject","AnonymousSubject","_c","observer","observers","hasError","isStopped","thrownError","dateTimestampProvider","Action","scheduler","work","state","delay","intervalProvider","AsyncAction","id","_id","_scheduler","_delay","errored","errorValue","actions","Scheduler","schedulerActionCtor","now","AsyncScheduler","SchedulerAction","action","asyncScheduler","async","isScheduler","EmptyError","firstValueFrom","hasConfig","isValidDate","map","project","timer","dueTime","intervalOrScheduler","intervalDuration","due","tap","tapObserver","isUnsub","z","W","h","I","ee","te","L","j","v","re","R","O","_","D","C","a","M","ne","P","H","U","g","y","S","w","Q","N","q","B","$","ie","k","oe","V","ue","A","se","T","ae","E","ce","le","J","he","de","fe","F","pe","ge","u","ve","ye","me","G","K","be","we","Y","Ce","X","Z","SUPPORTED_VERSIONS","_evaluateContext","evaluateContext_fn","IPCManager","logger","__privateAdd","__publicField","IpcHelper","__privateMethod","context","reply","msg","streamId","mode","currentContacts","result","InvalidParameterError","contacts","count","callback"],"mappings":"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","x_google_ignoreList":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34]}