@videosdk.live/js-sdk
Version:
<h1 align="center"> <img src="https://static.videosdk.live/videosdk_logo_website_black.png"/><br/> <p align="center"> Video SDK for JavaScript<br/> <a href="https://videosdk.live/">videosdk.live</a> </p> </h1>
1,292 lines (1,291 loc) • 2.46 MB
JavaScript
/*! For license information please see videosdk.js.LICENSE.txt */
!(function (e, t) {
if ("object" == typeof exports && "object" == typeof module)
module.exports = t();
else if ("function" == typeof define && define.amd) define([], t);
else {
var r = t();
for (var n in r) ("object" == typeof exports ? exports : e)[n] = r[n];
}
})(self, () =>
(() => {
var e = {
11: (e, t, r) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }),
(t.Chrome74 = void 0);
const n = r(7363),
s = r(2994),
i = r(1765),
a = r(8046),
o = r(5544),
c = r(5938),
d = r(4256),
u = r(4893),
l = r(521),
p = r(1305),
h = r(3303),
m = new s.Logger("Chrome74"),
f = { OS: 1024, MIS: 1024 };
class g extends l.HandlerInterface {
_closed = !1;
_direction;
_remoteSdp;
_sendingRtpParametersByKind;
_sendingRemoteRtpParametersByKind;
_forcedLocalDtlsRole;
_pc;
_mapMidTransceiver = new Map();
_sendStream = new MediaStream();
_hasDataChannelMediaSection = !1;
_nextSendSctpStreamId = 0;
_transportReady = !1;
static createFactory() {
return () => new g();
}
constructor() {
super();
}
get name() {
return "Chrome74";
}
close() {
if ((m.debug("close()"), !this._closed)) {
if (((this._closed = !0), this._pc))
try {
this._pc.close();
} catch (e) {}
this.emit("@close");
}
}
async getNativeRtpCapabilities() {
m.debug("getNativeRtpCapabilities()");
const e = new RTCPeerConnection({
iceServers: [],
iceTransportPolicy: "all",
bundlePolicy: "max-bundle",
rtcpMuxPolicy: "require",
sdpSemantics: "unified-plan",
});
try {
e.addTransceiver("audio"), e.addTransceiver("video");
const t = await e.createOffer();
try {
e.close();
} catch (e) {}
const r = n.parse(t.sdp),
s = o.extractRtpCapabilities({ sdpObject: r });
return d.addNackSupportForOpus(s), s;
} catch (t) {
try {
e.close();
} catch (e) {}
throw t;
}
}
async getNativeSctpCapabilities() {
return m.debug("getNativeSctpCapabilities()"), { numStreams: f };
}
run({
direction: e,
iceParameters: t,
iceCandidates: r,
dtlsParameters: n,
sctpParameters: s,
iceServers: i,
iceTransportPolicy: o,
additionalSettings: c,
proprietaryConstraints: d,
extendedRtpCapabilities: u,
}) {
m.debug("run()"),
(this._direction = e),
(this._remoteSdp = new p.RemoteSdp({
iceParameters: t,
iceCandidates: r,
dtlsParameters: n,
sctpParameters: s,
})),
(this._sendingRtpParametersByKind = {
audio: a.getSendingRtpParameters("audio", u),
video: a.getSendingRtpParameters("video", u),
}),
(this._sendingRemoteRtpParametersByKind = {
audio: a.getSendingRemoteRtpParameters("audio", u),
video: a.getSendingRemoteRtpParameters("video", u),
}),
n.role &&
"auto" !== n.role &&
(this._forcedLocalDtlsRole =
"server" === n.role ? "client" : "server"),
(this._pc = new RTCPeerConnection(
{
iceServers: i ?? [],
iceTransportPolicy: o ?? "all",
bundlePolicy: "max-bundle",
rtcpMuxPolicy: "require",
sdpSemantics: "unified-plan",
...c,
},
d
)),
this._pc.addEventListener("icegatheringstatechange", () => {
this.emit(
"@icegatheringstatechange",
this._pc.iceGatheringState
);
}),
this._pc.addEventListener("icecandidateerror", (e) => {
this.emit("@icecandidateerror", e);
}),
this._pc.connectionState
? this._pc.addEventListener("connectionstatechange", () => {
this.emit(
"@connectionstatechange",
this._pc.connectionState
);
})
: (m.warn(
"run() | pc.connectionState not supported, using pc.iceConnectionState"
),
this._pc.addEventListener(
"iceconnectionstatechange",
() => {
switch (this._pc.iceConnectionState) {
case "checking":
this.emit("@connectionstatechange", "connecting");
break;
case "connected":
case "completed":
this.emit("@connectionstatechange", "connected");
break;
case "failed":
this.emit("@connectionstatechange", "failed");
break;
case "disconnected":
this.emit("@connectionstatechange", "disconnected");
break;
case "closed":
this.emit("@connectionstatechange", "closed");
}
}
));
}
async updateIceServers(e) {
this.assertNotClosed(), m.debug("updateIceServers()");
const t = this._pc.getConfiguration();
(t.iceServers = e), this._pc.setConfiguration(t);
}
async restartIce(e) {
if (
(this.assertNotClosed(),
m.debug("restartIce()"),
this._remoteSdp.updateIceParameters(e),
this._transportReady)
)
if ("send" === this._direction) {
const e = await this._pc.createOffer({ iceRestart: !0 });
m.debug(
"restartIce() | calling pc.setLocalDescription() [offer:%o]",
e
),
await this._pc.setLocalDescription(e);
const t = { type: "answer", sdp: this._remoteSdp.getSdp() };
m.debug(
"restartIce() | calling pc.setRemoteDescription() [answer:%o]",
t
),
await this._pc.setRemoteDescription(t);
} else {
const e = { type: "offer", sdp: this._remoteSdp.getSdp() };
m.debug(
"restartIce() | calling pc.setRemoteDescription() [offer:%o]",
e
),
await this._pc.setRemoteDescription(e);
const t = await this._pc.createAnswer();
m.debug(
"restartIce() | calling pc.setLocalDescription() [answer:%o]",
t
),
await this._pc.setLocalDescription(t);
}
}
async getTransportStats() {
return this.assertNotClosed(), this._pc.getStats();
}
async send({ track: e, encodings: t, codecOptions: r, codec: s }) {
this.assertNotClosed(),
this.assertSendDirection(),
m.debug("send() [kind:%s, track.id:%s]", e.kind, e.id),
t &&
t.length > 1 &&
t.forEach((e, t) => {
e.rid = `r${t}`;
});
const d = i.clone(this._sendingRtpParametersByKind[e.kind]);
d.codecs = a.reduceCodecs(d.codecs, s);
const u = i.clone(this._sendingRemoteRtpParametersByKind[e.kind]);
u.codecs = a.reduceCodecs(u.codecs, s);
const l = this._remoteSdp.getNextMediaSectionIdx(),
p = this._pc.addTransceiver(e, {
direction: "sendonly",
streams: [this._sendStream],
sendEncodings: t,
});
let f,
g = await this._pc.createOffer(),
v = n.parse(g.sdp);
v.extmapAllowMixed &&
this._remoteSdp.setSessionExtmapAllowMixed(),
this._transportReady ||
(await this.setupTransport({
localDtlsRole: this._forcedLocalDtlsRole ?? "client",
localSdpObject: v,
}));
let _ = !1;
const y = (0, h.parse)((t ?? [{}])[0].scalabilityMode);
t &&
1 === t.length &&
y.spatialLayers > 1 &&
"video/vp9" === d.codecs[0].mimeType.toLowerCase() &&
(m.debug("send() | enabling legacy simulcast for VP9 SVC"),
(_ = !0),
(v = n.parse(g.sdp)),
(f = v.media[l.idx]),
c.addLegacySimulcast({
offerMediaObject: f,
numStreams: y.spatialLayers,
}),
(g = { type: "offer", sdp: n.write(v) })),
m.debug(
"send() | calling pc.setLocalDescription() [offer:%o]",
g
),
await this._pc.setLocalDescription(g);
const b = p.mid;
if (
((d.mid = b),
(v = n.parse(this._pc.localDescription.sdp)),
(f = v.media[l.idx]),
(d.rtcp.cname = o.getCname({ offerMediaObject: f })),
t)
)
if (1 === t.length) {
let e = c.getRtpEncodings({ offerMediaObject: f });
Object.assign(e[0], t[0]),
_ && (e = [e[0]]),
(d.encodings = e);
} else d.encodings = t;
else d.encodings = c.getRtpEncodings({ offerMediaObject: f });
if (
d.encodings.length > 1 &&
("video/vp8" === d.codecs[0].mimeType.toLowerCase() ||
"video/h264" === d.codecs[0].mimeType.toLowerCase())
)
for (const e of d.encodings)
e.scalabilityMode
? (e.scalabilityMode = `L1T${y.temporalLayers}`)
: (e.scalabilityMode = "L1T3");
this._remoteSdp.send({
offerMediaObject: f,
reuseMid: l.reuseMid,
offerRtpParameters: d,
answerRtpParameters: u,
codecOptions: r,
});
const w = { type: "answer", sdp: this._remoteSdp.getSdp() };
return (
m.debug(
"send() | calling pc.setRemoteDescription() [answer:%o]",
w
),
await this._pc.setRemoteDescription(w),
this._mapMidTransceiver.set(b, p),
{ localId: b, rtpParameters: d, rtpSender: p.sender }
);
}
async stopSending(e) {
if (
(this.assertSendDirection(),
m.debug("stopSending() [localId:%s]", e),
this._closed)
)
return;
const t = this._mapMidTransceiver.get(e);
if (!t) throw new Error("associated RTCRtpTransceiver not found");
t.sender.replaceTrack(null), this._pc.removeTrack(t.sender);
if (this._remoteSdp.closeMediaSection(t.mid))
try {
t.stop();
} catch (e) {}
const r = await this._pc.createOffer();
m.debug(
"stopSending() | calling pc.setLocalDescription() [offer:%o]",
r
),
await this._pc.setLocalDescription(r);
const n = { type: "answer", sdp: this._remoteSdp.getSdp() };
m.debug(
"stopSending() | calling pc.setRemoteDescription() [answer:%o]",
n
),
await this._pc.setRemoteDescription(n),
this._mapMidTransceiver.delete(e);
}
async pauseSending(e) {
this.assertNotClosed(),
this.assertSendDirection(),
m.debug("pauseSending() [localId:%s]", e);
const t = this._mapMidTransceiver.get(e);
if (!t) throw new Error("associated RTCRtpTransceiver not found");
(t.direction = "inactive"), this._remoteSdp.pauseMediaSection(e);
const r = await this._pc.createOffer();
m.debug(
"pauseSending() | calling pc.setLocalDescription() [offer:%o]",
r
),
await this._pc.setLocalDescription(r);
const n = { type: "answer", sdp: this._remoteSdp.getSdp() };
m.debug(
"pauseSending() | calling pc.setRemoteDescription() [answer:%o]",
n
),
await this._pc.setRemoteDescription(n);
}
async resumeSending(e) {
this.assertNotClosed(),
this.assertSendDirection(),
m.debug("resumeSending() [localId:%s]", e);
const t = this._mapMidTransceiver.get(e);
if ((this._remoteSdp.resumeSendingMediaSection(e), !t))
throw new Error("associated RTCRtpTransceiver not found");
t.direction = "sendonly";
const r = await this._pc.createOffer();
m.debug(
"resumeSending() | calling pc.setLocalDescription() [offer:%o]",
r
),
await this._pc.setLocalDescription(r);
const n = { type: "answer", sdp: this._remoteSdp.getSdp() };
m.debug(
"resumeSending() | calling pc.setRemoteDescription() [answer:%o]",
n
),
await this._pc.setRemoteDescription(n);
}
async replaceTrack(e, t) {
this.assertNotClosed(),
this.assertSendDirection(),
t
? m.debug("replaceTrack() [localId:%s, track.id:%s]", e, t.id)
: m.debug("replaceTrack() [localId:%s, no track]", e);
const r = this._mapMidTransceiver.get(e);
if (!r) throw new Error("associated RTCRtpTransceiver not found");
await r.sender.replaceTrack(t);
}
async setMaxSpatialLayer(e, t) {
this.assertNotClosed(),
this.assertSendDirection(),
m.debug(
"setMaxSpatialLayer() [localId:%s, spatialLayer:%s]",
e,
t
);
const r = this._mapMidTransceiver.get(e);
if (!r) throw new Error("associated RTCRtpTransceiver not found");
const n = r.sender.getParameters();
n.encodings.forEach((e, r) => {
e.active = r <= t;
}),
await r.sender.setParameters(n),
this._remoteSdp.muxMediaSectionSimulcast(e, n.encodings);
const s = await this._pc.createOffer();
m.debug(
"setMaxSpatialLayer() | calling pc.setLocalDescription() [offer:%o]",
s
),
await this._pc.setLocalDescription(s);
const i = { type: "answer", sdp: this._remoteSdp.getSdp() };
m.debug(
"setMaxSpatialLayer() | calling pc.setRemoteDescription() [answer:%o]",
i
),
await this._pc.setRemoteDescription(i);
}
async setRtpEncodingParameters(e, t) {
this.assertNotClosed(),
this.assertSendDirection(),
m.debug(
"setRtpEncodingParameters() [localId:%s, params:%o]",
e,
t
);
const r = this._mapMidTransceiver.get(e);
if (!r) throw new Error("associated RTCRtpTransceiver not found");
const n = r.sender.getParameters();
n.encodings.forEach((e, r) => {
n.encodings[r] = { ...e, ...t };
}),
await r.sender.setParameters(n),
this._remoteSdp.muxMediaSectionSimulcast(e, n.encodings);
const s = await this._pc.createOffer();
m.debug(
"setRtpEncodingParameters() | calling pc.setLocalDescription() [offer:%o]",
s
),
await this._pc.setLocalDescription(s);
const i = { type: "answer", sdp: this._remoteSdp.getSdp() };
m.debug(
"setRtpEncodingParameters() | calling pc.setRemoteDescription() [answer:%o]",
i
),
await this._pc.setRemoteDescription(i);
}
async getSenderStats(e) {
this.assertNotClosed(), this.assertSendDirection();
const t = this._mapMidTransceiver.get(e);
if (!t) throw new Error("associated RTCRtpTransceiver not found");
return t.sender.getStats();
}
async sendDataChannel({
ordered: e,
maxPacketLifeTime: t,
maxRetransmits: r,
label: s,
protocol: i,
}) {
this.assertNotClosed(), this.assertSendDirection();
const a = {
negotiated: !0,
id: this._nextSendSctpStreamId,
ordered: e,
maxPacketLifeTime: t,
maxRetransmits: r,
protocol: i,
};
m.debug("sendDataChannel() [options:%o]", a);
const o = this._pc.createDataChannel(s, a);
if (
((this._nextSendSctpStreamId =
++this._nextSendSctpStreamId % f.MIS),
!this._hasDataChannelMediaSection)
) {
const e = await this._pc.createOffer(),
t = n.parse(e.sdp),
r = t.media.find((e) => "application" === e.type);
this._transportReady ||
(await this.setupTransport({
localDtlsRole: this._forcedLocalDtlsRole ?? "client",
localSdpObject: t,
})),
m.debug(
"sendDataChannel() | calling pc.setLocalDescription() [offer:%o]",
e
),
await this._pc.setLocalDescription(e),
this._remoteSdp.sendSctpAssociation({ offerMediaObject: r });
const s = { type: "answer", sdp: this._remoteSdp.getSdp() };
m.debug(
"sendDataChannel() | calling pc.setRemoteDescription() [answer:%o]",
s
),
await this._pc.setRemoteDescription(s),
(this._hasDataChannelMediaSection = !0);
}
return {
dataChannel: o,
sctpStreamParameters: {
streamId: a.id,
ordered: a.ordered,
maxPacketLifeTime: a.maxPacketLifeTime,
maxRetransmits: a.maxRetransmits,
},
};
}
async receive(e) {
this.assertNotClosed(), this.assertRecvDirection();
const t = [],
r = new Map();
for (const t of e) {
const {
trackId: e,
kind: n,
rtpParameters: s,
streamId: i,
} = t;
m.debug("receive() [trackId:%s, kind:%s]", e, n);
const a = s.mid ?? String(this._mapMidTransceiver.size);
r.set(e, a),
this._remoteSdp.receive({
mid: a,
kind: n,
offerRtpParameters: s,
streamId: i ?? s.rtcp.cname,
trackId: e,
});
}
const s = { type: "offer", sdp: this._remoteSdp.getSdp() };
m.debug(
"receive() | calling pc.setRemoteDescription() [offer:%o]",
s
),
await this._pc.setRemoteDescription(s);
let i = await this._pc.createAnswer();
const a = n.parse(i.sdp);
for (const t of e) {
const { trackId: e, rtpParameters: n } = t,
s = r.get(e),
i = a.media.find((e) => String(e.mid) === s);
o.applyCodecParameters({
offerRtpParameters: n,
answerMediaObject: i,
});
}
(i = { type: "answer", sdp: n.write(a) }),
this._transportReady ||
(await this.setupTransport({
localDtlsRole: this._forcedLocalDtlsRole ?? "client",
localSdpObject: a,
})),
m.debug(
"receive() | calling pc.setLocalDescription() [answer:%o]",
i
),
await this._pc.setLocalDescription(i);
for (const n of e) {
const { trackId: e } = n,
s = r.get(e),
i = this._pc.getTransceivers().find((e) => e.mid === s);
if (!i) throw new Error("new RTCRtpTransceiver not found");
this._mapMidTransceiver.set(s, i),
t.push({
localId: s,
track: i.receiver.track,
rtpReceiver: i.receiver,
});
}
return t;
}
async stopReceiving(e) {
if ((this.assertRecvDirection(), this._closed)) return;
for (const t of e) {
m.debug("stopReceiving() [localId:%s]", t);
const e = this._mapMidTransceiver.get(t);
if (!e)
throw new Error("associated RTCRtpTransceiver not found");
this._remoteSdp.closeMediaSection(e.mid);
}
const t = { type: "offer", sdp: this._remoteSdp.getSdp() };
m.debug(
"stopReceiving() | calling pc.setRemoteDescription() [offer:%o]",
t
),
await this._pc.setRemoteDescription(t);
const r = await this._pc.createAnswer();
m.debug(
"stopReceiving() | calling pc.setLocalDescription() [answer:%o]",
r
),
await this._pc.setLocalDescription(r);
for (const t of e) this._mapMidTransceiver.delete(t);
}
async pauseReceiving(e) {
this.assertNotClosed(), this.assertRecvDirection();
for (const t of e) {
m.debug("pauseReceiving() [localId:%s]", t);
const e = this._mapMidTransceiver.get(t);
if (!e)
throw new Error("associated RTCRtpTransceiver not found");
(e.direction = "inactive"),
this._remoteSdp.pauseMediaSection(t);
}
const t = { type: "offer", sdp: this._remoteSdp.getSdp() };
m.debug(
"pauseReceiving() | calling pc.setRemoteDescription() [offer:%o]",
t
),
await this._pc.setRemoteDescription(t);
const r = await this._pc.createAnswer();
m.debug(
"pauseReceiving() | calling pc.setLocalDescription() [answer:%o]",
r
),
await this._pc.setLocalDescription(r);
}
async resumeReceiving(e) {
this.assertNotClosed(), this.assertRecvDirection();
for (const t of e) {
m.debug("resumeReceiving() [localId:%s]", t);
const e = this._mapMidTransceiver.get(t);
if (!e)
throw new Error("associated RTCRtpTransceiver not found");
(e.direction = "recvonly"),
this._remoteSdp.resumeReceivingMediaSection(t);
}
const t = { type: "offer", sdp: this._remoteSdp.getSdp() };
m.debug(
"resumeReceiving() | calling pc.setRemoteDescription() [offer:%o]",
t
),
await this._pc.setRemoteDescription(t);
const r = await this._pc.createAnswer();
m.debug(
"resumeReceiving() | calling pc.setLocalDescription() [answer:%o]",
r
),
await this._pc.setLocalDescription(r);
}
async getReceiverStats(e) {
this.assertNotClosed(), this.assertRecvDirection();
const t = this._mapMidTransceiver.get(e);
if (!t) throw new Error("associated RTCRtpTransceiver not found");
return t.receiver.getStats();
}
async receiveDataChannel({
sctpStreamParameters: e,
label: t,
protocol: r,
}) {
this.assertNotClosed(), this.assertRecvDirection();
const {
streamId: s,
ordered: i,
maxPacketLifeTime: a,
maxRetransmits: o,
} = e,
c = {
negotiated: !0,
id: s,
ordered: i,
maxPacketLifeTime: a,
maxRetransmits: o,
protocol: r,
};
m.debug("receiveDataChannel() [options:%o]", c);
const d = this._pc.createDataChannel(t, c);
if (!this._hasDataChannelMediaSection) {
this._remoteSdp.receiveSctpAssociation();
const e = { type: "offer", sdp: this._remoteSdp.getSdp() };
m.debug(
"receiveDataChannel() | calling pc.setRemoteDescription() [offer:%o]",
e
),
await this._pc.setRemoteDescription(e);
const t = await this._pc.createAnswer();
if (!this._transportReady) {
const e = n.parse(t.sdp);
await this.setupTransport({
localDtlsRole: this._forcedLocalDtlsRole ?? "client",
localSdpObject: e,
});
}
m.debug(
"receiveDataChannel() | calling pc.setRemoteDescription() [answer:%o]",
t
),
await this._pc.setLocalDescription(t),
(this._hasDataChannelMediaSection = !0);
}
return { dataChannel: d };
}
async setupTransport({ localDtlsRole: e, localSdpObject: t }) {
t || (t = n.parse(this._pc.localDescription.sdp));
const r = o.extractDtlsParameters({ sdpObject: t });
(r.role = e),
this._remoteSdp.updateDtlsRole(
"client" === e ? "server" : "client"
),
await new Promise((e, t) => {
this.safeEmit("@connect", { dtlsParameters: r }, e, t);
}),
(this._transportReady = !0);
}
assertNotClosed() {
if (this._closed)
throw new u.InvalidStateError(
"method called in a closed handler"
);
}
assertSendDirection() {
if ("send" !== this._direction)
throw new Error(
'method can just be called for handlers with "send" direction'
);
}
assertRecvDirection() {
if ("recv" !== this._direction)
throw new Error(
'method can just be called for handlers with "recv" direction'
);
}
}
t.Chrome74 = g;
},
19: function (e, t, r) {
var n, s, i, a, o, c, d, u, l;
e.exports =
((l = r(9021)),
r(3009),
r(1025),
(s = (n = l).lib),
(i = s.Base),
(a = s.WordArray),
(o = n.algo),
(c = o.SHA256),
(d = o.HMAC),
(u = o.PBKDF2 =
i.extend({
cfg: i.extend({ keySize: 4, hasher: c, iterations: 25e4 }),
init: function (e) {
this.cfg = this.cfg.extend(e);
},
compute: function (e, t) {
for (
var r = this.cfg,
n = d.create(r.hasher, e),
s = a.create(),
i = a.create([1]),
o = s.words,
c = i.words,
u = r.keySize,
l = r.iterations;
o.length < u;
) {
var p = n.update(t).finalize(i);
n.reset();
for (
var h = p.words, m = h.length, f = p, g = 1;
g < l;
g++
) {
(f = n.finalize(f)), n.reset();
for (var v = f.words, _ = 0; _ < m; _++) h[_] ^= v[_];
}
s.concat(p), c[0]++;
}
return (s.sigBytes = 4 * u), s;
},
})),
(n.PBKDF2 = function (e, t, r) {
return u.create(r).compute(e, t);
}),
l.PBKDF2);
},
25: function (e, t, r) {
var n, s, i, a;
e.exports =
((a = r(9021)),
r(7165),
(s = (n = a).lib.CipherParams),
(i = n.enc.Hex),
(n.format.Hex = {
stringify: function (e) {
return e.ciphertext.toString(i);
},
parse: function (e) {
var t = i.parse(e);
return s.create({ ciphertext: t });
},
}),
a.format.Hex);
},
76: (e, t, r) => {
"use strict";
t.s$ = t.pF = void 0;
r(7833).default, r(8057);
var n = r(6004);
Object.defineProperty(t, "pF", {
enumerable: !0,
get: function () {
return n.Device;
},
});
var s = r(3303);
Object.defineProperty(t, "s$", {
enumerable: !0,
get: function () {
return s.parse;
},
}),
r(8046);
var i = r(2731);
r(5248);
},
182: (e, t, r) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }),
(t.version =
t.validate =
t.v7 =
t.v6ToV1 =
t.v6 =
t.v5 =
t.v4 =
t.v3 =
t.v1ToV6 =
t.v1 =
t.stringify =
t.parse =
t.NIL =
t.MAX =
void 0);
var n = r(2196);
Object.defineProperty(t, "MAX", {
enumerable: !0,
get: function () {
return n.default;
},
});
var s = r(3465);
Object.defineProperty(t, "NIL", {
enumerable: !0,
get: function () {
return s.default;
},
});
var i = r(1797);
Object.defineProperty(t, "parse", {
enumerable: !0,
get: function () {
return i.default;
},
});
var a = r(6011);
Object.defineProperty(t, "stringify", {
enumerable: !0,
get: function () {
return a.default;
},
});
var o = r(1425);
Object.defineProperty(t, "v1", {
enumerable: !0,
get: function () {
return o.default;
},
});
var c = r(6568);
Object.defineProperty(t, "v1ToV6", {
enumerable: !0,
get: function () {
return c.default;
},
});
var d = r(591);
Object.defineProperty(t, "v3", {
enumerable: !0,
get: function () {
return d.default;
},
});
var u = r(8286);
Object.defineProperty(t, "v4", {
enumerable: !0,
get: function () {
return u.default;
},
});
var l = r(4557);
Object.defineProperty(t, "v5", {
enumerable: !0,
get: function () {
return l.default;
},
});
var p = r(6356);
Object.defineProperty(t, "v6", {
enumerable: !0,
get: function () {
return p.default;
},
});
var h = r(268);
Object.defineProperty(t, "v6ToV1", {
enumerable: !0,
get: function () {
return h.default;
},
});
var m = r(4299);
Object.defineProperty(t, "v7", {
enumerable: !0,
get: function () {
return m.default;
},
});
var f = r(9746);
Object.defineProperty(t, "validate", {
enumerable: !0,
get: function () {
return f.default;
},
});
var g = r(2770);
Object.defineProperty(t, "version", {
enumerable: !0,
get: function () {
return g.default;
},
});
},
268: (e, t, r) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 });
const n = r(1797),
s = r(6011);
t.default = function (e) {
const t = (function (e) {
return Uint8Array.of(
((15 & e[3]) << 4) | ((e[4] >> 4) & 15),
((15 & e[4]) << 4) | ((240 & e[5]) >> 4),
((15 & e[5]) << 4) | (15 & e[6]),
e[7],
((15 & e[1]) << 4) | ((240 & e[2]) >> 4),
((15 & e[2]) << 4) | ((240 & e[3]) >> 4),
16 | ((240 & e[0]) >> 4),
((15 & e[0]) << 4) | ((240 & e[1]) >> 4),
e[8],
e[9],
e[10],
e[11],
e[12],
e[13],
e[14],
e[15]
);
})("string" == typeof e ? (0, n.default)(e) : e);
return "string" == typeof e ? (0, s.unsafeStringify)(t) : t;
};
},
296: (e, t, r) => {
"use strict";
r.d(t, { A: () => s });
var n = r(7800);
function s(e, t) {
return (
(function (e) {
if (Array.isArray(e)) return e;
})(e) ||
(function (e, t) {
var r =
null == e
? null
: ("undefined" != typeof Symbol && e[Symbol.iterator]) ||
e["@@iterator"];
if (null != r) {
var n,
s,
i,
a,
o = [],
c = !0,
d = !1;
try {
if (((i = (r = r.call(e)).next), 0 === t)) {
if (Object(r) !== r) return;
c = !1;
} else
for (
;
!(c = (n = i.call(r)).done) &&
(o.push(n.value), o.length !== t);
c = !0
);
} catch (e) {
(d = !0), (s = e);
} finally {
try {
if (
!c &&
null != r.return &&
((a = r.return()), Object(a) !== a)
)
return;
} finally {
if (d) throw s;
}
}
return o;
}
})(e, t) ||
(0, n.A)(e, t) ||
(function () {
throw new TypeError(
"Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
);
})()
);
}
},
328: (e, t, r) => {
r(8624), (e.exports = self.fetch.bind(self));
},
338: (e, t) => {
"use strict";
function r(e) {
return 14 + (((e + 64) >>> 9) << 4) + 1;
}
function n(e, t) {
const r = (65535 & e) + (65535 & t);
return (((e >> 16) + (t >> 16) + (r >> 16)) << 16) | (65535 & r);
}
function s(e, t, r, s, i, a) {
return n(
((o = n(n(t, e), n(s, a))) << (c = i)) | (o >>> (32 - c)),
r
);
var o, c;
}
function i(e, t, r, n, i, a, o) {
return s((t & r) | (~t & n), e, t, i, a, o);
}
function a(e, t, r, n, i, a, o) {
return s((t & n) | (r & ~n), e, t, i, a, o);
}
function o(e, t, r, n, i, a, o) {
return s(t ^ r ^ n, e, t, i, a, o);
}
function c(e, t, r, n, i, a, o) {
return s(r ^ (t | ~n), e, t, i, a, o);
}
Object.defineProperty(t, "__esModule", { value: !0 }),
(t.default = function (e) {
return (function (e) {
const t = new Uint8Array(4 * e.length);
for (let r = 0; r < 4 * e.length; r++)
t[r] = (e[r >> 2] >>> ((r % 4) * 8)) & 255;
return t;
})(
(function (e, t) {
const s = new Uint32Array(r(t)).fill(0);
s.set(e),
(s[t >> 5] |= 128 << t % 32),
(s[s.length - 1] = t),
(e = s);
let d = 1732584193,
u = -271733879,
l = -1732584194,
p = 271733878;
for (let t = 0; t < e.length; t += 16) {
const r = d,
s = u,
h = l,
m = p;
(d = i(d, u, l, p, e[t], 7, -680876936)),
(p = i(p, d, u, l, e[t + 1], 12, -389564586)),
(l = i(l, p, d, u, e[t + 2], 17, 606105819)),
(u = i(u, l, p, d, e[t + 3], 22, -1044525330)),
(d = i(d, u, l, p, e[t + 4], 7, -176418897)),
(p = i(p, d, u, l, e[t + 5], 12, 1200080426)),
(l = i(l, p, d, u, e[t + 6], 17, -1473231341)),
(u = i(u, l, p, d, e[t + 7], 22, -45705983)),
(d = i(d, u, l, p, e[t + 8], 7, 1770035416)),
(p = i(p, d, u, l, e[t + 9], 12, -1958414417)),
(l = i(l, p, d, u, e[t + 10], 17, -42063)),
(u = i(u, l, p, d, e[t + 11], 22, -1990404162)),
(d = i(d, u, l, p, e[t + 12], 7, 1804603682)),
(p = i(p, d, u, l, e[t + 13], 12, -40341101)),
(l = i(l, p, d, u, e[t + 14], 17, -1502002290)),
(u = i(u, l, p, d, e[t + 15], 22, 1236535329)),
(d = a(d, u, l, p, e[t + 1], 5, -165796510)),
(p = a(p, d, u, l, e[t + 6], 9, -1069501632)),
(l = a(l, p, d, u, e[t + 11], 14, 643717713)),
(u = a(u, l, p, d, e[t], 20, -373897302)),
(d = a(d, u, l, p, e[t + 5], 5, -701558691)),
(p = a(p, d, u, l, e[t + 10], 9, 38016083)),
(l = a(l, p, d, u, e[t + 15], 14, -660478335)),
(u = a(u, l, p, d, e[t + 4], 20, -405537848)),
(d = a(d, u, l, p, e[t + 9], 5, 568446438)),
(p = a(p, d, u, l, e[t + 14], 9, -1019803690)),
(l = a(l, p, d, u, e[t + 3], 14, -187363961)),
(u = a(u, l, p, d, e[t + 8], 20, 1163531501)),
(d = a(d, u, l, p, e[t + 13], 5, -1444681467)),
(p = a(p, d, u, l, e[t + 2], 9, -51403784)),
(l = a(l, p, d, u, e[t + 7], 14, 1735328473)),
(u = a(u, l, p, d, e[t + 12], 20, -1926607734)),
(d = o(d, u, l, p, e[t + 5], 4, -378558)),
(p = o(p, d, u, l, e[t + 8], 11, -2022574463)),
(l = o(l, p, d, u, e[t + 11], 16, 1839030562)),
(u = o(u, l, p, d, e[t + 14], 23, -35309556)),
(d = o(d, u, l, p, e[t + 1], 4, -1530992060)),
(p = o(p, d, u, l, e[t + 4], 11, 1272893353)),
(l = o(l, p, d, u, e[t + 7], 16, -155497632)),
(u = o(u, l, p, d, e[t + 10], 23, -1094730640)),
(d = o(d, u, l, p, e[t + 13], 4, 681279174)),
(p = o(p, d, u, l, e[t], 11, -358537222)),
(l = o(l, p, d, u, e[t + 3], 16, -722521979)),
(u = o(u, l, p, d, e[t + 6], 23, 76029189)),
(d = o(d, u, l, p, e[t + 9], 4, -640364487)),
(p = o(p, d, u, l, e[t + 12], 11, -421815835)),
(l = o(l, p, d, u, e[t + 15], 16, 530742520)),
(u = o(u, l, p, d, e[t + 2], 23, -995338651)),
(d = c(d, u, l, p, e[t], 6, -198630844)),
(p = c(p, d, u, l, e[t + 7], 10, 1126891415)),
(l = c(l, p, d, u, e[t + 14], 15, -1416354905)),
(u = c(u, l, p, d, e[t + 5], 21, -57434055)),
(d = c(d, u, l, p, e[t + 12], 6, 1700485571)),
(p = c(p, d, u, l, e[t + 3], 10, -1894986606)),
(l = c(l, p, d, u, e[t + 10], 15, -1051523)),
(u = c(u, l, p, d, e[t + 1], 21, -2054922799)),
(d = c(d, u, l, p, e[t + 8], 6, 1873313359)),
(p = c(p, d, u, l, e[t + 15], 10, -30611744)),
(l = c(l, p, d, u, e[t + 6], 15, -1560198380)),
(u = c(u, l, p, d, e[t + 13], 21, 1309151649)),
(d = c(d, u, l, p, e[t + 4], 6, -145523070)),
(p = c(p, d, u, l, e[t + 11], 10, -1120210379)),
(l = c(l, p, d, u, e[t + 2], 15, 718787259)),
(u = c(u, l, p, d, e[t + 9], 21, -343485551)),
(d = n(d, r)),
(u = n(u, s)),
(l = n(l, h)),
(p = n(p, m));
}
return Uint32Array.of(d, u, l, p);
})(
(function (e) {
if (0 === e.length) return new Uint32Array();
const t = new Uint32Array(r(8 * e.length)).fill(0);
for (let r = 0; r < e.length; r++)
t[r >> 2] |= (255 & e[r]) << ((r % 4) * 8);
return t;
})(e),
8 * e.length
)
);
});
},
388: (e, t, r) => {
"use strict";
r.d(t, { A: () => s });
var n = r(2284);
function s(e, t) {
if (t && ("object" == (0, n.A)(t) || "function" == typeof t))
return t;
if (void 0 !== t)
throw new TypeError(
"Derived constructors may only return object or undefined"
);
return (function (e) {
if (void 0 === e)
throw new ReferenceError(
"this hasn't been initialised - super() hasn't been called"
);
return e;
})(e);
}
},
467: (e, t, r) => {
"use strict";
function n(e, t, r, n, s, i, a) {
try {
var o = e[i](a),
c = o.value;
} catch (e) {
return void r(e);
}
o.done ? t(c) : Promise.resolve(c).then(n, s);
}
function s(e) {
return function () {
var t = this,
r = arguments;
return new Promise(function (s, i) {
var a = e.apply(t, r);
function o(e) {
n(a, s, i, o, c, "next", e);
}
function c(e) {
n(a, s, i, o, c, "throw", e);
}
o(void 0);
});
};
}
r.d(t, { A: () => s });
},
477: () => {},
482: function (e, t, r) {
var n;
e.exports =
((n = r(9021)),
r(7165),
(n.pad.Iso97971 = {
pad: function (e, t) {
e.concat(n.lib.WordArray.create([2147483648], 1)),
n.pad.ZeroPadding.pad(e, t);
},
unpad: function (e) {
n.pad.ZeroPadding.unpad(e), e.sigBytes--;
},
}),
n.pad.Iso97971);
},
521: (e, t, r) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }),
(t.HandlerInterface = void 0);
const n = r(3953);
class s extends n.EnhancedEventEmitter {
constructor() {
super();
}
}
t.HandlerInterface = s;
},
579: (e, t, r) => {
var n = r(3738).default;
(e.exports = function (e) {
if (null != e) {
var t =
e[
("function" == typeof Symbol && Symbol.iterator) ||
"@@iterator"
],
r = 0;
if (t) return t.call(e);
if ("function" == typeof e.next) return e;
if (!isNaN(e.length))
return {
next: function () {
return (
e && r >= e.length && (e = void 0),
{ value: e && e[r++], done: !e }
);
},
};
}
throw new TypeError(n(e) + " is not iterable");
}),
(e.exports.__esModule = !0),
(e.exports.default = e.exports);
},
591: (e, t, r) => {
"use strict";
Object.defineProperty(t, "__esModule", { value: !0 }),
(t.URL = t.DNS = void 0);
const n = r(338),
s = r(2988);
var i = r(2988);
function a(e, t, r, i) {
return (0, s.default)(48, n.default, e, t, r, i);
}
Object.defineProperty(t, "DNS", {
enumerable: !0,
get: function () {
return i.DNS;
},
}),
Object.defineProperty(t, "URL", {
enumerable: !0,
get: function () {
return i.URL;
},
}),
(a.DNS = s.DNS),
(a.URL = s.URL),
(t.default = a);
},
736: (e, t, r) => {
e.exports = function (e) {
function