@gjsify/webrtc 0.3.19 → 0.3.21

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
- import{Gst as e,ensureGstInit as t}from"./gst-init.js";import{MediaStreamTrack as n}from"./media-stream-track.js";import{MediaStream as r}from"./media-stream.js";async function i(i){if(t(),!i.audio&&!i.video)throw TypeError(`Failed to execute 'getUserMedia': At least one of audio or video must be requested`);let l=[];if(i.audio){let t=typeof i.audio==`object`?i.audio:{},r=s(),o=new e.Pipeline;o.add(r);let c=a(t);if(c){let t=e.ElementFactory.make(`capsfilter`,null);t.caps=e.Caps.from_string(c),o.add(t),r.link(t)}l.push(new n({kind:`audio`,label:r.name??`audio`,_gst:{source:r,pipeline:o}}))}if(i.video){let t=typeof i.video==`object`?i.video:{},r=c(),a=new e.Pipeline;a.add(r);let s=o(t);if(s){let t=e.ElementFactory.make(`capsfilter`,null);t.caps=e.Caps.from_string(s),a.add(t),r.link(t)}l.push(new n({kind:`video`,label:r.name??`video`,_gst:{source:r,pipeline:a}}))}return new r(l)}function a(e){let t=[];return e.sampleRate!=null&&t.push(`rate=${Math.trunc(e.sampleRate)}`),e.channelCount!=null&&t.push(`channels=${Math.trunc(e.channelCount)}`),t.length===0?null:`audio/x-raw,${t.join(`,`)}`}function o(e){let t=[];return e.width!=null&&t.push(`width=${Math.trunc(e.width)}`),e.height!=null&&t.push(`height=${Math.trunc(e.height)}`),e.frameRate!=null&&t.push(`framerate=${Math.trunc(e.frameRate)}/1`),t.length===0?null:`video/x-raw,${t.join(`,`)}`}function s(){for(let t of[`pipewiresrc`,`pulsesrc`,`autoaudiosrc`]){let n=e.ElementFactory.make(t,null);if(n){try{n.is_live=!0}catch{}return n}}let t=e.ElementFactory.make(`audiotestsrc`,null);return t.is_live=!0,t.wave=0,t}function c(){for(let t of[`pipewiresrc`,`v4l2src`,`autovideosrc`]){let n=e.ElementFactory.make(t,null);if(n)return n}let t=e.ElementFactory.make(`videotestsrc`,null);return t.is_live=!0,t.pattern=0,t}export{i as getUserMedia};
1
+ import{Gst as e,ensureGstInit as t}from"./gst-init.js";import{MediaStreamTrack as n}from"./media-stream-track.js";import{MediaStream as r}from"./media-stream.js";async function getUserMedia(i){if(t(),!i.audio&&!i.video)throw TypeError(`Failed to execute 'getUserMedia': At least one of audio or video must be requested`);let a=[];if(i.audio){let t=typeof i.audio==`object`?i.audio:{},r=_createAudioSource(),o=new e.Pipeline;o.add(r);let s=_buildAudioCaps(t);if(s){let t=e.ElementFactory.make(`capsfilter`,null);t.caps=e.Caps.from_string(s),o.add(t),r.link(t)}a.push(new n({kind:`audio`,label:r.name??`audio`,_gst:{source:r,pipeline:o}}))}if(i.video){let t=typeof i.video==`object`?i.video:{},r=_createVideoSource(),o=new e.Pipeline;o.add(r);let s=_buildVideoCaps(t);if(s){let t=e.ElementFactory.make(`capsfilter`,null);t.caps=e.Caps.from_string(s),o.add(t),r.link(t)}a.push(new n({kind:`video`,label:r.name??`video`,_gst:{source:r,pipeline:o}}))}return new r(a)}function _buildAudioCaps(e){let t=[];return e.sampleRate!=null&&t.push(`rate=${Math.trunc(e.sampleRate)}`),e.channelCount!=null&&t.push(`channels=${Math.trunc(e.channelCount)}`),t.length===0?null:`audio/x-raw,${t.join(`,`)}`}function _buildVideoCaps(e){let t=[];return e.width!=null&&t.push(`width=${Math.trunc(e.width)}`),e.height!=null&&t.push(`height=${Math.trunc(e.height)}`),e.frameRate!=null&&t.push(`framerate=${Math.trunc(e.frameRate)}/1`),t.length===0?null:`video/x-raw,${t.join(`,`)}`}function _createAudioSource(){for(let t of[`pipewiresrc`,`pulsesrc`,`autoaudiosrc`]){let n=e.ElementFactory.make(t,null);if(n){try{n.is_live=!0}catch{}return n}}let t=e.ElementFactory.make(`audiotestsrc`,null);return t.is_live=!0,t.wave=0,t}function _createVideoSource(){for(let t of[`pipewiresrc`,`v4l2src`,`autovideosrc`]){let n=e.ElementFactory.make(t,null);if(n)return n}let t=e.ElementFactory.make(`videotestsrc`,null);return t.is_live=!0,t.pattern=0,t}export{getUserMedia};
@@ -1 +1 @@
1
- import e from"gi://GstWebRTC?version=1.0";const t={[e.WebRTCSignalingState.STABLE]:`stable`,[e.WebRTCSignalingState.CLOSED]:`closed`,[e.WebRTCSignalingState.HAVE_LOCAL_OFFER]:`have-local-offer`,[e.WebRTCSignalingState.HAVE_REMOTE_OFFER]:`have-remote-offer`,[e.WebRTCSignalingState.HAVE_LOCAL_PRANSWER]:`have-local-pranswer`,[e.WebRTCSignalingState.HAVE_REMOTE_PRANSWER]:`have-remote-pranswer`};function n(e){return t[e]??`stable`}const r={[e.WebRTCPeerConnectionState.NEW]:`new`,[e.WebRTCPeerConnectionState.CONNECTING]:`connecting`,[e.WebRTCPeerConnectionState.CONNECTED]:`connected`,[e.WebRTCPeerConnectionState.DISCONNECTED]:`disconnected`,[e.WebRTCPeerConnectionState.FAILED]:`failed`,[e.WebRTCPeerConnectionState.CLOSED]:`closed`};function i(e){return r[e]??`new`}const a={[e.WebRTCICEConnectionState.NEW]:`new`,[e.WebRTCICEConnectionState.CHECKING]:`checking`,[e.WebRTCICEConnectionState.CONNECTED]:`connected`,[e.WebRTCICEConnectionState.COMPLETED]:`completed`,[e.WebRTCICEConnectionState.FAILED]:`failed`,[e.WebRTCICEConnectionState.DISCONNECTED]:`disconnected`,[e.WebRTCICEConnectionState.CLOSED]:`closed`};function o(e){return a[e]??`new`}const s={[e.WebRTCICEGatheringState.NEW]:`new`,[e.WebRTCICEGatheringState.GATHERING]:`gathering`,[e.WebRTCICEGatheringState.COMPLETE]:`complete`};function c(e){return s[e]??`new`}const l={[e.WebRTCRTPTransceiverDirection.SENDRECV]:`sendrecv`,[e.WebRTCRTPTransceiverDirection.SENDONLY]:`sendonly`,[e.WebRTCRTPTransceiverDirection.RECVONLY]:`recvonly`},u={sendrecv:e.WebRTCRTPTransceiverDirection.SENDRECV,sendonly:e.WebRTCRTPTransceiverDirection.SENDONLY,recvonly:e.WebRTCRTPTransceiverDirection.RECVONLY,inactive:e.WebRTCRTPTransceiverDirection.NONE};function d(e){return l[e]??`inactive`}function f(t){return u[t]??e.WebRTCRTPTransceiverDirection.NONE}const p={[e.WebRTCStatsType.CODEC]:`codec`,[e.WebRTCStatsType.INBOUND_RTP]:`inbound-rtp`,[e.WebRTCStatsType.OUTBOUND_RTP]:`outbound-rtp`,[e.WebRTCStatsType.REMOTE_INBOUND_RTP]:`remote-inbound-rtp`,[e.WebRTCStatsType.REMOTE_OUTBOUND_RTP]:`remote-outbound-rtp`,[e.WebRTCStatsType.CSRC]:`csrc`,[e.WebRTCStatsType.PEER_CONNECTION]:`peer-connection`,[e.WebRTCStatsType.DATA_CHANNEL]:`data-channel`,[e.WebRTCStatsType.STREAM]:`stream`,[e.WebRTCStatsType.TRANSPORT]:`transport`,[e.WebRTCStatsType.CANDIDATE_PAIR]:`candidate-pair`,[e.WebRTCStatsType.LOCAL_CANDIDATE]:`local-candidate`,[e.WebRTCStatsType.REMOTE_CANDIDATE]:`remote-candidate`,[e.WebRTCStatsType.CERTIFICATE]:`certificate`};function m(e){return p[e]}export{d as gstDirectionToW3C,i as gstToConnectionState,o as gstToIceConnectionState,c as gstToIceGatheringState,n as gstToSignalingState,m as gstToStatsType,f as w3cDirectionToGst};
1
+ import e from"gi://GstWebRTC?version=1.0";const t={[e.WebRTCSignalingState.STABLE]:`stable`,[e.WebRTCSignalingState.CLOSED]:`closed`,[e.WebRTCSignalingState.HAVE_LOCAL_OFFER]:`have-local-offer`,[e.WebRTCSignalingState.HAVE_REMOTE_OFFER]:`have-remote-offer`,[e.WebRTCSignalingState.HAVE_LOCAL_PRANSWER]:`have-local-pranswer`,[e.WebRTCSignalingState.HAVE_REMOTE_PRANSWER]:`have-remote-pranswer`};function gstToSignalingState(e){return t[e]??`stable`}const n={[e.WebRTCPeerConnectionState.NEW]:`new`,[e.WebRTCPeerConnectionState.CONNECTING]:`connecting`,[e.WebRTCPeerConnectionState.CONNECTED]:`connected`,[e.WebRTCPeerConnectionState.DISCONNECTED]:`disconnected`,[e.WebRTCPeerConnectionState.FAILED]:`failed`,[e.WebRTCPeerConnectionState.CLOSED]:`closed`};function gstToConnectionState(e){return n[e]??`new`}const r={[e.WebRTCICEConnectionState.NEW]:`new`,[e.WebRTCICEConnectionState.CHECKING]:`checking`,[e.WebRTCICEConnectionState.CONNECTED]:`connected`,[e.WebRTCICEConnectionState.COMPLETED]:`completed`,[e.WebRTCICEConnectionState.FAILED]:`failed`,[e.WebRTCICEConnectionState.DISCONNECTED]:`disconnected`,[e.WebRTCICEConnectionState.CLOSED]:`closed`};function gstToIceConnectionState(e){return r[e]??`new`}const i={[e.WebRTCICEGatheringState.NEW]:`new`,[e.WebRTCICEGatheringState.GATHERING]:`gathering`,[e.WebRTCICEGatheringState.COMPLETE]:`complete`};function gstToIceGatheringState(e){return i[e]??`new`}const a={[e.WebRTCRTPTransceiverDirection.SENDRECV]:`sendrecv`,[e.WebRTCRTPTransceiverDirection.SENDONLY]:`sendonly`,[e.WebRTCRTPTransceiverDirection.RECVONLY]:`recvonly`},o={sendrecv:e.WebRTCRTPTransceiverDirection.SENDRECV,sendonly:e.WebRTCRTPTransceiverDirection.SENDONLY,recvonly:e.WebRTCRTPTransceiverDirection.RECVONLY,inactive:e.WebRTCRTPTransceiverDirection.NONE};function gstDirectionToW3C(e){return a[e]??`inactive`}function w3cDirectionToGst(t){return o[t]??e.WebRTCRTPTransceiverDirection.NONE}const s={[e.WebRTCStatsType.CODEC]:`codec`,[e.WebRTCStatsType.INBOUND_RTP]:`inbound-rtp`,[e.WebRTCStatsType.OUTBOUND_RTP]:`outbound-rtp`,[e.WebRTCStatsType.REMOTE_INBOUND_RTP]:`remote-inbound-rtp`,[e.WebRTCStatsType.REMOTE_OUTBOUND_RTP]:`remote-outbound-rtp`,[e.WebRTCStatsType.CSRC]:`csrc`,[e.WebRTCStatsType.PEER_CONNECTION]:`peer-connection`,[e.WebRTCStatsType.DATA_CHANNEL]:`data-channel`,[e.WebRTCStatsType.STREAM]:`stream`,[e.WebRTCStatsType.TRANSPORT]:`transport`,[e.WebRTCStatsType.CANDIDATE_PAIR]:`candidate-pair`,[e.WebRTCStatsType.LOCAL_CANDIDATE]:`local-candidate`,[e.WebRTCStatsType.REMOTE_CANDIDATE]:`remote-candidate`,[e.WebRTCStatsType.CERTIFICATE]:`certificate`};function gstToStatsType(e){return s[e]}export{gstDirectionToW3C,gstToConnectionState,gstToIceConnectionState,gstToIceGatheringState,gstToSignalingState,gstToStatsType,w3cDirectionToGst};
@@ -1,6 +1,6 @@
1
- import e from"gi://Gst?version=1.0";import{DOMException as t}from"@gjsify/dom-exception";let n=!1;function r(){n||=(e.init(null),!0)}function i(){r(),e.ElementFactory.find(`webrtcbin`)||a(`GStreamer element "webrtcbin" not available. Install gst-plugins-bad:
1
+ import e from"gi://Gst?version=1.0";import{DOMException as t}from"@gjsify/dom-exception";let n=!1;function ensureGstInit(){n||=(e.init(null),!0)}function ensureWebrtcbinAvailable(){ensureGstInit(),e.ElementFactory.find(`webrtcbin`)||throwNotSupported(`GStreamer element "webrtcbin" not available. Install gst-plugins-bad:
2
2
  Fedora: dnf install gstreamer1-plugins-bad-free gstreamer1-plugins-bad-free-extras
3
- Ubuntu/Debian: apt install gstreamer1.0-plugins-bad`),e.ElementFactory.find(`nicesrc`)||a(`GStreamer "nice" plugin (libnice-gstreamer) not available — required by webrtcbin.
3
+ Ubuntu/Debian: apt install gstreamer1.0-plugins-bad`),e.ElementFactory.find(`nicesrc`)||throwNotSupported(`GStreamer "nice" plugin (libnice-gstreamer) not available — required by webrtcbin.
4
4
  Fedora: dnf install libnice-gstreamer1
5
5
  Ubuntu/Debian: apt install gstreamer1.0-nice
6
- Verify with: gst-inspect-1.0 nicesrc`)}function a(e){throw new t(e,`NotSupportedError`)}export{e as Gst,r as ensureGstInit,i as ensureWebrtcbinAvailable};
6
+ Verify with: gst-inspect-1.0 nicesrc`)}function throwNotSupported(e){throw new t(e,`NotSupportedError`)}export{e as Gst,ensureGstInit,ensureWebrtcbinAvailable};
@@ -1 +1 @@
1
- import{gstToStatsType as e}from"./gst-enum-maps.js";import{RTCStatsReport as t}from"./rtc-stats-report.js";function n(e){return e.replace(/-([a-z])/g,(e,t)=>t.toUpperCase())}function r(e){let t={},n=e.n_fields();for(let r=0;r<n;r++){let n=e.nth_field_name(r);try{t[n]=e.get_value(n)}catch{}}return t}function i(t){let i=r(t),a=i.type;if(a==null)return null;let o=e(Number(a));if(!o)return null;let s=String(i.id??t.get_name()??``),c=i.timestamp,l={type:o,id:s,timestamp:c==null?performance.now():Number(c)/1e6};for(let[e,t]of Object.entries(i)){if(e===`type`||e===`id`||e===`timestamp`)continue;let r=n(e);l[r]=t}return l}function a(e){if(!e)return new t;let n=[],r=e.n_fields();for(let t=0;t<r;t++){let r=e.nth_field_name(t);try{let t=e.get_value(r);if(t&&typeof t.n_fields==`function`){let e=i(t);e&&n.push([e.id,e])}}catch{}}return new t(n)}function o(e,n){let r=[],i=new Set;for(let[t,a]of e)if(a.trackIdentifier===n){r.push([t,a]),i.add(t);for(let t of Object.values(a))typeof t==`string`&&e.has(t)&&i.add(t)}for(let[t,n]of e)i.has(t)&&!r.some(([e])=>e===t)&&r.push([t,n]);return new t(r)}export{o as filterStatsByTrackId,a as parseGstStats};
1
+ import{gstToStatsType as e}from"./gst-enum-maps.js";import{RTCStatsReport as t}from"./rtc-stats-report.js";function snakeToCamel(e){return e.replace(/-([a-z])/g,(e,t)=>t.toUpperCase())}function extractFields(e){let t={},n=e.n_fields();for(let r=0;r<n;r++){let n=e.nth_field_name(r);try{t[n]=e.get_value(n)}catch{}}return t}function parseStatsEntry(t){let n=extractFields(t),r=n.type;if(r==null)return null;let i=e(Number(r));if(!i)return null;let a=String(n.id??t.get_name()??``),o=n.timestamp,s={type:i,id:a,timestamp:o==null?performance.now():Number(o)/1e6};for(let[e,t]of Object.entries(n)){if(e===`type`||e===`id`||e===`timestamp`)continue;let n=snakeToCamel(e);s[n]=t}return s}function parseGstStats(e){if(!e)return new t;let n=[],r=e.n_fields();for(let t=0;t<r;t++){let r=e.nth_field_name(t);try{let t=e.get_value(r);if(t&&typeof t.n_fields==`function`){let e=parseStatsEntry(t);e&&n.push([e.id,e])}}catch{}}return new t(n)}function filterStatsByTrackId(e,n){let r=[],i=new Set;for(let[t,a]of e)if(a.trackIdentifier===n){r.push([t,a]),i.add(t);for(let t of Object.values(a))typeof t==`string`&&e.has(t)&&i.add(t)}for(let[t,n]of e)i.has(t)&&!r.some(([e])=>e===t)&&r.push([t,n]);return new t(r)}export{filterStatsByTrackId,parseGstStats};
@@ -1 +1 @@
1
- import{PromiseBridge as e}from"@gjsify/webrtc-native";function t(t){return new Promise((n,r)=>{let i=new e;i.connect(`replied`,(e,t)=>{n(t)}),i.connect(`rejected`,(e,t)=>{r(Error(t))}),t(i.promise)})}export{t as withGstPromise};
1
+ import{PromiseBridge as e}from"@gjsify/webrtc-native";function withGstPromise(t){return new Promise((n,r)=>{let i=new e;i.connect(`replied`,(e,t)=>{n(t)}),i.connect(`rejected`,(e,t)=>{r(Error(t))}),t(i.promise)})}export{withGstPromise};
@@ -1 +1 @@
1
- var e=class{deviceId;kind;label;groupId;constructor(e){this.deviceId=e.deviceId,this.kind=e.kind,this.label=e.label,this.groupId=e.groupId??``}toJSON(){return{deviceId:this.deviceId,kind:this.kind,label:this.label,groupId:this.groupId}}};export{e as MediaDeviceInfo};
1
+ var MediaDeviceInfo=class{deviceId;kind;label;groupId;constructor(e){this.deviceId=e.deviceId,this.kind=e.kind,this.label=e.label,this.groupId=e.groupId??``}toJSON(){return{deviceId:this.deviceId,kind:this.kind,label:this.label,groupId:this.groupId}}};export{MediaDeviceInfo};
@@ -1 +1 @@
1
- import{Gst as e,ensureGstInit as t}from"./gst-init.js";import{getUserMedia as n}from"./get-user-media.js";import{MediaDeviceInfo as r}from"./media-device-info.js";import"@gjsify/dom-events/register/event-target";const i={"Audio/Source":`audioinput`,"Video/Source":`videoinput`,"Audio/Sink":`audiooutput`};let a=!1;function o(){try{let e=imports.gi.GLib;return!(e.getenv(`CI`)||!e.getenv(`DISPLAY`)&&!e.getenv(`WAYLAND_DISPLAY`))}catch{return!1}}var s=class extends EventTarget{_ondevicechange=null;get ondevicechange(){return this._ondevicechange}set ondevicechange(e){this._ondevicechange=e}async getUserMedia(e){if(!e)throw TypeError(`Failed to execute 'getUserMedia' on 'MediaDevices': At least one of audio or video must be requested`);let t=await n(e);return a=!0,t}async enumerateDevices(){t();let n=null,s=[];try{if(!o())return s;n=new e.DeviceMonitor,n.set_show_all_devices(!0);let t=e.Caps.from_string(`audio/x-raw`),c=e.Caps.from_string(`video/x-raw`);if(t&&(n.add_filter(`Audio/Source`,t),n.add_filter(`Audio/Sink`,t)),c&&n.add_filter(`Video/Source`,c),!n.start())return s;let l;try{l=n.get_devices()??[]}catch{return s}for(let e of l){let t=i[e.get_device_class?.()??``];if(!t)continue;let n=e.get_display_name?.()??``,o=``,c=``;try{let t=e.get_properties?.();if(t){let e=t.n_fields();for(let n=0;n<e;n++){let e=t.nth_field_name(n);if(e===`persistent-id`||e===`node.name`){let n=t.get_value(e);n&&!o&&(o=String(n))}if(e===`group-id`){let n=t.get_value(e);n&&(c=String(n))}}}}catch{}o||=n||`${t}-${s.length}`,a?s.push(new r({deviceId:o,kind:t,label:n,groupId:c})):s.some(e=>e.kind===t)||s.push(new r({deviceId:``,kind:t,label:``,groupId:``}))}}catch{return s}finally{try{n?.stop()}catch{}}let c={audioinput:0,videoinput:1,audiooutput:2};return s.sort((e,t)=>(c[e.kind]??3)-(c[t.kind]??3)),s}getSupportedConstraints(){return{deviceId:!0,width:!0,height:!0,frameRate:!0,sampleRate:!0,channelCount:!0,aspectRatio:!1,facingMode:!1,resizeMode:!1,echoCancellation:!1,autoGainControl:!1,noiseSuppression:!1,latency:!1,groupId:!1}}};export{s as MediaDevices};
1
+ import{Gst as e,ensureGstInit as t}from"./gst-init.js";import{getUserMedia as n}from"./get-user-media.js";import{MediaDeviceInfo as r}from"./media-device-info.js";import"@gjsify/dom-events/register/event-target";const i={"Audio/Source":`audioinput`,"Video/Source":`videoinput`,"Audio/Sink":`audiooutput`};let a=!1;function isDeviceMonitorSafe(){try{let e=imports.gi.GLib;return!(e.getenv(`CI`)||!e.getenv(`DISPLAY`)&&!e.getenv(`WAYLAND_DISPLAY`))}catch{return!1}}var MediaDevices=class extends EventTarget{_ondevicechange=null;get ondevicechange(){return this._ondevicechange}set ondevicechange(e){this._ondevicechange=e}async getUserMedia(e){if(!e)throw TypeError(`Failed to execute 'getUserMedia' on 'MediaDevices': At least one of audio or video must be requested`);let t=await n(e);return a=!0,t}async enumerateDevices(){t();let n=null,o=[];try{if(!isDeviceMonitorSafe())return o;n=new e.DeviceMonitor,n.set_show_all_devices(!0);let t=e.Caps.from_string(`audio/x-raw`),s=e.Caps.from_string(`video/x-raw`);if(t&&(n.add_filter(`Audio/Source`,t),n.add_filter(`Audio/Sink`,t)),s&&n.add_filter(`Video/Source`,s),!n.start())return o;let c;try{c=n.get_devices()??[]}catch{return o}for(let e of c){let t=i[e.get_device_class?.()??``];if(!t)continue;let n=e.get_display_name?.()??``,s=``,c=``;try{let t=e.get_properties?.();if(t){let e=t.n_fields();for(let n=0;n<e;n++){let e=t.nth_field_name(n);if(e===`persistent-id`||e===`node.name`){let n=t.get_value(e);n&&!s&&(s=String(n))}if(e===`group-id`){let n=t.get_value(e);n&&(c=String(n))}}}}catch{}s||=n||`${t}-${o.length}`,a?o.push(new r({deviceId:s,kind:t,label:n,groupId:c})):o.some(e=>e.kind===t)||o.push(new r({deviceId:``,kind:t,label:``,groupId:``}))}}catch{return o}finally{try{n?.stop()}catch{}}let s={audioinput:0,videoinput:1,audiooutput:2};return o.sort((e,t)=>(s[e.kind]??3)-(s[t.kind]??3)),o}getSupportedConstraints(){return{deviceId:!0,width:!0,height:!0,frameRate:!0,sampleRate:!0,channelCount:!0,aspectRatio:!1,facingMode:!1,resizeMode:!1,echoCancellation:!1,autoGainControl:!1,noiseSuppression:!1,latency:!1,groupId:!1}}};export{MediaDevices};
@@ -1 +1 @@
1
- import{Gst as e}from"./gst-init.js";import"@gjsify/dom-events/register/event-target";import t from"gi://GLib?version=2.0";var n=class n extends EventTarget{id;kind;label;_enabled=!0;_muted;_ended=!1;_contentHint=``;_onended=null;_onmute=null;_onunmute=null;_gstSource=null;_gstPipeline=null;_gstTee=null;_teeMultiplexer=null;_enableCallback=null;constructor(e){super(),this.id=e.id??t.uuid_string_random(),this.kind=e.kind,this.label=e.label??``,this._muted=e.muted??!1,e._gst&&(this._gstSource=e._gst.source,this._gstPipeline=e._gst.pipeline)}get enabled(){return this._enabled}set enabled(e){let t=!!e;this._enabled!==t&&(this._enabled=t,this._enableCallback?.(t))}get muted(){return this._muted}get readyState(){return this._ended?`ended`:`live`}get contentHint(){return this._contentHint}set contentHint(e){if(this.kind===`audio`){if(e!==``&&e!==`speech`&&e!==`speech-recognition`&&e!==`music`)return}else if(e!==``&&e!==`motion`&&e!==`detail`&&e!==`text`)return;this._contentHint=e}get onended(){return this._onended}set onended(e){this._onended=e}get onmute(){return this._onmute}set onmute(e){this._onmute=e}get onunmute(){return this._onunmute}set onunmute(e){this._onunmute=e}clone(){let e=new n({kind:this.kind,label:this.label,muted:this._muted});return e._enabled=this._enabled,e}stop(){if(this._ended)return;if(this._ended=!0,this._gstSource||this._gstPipeline){try{this._gstPipeline?.set_state(e.State.NULL)}catch{}try{this._gstSource?.set_state(e.State.NULL)}catch{}this._gstSource=null,this._gstPipeline=null}let t=new Event(`ended`);this._onended?.call(this,t),this.dispatchEvent(t)}getCapabilities(){return{}}getConstraints(){return{}}getSettings(){return{}}applyConstraints(e){return Promise.reject(new DOMException(`applyConstraints is not supported`,`NotSupportedError`))}_setMuted(e){if(this._muted===e)return;this._muted=e;let t=new Event(e?`mute`:`unmute`);e?this._onmute?.call(this,t):this._onunmute?.call(this,t),this.dispatchEvent(t)}_setEnableCallback(e){this._enableCallback=e}};export{n as MediaStreamTrack};
1
+ import{Gst as e}from"./gst-init.js";import"@gjsify/dom-events/register/event-target";import t from"gi://GLib?version=2.0";var n=class MediaStreamTrack extends EventTarget{id;kind;label;_enabled=!0;_muted;_ended=!1;_contentHint=``;_onended=null;_onmute=null;_onunmute=null;_gstSource=null;_gstPipeline=null;_gstTee=null;_teeMultiplexer=null;_enableCallback=null;constructor(e){super(),this.id=e.id??t.uuid_string_random(),this.kind=e.kind,this.label=e.label??``,this._muted=e.muted??!1,e._gst&&(this._gstSource=e._gst.source,this._gstPipeline=e._gst.pipeline)}get enabled(){return this._enabled}set enabled(e){let t=!!e;this._enabled!==t&&(this._enabled=t,this._enableCallback?.(t))}get muted(){return this._muted}get readyState(){return this._ended?`ended`:`live`}get contentHint(){return this._contentHint}set contentHint(e){if(this.kind===`audio`){if(e!==``&&e!==`speech`&&e!==`speech-recognition`&&e!==`music`)return}else if(e!==``&&e!==`motion`&&e!==`detail`&&e!==`text`)return;this._contentHint=e}get onended(){return this._onended}set onended(e){this._onended=e}get onmute(){return this._onmute}set onmute(e){this._onmute=e}get onunmute(){return this._onunmute}set onunmute(e){this._onunmute=e}clone(){let e=new MediaStreamTrack({kind:this.kind,label:this.label,muted:this._muted});return e._enabled=this._enabled,e}stop(){if(this._ended)return;if(this._ended=!0,this._gstSource||this._gstPipeline){try{this._gstPipeline?.set_state(e.State.NULL)}catch{}try{this._gstSource?.set_state(e.State.NULL)}catch{}this._gstSource=null,this._gstPipeline=null}let t=new Event(`ended`);this._onended?.call(this,t),this.dispatchEvent(t)}getCapabilities(){return{}}getConstraints(){return{}}getSettings(){return{}}applyConstraints(e){return Promise.reject(new DOMException(`applyConstraints is not supported`,`NotSupportedError`))}_setMuted(e){if(this._muted===e)return;this._muted=e;let t=new Event(e?`mute`:`unmute`);e?this._onmute?.call(this,t):this._onunmute?.call(this,t),this.dispatchEvent(t)}_setEnableCallback(e){this._enableCallback=e}};export{n as MediaStreamTrack};
@@ -1 +1 @@
1
- import"@gjsify/dom-events/register/event-target";import e from"gi://GLib?version=2.0";var t=class t extends EventTarget{id;_tracks=new Map;_onaddtrack=null;_onremovetrack=null;constructor(n){if(super(),this.id=e.uuid_string_random(),n instanceof t)for(let e of n.getTracks())this._tracks.set(e.id,e.clone());else if(Array.isArray(n))for(let e of n)this._tracks.set(e.id,e)}get active(){for(let e of this._tracks.values())if(e.readyState===`live`)return!0;return!1}get onaddtrack(){return this._onaddtrack}set onaddtrack(e){this._onaddtrack=e}get onremovetrack(){return this._onremovetrack}set onremovetrack(e){this._onremovetrack=e}getTracks(){return[...this._tracks.values()]}getAudioTracks(){return this.getTracks().filter(e=>e.kind===`audio`)}getVideoTracks(){return this.getTracks().filter(e=>e.kind===`video`)}getTrackById(e){return this._tracks.get(e)??null}addTrack(e){if(this._tracks.has(e.id))return;this._tracks.set(e.id,e);let t=new n(`addtrack`,{track:e});this._onaddtrack?.call(this,t),this.dispatchEvent(t)}removeTrack(e){if(!this._tracks.delete(e.id))return;let t=new n(`removetrack`,{track:e});this._onremovetrack?.call(this,t),this.dispatchEvent(t)}clone(){return new t(this)}},n=class extends Event{track;constructor(e,t){super(e,t),this.track=t.track}};export{t as MediaStream,n as MediaStreamTrackEvent};
1
+ import"@gjsify/dom-events/register/event-target";import e from"gi://GLib?version=2.0";var t=class MediaStream extends EventTarget{id;_tracks=new Map;_onaddtrack=null;_onremovetrack=null;constructor(t){if(super(),this.id=e.uuid_string_random(),t instanceof MediaStream)for(let e of t.getTracks())this._tracks.set(e.id,e.clone());else if(Array.isArray(t))for(let e of t)this._tracks.set(e.id,e)}get active(){for(let e of this._tracks.values())if(e.readyState===`live`)return!0;return!1}get onaddtrack(){return this._onaddtrack}set onaddtrack(e){this._onaddtrack=e}get onremovetrack(){return this._onremovetrack}set onremovetrack(e){this._onremovetrack=e}getTracks(){return[...this._tracks.values()]}getAudioTracks(){return this.getTracks().filter(e=>e.kind===`audio`)}getVideoTracks(){return this.getTracks().filter(e=>e.kind===`video`)}getTrackById(e){return this._tracks.get(e)??null}addTrack(e){if(this._tracks.has(e.id))return;this._tracks.set(e.id,e);let t=new MediaStreamTrackEvent(`addtrack`,{track:e});this._onaddtrack?.call(this,t),this.dispatchEvent(t)}removeTrack(e){if(!this._tracks.delete(e.id))return;let t=new MediaStreamTrackEvent(`removetrack`,{track:e});this._onremovetrack?.call(this,t),this.dispatchEvent(t)}clone(){return new MediaStream(this)}},MediaStreamTrackEvent=class extends Event{track;constructor(e,t){super(e,t),this.track=t.track}};export{t as MediaStream,MediaStreamTrackEvent};
@@ -1 +1 @@
1
- import e from"gi://GLib?version=2.0";var t=class{expires;_fingerprints;_algorithm;constructor(e,t,n){this._algorithm=e,this.expires=t,this._fingerprints=n}getFingerprints(){return[...this._fingerprints]}get _algorithmName(){return this._algorithm}};async function n(n){let r;if(typeof n==`string`)r=n.toLowerCase();else if(n&&typeof n==`object`&&typeof n.name==`string`)r=n.name.toLowerCase();else throw new DOMException(`generateCertificate: algorithm must have a name property`,`NotSupportedError`);if(r===`ecdsa`){let e=n.namedCurve;if(e&&e!==`P-256`)throw new DOMException(`generateCertificate: unsupported ECDSA curve '${e}'`,`NotSupportedError`)}else if(r===`rsassa-pkcs1-v1_5`){let e=n.hash,t=typeof e==`string`?e:e?.name;if(t&&t.toUpperCase()===`SHA-1`)throw new DOMException(`generateCertificate: SHA-1 is not supported for RSA certificates`,`NotSupportedError`)}else throw new DOMException(`generateCertificate: unsupported algorithm '${r}'`,`NotSupportedError`);let i=e.uuid_string_random(),a=e.Checksum.new(e.ChecksumType.SHA256);a.update(new TextEncoder().encode(i+Date.now()));let o=a.get_string().slice(0,64).match(/.{2}/g).join(`:`).toUpperCase(),s=Date.now()+2592e6;return new t(r,s,[{algorithm:`sha-256`,value:o}])}export{t as RTCCertificate,n as generateCertificate};
1
+ import e from"gi://GLib?version=2.0";var RTCCertificate=class{expires;_fingerprints;_algorithm;constructor(e,t,n){this._algorithm=e,this.expires=t,this._fingerprints=n}getFingerprints(){return[...this._fingerprints]}get _algorithmName(){return this._algorithm}};async function generateCertificate(t){let n;if(typeof t==`string`)n=t.toLowerCase();else if(t&&typeof t==`object`&&typeof t.name==`string`)n=t.name.toLowerCase();else throw new DOMException(`generateCertificate: algorithm must have a name property`,`NotSupportedError`);if(n===`ecdsa`){let e=t.namedCurve;if(e&&e!==`P-256`)throw new DOMException(`generateCertificate: unsupported ECDSA curve '${e}'`,`NotSupportedError`)}else if(n===`rsassa-pkcs1-v1_5`){let e=t.hash,n=typeof e==`string`?e:e?.name;if(n&&n.toUpperCase()===`SHA-1`)throw new DOMException(`generateCertificate: SHA-1 is not supported for RSA certificates`,`NotSupportedError`)}else throw new DOMException(`generateCertificate: unsupported algorithm '${n}'`,`NotSupportedError`);let r=e.uuid_string_random(),i=e.Checksum.new(e.ChecksumType.SHA256);i.update(new TextEncoder().encode(r+Date.now()));let a=i.get_string().slice(0,64).match(/.{2}/g).join(`:`).toUpperCase(),o=Date.now()+2592e6;return new RTCCertificate(n,o,[{algorithm:`sha-256`,value:a}])}export{RTCCertificate,generateCertificate};
@@ -1 +1 @@
1
- import{RTCError as e}from"./rtc-error.js";import{RTCErrorEvent as t}from"./rtc-events.js";import{DOMException as n}from"@gjsify/dom-exception";import r from"gi://GLib?version=2.0";import{DataChannelBridge as i}from"@gjsify/webrtc-native";import{Blob as a}from"@gjsify/buffer";const o={1:`connecting`,2:`open`,3:`closing`,4:`closed`};function s(e){let t;return t=ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e),new r.Bytes(t)}function c(e){let t=e.toArray?.();if(t instanceof Uint8Array)return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength);let n=e.get_data?.();return n instanceof Uint8Array?n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength):new ArrayBuffer(0)}var l=class extends EventTarget{_native;_bridge;_binaryType=`arraybuffer`;_bufferedAmount=0;_closed=!1;_onopen=null;_onclose=null;_onerror=null;_onmessage=null;_onbufferedamountlow=null;_onclosing=null;constructor(e){super(),e.channel!==void 0&&e.dispose_bridge?(this._bridge=e,this._native=this._bridge.channel):(this._native=e,this._bridge=new i({channel:this._native})),this._bridge.connect(`opened`,()=>this._handleOpen()),this._bridge.connect(`closed`,()=>this._handleClose()),this._bridge.connect(`error-occurred`,(e,t)=>this._handleError(t)),this._bridge.connect(`message-string`,(e,t)=>this._handleString(t)),this._bridge.connect(`message-data`,(e,t)=>this._handleData(t)),this._bridge.connect(`buffered-amount-low`,()=>this._handleBufferedAmountLow()),this._bridge.connect(`ready-state-changed`,()=>this._handleReadyStateChange())}get label(){return this._native.label}get ordered(){return this._native.ordered}get protocol(){return this._native.protocol}get negotiated(){return this._native.negotiated}get id(){return this._native.id>=0?this._native.id:null}get maxPacketLifeTime(){let e=this._native.max_packet_lifetime;return e>=0?e:null}get maxRetransmits(){let e=this._native.max_retransmits;return e>=0?e:null}get readyState(){return this._closed?`closed`:o[this._native.ready_state]??`connecting`}get bufferedAmount(){try{return Number(this._native.buffered_amount)||this._bufferedAmount}catch{return this._bufferedAmount}}get bufferedAmountLowThreshold(){return Number(this._native.buffered_amount_low_threshold)||0}set bufferedAmountLowThreshold(e){this._native.buffered_amount_low_threshold=e}get binaryType(){return this._binaryType}set binaryType(e){e!==`arraybuffer`&&e!==`blob`||(this._binaryType=e)}get onopen(){return this._onopen}set onopen(e){this._onopen=e}get onclose(){return this._onclose}set onclose(e){this._onclose=e}get onclosing(){return this._onclosing}set onclosing(e){this._onclosing=e}get onerror(){return this._onerror}set onerror(e){this._onerror=e}get onmessage(){return this._onmessage}set onmessage(e){this._onmessage=e}get onbufferedamountlow(){return this._onbufferedamountlow}set onbufferedamountlow(e){this._onbufferedamountlow=e}send(e){let t=this.readyState;if(t!==`open`)throw new n(`RTCDataChannel.send: readyState is '${t}', expected 'open'`,`InvalidStateError`);if(typeof e==`string`){this._native.send_string(e),this._bufferedAmount+=new TextEncoder().encode(e).byteLength;return}if(e instanceof a){e.arrayBuffer().then(e=>{try{this._native.send_data(s(e)),this._bufferedAmount+=e.byteLength}catch{}});return}if(ArrayBuffer.isView(e)){let t=s(e);this._native.send_data(t),this._bufferedAmount+=e.byteLength;return}if(e instanceof ArrayBuffer){let t=s(e);this._native.send_data(t),this._bufferedAmount+=e.byteLength;return}throw TypeError(`RTCDataChannel.send: unsupported data type`)}close(){if(!this._closed){try{this._native.close()}catch{}this._disconnectSignals(),this._closed=!0}}_disconnectSignals(){try{this._bridge.dispose_bridge()}catch{}}_handleOpen(){let e=new Event(`open`);this._onopen?.call(this,e),this.dispatchEvent(e)}_handleClose(){this._closed=!0;let e=new Event(`close`);this._onclose?.call(this,e),this.dispatchEvent(e)}_handleError(n){let r=new t(`error`,{error:new e({errorDetail:`data-channel-failure`},n||`RTCDataChannel error`)});this._onerror?.call(this,r),this.dispatchEvent(r)}_handleString(e){let t=new MessageEvent(`message`,{data:e});this._onmessage?.call(this,t),this.dispatchEvent(t)}_handleData(e){if(!e)return;let t=c(e),n=this._binaryType===`blob`?new a([t]):t,r=new MessageEvent(`message`,{data:n});this._onmessage?.call(this,r),this.dispatchEvent(r)}_handleBufferedAmountLow(){this._bufferedAmount=Number(this._native.buffered_amount)||0;let e=new Event(`bufferedamountlow`);this._onbufferedamountlow?.call(this,e),this.dispatchEvent(e)}_handleReadyStateChange(){if(this.readyState===`closing`){let e=new Event(`closing`);this._onclosing?.call(this,e),this.dispatchEvent(e)}}};export{l as RTCDataChannel};
1
+ import{RTCError as e}from"./rtc-error.js";import{RTCErrorEvent as t}from"./rtc-events.js";import{DOMException as n}from"@gjsify/dom-exception";import r from"gi://GLib?version=2.0";import{DataChannelBridge as i}from"@gjsify/webrtc-native";import{Blob as a}from"@gjsify/buffer";const o={1:`connecting`,2:`open`,3:`closing`,4:`closed`};function toGBytes(e){let t;return t=ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e),new r.Bytes(t)}function bytesToArrayBuffer(e){let t=e.toArray?.();if(t instanceof Uint8Array)return t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength);let n=e.get_data?.();return n instanceof Uint8Array?n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength):new ArrayBuffer(0)}var RTCDataChannel=class extends EventTarget{_native;_bridge;_binaryType=`arraybuffer`;_bufferedAmount=0;_closed=!1;_onopen=null;_onclose=null;_onerror=null;_onmessage=null;_onbufferedamountlow=null;_onclosing=null;constructor(e){super(),e.channel!==void 0&&e.dispose_bridge?(this._bridge=e,this._native=this._bridge.channel):(this._native=e,this._bridge=new i({channel:this._native})),this._bridge.connect(`opened`,()=>this._handleOpen()),this._bridge.connect(`closed`,()=>this._handleClose()),this._bridge.connect(`error-occurred`,(e,t)=>this._handleError(t)),this._bridge.connect(`message-string`,(e,t)=>this._handleString(t)),this._bridge.connect(`message-data`,(e,t)=>this._handleData(t)),this._bridge.connect(`buffered-amount-low`,()=>this._handleBufferedAmountLow()),this._bridge.connect(`ready-state-changed`,()=>this._handleReadyStateChange())}get label(){return this._native.label}get ordered(){return this._native.ordered}get protocol(){return this._native.protocol}get negotiated(){return this._native.negotiated}get id(){return this._native.id>=0?this._native.id:null}get maxPacketLifeTime(){let e=this._native.max_packet_lifetime;return e>=0?e:null}get maxRetransmits(){let e=this._native.max_retransmits;return e>=0?e:null}get readyState(){return this._closed?`closed`:o[this._native.ready_state]??`connecting`}get bufferedAmount(){try{return Number(this._native.buffered_amount)||this._bufferedAmount}catch{return this._bufferedAmount}}get bufferedAmountLowThreshold(){return Number(this._native.buffered_amount_low_threshold)||0}set bufferedAmountLowThreshold(e){this._native.buffered_amount_low_threshold=e}get binaryType(){return this._binaryType}set binaryType(e){e!==`arraybuffer`&&e!==`blob`||(this._binaryType=e)}get onopen(){return this._onopen}set onopen(e){this._onopen=e}get onclose(){return this._onclose}set onclose(e){this._onclose=e}get onclosing(){return this._onclosing}set onclosing(e){this._onclosing=e}get onerror(){return this._onerror}set onerror(e){this._onerror=e}get onmessage(){return this._onmessage}set onmessage(e){this._onmessage=e}get onbufferedamountlow(){return this._onbufferedamountlow}set onbufferedamountlow(e){this._onbufferedamountlow=e}send(e){let t=this.readyState;if(t!==`open`)throw new n(`RTCDataChannel.send: readyState is '${t}', expected 'open'`,`InvalidStateError`);if(typeof e==`string`){this._native.send_string(e),this._bufferedAmount+=new TextEncoder().encode(e).byteLength;return}if(e instanceof a){e.arrayBuffer().then(e=>{try{this._native.send_data(toGBytes(e)),this._bufferedAmount+=e.byteLength}catch{}});return}if(ArrayBuffer.isView(e)){let t=toGBytes(e);this._native.send_data(t),this._bufferedAmount+=e.byteLength;return}if(e instanceof ArrayBuffer){let t=toGBytes(e);this._native.send_data(t),this._bufferedAmount+=e.byteLength;return}throw TypeError(`RTCDataChannel.send: unsupported data type`)}close(){if(!this._closed){try{this._native.close()}catch{}this._disconnectSignals(),this._closed=!0}}_disconnectSignals(){try{this._bridge.dispose_bridge()}catch{}}_handleOpen(){let e=new Event(`open`);this._onopen?.call(this,e),this.dispatchEvent(e)}_handleClose(){this._closed=!0;let e=new Event(`close`);this._onclose?.call(this,e),this.dispatchEvent(e)}_handleError(n){let r=new t(`error`,{error:new e({errorDetail:`data-channel-failure`},n||`RTCDataChannel error`)});this._onerror?.call(this,r),this.dispatchEvent(r)}_handleString(e){let t=new MessageEvent(`message`,{data:e});this._onmessage?.call(this,t),this.dispatchEvent(t)}_handleData(e){if(!e)return;let t=bytesToArrayBuffer(e),n=this._binaryType===`blob`?new a([t]):t,r=new MessageEvent(`message`,{data:n});this._onmessage?.call(this,r),this.dispatchEvent(r)}_handleBufferedAmountLow(){this._bufferedAmount=Number(this._native.buffered_amount)||0;let e=new Event(`bufferedamountlow`);this._onbufferedamountlow?.call(this,e),this.dispatchEvent(e)}_handleReadyStateChange(){if(this.readyState===`closing`){let e=new Event(`closing`);this._onclosing?.call(this,e),this.dispatchEvent(e)}}};export{RTCDataChannel};
@@ -1 +1 @@
1
- import"@gjsify/dom-events/register/event-target";var e=class extends EventTarget{iceTransport;_state=`new`;_onstatechange=null;_onerror=null;constructor(e){super(),this.iceTransport=e}get state(){return this._state}get onstatechange(){return this._onstatechange}set onstatechange(e){this._onstatechange=e}get onerror(){return this._onerror}set onerror(e){this._onerror=e}getRemoteCertificates(){return[]}_setState(e){if(this._state===e)return;this._state=e;let t=new Event(`statechange`);this._onstatechange?.call(this,t),this.dispatchEvent(t)}};export{e as RTCDtlsTransport};
1
+ import"@gjsify/dom-events/register/event-target";var RTCDtlsTransport=class extends EventTarget{iceTransport;_state=`new`;_onstatechange=null;_onerror=null;constructor(e){super(),this.iceTransport=e}get state(){return this._state}get onstatechange(){return this._onstatechange}set onstatechange(e){this._onstatechange=e}get onerror(){return this._onerror}set onerror(e){this._onerror=e}getRemoteCertificates(){return[]}_setState(e){if(this._state===e)return;this._state=e;let t=new Event(`statechange`);this._onstatechange?.call(this,t),this.dispatchEvent(t)}};export{RTCDtlsTransport};
@@ -1 +1 @@
1
- import"@gjsify/dom-events/register/event-target";const e=new Set(`0123456789ABCDabcd#*,`);var t=class extends Event{tone;constructor(e,t={}){super(e,t),this.tone=t.tone??``}},n=class extends EventTarget{_toneBuffer=``;_duration=100;_interToneGap=70;_timerId=null;_canInsert=!0;_ontonechange=null;_isStopped=()=>!1;_getCurrentDirection=()=>null;get toneBuffer(){return this._toneBuffer}get canInsertDTMF(){return this._canInsert}get ontonechange(){return this._ontonechange}set ontonechange(e){this._ontonechange=e}insertDTMF(t,n,r){if(this._isStopped())throw new DOMException(`Failed to execute 'insertDTMF': The associated transceiver is stopped`,`InvalidStateError`);let i=this._getCurrentDirection();if(i===`recvonly`||i===`inactive`)throw new DOMException(`Failed to execute 'insertDTMF': The associated transceiver direction does not allow sending`,`InvalidStateError`);for(let n of t)if(!e.has(n))throw new DOMException(`Failed to execute 'insertDTMF': Invalid DTMF character '${n}'`,`InvalidCharacterError`);t=t.replace(/[a-d]/g,e=>e.toUpperCase());let a=n??100;this._duration=Math.max(40,Math.min(6e3,a));let o=r??70;this._interToneGap=Math.max(30,o),this._toneBuffer=t,this._timerId!==null&&(clearTimeout(this._timerId),this._timerId=null),t.length>0&&this._scheduleNextTone(0)}_scheduleNextTone(e){this._timerId=setTimeout(()=>{this._timerId=null,this._playNextTone()},e)}_playNextTone(){if(this._toneBuffer.length===0){this._fireToneChange(``);return}let e=this._toneBuffer[0];this._toneBuffer=this._toneBuffer.slice(1),this._fireToneChange(e);let t=e===`,`?2e3:this._duration+this._interToneGap;this._scheduleNextTone(t)}_fireToneChange(e){let n=new t(`tonechange`,{tone:e});this._ontonechange?.call(this,n),this.dispatchEvent(n)}_stop(){this._timerId!==null&&(clearTimeout(this._timerId),this._timerId=null),this._toneBuffer=``,this._canInsert=!1}};export{n as RTCDTMFSender,t as RTCDTMFToneChangeEvent};
1
+ import"@gjsify/dom-events/register/event-target";const e=new Set(`0123456789ABCDabcd#*,`);var RTCDTMFToneChangeEvent=class extends Event{tone;constructor(e,t={}){super(e,t),this.tone=t.tone??``}},RTCDTMFSender=class extends EventTarget{_toneBuffer=``;_duration=100;_interToneGap=70;_timerId=null;_canInsert=!0;_ontonechange=null;_isStopped=()=>!1;_getCurrentDirection=()=>null;get toneBuffer(){return this._toneBuffer}get canInsertDTMF(){return this._canInsert}get ontonechange(){return this._ontonechange}set ontonechange(e){this._ontonechange=e}insertDTMF(t,n,r){if(this._isStopped())throw new DOMException(`Failed to execute 'insertDTMF': The associated transceiver is stopped`,`InvalidStateError`);let i=this._getCurrentDirection();if(i===`recvonly`||i===`inactive`)throw new DOMException(`Failed to execute 'insertDTMF': The associated transceiver direction does not allow sending`,`InvalidStateError`);for(let n of t)if(!e.has(n))throw new DOMException(`Failed to execute 'insertDTMF': Invalid DTMF character '${n}'`,`InvalidCharacterError`);t=t.replace(/[a-d]/g,e=>e.toUpperCase());let a=n??100;this._duration=Math.max(40,Math.min(6e3,a));let o=r??70;this._interToneGap=Math.max(30,o),this._toneBuffer=t,this._timerId!==null&&(clearTimeout(this._timerId),this._timerId=null),t.length>0&&this._scheduleNextTone(0)}_scheduleNextTone(e){this._timerId=setTimeout(()=>{this._timerId=null,this._playNextTone()},e)}_playNextTone(){if(this._toneBuffer.length===0){this._fireToneChange(``);return}let e=this._toneBuffer[0];this._toneBuffer=this._toneBuffer.slice(1),this._fireToneChange(e);let t=e===`,`?2e3:this._duration+this._interToneGap;this._scheduleNextTone(t)}_fireToneChange(e){let t=new RTCDTMFToneChangeEvent(`tonechange`,{tone:e});this._ontonechange?.call(this,t),this.dispatchEvent(t)}_stop(){this._timerId!==null&&(clearTimeout(this._timerId),this._timerId=null),this._toneBuffer=``,this._canInsert=!1}};export{RTCDTMFSender,RTCDTMFToneChangeEvent};
@@ -1 +1 @@
1
- import"@gjsify/dom-exception/register";var e=class extends DOMException{errorDetail;sdpLineNumber;sctpCauseCode;receivedAlert;sentAlert;httpRequestStatusCode;constructor(e,t){if(super(t??e.errorDetail,`OperationError`),!e||!e.errorDetail)throw TypeError(`RTCError: errorDetail is required`);this.errorDetail=e.errorDetail,this.sdpLineNumber=e.sdpLineNumber??null,this.sctpCauseCode=e.sctpCauseCode??null,this.receivedAlert=e.receivedAlert??null,this.sentAlert=e.sentAlert??null,this.httpRequestStatusCode=e.httpRequestStatusCode??null}};export{e as RTCError};
1
+ import"@gjsify/dom-exception/register";var RTCError=class extends DOMException{errorDetail;sdpLineNumber;sctpCauseCode;receivedAlert;sentAlert;httpRequestStatusCode;constructor(e,t){if(super(t??e.errorDetail,`OperationError`),!e||!e.errorDetail)throw TypeError(`RTCError: errorDetail is required`);this.errorDetail=e.errorDetail,this.sdpLineNumber=e.sdpLineNumber??null,this.sctpCauseCode=e.sctpCauseCode??null,this.receivedAlert=e.receivedAlert??null,this.sentAlert=e.sentAlert??null,this.httpRequestStatusCode=e.httpRequestStatusCode??null}};export{RTCError};
@@ -1 +1 @@
1
- import"@gjsify/dom-events/register/event-target";var e=class extends Event{candidate;url;constructor(e,t={}){super(e,t),this.candidate=t.candidate??null,this.url=t.url??null}},t=class extends Event{channel;constructor(e,t){if(super(e,t),!t||!t.channel)throw TypeError("RTCDataChannelEvent requires a `channel` member");this.channel=t.channel}},n=class extends Event{error;constructor(e,t){if(super(e,t),!t||!t.error)throw TypeError("RTCErrorEvent requires an `error` member");this.error=t.error}};export{t as RTCDataChannelEvent,n as RTCErrorEvent,e as RTCPeerConnectionIceEvent};
1
+ import"@gjsify/dom-events/register/event-target";var RTCPeerConnectionIceEvent=class extends Event{candidate;url;constructor(e,t={}){super(e,t),this.candidate=t.candidate??null,this.url=t.url??null}},RTCDataChannelEvent=class extends Event{channel;constructor(e,t){if(super(e,t),!t||!t.channel)throw TypeError("RTCDataChannelEvent requires a `channel` member");this.channel=t.channel}},RTCErrorEvent=class extends Event{error;constructor(e,t){if(super(e,t),!t||!t.error)throw TypeError("RTCErrorEvent requires an `error` member");this.error=t.error}};export{RTCDataChannelEvent,RTCErrorEvent,RTCPeerConnectionIceEvent};
@@ -1 +1 @@
1
- function e(e){let t=e.trim();t.startsWith(`a=`)&&(t=t.slice(2)),t.startsWith(`candidate:`)&&(t=t.slice(10));let n=t.split(/\s+/);if(n.length<8)return{};let r=n[2]?.toLowerCase(),i=n.indexOf(`typ`),a=i>=0?n[i+1]:void 0,o=n.indexOf(`raddr`),s=n.indexOf(`rport`),c=n.indexOf(`tcptype`),l=Number(n[1]);return{foundation:n[0],component:l===1?`rtp`:l===2?`rtcp`:null,priority:Number(n[3])||null,protocol:r===`udp`||r===`tcp`?r:null,address:n[4]??null,port:Number(n[5])||null,type:a===`host`||a===`srflx`||a===`prflx`||a===`relay`?a:null,relatedAddress:o>=0?n[o+1]??null:null,relatedPort:s>=0&&Number(n[s+1])||null,tcpType:c>=0?n[c+1]:null}}var t=class{candidate;sdpMid;sdpMLineIndex;usernameFragment;foundation;component;priority;protocol;address;port;type;tcpType;relatedAddress;relatedPort;constructor(t={}){if(t.sdpMid==null&&t.sdpMLineIndex==null)throw TypeError(`RTCIceCandidate requires either sdpMid or sdpMLineIndex`);this.candidate=t.candidate??``,this.sdpMid=t.sdpMid??null,this.sdpMLineIndex=t.sdpMLineIndex??null,this.usernameFragment=t.usernameFragment??null;let n=e(this.candidate);this.foundation=n.foundation??null,this.component=n.component??null,this.priority=n.priority??null,this.protocol=n.protocol??null,this.address=n.address??null,this.port=n.port??null,this.type=n.type??null,this.tcpType=n.tcpType??null,this.relatedAddress=n.relatedAddress??null,this.relatedPort=n.relatedPort??null}toJSON(){return{candidate:this.candidate,sdpMid:this.sdpMid,sdpMLineIndex:this.sdpMLineIndex,usernameFragment:this.usernameFragment}}};export{t as RTCIceCandidate};
1
+ function parseCandidate(e){let t=e.trim();t.startsWith(`a=`)&&(t=t.slice(2)),t.startsWith(`candidate:`)&&(t=t.slice(10));let n=t.split(/\s+/);if(n.length<8)return{};let r=n[2]?.toLowerCase(),i=n.indexOf(`typ`),a=i>=0?n[i+1]:void 0,o=n.indexOf(`raddr`),s=n.indexOf(`rport`),c=n.indexOf(`tcptype`),l=Number(n[1]);return{foundation:n[0],component:l===1?`rtp`:l===2?`rtcp`:null,priority:Number(n[3])||null,protocol:r===`udp`||r===`tcp`?r:null,address:n[4]??null,port:Number(n[5])||null,type:a===`host`||a===`srflx`||a===`prflx`||a===`relay`?a:null,relatedAddress:o>=0?n[o+1]??null:null,relatedPort:s>=0&&Number(n[s+1])||null,tcpType:c>=0?n[c+1]:null}}var RTCIceCandidate=class{candidate;sdpMid;sdpMLineIndex;usernameFragment;foundation;component;priority;protocol;address;port;type;tcpType;relatedAddress;relatedPort;constructor(e={}){if(e.sdpMid==null&&e.sdpMLineIndex==null)throw TypeError(`RTCIceCandidate requires either sdpMid or sdpMLineIndex`);this.candidate=e.candidate??``,this.sdpMid=e.sdpMid??null,this.sdpMLineIndex=e.sdpMLineIndex??null,this.usernameFragment=e.usernameFragment??null;let t=parseCandidate(this.candidate);this.foundation=t.foundation??null,this.component=t.component??null,this.priority=t.priority??null,this.protocol=t.protocol??null,this.address=t.address??null,this.port=t.port??null,this.type=t.type??null,this.tcpType=t.tcpType??null,this.relatedAddress=t.relatedAddress??null,this.relatedPort=t.relatedPort??null}toJSON(){return{candidate:this.candidate,sdpMid:this.sdpMid,sdpMLineIndex:this.sdpMLineIndex,usernameFragment:this.usernameFragment}}};export{RTCIceCandidate};
@@ -1 +1 @@
1
- import{RTCIceCandidate as e}from"./rtc-ice-candidate.js";import"@gjsify/dom-events/register/event-target";var t=class extends EventTarget{_state=`new`;_gatheringState=`new`;_role=`unknown`;_component=`rtp`;_localCandidates=[];_remoteCandidates=[];_localParams=null;_remoteParams=null;_onstatechange=null;_ongatheringstatechange=null;_onselectedcandidatepairchange=null;get state(){return this._state}get gatheringState(){return this._gatheringState}get role(){return this._role}get component(){return this._component}get onstatechange(){return this._onstatechange}set onstatechange(e){this._onstatechange=e}get ongatheringstatechange(){return this._ongatheringstatechange}set ongatheringstatechange(e){this._ongatheringstatechange=e}get onselectedcandidatepairchange(){return this._onselectedcandidatepairchange}set onselectedcandidatepairchange(e){this._onselectedcandidatepairchange=e}getLocalCandidates(){return[...this._localCandidates]}getRemoteCandidates(){return[...this._remoteCandidates]}getSelectedCandidatePair(){return null}getLocalParameters(){return this._localParams}getRemoteParameters(){return this._remoteParams}_setState(e){if(this._state===e)return;this._state=e;let t=new Event(`statechange`);this._onstatechange?.call(this,t),this.dispatchEvent(t)}_setGatheringState(e){if(this._gatheringState===e)return;this._gatheringState=e;let t=new Event(`gatheringstatechange`);this._ongatheringstatechange?.call(this,t),this.dispatchEvent(t)}_addLocalCandidate(t){this._localCandidates.push(new e(t))}_addRemoteCandidate(t){this._remoteCandidates.push(new e(t))}_setLocalParameters(e){this._localParams=e}_setRemoteParameters(e){this._remoteParams=e}};export{t as RTCIceTransport};
1
+ import{RTCIceCandidate as e}from"./rtc-ice-candidate.js";import"@gjsify/dom-events/register/event-target";var RTCIceTransport=class extends EventTarget{_state=`new`;_gatheringState=`new`;_role=`unknown`;_component=`rtp`;_localCandidates=[];_remoteCandidates=[];_localParams=null;_remoteParams=null;_onstatechange=null;_ongatheringstatechange=null;_onselectedcandidatepairchange=null;get state(){return this._state}get gatheringState(){return this._gatheringState}get role(){return this._role}get component(){return this._component}get onstatechange(){return this._onstatechange}set onstatechange(e){this._onstatechange=e}get ongatheringstatechange(){return this._ongatheringstatechange}set ongatheringstatechange(e){this._ongatheringstatechange=e}get onselectedcandidatepairchange(){return this._onselectedcandidatepairchange}set onselectedcandidatepairchange(e){this._onselectedcandidatepairchange=e}getLocalCandidates(){return[...this._localCandidates]}getRemoteCandidates(){return[...this._remoteCandidates]}getSelectedCandidatePair(){return null}getLocalParameters(){return this._localParams}getRemoteParameters(){return this._remoteParams}_setState(e){if(this._state===e)return;this._state=e;let t=new Event(`statechange`);this._onstatechange?.call(this,t),this.dispatchEvent(t)}_setGatheringState(e){if(this._gatheringState===e)return;this._gatheringState=e;let t=new Event(`gatheringstatechange`);this._ongatheringstatechange?.call(this,t),this.dispatchEvent(t)}_addLocalCandidate(t){this._localCandidates.push(new e(t))}_addRemoteCandidate(t){this._remoteCandidates.push(new e(t))}_setLocalParameters(e){this._localParams=e}_setRemoteParameters(e){this._remoteParams=e}};export{RTCIceTransport};
@@ -1 +1 @@
1
- import{Gst as e,ensureWebrtcbinAvailable as t}from"./gst-init.js";import{MediaStreamTrack as n}from"./media-stream-track.js";import{MediaStream as r}from"./media-stream.js";import{gstToConnectionState as i,gstToIceConnectionState as a,gstToIceGatheringState as o,gstToSignalingState as s,w3cDirectionToGst as c}from"./gst-enum-maps.js";import{filterStatsByTrackId as l,parseGstStats as u}from"./gst-stats-parser.js";import{withGstPromise as d}from"./gst-utils.js";import{RTCSessionDescription as f}from"./rtc-session-description.js";import{RTCIceCandidate as p}from"./rtc-ice-candidate.js";import{RTCDataChannelEvent as m,RTCPeerConnectionIceEvent as h}from"./rtc-events.js";import{RTCDataChannel as g}from"./rtc-data-channel.js";import{RTCRtpSender as _}from"./rtc-rtp-sender.js";import{RTCRtpReceiver as v}from"./rtc-rtp-receiver.js";import{RTCRtpTransceiver as y}from"./rtc-rtp-transceiver.js";import{RTCTrackEvent as b}from"./rtc-track-event.js";import{RTCIceTransport as x}from"./rtc-ice-transport.js";import{RTCDtlsTransport as S}from"./rtc-dtls-transport.js";import{RTCSctpTransport as C}from"./rtc-sctp-transport.js";import{RTCCertificate as w,generateCertificate as T}from"./rtc-certificate.js";import{DOMException as E}from"@gjsify/dom-exception";import D from"gi://GLib?version=2.0";import O from"gi://GstWebRTC?version=1.0";import{WebrtcbinBridge as k}from"@gjsify/webrtc-native";import A from"gi://GObject?version=2.0";function j(e,t){let n=Number(t);if(!Number.isFinite(n))throw TypeError(`createDataChannel: ${e} must be a finite number, got ${String(t)}`);let r=Math.trunc(n);if(r<0||r>65535)throw TypeError(`createDataChannel: ${e}=${r} is outside the [0, 65535] range`);return r}let M=0;var N=class extends EventTarget{_pipeline;_webrtcbin;_bridge;_conf;_closed=!1;_iceRestartNeeded=!1;_hasNegotiated=!1;_dataChannels=new Map;_transceivers=new Map;_senders=[];_receivers=[];_iceTransport=null;_dtlsTransport=null;_sctpTransport=null;canTrickleIceCandidates=!0;constructor(n){super(),t();let[r,i]=e.version();if(r<1||r===1&&i<20)throw new E(`@gjsify/webrtc requires GStreamer >= 1.20 (you have ${r}.${i}). webrtcbin is only stable from 1.20 onward.`,`NotSupportedError`);let a=++M;this._pipeline=new e.Pipeline({name:`gjsify-webrtc-pipeline-${a}`});let o=e.ElementFactory.make(`webrtcbin`,`gjsify-webrtcbin-${a}`);if(!o)throw Error(`Failed to create webrtcbin element`);if(this._webrtcbin=o,this._conf={...n},n?.certificates){for(let e of n.certificates)if(e instanceof w&&e.expires<=Date.now())throw new E(`RTCPeerConnection: one of the provided certificates has expired`,`InvalidAccessError`)}this._applyIceServers(n?.iceServers??[]),this._applyIceTransportPolicy(n?.iceTransportPolicy),this._applyBundlePolicy(n?.bundlePolicy),this._pipeline.add(this._webrtcbin),this._bridge=new k({bin:this._webrtcbin}),this._bridge.connect(`negotiation-needed`,()=>this._handleNegotiationNeeded()),this._bridge.connect(`icecandidate`,(e,t,n)=>this._handleIceCandidate(t,n)),this._bridge.connect(`datachannel`,(e,t)=>this._handleDataChannel(t)),this._bridge.connect(`new-transceiver`,(e,t)=>this._handleNewTransceiver(t)),this._bridge.connect(`pad-added`,(e,t)=>this._handlePadAdded(t)),this._bridge.connect(`connection-state-changed`,()=>this._dispatchStateChange(`connectionstatechange`)),this._bridge.connect(`ice-connection-state-changed`,()=>this._dispatchStateChange(`iceconnectionstatechange`)),this._bridge.connect(`ice-gathering-state-changed`,()=>this._dispatchStateChange(`icegatheringstatechange`)),this._bridge.connect(`signaling-state-changed`,()=>this._dispatchStateChange(`signalingstatechange`)),this._pipeline.set_state(e.State.PLAYING)}_applyIceServers(e){let t=!1;for(let n of e){let e=Array.isArray(n.urls)?n.urls:[n.urls];if(e.length===0)throw SyntaxError(`RTCIceServer.urls must not be empty`);for(let r of e){if(typeof r!=`string`||r.length===0)throw TypeError(`RTCIceServer.urls entries must be non-empty strings`);let e=r.indexOf(`:`);if(e<0)throw TypeError(`Invalid ICE server URL "${r}"`);let i=r.slice(0,e+1),a=r.slice(e+1);if(i===`stun:`||i===`stuns:`){if(t)continue;this._webrtcbin.stun_server=`${i}//${a}`,t=!0}else if(i===`turn:`||i===`turns:`){if(typeof n.username!=`string`||typeof n.credential!=`string`)throw TypeError(`TURN server credential for ${r} missing`);let e=`${i}//${encodeURIComponent(n.username)}:${encodeURIComponent(n.credential)}@${a}`;try{this._webrtcbin.emit(`add-turn-server`,e)}catch{this._webrtcbin.turn_server=e}}else throw TypeError(`Unsupported ICE server protocol "${i}"`)}}}_applyIceTransportPolicy(e){if(!e)return;let t=e===`relay`?O.WebRTCICETransportPolicy.RELAY:O.WebRTCICETransportPolicy.ALL;try{this._webrtcbin.ice_transport_policy=t}catch{}}_applyBundlePolicy(e){if(!e)return;let t;switch(e){case`balanced`:t=O.WebRTCBundlePolicy.BALANCED;break;case`max-compat`:t=O.WebRTCBundlePolicy.MAX_COMPAT;break;case`max-bundle`:t=O.WebRTCBundlePolicy.MAX_BUNDLE;break;default:return}try{this._webrtcbin.bundle_policy=t}catch{}}get signalingState(){if(this._closed)return`closed`;try{return s(this._webrtcbin.signaling_state)}catch{return`stable`}}get connectionState(){if(this._closed)return`closed`;try{return i(this._webrtcbin.connection_state)}catch{return`new`}}get iceConnectionState(){if(this._closed)return`closed`;try{return a(this._webrtcbin.ice_connection_state)}catch{return`new`}}get iceGatheringState(){try{return o(this._webrtcbin.ice_gathering_state)}catch{return`new`}}_descProp(e){try{let t=this._webrtcbin[e];return t?f.fromGstDesc(t):null}catch{return null}}get localDescription(){return this._descProp(`local_description`)}get remoteDescription(){return this._descProp(`remote_description`)}get currentLocalDescription(){return this._descProp(`current_local_description`)}get currentRemoteDescription(){return this._descProp(`current_remote_description`)}get pendingLocalDescription(){return this._descProp(`pending_local_description`)}get pendingRemoteDescription(){return this._descProp(`pending_remote_description`)}get sctp(){return this._sctpTransport}get peerIdentity(){return Promise.reject(TypeError(`peerIdentity assertions are not implemented`))}get idpErrorInfo(){return null}get idpLoginUrl(){return null}_rejectIfClosed(e){if(this._closed)throw new E(`RTCPeerConnection.${e}: connection is closed`,`InvalidStateError`)}async createOffer(t){this._rejectIfClosed(`createOffer`);let n=e.Structure.new_empty(`offer-options`);this._iceRestartNeeded&&=(this._setStructureField(n,`ice-restart`,`boolean`,!0),!1);let r=(await d(e=>{this._webrtcbin.emit(`create-offer`,n,e)})).get_value(`offer`);return f.fromGstDesc(r).toJSON()}async createAnswer(t){this._rejectIfClosed(`createAnswer`);let n=e.Structure.new_empty(`answer-options`),r=(await d(e=>{this._webrtcbin.emit(`create-answer`,n,e)})).get_value(`answer`);return f.fromGstDesc(r).toJSON()}async setLocalDescription(t){if(this._rejectIfClosed(`setLocalDescription`),!t||!t.type||!t.sdp){let e=this.signalingState;if(e===`stable`||e===`have-local-offer`)t=await this.createOffer();else if(e===`have-remote-offer`||e===`have-remote-pranswer`)t=await this.createAnswer();else throw new E(`setLocalDescription: cannot auto-create SDP in signalingState '${e}'`,`InvalidStateError`)}this._pipeline.set_state(e.State.PLAYING);let n=new f(t).toGstDesc();await d(e=>{this._webrtcbin.emit(`set-local-description`,n,e)})}async setRemoteDescription(t){if(this._rejectIfClosed(`setRemoteDescription`),!t||!t.sdp||!t.type)throw TypeError(`setRemoteDescription requires an RTCSessionDescriptionInit with sdp and type`);this._pipeline.set_state(e.State.PLAYING);let n=new f(t).toGstDesc();await d(e=>{this._webrtcbin.emit(`set-remote-description`,n,e)}),this.signalingState===`stable`&&(this._hasNegotiated=!0)}async addIceCandidate(e){if(this._rejectIfClosed(`addIceCandidate`),!e)return;let{candidate:t,sdpMLineIndex:n}=e;typeof t!=`string`||typeof n!=`number`||this._webrtcbin.emit(`add-ice-candidate`,n,t)}createDataChannel(t,n={}){if(this._closed)throw new E(`Cannot create a data channel on a closed RTCPeerConnection`,`InvalidStateError`);if(typeof t!=`string`)throw TypeError(`createDataChannel: label must be a string`);if(new TextEncoder().encode(t).byteLength>65535)throw TypeError(`createDataChannel: label too long (> 65535 bytes)`);let r=n.maxPacketLifeTime==null?void 0:j(`maxPacketLifeTime`,n.maxPacketLifeTime),i=n.maxRetransmits==null?void 0:j(`maxRetransmits`,n.maxRetransmits),a=n.id==null?void 0:j(`id`,n.id);if(r!==void 0&&i!==void 0)throw TypeError(`createDataChannel: maxPacketLifeTime and maxRetransmits are mutually exclusive`);if(n.negotiated===!0&&a===void 0)throw TypeError(`createDataChannel: negotiated=true requires an id`);if(a===65535)throw TypeError(`createDataChannel: id 65535 is reserved`);let o=e.Structure.new_empty(`data-channel-opts`);this._setStructureField(o,`ordered`,`boolean`,n.ordered),this._setStructureField(o,`max-packet-lifetime`,`int`,r),this._setStructureField(o,`max-retransmits`,`int`,i),this._setStructureField(o,`protocol`,`string`,n.protocol),this._setStructureField(o,`negotiated`,`boolean`,n.negotiated),this._setStructureField(o,`id`,`int`,a);let s=null;try{s=this._webrtcbin.emit(`create-data-channel`,t,o)}catch(e){throw Error(`create-data-channel failed: ${e?.message??e}`)}if(!s)throw Error(`webrtcbin returned null data channel (check id/label/options)`);this._ensureSctpTransport();let c=new g(s);return this._dataChannels.set(s,c),c.addEventListener(`close`,()=>{this._dataChannels.delete(s)}),c}_setStructureField(e,t,n,r){if(r==null)return;let i=new A.Value;n===`boolean`?(i.init(A.TYPE_BOOLEAN),i.set_boolean(!!r)):n===`int`?(i.init(A.TYPE_INT),i.set_int(Number(r))):n===`string`&&(i.init(A.TYPE_STRING),i.set_string(String(r))),e.set_value(t,i),i.unset()}getConfiguration(){return{...this._conf}}close(){this._closed||(this._closed=!0,D.idle_add(D.PRIORITY_DEFAULT,()=>{try{this._pipeline.set_state(e.State.NULL)}catch{}for(let e of this._dataChannels.values())try{e._disconnectSignals()}catch{}this._dataChannels.clear();for(let e of this._senders)try{e._teardownPipeline()}catch{}for(let e of this._receivers)try{e._dispose()}catch{}this._transceivers.clear(),this._senders.length=0,this._receivers.length=0,this._dtlsTransport&&this._dtlsTransport._setState(`closed`),this._iceTransport&&this._iceTransport._setState(`closed`),this._sctpTransport&&this._sctpTransport._setState(`closed`);try{this._bridge.dispose_bridge()}catch{}return D.SOURCE_REMOVE}))}addTransceiver(t,r){this._rejectIfClosed(`addTransceiver`);let i;if(typeof t==`string`){if(t!==`audio`&&t!==`video`)throw TypeError(`Failed to execute 'addTransceiver' on 'RTCPeerConnection': The provided value '${t}' is not a valid enum value of type MediaStreamTrackKind.`);i=t}else if(t instanceof n)i=t.kind;else throw TypeError(`Failed to execute 'addTransceiver' on 'RTCPeerConnection': parameter 1 is not of type 'MediaStreamTrack' or a valid MediaStreamTrackKind.`);if(r?.sendEncodings){let e=new Set;for(let t of r.sendEncodings){if(t.rid!==void 0){if(typeof t.rid!=`string`||t.rid.length===0||t.rid.length>16||!/^[a-zA-Z0-9]+$/.test(t.rid))throw TypeError(`Invalid RID value: ${t.rid}`);if(e.has(t.rid))throw TypeError(`Duplicate RID: ${t.rid}`);e.add(t.rid)}if(t.scaleResolutionDownBy!==void 0&&t.scaleResolutionDownBy<1)throw RangeError(`scaleResolutionDownBy must be >= 1.0`)}}let a=r?.direction??`sendrecv`;if(![`sendrecv`,`sendonly`,`recvonly`,`inactive`].includes(a))throw TypeError(`Failed to execute 'addTransceiver' on 'RTCPeerConnection': The provided value '${a}' is not a valid enum value of type RTCRtpTransceiverDirection.`);let o=t instanceof n&&t._gstSource,s=a===`sendrecv`||a===`sendonly`,l,u;if(o&&s){let e=t,n=new _(null,this._pipeline,this._webrtcbin);if(n._kind=i,n._onPipelineChanged=e=>{this._pipeline=e},n._setTrack(e),n._wirePipeline(e),l=this._findNewGstTransceiver(),!l)throw Error(`webrtcbin did not create a transceiver for the send pad`);let r=l.receiver??null,o=new v(i,r,this._pipeline),s=e=>this.getStats(e);n._getStatsForTrack=s,o._getStatsForTrack=s;let d=this._ensureTransports();n._transport=d,o._transport=d,u=new y(l,n,o),n._transceiver=u,this._transceivers.set(l,u),this._senders.push(n),this._receivers.push(o),l.direction=c(a)}else{let r=e.Caps.from_string(`application/x-rtp,media=${i}`),o=c(a===`inactive`?`sendrecv`:a);if(l=this._webrtcbin.emit(`add-transceiver`,o,r),!l)throw Error(`webrtcbin did not create a transceiver`);u=this._transceivers.get(l),u||=this._createTransceiverWrapper(l),l.direction=c(a),t instanceof n&&u.sender._setTrack(t)}return u}addTrack(e,...t){if(this._rejectIfClosed(`addTrack`),!(e instanceof n))throw TypeError(`Failed to execute 'addTrack' on 'RTCPeerConnection': parameter 1 is not a MediaStreamTrack`);if(this._senders.find(t=>t.track===e))throw new E(`Track already exists in a sender of this connection`,`InvalidAccessError`);let r;for(let t of this._transceivers.values())if(t.sender.track===null&&!t.stopped&&t.direction!==`stopped`&&t.receiver.track.kind===e.kind){let e=t.direction;if(e===`recvonly`||e===`inactive`){r=t;break}}if(r){let t=r.direction;return r.direction=t===`recvonly`?`sendrecv`:`sendonly`,r.sender._setTrack(e),r.sender}return this.addTransceiver(e,{direction:`sendrecv`}).sender}removeTrack(e){if(this._rejectIfClosed(`removeTrack`),!this._senders.includes(e))throw new E(`sender was not created by this connection`,`InvalidAccessError`);e._setTrack(null)}getSenders(){return[...this._senders]}getReceivers(){return[...this._receivers]}getTransceivers(){return[...this._transceivers.values()]}async getStats(e){if(this._rejectIfClosed(`getStats`),e!=null&&e instanceof n){let t=this._senders.some(t=>t.track===e),n=this._receivers.some(t=>t.track===e);if(!t&&!n)throw new E(`The selector track is not associated with a sender or receiver of this connection`,`InvalidAccessError`)}let t=u(await d(e=>{this._webrtcbin.emit(`get-stats`,null,e)}));return e!=null&&e instanceof n?l(t,e.id):t}restartIce(){this._closed||(this._iceRestartNeeded=!0,this._hasNegotiated&&Promise.resolve().then(()=>{this._closed||this._handleNegotiationNeeded()}))}setConfiguration(e){if(this._rejectIfClosed(`setConfiguration`),e.bundlePolicy&&e.bundlePolicy!==(this._conf.bundlePolicy??`balanced`))throw new E(`setConfiguration: bundlePolicy cannot be changed`,`InvalidModificationError`);if(e.rtcpMuxPolicy&&e.rtcpMuxPolicy!==(this._conf.rtcpMuxPolicy??`require`))throw new E(`setConfiguration: rtcpMuxPolicy cannot be changed`,`InvalidModificationError`);e.iceServers&&this._applyIceServers(e.iceServers),e.iceTransportPolicy&&this._applyIceTransportPolicy(e.iceTransportPolicy),this._conf={...this._conf,...e}}getIdentityAssertion(){return Promise.reject(Error(`getIdentityAssertion is not implemented`))}_findNewGstTransceiver(){for(let e=0;;e++){let t=this._webrtcbin.emit(`get-transceiver`,e);if(!t)return null;if(!this._transceivers.has(t))return t}}_ensureTransports(){return this._dtlsTransport||=(this._iceTransport=new x,new S(this._iceTransport)),this._dtlsTransport}_ensureSctpTransport(){if(this._sctpTransport)return;let e=this._ensureTransports();this._sctpTransport=new C(e)}_createTransceiverWrapper(e){let t=`audio`;try{e.kind===O.WebRTCKind.VIDEO&&(t=`video`)}catch{}let n=e.receiver??null,r=e.sender??null,i=new v(t,n,this._pipeline),a=new _(r,this._pipeline,this._webrtcbin);a._kind=t,a._onPipelineChanged=e=>{this._pipeline=e};let o=e=>this.getStats(e);a._getStatsForTrack=o,i._getStatsForTrack=o;let s=this._ensureTransports();a._transport=s,i._transport=s;try{let t=e.mlineindex;typeof t==`number`&&t>=0&&a._setMlineIndex(t)}catch{}let c=new y(e,a,i);return a._transceiver=c,this._transceivers.set(e,c),this._senders.push(a),this._receivers.push(i),c}_handleNegotiationNeeded(){let e=new Event(`negotiationneeded`);this._onnegotiationneeded?.call(this,e),this.dispatchEvent(e)}_handleIceCandidate(e,t){let n=new h(`icecandidate`,{candidate:new p({candidate:t,sdpMLineIndex:e})});this._onicecandidate?.call(this,n),this.dispatchEvent(n)}_handleNewTransceiver(e){this._closed||this._transceivers.has(e)||this._createTransceiverWrapper(e)}_handlePadAdded(t){if(this._closed||t.direction!==e.PadDirection.SRC)return;let n=t.transceiver;if(!n)return;let i=this._transceivers.get(n);i||=this._createTransceiverWrapper(n),i.receiver._connectToPad(t);let a=new r([i.receiver.track]),o=new b(`track`,{receiver:i.receiver,track:i.receiver.track,streams:[a],transceiver:i});this._ontrack?.call(this,o),this.dispatchEvent(o)}_handleDataChannel(e){this._ensureSctpTransport();let t=e.channel,n=this._dataChannels.get(t);n||(n=new g(e),this._dataChannels.set(t,n),n.addEventListener(`close`,()=>{this._dataChannels.delete(t)}));let r=new m(`datachannel`,{channel:n});this._ondatachannel?.call(this,r),this.dispatchEvent(r)}_dispatchStateChange(e){e===`connectionstatechange`?this._syncDtlsState():e===`iceconnectionstatechange`?this._syncIceState():e===`icegatheringstatechange`&&this._syncIceGatheringState();let t=new Event(e);switch(e){case`connectionstatechange`:this._onconnectionstatechange?.call(this,t);break;case`iceconnectionstatechange`:this._oniceconnectionstatechange?.call(this,t);break;case`icegatheringstatechange`:this._onicegatheringstatechange?.call(this,t);break;case`signalingstatechange`:this._onsignalingstatechange?.call(this,t);break}this.dispatchEvent(t)}_syncDtlsState(){if(!this._dtlsTransport)return;let e=this.connectionState;this._dtlsTransport._setState({new:`new`,connecting:`connecting`,connected:`connected`,disconnected:`connected`,failed:`failed`,closed:`closed`}[e]??`new`),e===`connected`&&this._sctpTransport&&this._sctpTransport._setState(`connected`)}_syncIceState(){if(!this._iceTransport)return;let e=this.iceConnectionState;this._iceTransport._setState(e)}_syncIceGatheringState(){if(!this._iceTransport)return;let e=this.iceGatheringState;this._iceTransport._setGatheringState(e)}_onconnectionstatechange=null;_ondatachannel=null;_onicecandidate=null;_oniceconnectionstatechange=null;_onicegatheringstatechange=null;_onnegotiationneeded=null;_onsignalingstatechange=null;get onconnectionstatechange(){return this._onconnectionstatechange}set onconnectionstatechange(e){this._onconnectionstatechange=e}get ondatachannel(){return this._ondatachannel}set ondatachannel(e){this._ondatachannel=e}get onicecandidate(){return this._onicecandidate}set onicecandidate(e){this._onicecandidate=e}get oniceconnectionstatechange(){return this._oniceconnectionstatechange}set oniceconnectionstatechange(e){this._oniceconnectionstatechange=e}get onicegatheringstatechange(){return this._onicegatheringstatechange}set onicegatheringstatechange(e){this._onicegatheringstatechange=e}get onnegotiationneeded(){return this._onnegotiationneeded}set onnegotiationneeded(e){this._onnegotiationneeded=e}get onsignalingstatechange(){return this._onsignalingstatechange}set onsignalingstatechange(e){this._onsignalingstatechange=e}_ontrack=null;get ontrack(){return this._ontrack}set ontrack(e){this._ontrack=e}get onicecandidateerror(){return null}set onicecandidateerror(e){}static generateCertificate(e){return T(e)}};export{N as RTCPeerConnection};
1
+ import{Gst as e,ensureWebrtcbinAvailable as t}from"./gst-init.js";import{MediaStreamTrack as n}from"./media-stream-track.js";import{MediaStream as r}from"./media-stream.js";import{gstToConnectionState as i,gstToIceConnectionState as a,gstToIceGatheringState as o,gstToSignalingState as s,w3cDirectionToGst as c}from"./gst-enum-maps.js";import{filterStatsByTrackId as l,parseGstStats as u}from"./gst-stats-parser.js";import{withGstPromise as d}from"./gst-utils.js";import{RTCSessionDescription as f}from"./rtc-session-description.js";import{RTCIceCandidate as p}from"./rtc-ice-candidate.js";import{RTCDataChannelEvent as m,RTCPeerConnectionIceEvent as h}from"./rtc-events.js";import{RTCDataChannel as g}from"./rtc-data-channel.js";import{RTCRtpSender as _}from"./rtc-rtp-sender.js";import{RTCRtpReceiver as v}from"./rtc-rtp-receiver.js";import{RTCRtpTransceiver as y}from"./rtc-rtp-transceiver.js";import{RTCTrackEvent as b}from"./rtc-track-event.js";import{RTCIceTransport as x}from"./rtc-ice-transport.js";import{RTCDtlsTransport as S}from"./rtc-dtls-transport.js";import{RTCSctpTransport as C}from"./rtc-sctp-transport.js";import{RTCCertificate as w,generateCertificate as T}from"./rtc-certificate.js";import{DOMException as E}from"@gjsify/dom-exception";import D from"gi://GLib?version=2.0";import O from"gi://GstWebRTC?version=1.0";import{WebrtcbinBridge as k}from"@gjsify/webrtc-native";import A from"gi://GObject?version=2.0";function coerceUnsignedShort(e,t){let n=Number(t);if(!Number.isFinite(n))throw TypeError(`createDataChannel: ${e} must be a finite number, got ${String(t)}`);let r=Math.trunc(n);if(r<0||r>65535)throw TypeError(`createDataChannel: ${e}=${r} is outside the [0, 65535] range`);return r}let j=0;var RTCPeerConnection=class extends EventTarget{_pipeline;_webrtcbin;_bridge;_conf;_closed=!1;_iceRestartNeeded=!1;_hasNegotiated=!1;_dataChannels=new Map;_transceivers=new Map;_senders=[];_receivers=[];_iceTransport=null;_dtlsTransport=null;_sctpTransport=null;canTrickleIceCandidates=!0;constructor(n){super(),t();let[r,i]=e.version();if(r<1||r===1&&i<20)throw new E(`@gjsify/webrtc requires GStreamer >= 1.20 (you have ${r}.${i}). webrtcbin is only stable from 1.20 onward.`,`NotSupportedError`);let a=++j;this._pipeline=new e.Pipeline({name:`gjsify-webrtc-pipeline-${a}`});let o=e.ElementFactory.make(`webrtcbin`,`gjsify-webrtcbin-${a}`);if(!o)throw Error(`Failed to create webrtcbin element`);if(this._webrtcbin=o,this._conf={...n},n?.certificates){for(let e of n.certificates)if(e instanceof w&&e.expires<=Date.now())throw new E(`RTCPeerConnection: one of the provided certificates has expired`,`InvalidAccessError`)}this._applyIceServers(n?.iceServers??[]),this._applyIceTransportPolicy(n?.iceTransportPolicy),this._applyBundlePolicy(n?.bundlePolicy),this._pipeline.add(this._webrtcbin),this._bridge=new k({bin:this._webrtcbin}),this._bridge.connect(`negotiation-needed`,()=>this._handleNegotiationNeeded()),this._bridge.connect(`icecandidate`,(e,t,n)=>this._handleIceCandidate(t,n)),this._bridge.connect(`datachannel`,(e,t)=>this._handleDataChannel(t)),this._bridge.connect(`new-transceiver`,(e,t)=>this._handleNewTransceiver(t)),this._bridge.connect(`pad-added`,(e,t)=>this._handlePadAdded(t)),this._bridge.connect(`connection-state-changed`,()=>this._dispatchStateChange(`connectionstatechange`)),this._bridge.connect(`ice-connection-state-changed`,()=>this._dispatchStateChange(`iceconnectionstatechange`)),this._bridge.connect(`ice-gathering-state-changed`,()=>this._dispatchStateChange(`icegatheringstatechange`)),this._bridge.connect(`signaling-state-changed`,()=>this._dispatchStateChange(`signalingstatechange`)),this._pipeline.set_state(e.State.PLAYING)}_applyIceServers(e){let t=!1;for(let n of e){let e=Array.isArray(n.urls)?n.urls:[n.urls];if(e.length===0)throw SyntaxError(`RTCIceServer.urls must not be empty`);for(let r of e){if(typeof r!=`string`||r.length===0)throw TypeError(`RTCIceServer.urls entries must be non-empty strings`);let e=r.indexOf(`:`);if(e<0)throw TypeError(`Invalid ICE server URL "${r}"`);let i=r.slice(0,e+1),a=r.slice(e+1);if(i===`stun:`||i===`stuns:`){if(t)continue;this._webrtcbin.stun_server=`${i}//${a}`,t=!0}else if(i===`turn:`||i===`turns:`){if(typeof n.username!=`string`||typeof n.credential!=`string`)throw TypeError(`TURN server credential for ${r} missing`);let e=`${i}//${encodeURIComponent(n.username)}:${encodeURIComponent(n.credential)}@${a}`;try{this._webrtcbin.emit(`add-turn-server`,e)}catch{this._webrtcbin.turn_server=e}}else throw TypeError(`Unsupported ICE server protocol "${i}"`)}}}_applyIceTransportPolicy(e){if(!e)return;let t=e===`relay`?O.WebRTCICETransportPolicy.RELAY:O.WebRTCICETransportPolicy.ALL;try{this._webrtcbin.ice_transport_policy=t}catch{}}_applyBundlePolicy(e){if(!e)return;let t;switch(e){case`balanced`:t=O.WebRTCBundlePolicy.BALANCED;break;case`max-compat`:t=O.WebRTCBundlePolicy.MAX_COMPAT;break;case`max-bundle`:t=O.WebRTCBundlePolicy.MAX_BUNDLE;break;default:return}try{this._webrtcbin.bundle_policy=t}catch{}}get signalingState(){if(this._closed)return`closed`;try{return s(this._webrtcbin.signaling_state)}catch{return`stable`}}get connectionState(){if(this._closed)return`closed`;try{return i(this._webrtcbin.connection_state)}catch{return`new`}}get iceConnectionState(){if(this._closed)return`closed`;try{return a(this._webrtcbin.ice_connection_state)}catch{return`new`}}get iceGatheringState(){try{return o(this._webrtcbin.ice_gathering_state)}catch{return`new`}}_descProp(e){try{let t=this._webrtcbin[e];return t?f.fromGstDesc(t):null}catch{return null}}get localDescription(){return this._descProp(`local_description`)}get remoteDescription(){return this._descProp(`remote_description`)}get currentLocalDescription(){return this._descProp(`current_local_description`)}get currentRemoteDescription(){return this._descProp(`current_remote_description`)}get pendingLocalDescription(){return this._descProp(`pending_local_description`)}get pendingRemoteDescription(){return this._descProp(`pending_remote_description`)}get sctp(){return this._sctpTransport}get peerIdentity(){return Promise.reject(TypeError(`peerIdentity assertions are not implemented`))}get idpErrorInfo(){return null}get idpLoginUrl(){return null}_rejectIfClosed(e){if(this._closed)throw new E(`RTCPeerConnection.${e}: connection is closed`,`InvalidStateError`)}async createOffer(t){this._rejectIfClosed(`createOffer`);let n=e.Structure.new_empty(`offer-options`);this._iceRestartNeeded&&=(this._setStructureField(n,`ice-restart`,`boolean`,!0),!1);let r=(await d(e=>{this._webrtcbin.emit(`create-offer`,n,e)})).get_value(`offer`);return f.fromGstDesc(r).toJSON()}async createAnswer(t){this._rejectIfClosed(`createAnswer`);let n=e.Structure.new_empty(`answer-options`),r=(await d(e=>{this._webrtcbin.emit(`create-answer`,n,e)})).get_value(`answer`);return f.fromGstDesc(r).toJSON()}async setLocalDescription(t){if(this._rejectIfClosed(`setLocalDescription`),!t||!t.type||!t.sdp){let e=this.signalingState;if(e===`stable`||e===`have-local-offer`)t=await this.createOffer();else if(e===`have-remote-offer`||e===`have-remote-pranswer`)t=await this.createAnswer();else throw new E(`setLocalDescription: cannot auto-create SDP in signalingState '${e}'`,`InvalidStateError`)}this._pipeline.set_state(e.State.PLAYING);let n=new f(t).toGstDesc();await d(e=>{this._webrtcbin.emit(`set-local-description`,n,e)})}async setRemoteDescription(t){if(this._rejectIfClosed(`setRemoteDescription`),!t||!t.sdp||!t.type)throw TypeError(`setRemoteDescription requires an RTCSessionDescriptionInit with sdp and type`);this._pipeline.set_state(e.State.PLAYING);let n=new f(t).toGstDesc();await d(e=>{this._webrtcbin.emit(`set-remote-description`,n,e)}),this.signalingState===`stable`&&(this._hasNegotiated=!0)}async addIceCandidate(e){if(this._rejectIfClosed(`addIceCandidate`),!e)return;let{candidate:t,sdpMLineIndex:n}=e;typeof t!=`string`||typeof n!=`number`||this._webrtcbin.emit(`add-ice-candidate`,n,t)}createDataChannel(t,n={}){if(this._closed)throw new E(`Cannot create a data channel on a closed RTCPeerConnection`,`InvalidStateError`);if(typeof t!=`string`)throw TypeError(`createDataChannel: label must be a string`);if(new TextEncoder().encode(t).byteLength>65535)throw TypeError(`createDataChannel: label too long (> 65535 bytes)`);let r=n.maxPacketLifeTime==null?void 0:coerceUnsignedShort(`maxPacketLifeTime`,n.maxPacketLifeTime),i=n.maxRetransmits==null?void 0:coerceUnsignedShort(`maxRetransmits`,n.maxRetransmits),a=n.id==null?void 0:coerceUnsignedShort(`id`,n.id);if(r!==void 0&&i!==void 0)throw TypeError(`createDataChannel: maxPacketLifeTime and maxRetransmits are mutually exclusive`);if(n.negotiated===!0&&a===void 0)throw TypeError(`createDataChannel: negotiated=true requires an id`);if(a===65535)throw TypeError(`createDataChannel: id 65535 is reserved`);let o=e.Structure.new_empty(`data-channel-opts`);this._setStructureField(o,`ordered`,`boolean`,n.ordered),this._setStructureField(o,`max-packet-lifetime`,`int`,r),this._setStructureField(o,`max-retransmits`,`int`,i),this._setStructureField(o,`protocol`,`string`,n.protocol),this._setStructureField(o,`negotiated`,`boolean`,n.negotiated),this._setStructureField(o,`id`,`int`,a);let s=null;try{s=this._webrtcbin.emit(`create-data-channel`,t,o)}catch(e){throw Error(`create-data-channel failed: ${e?.message??e}`)}if(!s)throw Error(`webrtcbin returned null data channel (check id/label/options)`);this._ensureSctpTransport();let c=new g(s);return this._dataChannels.set(s,c),c.addEventListener(`close`,()=>{this._dataChannels.delete(s)}),c}_setStructureField(e,t,n,r){if(r==null)return;let i=new A.Value;n===`boolean`?(i.init(A.TYPE_BOOLEAN),i.set_boolean(!!r)):n===`int`?(i.init(A.TYPE_INT),i.set_int(Number(r))):n===`string`&&(i.init(A.TYPE_STRING),i.set_string(String(r))),e.set_value(t,i),i.unset()}getConfiguration(){return{...this._conf}}close(){this._closed||(this._closed=!0,D.idle_add(D.PRIORITY_DEFAULT,()=>{try{this._pipeline.set_state(e.State.NULL)}catch{}for(let e of this._dataChannels.values())try{e._disconnectSignals()}catch{}this._dataChannels.clear();for(let e of this._senders)try{e._teardownPipeline()}catch{}for(let e of this._receivers)try{e._dispose()}catch{}this._transceivers.clear(),this._senders.length=0,this._receivers.length=0,this._dtlsTransport&&this._dtlsTransport._setState(`closed`),this._iceTransport&&this._iceTransport._setState(`closed`),this._sctpTransport&&this._sctpTransport._setState(`closed`);try{this._bridge.dispose_bridge()}catch{}return D.SOURCE_REMOVE}))}addTransceiver(t,r){this._rejectIfClosed(`addTransceiver`);let i;if(typeof t==`string`){if(t!==`audio`&&t!==`video`)throw TypeError(`Failed to execute 'addTransceiver' on 'RTCPeerConnection': The provided value '${t}' is not a valid enum value of type MediaStreamTrackKind.`);i=t}else if(t instanceof n)i=t.kind;else throw TypeError(`Failed to execute 'addTransceiver' on 'RTCPeerConnection': parameter 1 is not of type 'MediaStreamTrack' or a valid MediaStreamTrackKind.`);if(r?.sendEncodings){let e=new Set;for(let t of r.sendEncodings){if(t.rid!==void 0){if(typeof t.rid!=`string`||t.rid.length===0||t.rid.length>16||!/^[a-zA-Z0-9]+$/.test(t.rid))throw TypeError(`Invalid RID value: ${t.rid}`);if(e.has(t.rid))throw TypeError(`Duplicate RID: ${t.rid}`);e.add(t.rid)}if(t.scaleResolutionDownBy!==void 0&&t.scaleResolutionDownBy<1)throw RangeError(`scaleResolutionDownBy must be >= 1.0`)}}let a=r?.direction??`sendrecv`;if(![`sendrecv`,`sendonly`,`recvonly`,`inactive`].includes(a))throw TypeError(`Failed to execute 'addTransceiver' on 'RTCPeerConnection': The provided value '${a}' is not a valid enum value of type RTCRtpTransceiverDirection.`);let o=t instanceof n&&t._gstSource,s=a===`sendrecv`||a===`sendonly`,l,u;if(o&&s){let e=t,n=new _(null,this._pipeline,this._webrtcbin);if(n._kind=i,n._onPipelineChanged=e=>{this._pipeline=e},n._setTrack(e),n._wirePipeline(e),l=this._findNewGstTransceiver(),!l)throw Error(`webrtcbin did not create a transceiver for the send pad`);let r=l.receiver??null,o=new v(i,r,this._pipeline),statsDelegate=e=>this.getStats(e);n._getStatsForTrack=statsDelegate,o._getStatsForTrack=statsDelegate;let s=this._ensureTransports();n._transport=s,o._transport=s,u=new y(l,n,o),n._transceiver=u,this._transceivers.set(l,u),this._senders.push(n),this._receivers.push(o),l.direction=c(a)}else{let r=e.Caps.from_string(`application/x-rtp,media=${i}`),o=c(a===`inactive`?`sendrecv`:a);if(l=this._webrtcbin.emit(`add-transceiver`,o,r),!l)throw Error(`webrtcbin did not create a transceiver`);u=this._transceivers.get(l),u||=this._createTransceiverWrapper(l),l.direction=c(a),t instanceof n&&u.sender._setTrack(t)}return u}addTrack(e,...t){if(this._rejectIfClosed(`addTrack`),!(e instanceof n))throw TypeError(`Failed to execute 'addTrack' on 'RTCPeerConnection': parameter 1 is not a MediaStreamTrack`);if(this._senders.find(t=>t.track===e))throw new E(`Track already exists in a sender of this connection`,`InvalidAccessError`);let r;for(let t of this._transceivers.values())if(t.sender.track===null&&!t.stopped&&t.direction!==`stopped`&&t.receiver.track.kind===e.kind){let e=t.direction;if(e===`recvonly`||e===`inactive`){r=t;break}}if(r){let t=r.direction;return r.direction=t===`recvonly`?`sendrecv`:`sendonly`,r.sender._setTrack(e),r.sender}return this.addTransceiver(e,{direction:`sendrecv`}).sender}removeTrack(e){if(this._rejectIfClosed(`removeTrack`),!this._senders.includes(e))throw new E(`sender was not created by this connection`,`InvalidAccessError`);e._setTrack(null)}getSenders(){return[...this._senders]}getReceivers(){return[...this._receivers]}getTransceivers(){return[...this._transceivers.values()]}async getStats(e){if(this._rejectIfClosed(`getStats`),e!=null&&e instanceof n){let t=this._senders.some(t=>t.track===e),n=this._receivers.some(t=>t.track===e);if(!t&&!n)throw new E(`The selector track is not associated with a sender or receiver of this connection`,`InvalidAccessError`)}let t=u(await d(e=>{this._webrtcbin.emit(`get-stats`,null,e)}));return e!=null&&e instanceof n?l(t,e.id):t}restartIce(){this._closed||(this._iceRestartNeeded=!0,this._hasNegotiated&&Promise.resolve().then(()=>{this._closed||this._handleNegotiationNeeded()}))}setConfiguration(e){if(this._rejectIfClosed(`setConfiguration`),e.bundlePolicy&&e.bundlePolicy!==(this._conf.bundlePolicy??`balanced`))throw new E(`setConfiguration: bundlePolicy cannot be changed`,`InvalidModificationError`);if(e.rtcpMuxPolicy&&e.rtcpMuxPolicy!==(this._conf.rtcpMuxPolicy??`require`))throw new E(`setConfiguration: rtcpMuxPolicy cannot be changed`,`InvalidModificationError`);e.iceServers&&this._applyIceServers(e.iceServers),e.iceTransportPolicy&&this._applyIceTransportPolicy(e.iceTransportPolicy),this._conf={...this._conf,...e}}getIdentityAssertion(){return Promise.reject(Error(`getIdentityAssertion is not implemented`))}_findNewGstTransceiver(){for(let e=0;;e++){let t=this._webrtcbin.emit(`get-transceiver`,e);if(!t)return null;if(!this._transceivers.has(t))return t}}_ensureTransports(){return this._dtlsTransport||=(this._iceTransport=new x,new S(this._iceTransport)),this._dtlsTransport}_ensureSctpTransport(){if(this._sctpTransport)return;let e=this._ensureTransports();this._sctpTransport=new C(e)}_createTransceiverWrapper(e){let t=`audio`;try{e.kind===O.WebRTCKind.VIDEO&&(t=`video`)}catch{}let n=e.receiver??null,r=e.sender??null,i=new v(t,n,this._pipeline),a=new _(r,this._pipeline,this._webrtcbin);a._kind=t,a._onPipelineChanged=e=>{this._pipeline=e};let statsDelegate=e=>this.getStats(e);a._getStatsForTrack=statsDelegate,i._getStatsForTrack=statsDelegate;let o=this._ensureTransports();a._transport=o,i._transport=o;try{let t=e.mlineindex;typeof t==`number`&&t>=0&&a._setMlineIndex(t)}catch{}let s=new y(e,a,i);return a._transceiver=s,this._transceivers.set(e,s),this._senders.push(a),this._receivers.push(i),s}_handleNegotiationNeeded(){let e=new Event(`negotiationneeded`);this._onnegotiationneeded?.call(this,e),this.dispatchEvent(e)}_handleIceCandidate(e,t){let n=new h(`icecandidate`,{candidate:new p({candidate:t,sdpMLineIndex:e})});this._onicecandidate?.call(this,n),this.dispatchEvent(n)}_handleNewTransceiver(e){this._closed||this._transceivers.has(e)||this._createTransceiverWrapper(e)}_handlePadAdded(t){if(this._closed||t.direction!==e.PadDirection.SRC)return;let n=t.transceiver;if(!n)return;let i=this._transceivers.get(n);i||=this._createTransceiverWrapper(n),i.receiver._connectToPad(t);let a=new r([i.receiver.track]),o=new b(`track`,{receiver:i.receiver,track:i.receiver.track,streams:[a],transceiver:i});this._ontrack?.call(this,o),this.dispatchEvent(o)}_handleDataChannel(e){this._ensureSctpTransport();let t=e.channel,n=this._dataChannels.get(t);n||(n=new g(e),this._dataChannels.set(t,n),n.addEventListener(`close`,()=>{this._dataChannels.delete(t)}));let r=new m(`datachannel`,{channel:n});this._ondatachannel?.call(this,r),this.dispatchEvent(r)}_dispatchStateChange(e){e===`connectionstatechange`?this._syncDtlsState():e===`iceconnectionstatechange`?this._syncIceState():e===`icegatheringstatechange`&&this._syncIceGatheringState();let t=new Event(e);switch(e){case`connectionstatechange`:this._onconnectionstatechange?.call(this,t);break;case`iceconnectionstatechange`:this._oniceconnectionstatechange?.call(this,t);break;case`icegatheringstatechange`:this._onicegatheringstatechange?.call(this,t);break;case`signalingstatechange`:this._onsignalingstatechange?.call(this,t);break}this.dispatchEvent(t)}_syncDtlsState(){if(!this._dtlsTransport)return;let e=this.connectionState;this._dtlsTransport._setState({new:`new`,connecting:`connecting`,connected:`connected`,disconnected:`connected`,failed:`failed`,closed:`closed`}[e]??`new`),e===`connected`&&this._sctpTransport&&this._sctpTransport._setState(`connected`)}_syncIceState(){if(!this._iceTransport)return;let e=this.iceConnectionState;this._iceTransport._setState(e)}_syncIceGatheringState(){if(!this._iceTransport)return;let e=this.iceGatheringState;this._iceTransport._setGatheringState(e)}_onconnectionstatechange=null;_ondatachannel=null;_onicecandidate=null;_oniceconnectionstatechange=null;_onicegatheringstatechange=null;_onnegotiationneeded=null;_onsignalingstatechange=null;get onconnectionstatechange(){return this._onconnectionstatechange}set onconnectionstatechange(e){this._onconnectionstatechange=e}get ondatachannel(){return this._ondatachannel}set ondatachannel(e){this._ondatachannel=e}get onicecandidate(){return this._onicecandidate}set onicecandidate(e){this._onicecandidate=e}get oniceconnectionstatechange(){return this._oniceconnectionstatechange}set oniceconnectionstatechange(e){this._oniceconnectionstatechange=e}get onicegatheringstatechange(){return this._onicegatheringstatechange}set onicegatheringstatechange(e){this._onicegatheringstatechange=e}get onnegotiationneeded(){return this._onnegotiationneeded}set onnegotiationneeded(e){this._onnegotiationneeded=e}get onsignalingstatechange(){return this._onsignalingstatechange}set onsignalingstatechange(e){this._onsignalingstatechange=e}_ontrack=null;get ontrack(){return this._ontrack}set ontrack(e){this._ontrack=e}get onicecandidateerror(){return null}set onicecandidateerror(e){}static generateCertificate(e){return T(e)}};export{RTCPeerConnection};
@@ -1 +1 @@
1
- import{MediaStreamTrack as e}from"./media-stream-track.js";import{getRtpCapabilities as t}from"./rtp-capabilities.js";import{ReceiverBridge as n}from"@gjsify/webrtc-native";const r=4e3;var i=class{_gstReceiver;_track;_jitterBufferTarget=null;_pipeline=null;_receiverBridge=null;_getStatsForTrack=null;constructor(t,n,r){this._gstReceiver=n,this._pipeline=r??null,this._track=new e({kind:t,muted:!0})}_connectToPad(e){!this._pipeline||this._receiverBridge||(this._receiverBridge=new n({pipeline:this._pipeline,kind:this._track.kind}),this._receiverBridge.connect_to_pad(e),this._receiverBridge.connect(`media-flowing`,()=>{this._track._setMuted(!1)}))}_dispose(){try{this._receiverBridge?.dispose_bridge()}catch{}this._receiverBridge=null}_transport=null;get track(){return this._track}get transport(){return this._transport}get jitterBufferTarget(){return this._jitterBufferTarget}set jitterBufferTarget(e){if(e===null){this._jitterBufferTarget=null;return}let t=Number(e);if(!Number.isFinite(t)||t<0)throw RangeError(`Failed to set jitterBufferTarget: ${e} is negative or not finite`);if(t>r)throw RangeError(`Failed to set jitterBufferTarget: ${e} exceeds maximum of ${r}`);this._jitterBufferTarget=t}getParameters(){return{codecs:[],headerExtensions:[],rtcp:{}}}getContributingSources(){return[]}getSynchronizationSources(){return[]}async getStats(){if(this._getStatsForTrack&&this._track)return this._getStatsForTrack(this._track);let{RTCStatsReport:e}=await import(`./rtc-stats-report.js`);return new e}static getCapabilities(e){return t(e)}};export{i as RTCRtpReceiver};
1
+ import{MediaStreamTrack as e}from"./media-stream-track.js";import{getRtpCapabilities as t}from"./rtp-capabilities.js";import{ReceiverBridge as n}from"@gjsify/webrtc-native";const r=4e3;var RTCRtpReceiver=class{_gstReceiver;_track;_jitterBufferTarget=null;_pipeline=null;_receiverBridge=null;_getStatsForTrack=null;constructor(t,n,r){this._gstReceiver=n,this._pipeline=r??null,this._track=new e({kind:t,muted:!0})}_connectToPad(e){!this._pipeline||this._receiverBridge||(this._receiverBridge=new n({pipeline:this._pipeline,kind:this._track.kind}),this._receiverBridge.connect_to_pad(e),this._receiverBridge.connect(`media-flowing`,()=>{this._track._setMuted(!1)}))}_dispose(){try{this._receiverBridge?.dispose_bridge()}catch{}this._receiverBridge=null}_transport=null;get track(){return this._track}get transport(){return this._transport}get jitterBufferTarget(){return this._jitterBufferTarget}set jitterBufferTarget(e){if(e===null){this._jitterBufferTarget=null;return}let t=Number(e);if(!Number.isFinite(t)||t<0)throw RangeError(`Failed to set jitterBufferTarget: ${e} is negative or not finite`);if(t>r)throw RangeError(`Failed to set jitterBufferTarget: ${e} exceeds maximum of ${r}`);this._jitterBufferTarget=t}getParameters(){return{codecs:[],headerExtensions:[],rtcp:{}}}getContributingSources(){return[]}getSynchronizationSources(){return[]}async getStats(){if(this._getStatsForTrack&&this._track)return this._getStatsForTrack(this._track);let{RTCStatsReport:e}=await import(`./rtc-stats-report.js`);return new e}static getCapabilities(e){return t(e)}};export{RTCRtpReceiver};
@@ -1 +1 @@
1
- import{Gst as e}from"./gst-init.js";import{getRtpCapabilities as t}from"./rtp-capabilities.js";import{RTCDTMFSender as n}from"./rtc-dtmf-sender.js";import{TeeMultiplexer as r}from"./tee-multiplexer.js";let i=0;var a=class{_gstSender;_track=null;_lastParams=null;_pipeline=null;_webrtcbin=null;_mlineIndex=-1;_elements=[];_valve=null;_linked=!1;_teeSrcPad=null;_getStatsForTrack=null;_transport=null;_dtmf=null;_kind=null;_transceiver=null;_onPipelineChanged=null;constructor(e,t,n){this._gstSender=e,this._pipeline=t??null,this._webrtcbin=n??null}get track(){return this._track}get dtmf(){if((this._track?.kind??this._kind)!==`audio`)return null;if(!this._dtmf){let e=new n;e._isStopped=()=>this._transceiver?.stopped??!1,e._getCurrentDirection=()=>this._transceiver?.currentDirection??null,this._dtmf=e}return this._dtmf}get transport(){return this._transport}_setTrack(e){e===null&&this._linked&&this._teardownPipeline(),this._track=e}_setMlineIndex(e){this._mlineIndex=e}_wirePipeline(t){if(this._linked||!this._pipeline||!this._webrtcbin)return;let n=t._gstSource;if(!n)return;let i=t,a;if(i._gstTee&&i._gstPipeline&&i._gstPipeline!==this._pipeline){let t=i._gstPipeline,n=i._gstTee;this._webrtcbin.get_parent()===this._pipeline&&(this._pipeline.set_state(e.State.NULL),this._pipeline.remove(this._webrtcbin)),t.add(this._webrtcbin),this._webrtcbin.sync_state_with_parent(),this._pipeline=t,this._onPipelineChanged?.(t);let r=n.request_pad_simple?n.request_pad_simple(`src_%u`):n.get_request_pad(`src_%u`);this._teeSrcPad=r,a=null}else if(i._teeMultiplexer){let e=i._teeMultiplexer.requestSrcPad();this._teeSrcPad=e,a=null}else if(i._gstPipeline&&i._gstPipeline!==this._pipeline){let t=i._gstPipeline,o=n.get_static_pad(`src`),s=o?.get_peer?.();s&&o.unlink(s),n.set_state(e.State.NULL),t.remove(n),this._pipeline.add(n),i._gstPipeline=this._pipeline;let c=new r(this._pipeline,n);if(i._teeMultiplexer=c,s){let e=c.requestSrcPad();e&&e.link(s)}let l=c.requestSrcPad();this._teeSrcPad=l,a=null}else{let t=i._gstPipeline;t&&t!==this._pipeline&&(n.set_state(e.State.NULL),t.remove(n),i._gstPipeline=this._pipeline),n.get_parent()!==this._pipeline&&this._pipeline.add(n),a=n}let o=e.ElementFactory.make(`valve`,null);o.drop=!t.enabled,this._valve=o,this._pipeline.add(o);let s=[o],c;if(t.kind===`audio`){let t=e.ElementFactory.make(`audioconvert`,null),n=e.ElementFactory.make(`audioresample`,null),r=e.ElementFactory.make(`opusenc`,null),i=e.ElementFactory.make(`rtpopuspay`,null);i.pt=111;let l=e.ElementFactory.make(`capsfilter`,null);l.caps=e.Caps.from_string(`application/x-rtp,media=audio,encoding-name=OPUS,clock-rate=48000,payload=111`),s.push(t,n,r,i,l);for(let e of s)this._pipeline.add(e);if(this._teeSrcPad){let e=o.get_static_pad(`sink`);this._teeSrcPad.link(e)}else a&&a.link(o);o.link(t),t.link(n),n.link(r),r.link(i),i.link(l),c=l}else{let t=e.ElementFactory.make(`videoconvert`,null),n=e.ElementFactory.make(`videoscale`,null),r=e.ElementFactory.make(`vp8enc`,null);r.deadline=1,r.keyframe_max_dist=60;let i=e.ElementFactory.make(`rtpvp8pay`,null);i.pt=96;let l=e.ElementFactory.make(`capsfilter`,null);l.caps=e.Caps.from_string(`application/x-rtp,media=video,encoding-name=VP8,clock-rate=90000,payload=96`),s.push(t,n,r,i,l);for(let e of s)this._pipeline.add(e);if(this._teeSrcPad){let e=o.get_static_pad(`sink`);this._teeSrcPad.link(e)}else a&&a.link(o);o.link(t),t.link(n),n.link(r),r.link(i),i.link(l),c=l}let l=this._mlineIndex>=0?`sink_${this._mlineIndex}`:`sink_%u`,u=this._webrtcbin.request_pad_simple?this._webrtcbin.request_pad_simple(l):this._webrtcbin.get_request_pad(l);u&&c.get_static_pad(`src`).link(u);let d=this._teeSrcPad?s:[n,...s];for(let e of d)e.sync_state_with_parent();this._elements=d,this._linked=!0,t._setEnableCallback(e=>{this._valve&&(this._valve.drop=!e)})}_teardownPipeline(){if(this._linked){if(this._track&&this._track._setEnableCallback(null),this._teeSrcPad&&this._track?._teeMultiplexer){try{this._track._teeMultiplexer.releaseSrcPad(this._teeSrcPad)}catch{}this._teeSrcPad=null}for(let t of[...this._elements].reverse())try{t.set_state(e.State.NULL),this._pipeline?.remove(t)}catch{}this._elements=[],this._valve=null,this._linked=!1}}getParameters(){return this._lastParams||={transactionId:String(++i),encodings:[],codecs:[],headerExtensions:[],rtcp:{}},{...this._lastParams,encodings:[...this._lastParams.encodings]}}async setParameters(e){if(!this._lastParams)throw new DOMException(`getParameters must be called before setParameters`,`InvalidStateError`);if(e.transactionId!==this._lastParams.transactionId)throw new DOMException(`transactionId mismatch`,`InvalidModificationError`);this._lastParams=null}async replaceTrack(t){if(t===null){this._teardownPipeline(),this._track=null;return}if(this._track!==null&&t.kind!==this._track.kind)throw TypeError(`Cannot replace track with different kind`);if(this._linked&&t._gstSource){let n=this._elements[0],r=t._gstSource,i=t._gstPipeline;i&&i!==this._pipeline&&(r.set_state(e.State.NULL),i.remove(r),t._gstPipeline=this._pipeline),n.set_state(e.State.NULL),n.unlink(this._valve),this._pipeline.remove(n),this._pipeline.add(r),r.link(this._valve),r.sync_state_with_parent(),this._elements[0]=r}else t._gstSource&&this._wirePipeline(t);this._track&&this._track._setEnableCallback(null),this._track=t,this._linked&&t._setEnableCallback(e=>{this._valve&&(this._valve.drop=!e)})}async getStats(){if(this._getStatsForTrack&&this._track)return this._getStatsForTrack(this._track);let{RTCStatsReport:e}=await import(`./rtc-stats-report.js`);return new e}setStreams(...e){}static getCapabilities(e){return t(e)}};export{a as RTCRtpSender};
1
+ import{Gst as e}from"./gst-init.js";import{getRtpCapabilities as t}from"./rtp-capabilities.js";import{RTCDTMFSender as n}from"./rtc-dtmf-sender.js";import{TeeMultiplexer as r}from"./tee-multiplexer.js";let i=0;var RTCRtpSender=class{_gstSender;_track=null;_lastParams=null;_pipeline=null;_webrtcbin=null;_mlineIndex=-1;_elements=[];_valve=null;_linked=!1;_teeSrcPad=null;_getStatsForTrack=null;_transport=null;_dtmf=null;_kind=null;_transceiver=null;_onPipelineChanged=null;constructor(e,t,n){this._gstSender=e,this._pipeline=t??null,this._webrtcbin=n??null}get track(){return this._track}get dtmf(){if((this._track?.kind??this._kind)!==`audio`)return null;if(!this._dtmf){let e=new n;e._isStopped=()=>this._transceiver?.stopped??!1,e._getCurrentDirection=()=>this._transceiver?.currentDirection??null,this._dtmf=e}return this._dtmf}get transport(){return this._transport}_setTrack(e){e===null&&this._linked&&this._teardownPipeline(),this._track=e}_setMlineIndex(e){this._mlineIndex=e}_wirePipeline(t){if(this._linked||!this._pipeline||!this._webrtcbin)return;let n=t._gstSource;if(!n)return;let i=t,a;if(i._gstTee&&i._gstPipeline&&i._gstPipeline!==this._pipeline){let t=i._gstPipeline,n=i._gstTee;this._webrtcbin.get_parent()===this._pipeline&&(this._pipeline.set_state(e.State.NULL),this._pipeline.remove(this._webrtcbin)),t.add(this._webrtcbin),this._webrtcbin.sync_state_with_parent(),this._pipeline=t,this._onPipelineChanged?.(t);let r=n.request_pad_simple?n.request_pad_simple(`src_%u`):n.get_request_pad(`src_%u`);this._teeSrcPad=r,a=null}else if(i._teeMultiplexer){let e=i._teeMultiplexer.requestSrcPad();this._teeSrcPad=e,a=null}else if(i._gstPipeline&&i._gstPipeline!==this._pipeline){let t=i._gstPipeline,o=n.get_static_pad(`src`),s=o?.get_peer?.();s&&o.unlink(s),n.set_state(e.State.NULL),t.remove(n),this._pipeline.add(n),i._gstPipeline=this._pipeline;let c=new r(this._pipeline,n);if(i._teeMultiplexer=c,s){let e=c.requestSrcPad();e&&e.link(s)}let l=c.requestSrcPad();this._teeSrcPad=l,a=null}else{let t=i._gstPipeline;t&&t!==this._pipeline&&(n.set_state(e.State.NULL),t.remove(n),i._gstPipeline=this._pipeline),n.get_parent()!==this._pipeline&&this._pipeline.add(n),a=n}let o=e.ElementFactory.make(`valve`,null);o.drop=!t.enabled,this._valve=o,this._pipeline.add(o);let s=[o],c;if(t.kind===`audio`){let t=e.ElementFactory.make(`audioconvert`,null),n=e.ElementFactory.make(`audioresample`,null),r=e.ElementFactory.make(`opusenc`,null),i=e.ElementFactory.make(`rtpopuspay`,null);i.pt=111;let l=e.ElementFactory.make(`capsfilter`,null);l.caps=e.Caps.from_string(`application/x-rtp,media=audio,encoding-name=OPUS,clock-rate=48000,payload=111`),s.push(t,n,r,i,l);for(let e of s)this._pipeline.add(e);if(this._teeSrcPad){let e=o.get_static_pad(`sink`);this._teeSrcPad.link(e)}else a&&a.link(o);o.link(t),t.link(n),n.link(r),r.link(i),i.link(l),c=l}else{let t=e.ElementFactory.make(`videoconvert`,null),n=e.ElementFactory.make(`videoscale`,null),r=e.ElementFactory.make(`vp8enc`,null);r.deadline=1,r.keyframe_max_dist=60;let i=e.ElementFactory.make(`rtpvp8pay`,null);i.pt=96;let l=e.ElementFactory.make(`capsfilter`,null);l.caps=e.Caps.from_string(`application/x-rtp,media=video,encoding-name=VP8,clock-rate=90000,payload=96`),s.push(t,n,r,i,l);for(let e of s)this._pipeline.add(e);if(this._teeSrcPad){let e=o.get_static_pad(`sink`);this._teeSrcPad.link(e)}else a&&a.link(o);o.link(t),t.link(n),n.link(r),r.link(i),i.link(l),c=l}let l=this._mlineIndex>=0?`sink_${this._mlineIndex}`:`sink_%u`,u=this._webrtcbin.request_pad_simple?this._webrtcbin.request_pad_simple(l):this._webrtcbin.get_request_pad(l);u&&c.get_static_pad(`src`).link(u);let d=this._teeSrcPad?s:[n,...s];for(let e of d)e.sync_state_with_parent();this._elements=d,this._linked=!0,t._setEnableCallback(e=>{this._valve&&(this._valve.drop=!e)})}_teardownPipeline(){if(this._linked){if(this._track&&this._track._setEnableCallback(null),this._teeSrcPad&&this._track?._teeMultiplexer){try{this._track._teeMultiplexer.releaseSrcPad(this._teeSrcPad)}catch{}this._teeSrcPad=null}for(let t of[...this._elements].reverse())try{t.set_state(e.State.NULL),this._pipeline?.remove(t)}catch{}this._elements=[],this._valve=null,this._linked=!1}}getParameters(){return this._lastParams||={transactionId:String(++i),encodings:[],codecs:[],headerExtensions:[],rtcp:{}},{...this._lastParams,encodings:[...this._lastParams.encodings]}}async setParameters(e){if(!this._lastParams)throw new DOMException(`getParameters must be called before setParameters`,`InvalidStateError`);if(e.transactionId!==this._lastParams.transactionId)throw new DOMException(`transactionId mismatch`,`InvalidModificationError`);this._lastParams=null}async replaceTrack(t){if(t===null){this._teardownPipeline(),this._track=null;return}if(this._track!==null&&t.kind!==this._track.kind)throw TypeError(`Cannot replace track with different kind`);if(this._linked&&t._gstSource){let n=this._elements[0],r=t._gstSource,i=t._gstPipeline;i&&i!==this._pipeline&&(r.set_state(e.State.NULL),i.remove(r),t._gstPipeline=this._pipeline),n.set_state(e.State.NULL),n.unlink(this._valve),this._pipeline.remove(n),this._pipeline.add(r),r.link(this._valve),r.sync_state_with_parent(),this._elements[0]=r}else t._gstSource&&this._wirePipeline(t);this._track&&this._track._setEnableCallback(null),this._track=t,this._linked&&t._setEnableCallback(e=>{this._valve&&(this._valve.drop=!e)})}async getStats(){if(this._getStatsForTrack&&this._track)return this._getStatsForTrack(this._track);let{RTCStatsReport:e}=await import(`./rtc-stats-report.js`);return new e}setStreams(...e){}static getCapabilities(e){return t(e)}};export{RTCRtpSender};
@@ -1 +1 @@
1
- import{gstDirectionToW3C as e,w3cDirectionToGst as t}from"./gst-enum-maps.js";import{RTCRtpSender as n}from"./rtc-rtp-sender.js";import{RTCRtpReceiver as r}from"./rtc-rtp-receiver.js";var i=class{_gstTrans;sender;receiver;_stopped=!1;_codecPreferences=[];constructor(e,t,n){this._gstTrans=e,this.sender=t,this.receiver=n}get mid(){if(this._stopped)return null;let e=this._gstTrans.mid;return e===``||e==null?null:String(e)}get direction(){return this._stopped?`stopped`:e(this._gstTrans.direction)}set direction(e){if(this._stopped)throw new DOMException(`Cannot set direction on a stopped transceiver`,`InvalidStateError`);if(e===`stopped`)throw TypeError(`The provided value 'stopped' is not a valid enum value of type RTCRtpTransceiverDirection.`);if(![`sendrecv`,`sendonly`,`recvonly`,`inactive`].includes(e))throw TypeError(`The provided value '${e}' is not a valid enum value of type RTCRtpTransceiverDirection.`);this._gstTrans.direction=t(e)}get currentDirection(){if(this._stopped)return null;let t=this._gstTrans.current_direction??this._gstTrans.currentDirection;if(t==null)return null;let n=e(t);return n===`inactive`?null:n}get stopped(){return this._stopped}stop(){this._stopped||=!0}setCodecPreferences(e){if(!Array.isArray(e))throw TypeError(`codecs must be an array`);if(e.length===0){this._codecPreferences=[];return}let t=this.receiver.track.kind,i=r.getCapabilities(t),a=n.getCapabilities(t);if(!i||!a)throw new DOMException(`No capabilities available`,`InvalidModificationError`);let o=[...i.codecs,...a.codecs];for(let t of e){if(!t||typeof t!=`object`)throw TypeError(`Each codec must be an object`);if(typeof t.mimeType!=`string`||typeof t.clockRate!=`number`)throw TypeError(`codec must have mimeType (string) and clockRate (number)`);if(!/\/(rtx|red|ulpfec)$/i.test(t.mimeType)&&!o.find(e=>e.mimeType.toLowerCase()===t.mimeType.toLowerCase()&&e.clockRate===t.clockRate&&(t.channels===void 0||e.channels===t.channels)&&(t.sdpFmtpLine===void 0||e.sdpFmtpLine===t.sdpFmtpLine)))throw new DOMException(`Codec ${t.mimeType} ${t.clockRate} is not in capabilities`,`InvalidModificationError`)}this._codecPreferences=[...e]}get _nativeTransceiver(){return this._gstTrans}};export{i as RTCRtpTransceiver};
1
+ import{gstDirectionToW3C as e,w3cDirectionToGst as t}from"./gst-enum-maps.js";import{RTCRtpSender as n}from"./rtc-rtp-sender.js";import{RTCRtpReceiver as r}from"./rtc-rtp-receiver.js";var RTCRtpTransceiver=class{_gstTrans;sender;receiver;_stopped=!1;_codecPreferences=[];constructor(e,t,n){this._gstTrans=e,this.sender=t,this.receiver=n}get mid(){if(this._stopped)return null;let e=this._gstTrans.mid;return e===``||e==null?null:String(e)}get direction(){return this._stopped?`stopped`:e(this._gstTrans.direction)}set direction(e){if(this._stopped)throw new DOMException(`Cannot set direction on a stopped transceiver`,`InvalidStateError`);if(e===`stopped`)throw TypeError(`The provided value 'stopped' is not a valid enum value of type RTCRtpTransceiverDirection.`);if(![`sendrecv`,`sendonly`,`recvonly`,`inactive`].includes(e))throw TypeError(`The provided value '${e}' is not a valid enum value of type RTCRtpTransceiverDirection.`);this._gstTrans.direction=t(e)}get currentDirection(){if(this._stopped)return null;let t=this._gstTrans.current_direction??this._gstTrans.currentDirection;if(t==null)return null;let n=e(t);return n===`inactive`?null:n}get stopped(){return this._stopped}stop(){this._stopped||=!0}setCodecPreferences(e){if(!Array.isArray(e))throw TypeError(`codecs must be an array`);if(e.length===0){this._codecPreferences=[];return}let t=this.receiver.track.kind,i=r.getCapabilities(t),a=n.getCapabilities(t);if(!i||!a)throw new DOMException(`No capabilities available`,`InvalidModificationError`);let o=[...i.codecs,...a.codecs];for(let t of e){if(!t||typeof t!=`object`)throw TypeError(`Each codec must be an object`);if(typeof t.mimeType!=`string`||typeof t.clockRate!=`number`)throw TypeError(`codec must have mimeType (string) and clockRate (number)`);if(!/\/(rtx|red|ulpfec)$/i.test(t.mimeType)&&!o.find(e=>e.mimeType.toLowerCase()===t.mimeType.toLowerCase()&&e.clockRate===t.clockRate&&(t.channels===void 0||e.channels===t.channels)&&(t.sdpFmtpLine===void 0||e.sdpFmtpLine===t.sdpFmtpLine)))throw new DOMException(`Codec ${t.mimeType} ${t.clockRate} is not in capabilities`,`InvalidModificationError`)}this._codecPreferences=[...e]}get _nativeTransceiver(){return this._gstTrans}};export{RTCRtpTransceiver};
@@ -1 +1 @@
1
- import"@gjsify/dom-events/register/event-target";var e=class extends EventTarget{transport;_state=`connecting`;_maxMessageSize=262144;_maxChannels=65535;_onstatechange=null;constructor(e){super(),this.transport=e}get state(){return this._state}get maxMessageSize(){return this._maxMessageSize}get maxChannels(){return this._maxChannels}get onstatechange(){return this._onstatechange}set onstatechange(e){this._onstatechange=e}_setState(e){if(this._state===e)return;this._state=e;let t=new Event(`statechange`);this._onstatechange?.call(this,t),this.dispatchEvent(t)}};export{e as RTCSctpTransport};
1
+ import"@gjsify/dom-events/register/event-target";var RTCSctpTransport=class extends EventTarget{transport;_state=`connecting`;_maxMessageSize=262144;_maxChannels=65535;_onstatechange=null;constructor(e){super(),this.transport=e}get state(){return this._state}get maxMessageSize(){return this._maxMessageSize}get maxChannels(){return this._maxChannels}get onstatechange(){return this._onstatechange}set onstatechange(e){this._onstatechange=e}_setState(e){if(this._state===e)return;this._state=e;let t=new Event(`statechange`);this._onstatechange?.call(this,t),this.dispatchEvent(t)}};export{RTCSctpTransport};
@@ -1 +1 @@
1
- import e from"gi://GstWebRTC?version=1.0";import t from"gi://GstSdp?version=1.0";function n(t){switch(t){case`offer`:return e.WebRTCSDPType.OFFER;case`pranswer`:return e.WebRTCSDPType.PRANSWER;case`answer`:return e.WebRTCSDPType.ANSWER;case`rollback`:return e.WebRTCSDPType.ROLLBACK}}function r(t){switch(t){case e.WebRTCSDPType.OFFER:return`offer`;case e.WebRTCSDPType.PRANSWER:return`pranswer`;case e.WebRTCSDPType.ANSWER:return`answer`;case e.WebRTCSDPType.ROLLBACK:return`rollback`;default:return`offer`}}var i=class i{type;sdp;constructor(e){this.type=e?.type??`offer`,this.sdp=e?.sdp??``}toJSON(){return{type:this.type,sdp:this.sdp}}toGstDesc(){let[r,i]=t.SDPMessage.new_from_text(this.sdp);if(r!==t.SDPResult.OK)throw Error(`Failed to parse SDP text (GstSDPResult=${r})`);return e.WebRTCSessionDescription.new(n(this.type),i)}static fromGstDesc(e){let t=e.sdp?.as_text?.()??``;return new i({type:r(e.type),sdp:t})}};export{i as RTCSessionDescription};
1
+ import e from"gi://GstWebRTC?version=1.0";import t from"gi://GstSdp?version=1.0";function sdpTypeToGst(t){switch(t){case`offer`:return e.WebRTCSDPType.OFFER;case`pranswer`:return e.WebRTCSDPType.PRANSWER;case`answer`:return e.WebRTCSDPType.ANSWER;case`rollback`:return e.WebRTCSDPType.ROLLBACK}}function sdpTypeFromGst(t){switch(t){case e.WebRTCSDPType.OFFER:return`offer`;case e.WebRTCSDPType.PRANSWER:return`pranswer`;case e.WebRTCSDPType.ANSWER:return`answer`;case e.WebRTCSDPType.ROLLBACK:return`rollback`;default:return`offer`}}var n=class RTCSessionDescription{type;sdp;constructor(e){this.type=e?.type??`offer`,this.sdp=e?.sdp??``}toJSON(){return{type:this.type,sdp:this.sdp}}toGstDesc(){let[n,r]=t.SDPMessage.new_from_text(this.sdp);if(n!==t.SDPResult.OK)throw Error(`Failed to parse SDP text (GstSDPResult=${n})`);return e.WebRTCSessionDescription.new(sdpTypeToGst(this.type),r)}static fromGstDesc(e){let t=e.sdp?.as_text?.()??``;return new RTCSessionDescription({type:sdpTypeFromGst(e.type),sdp:t})}};export{n as RTCSessionDescription};
@@ -1 +1 @@
1
- var e=class{_map;constructor(e){this._map=new Map(e)}get size(){return this._map.size}get(e){return this._map.get(e)}has(e){return this._map.has(e)}forEach(e,t){this._map.forEach((n,r)=>{e.call(t,n,r,this)})}entries(){return this._map.entries()}keys(){return this._map.keys()}values(){return this._map.values()}[Symbol.iterator](){return this._map.entries()}};export{e as RTCStatsReport};
1
+ var RTCStatsReport=class{_map;constructor(e){this._map=new Map(e)}get size(){return this._map.size}get(e){return this._map.get(e)}has(e){return this._map.has(e)}forEach(e,t){this._map.forEach((n,r)=>{e.call(t,n,r,this)})}entries(){return this._map.entries()}keys(){return this._map.keys()}values(){return this._map.values()}[Symbol.iterator](){return this._map.entries()}};export{RTCStatsReport};
@@ -1 +1 @@
1
- import"@gjsify/dom-events/register/event-target";var e=class extends Event{receiver;track;streams;transceiver;constructor(e,t){if(super(e,t),!t||typeof t!=`object`)throw TypeError(`RTCTrackEventInit is required`);if(!(`receiver`in t))throw TypeError(`Failed to construct 'RTCTrackEvent': required member receiver is not provided.`);if(!(`track`in t))throw TypeError(`Failed to construct 'RTCTrackEvent': required member track is not provided.`);if(!(`transceiver`in t))throw TypeError(`Failed to construct 'RTCTrackEvent': required member transceiver is not provided.`);this.receiver=t.receiver,this.track=t.track,this.streams=Object.freeze(t.streams?[...t.streams]:[]),this.transceiver=t.transceiver}};export{e as RTCTrackEvent};
1
+ import"@gjsify/dom-events/register/event-target";var RTCTrackEvent=class extends Event{receiver;track;streams;transceiver;constructor(e,t){if(super(e,t),!t||typeof t!=`object`)throw TypeError(`RTCTrackEventInit is required`);if(!(`receiver`in t))throw TypeError(`Failed to construct 'RTCTrackEvent': required member receiver is not provided.`);if(!(`track`in t))throw TypeError(`Failed to construct 'RTCTrackEvent': required member track is not provided.`);if(!(`transceiver`in t))throw TypeError(`Failed to construct 'RTCTrackEvent': required member transceiver is not provided.`);this.receiver=t.receiver,this.track=t.track,this.streams=Object.freeze(t.streams?[...t.streams]:[]),this.transceiver=t.transceiver}};export{RTCTrackEvent};
@@ -1 +1 @@
1
- const e={codecs:[{mimeType:`audio/opus`,clockRate:48e3,channels:2,sdpFmtpLine:`minptime=10;useinbandfec=1`},{mimeType:`audio/G722`,clockRate:8e3,channels:1},{mimeType:`audio/PCMU`,clockRate:8e3,channels:1},{mimeType:`audio/PCMA`,clockRate:8e3,channels:1},{mimeType:`audio/telephone-event`,clockRate:8e3,channels:1},{mimeType:`audio/red`,clockRate:48e3,channels:2}],headerExtensions:[{uri:`urn:ietf:params:rtp-hdrext:ssrc-audio-level`},{uri:`http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time`},{uri:`urn:ietf:params:rtp-hdrext:sdes:mid`}]},t={codecs:[{mimeType:`video/VP8`,clockRate:9e4},{mimeType:`video/rtx`,clockRate:9e4},{mimeType:`video/H264`,clockRate:9e4,sdpFmtpLine:`level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f`},{mimeType:`video/VP9`,clockRate:9e4},{mimeType:`video/red`,clockRate:9e4},{mimeType:`video/ulpfec`,clockRate:9e4}],headerExtensions:[{uri:`urn:ietf:params:rtp-hdrext:toffset`},{uri:`http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time`},{uri:`urn:3gpp:video-orientation`},{uri:`urn:ietf:params:rtp-hdrext:sdes:mid`},{uri:`urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id`},{uri:`urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id`}]};function n(n){return n===`audio`?e:n===`video`?t:null}export{n as getRtpCapabilities};
1
+ const e={codecs:[{mimeType:`audio/opus`,clockRate:48e3,channels:2,sdpFmtpLine:`minptime=10;useinbandfec=1`},{mimeType:`audio/G722`,clockRate:8e3,channels:1},{mimeType:`audio/PCMU`,clockRate:8e3,channels:1},{mimeType:`audio/PCMA`,clockRate:8e3,channels:1},{mimeType:`audio/telephone-event`,clockRate:8e3,channels:1},{mimeType:`audio/red`,clockRate:48e3,channels:2}],headerExtensions:[{uri:`urn:ietf:params:rtp-hdrext:ssrc-audio-level`},{uri:`http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time`},{uri:`urn:ietf:params:rtp-hdrext:sdes:mid`}]},t={codecs:[{mimeType:`video/VP8`,clockRate:9e4},{mimeType:`video/rtx`,clockRate:9e4},{mimeType:`video/H264`,clockRate:9e4,sdpFmtpLine:`level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f`},{mimeType:`video/VP9`,clockRate:9e4},{mimeType:`video/red`,clockRate:9e4},{mimeType:`video/ulpfec`,clockRate:9e4}],headerExtensions:[{uri:`urn:ietf:params:rtp-hdrext:toffset`},{uri:`http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time`},{uri:`urn:3gpp:video-orientation`},{uri:`urn:ietf:params:rtp-hdrext:sdes:mid`},{uri:`urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id`},{uri:`urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id`}]};function getRtpCapabilities(n){return n===`audio`?e:n===`video`?t:null}export{getRtpCapabilities};
@@ -1 +1 @@
1
- import{Gst as e}from"./gst-init.js";var t=class{_tee;_pipeline;_branchCount=0;constructor(t,n){this._pipeline=t,this._tee=e.ElementFactory.make(`tee`,null),this._tee.allow_not_linked=!0,t.add(this._tee),this._tee.sync_state_with_parent(),n.link(this._tee)}requestSrcPad(){let e=`src_%u`,t=this._tee.request_pad_simple?this._tee.request_pad_simple(e):this._tee.get_request_pad(e);return t&&this._branchCount++,t}releaseSrcPad(t){if(t){try{t.add_probe(e.PadProbeType.BLOCK_DOWNSTREAM,()=>e.PadProbeReturn.DROP)}catch{}try{let e=t.get_peer();e&&t.unlink(e)}catch{}try{this._tee.release_request_pad(t)}catch{}this._branchCount--}}get branchCount(){return this._branchCount}get element(){return this._tee}};export{t as TeeMultiplexer};
1
+ import{Gst as e}from"./gst-init.js";var TeeMultiplexer=class{_tee;_pipeline;_branchCount=0;constructor(t,n){this._pipeline=t,this._tee=e.ElementFactory.make(`tee`,null),this._tee.allow_not_linked=!0,t.add(this._tee),this._tee.sync_state_with_parent(),n.link(this._tee)}requestSrcPad(){let e=`src_%u`,t=this._tee.request_pad_simple?this._tee.request_pad_simple(e):this._tee.get_request_pad(e);return t&&this._branchCount++,t}releaseSrcPad(t){if(t){try{t.add_probe(e.PadProbeType.BLOCK_DOWNSTREAM,()=>e.PadProbeReturn.DROP)}catch{}try{let e=t.get_peer();e&&t.unlink(e)}catch{}try{this._tee.release_request_pad(t)}catch{}this._branchCount--}}get branchCount(){return this._branchCount}get element(){return this._tee}};export{TeeMultiplexer};
@@ -1 +1 @@
1
- import{RTCPeerConnection as e}from"./rtc-peer-connection.js";import"./index.js";function t(){return new e}async function n(e,t){e.onicecandidate=e=>{e.candidate&&t.addIceCandidate(e.candidate.toJSON()).catch(()=>{})},t.onicecandidate=t=>{t.candidate&&e.addIceCandidate(t.candidate.toJSON()).catch(()=>{})};let n=await e.createOffer();await e.setLocalDescription(n),await t.setRemoteDescription(n);let r=await t.createAnswer();await t.setLocalDescription(r),await e.setRemoteDescription(r)}async function r(e={},r=t(),i=t(),a=`wpt`){let o,s;if(e.negotiated)o=[r.createDataChannel(a,e),i.createDataChannel(a,e)],s=Promise.all(o.map(e=>new Promise((t,n)=>{if(e.readyState===`open`)return t();e.onopen=()=>t(),e.onerror=e=>n(e?.error??Error(`onerror`))})));else{let t=r.createDataChannel(a,e);s=Promise.all([new Promise((e,n)=>{if(t.readyState===`open`)return e();t.onopen=()=>e(),t.onerror=e=>n(e?.error??Error(`onerror`))}),new Promise((e,t)=>{i.ondatachannel=n=>{let r=n.channel;if(r.readyState===`open`)return e(r);r.onopen=()=>e(r),r.onerror=e=>t(e?.error??Error(`onerror`))}}).then(e=>{o[1]=e})]),o=[t,void 0]}return await n(r,i),await s,[o[0],o[1],r,i]}function i(e){return new Promise((t,n)=>{let r=n=>{e.removeEventListener(`message`,r),e.removeEventListener(`error`,i),t(n.data)},i=t=>{e.removeEventListener(`message`,r),e.removeEventListener(`error`,i),n(t?.error??Error(`channel error`))};e.addEventListener(`message`,r),e.addEventListener(`error`,i)})}var a=class{_events=[];_waiters=[];constructor(e,t){for(let n of t)e.addEventListener(n,()=>{this._events.push(n),this._tryResolve()})}wait_for(e){let t=Array.isArray(e)?e:[e];return new Promise((e,n)=>{this._waiters.push({types:t,resolve:e,reject:n}),this._tryResolve()})}_tryResolve(){for(;this._waiters.length>0&&this._events.length>=this._waiters[0].types.length;){let e=this._waiters.shift(),t=this._events.splice(0,e.types.length);e.types.every((e,n)=>t[n]===e)?e.resolve():e.reject(Error(`EventWatcher: expected ${JSON.stringify(e.types)}, got ${JSON.stringify(t)}`))}}};function o(...e){for(let t of e)try{t?.close()}catch{}}export{a as EventWatcher,i as awaitMessage,o as closePeerConnections,r as createDataChannelPair,t as createPeerConnection,n as exchangeOfferAnswer};
1
+ import{RTCPeerConnection as e}from"./rtc-peer-connection.js";import"./index.js";function createPeerConnection(){return new e}async function exchangeOfferAnswer(e,t){e.onicecandidate=e=>{e.candidate&&t.addIceCandidate(e.candidate.toJSON()).catch(()=>{})},t.onicecandidate=t=>{t.candidate&&e.addIceCandidate(t.candidate.toJSON()).catch(()=>{})};let n=await e.createOffer();await e.setLocalDescription(n),await t.setRemoteDescription(n);let r=await t.createAnswer();await t.setLocalDescription(r),await e.setRemoteDescription(r)}async function createDataChannelPair(e={},t=createPeerConnection(),n=createPeerConnection(),r=`wpt`){let i,a;if(e.negotiated)i=[t.createDataChannel(r,e),n.createDataChannel(r,e)],a=Promise.all(i.map(e=>new Promise((t,n)=>{if(e.readyState===`open`)return t();e.onopen=()=>t(),e.onerror=e=>n(e?.error??Error(`onerror`))})));else{let o=t.createDataChannel(r,e);a=Promise.all([new Promise((e,t)=>{if(o.readyState===`open`)return e();o.onopen=()=>e(),o.onerror=e=>t(e?.error??Error(`onerror`))}),new Promise((e,t)=>{n.ondatachannel=n=>{let r=n.channel;if(r.readyState===`open`)return e(r);r.onopen=()=>e(r),r.onerror=e=>t(e?.error??Error(`onerror`))}}).then(e=>{i[1]=e})]),i=[o,void 0]}return await exchangeOfferAnswer(t,n),await a,[i[0],i[1],t,n]}function awaitMessage(e){return new Promise((t,n)=>{let messageHandler=n=>{e.removeEventListener(`message`,messageHandler),e.removeEventListener(`error`,errorHandler),t(n.data)},errorHandler=t=>{e.removeEventListener(`message`,messageHandler),e.removeEventListener(`error`,errorHandler),n(t?.error??Error(`channel error`))};e.addEventListener(`message`,messageHandler),e.addEventListener(`error`,errorHandler)})}var EventWatcher=class{_events=[];_waiters=[];constructor(e,t){for(let n of t)e.addEventListener(n,()=>{this._events.push(n),this._tryResolve()})}wait_for(e){let t=Array.isArray(e)?e:[e];return new Promise((e,n)=>{this._waiters.push({types:t,resolve:e,reject:n}),this._tryResolve()})}_tryResolve(){for(;this._waiters.length>0&&this._events.length>=this._waiters[0].types.length;){let e=this._waiters.shift(),t=this._events.splice(0,e.types.length);e.types.every((e,n)=>t[n]===e)?e.resolve():e.reject(Error(`EventWatcher: expected ${JSON.stringify(e.types)}, got ${JSON.stringify(t)}`))}}};function closePeerConnections(...e){for(let t of e)try{t?.close()}catch{}}export{EventWatcher,awaitMessage,closePeerConnections,createDataChannelPair,createPeerConnection,exchangeOfferAnswer};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gjsify/webrtc",
3
- "version": "0.3.19",
3
+ "version": "0.3.21",
4
4
  "description": "W3C WebRTC API for GJS using GStreamer webrtcbin as the peer-connection backend",
5
5
  "type": "module",
6
6
  "module": "lib/esm/index.js",
@@ -55,10 +55,10 @@
55
55
  "peer-connection"
56
56
  ],
57
57
  "dependencies": {
58
- "@gjsify/buffer": "^0.3.19",
59
- "@gjsify/dom-events": "^0.3.19",
60
- "@gjsify/dom-exception": "^0.3.19",
61
- "@gjsify/webrtc-native": "^0.3.19"
58
+ "@gjsify/buffer": "^0.3.21",
59
+ "@gjsify/dom-events": "^0.3.21",
60
+ "@gjsify/dom-exception": "^0.3.21",
61
+ "@gjsify/webrtc-native": "^0.3.21"
62
62
  },
63
63
  "devDependencies": {
64
64
  "@girs/gjs": "4.0.0-rc.14",
@@ -67,8 +67,8 @@
67
67
  "@girs/gst-1.0": "1.28.1-4.0.0-rc.14",
68
68
  "@girs/gstsdp-1.0": "1.0.0-4.0.0-rc.14",
69
69
  "@girs/gstwebrtc-1.0": "1.0.0-4.0.0-rc.14",
70
- "@gjsify/cli": "^0.3.19",
71
- "@gjsify/unit": "^0.3.19",
70
+ "@gjsify/cli": "^0.3.21",
71
+ "@gjsify/unit": "^0.3.21",
72
72
  "@types/node": "^25.6.2",
73
73
  "typescript": "^6.0.3"
74
74
  }
@@ -1 +1 @@
1
- {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.es2024.d.ts","../../../node_modules/typescript/lib/lib.es2025.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../node_modules/typescript/lib/lib.es2024.object.d.ts","../../../node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2024.string.d.ts","../../../node_modules/typescript/lib/lib.es2025.collection.d.ts","../../../node_modules/typescript/lib/lib.es2025.float16.d.ts","../../../node_modules/typescript/lib/lib.es2025.intl.d.ts","../../../node_modules/typescript/lib/lib.es2025.iterator.d.ts","../../../node_modules/typescript/lib/lib.es2025.promise.d.ts","../../../node_modules/typescript/lib/lib.es2025.regexp.d.ts","../../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/typescript/lib/lib.esnext.date.d.ts","../../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.error.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.esnext.temporal.d.ts","../../../node_modules/typescript/lib/lib.esnext.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.esnext.full.d.ts","../dom-exception/lib/types/index.d.ts","./src/gst-init.ts","../dom-events/lib/esm/index.js","../dom-events/lib/esm/register/event-target.js","./src/media-stream-track.ts","./src/media-stream.ts","./src/get-user-media.ts","../webrtc-native/lib/types/index.d.ts","./src/gst-utils.ts","./src/rtc-session-description.ts","./src/rtc-ice-candidate.ts","../../node/buffer/lib/types/buffer.d.ts","../../node/buffer/lib/types/blob.d.ts","../../node/buffer/lib/types/index.d.ts","../dom-exception/lib/types/register.d.ts","./src/rtc-error.ts","./src/rtc-events.ts","./src/rtc-data-channel.ts","./src/rtp-capabilities.ts","./src/rtc-dtmf-sender.ts","./src/tee-multiplexer.ts","./src/rtc-stats-report.ts","./src/rtc-ice-transport.ts","./src/rtc-dtls-transport.ts","./src/rtc-rtp-sender.ts","./src/rtc-rtp-receiver.ts","./src/rtc-rtp-transceiver.ts","./src/rtc-track-event.ts","./src/gst-stats-parser.ts","./src/rtc-sctp-transport.ts","./src/rtc-certificate.ts","./src/rtc-peer-connection.ts","./src/gst-enum-maps.ts","./src/media-device-info.ts","./src/media-devices.ts","./src/index.ts","../../../node_modules/@girs/gjs/gettext.d.ts","../../../node_modules/@girs/gobject-2.0/gobject-2.0-ambient.d.ts","../../../node_modules/@girs/gobject-2.0/gobject-2.0-import.d.ts","../../../node_modules/@girs/glib-2.0/glib-2.0-ambient.d.ts","../../../node_modules/@girs/glib-2.0/glib-2.0-import.d.ts","../../../node_modules/@girs/glib-2.0/glib-2.0.d.ts","../../../node_modules/@girs/glib-2.0/index.d.ts","../../../node_modules/@girs/gobject-2.0/gobject-2.0.d.ts","../../../node_modules/@girs/gobject-2.0/index.d.ts","../../../node_modules/@girs/gjs/system.d.ts","../../../node_modules/@girs/cairo-1.0/cairo-1.0-ambient.d.ts","../../../node_modules/@girs/cairo-1.0/cairo-1.0-import.d.ts","../../../node_modules/@girs/cairo-1.0/cairo-1.0.d.ts","../../../node_modules/@girs/cairo-1.0/index.d.ts","../../../node_modules/@girs/gjs/cairo.d.ts","../../../node_modules/@girs/gjs/console.d.ts","../../../node_modules/@girs/gjs/gi.d.ts","../../../node_modules/@girs/gjs/gjs-ambient.d.ts","../../../node_modules/@girs/gjs/gjs.d.ts","../../../node_modules/@girs/gjs/index.d.ts","../../gjs/unit/lib/types/spy.d.ts","../../gjs/unit/lib/types/index.d.ts","./src/register/peer-connection.ts","./src/register/data-channel.ts","./src/register/error.ts","./src/register/media.ts","./src/register/media-devices.ts","./src/register.ts","./src/register.spec.ts","./src/webrtc.spec.ts","./src/wpt-helpers.ts","./src/wpt-media.spec.ts","./src/wpt.spec.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/blob.d.ts","../../../node_modules/@types/node/web-globals/console.d.ts","../../../node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/encoding.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/undici-types/utility.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client-stats.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/round-robin-pool.d.ts","../../../node_modules/undici-types/h2c-client.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/snapshot-agent.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/web-globals/importmeta.d.ts","../../../node_modules/@types/node/web-globals/messaging.d.ts","../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/@types/node/web-globals/performance.d.ts","../../../node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/@types/node/web-globals/timers.d.ts","../../../node_modules/@types/node/web-globals/url.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/inspector/promises.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/path/posix.d.ts","../../../node_modules/@types/node/path/win32.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/quic.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/test/reporters.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/util/types.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@girs/gst-1.0/gst-1.0-ambient.d.ts","../../../node_modules/@girs/gst-1.0/gst-1.0-import.d.ts","../../../node_modules/@girs/gmodule-2.0/gmodule-2.0-ambient.d.ts","../../../node_modules/@girs/gmodule-2.0/gmodule-2.0-import.d.ts","../../../node_modules/@girs/gmodule-2.0/gmodule-2.0.d.ts","../../../node_modules/@girs/gmodule-2.0/index.d.ts","../../../node_modules/@girs/gst-1.0/gst-1.0.d.ts","../../../node_modules/@girs/gst-1.0/index.d.ts","../../../node_modules/@girs/gstsdp-1.0/gstsdp-1.0-ambient.d.ts","../../../node_modules/@girs/gstsdp-1.0/gstsdp-1.0-import.d.ts","../../../node_modules/@girs/gstsdp-1.0/gstsdp-1.0.d.ts","../../../node_modules/@girs/gstsdp-1.0/index.d.ts","../../../node_modules/@girs/gstwebrtc-1.0/gstwebrtc-1.0-ambient.d.ts","../../../node_modules/@girs/gstwebrtc-1.0/gstwebrtc-1.0-import.d.ts","../../../node_modules/@girs/gstwebrtc-1.0/gstwebrtc-1.0.d.ts","../../../node_modules/@girs/gstwebrtc-1.0/index.d.ts"],"fileIdsList":[[140,143,147,165,228,231,236,240,243,245,246,247,260],[143,147,165,228,231,236,240,243,245,246,247,260],[136,138,147,149,165,228,231,236,240,243,245,246,247,260],[141,142,147,165,228,231,236,240,243,245,246,247,260],[138,143,147,165,228,231,236,240,243,245,246,247,260],[147,165,228,231,236,240,243,245,246,247,260],[130,139,144,145,146,165,228,231,236,240,243,245,246,247,260],[130,136,138,139,144,147,165,228,231,236,240,243,245,246,247,260],[147,148,165,228,231,236,240,243,245,246,247,260],[138,147,165,228,231,236,240,243,245,246,247,260],[133,136,147,165,228,231,236,240,243,245,246,247,260],[136,147,165,228,231,236,240,243,245,246,247,260],[138,147,149,165,228,231,236,240,243,245,246,247,260],[134,135,147,165,228,231,236,240,243,245,246,247,260],[147,165,228,231,236,240,243,245,246,247,260,288,291],[147,165,228,231,236,240,243,245,246,247,260,291],[147,165,228,231,236,240,243,245,246,247,260,289,290],[131,138,147,165,228,231,236,240,243,245,246,247,260],[136,147,149,165,228,231,236,240,243,245,246,247,260],[132,137,147,165,228,231,236,240,243,245,246,247,260],[147,165,228,231,236,240,243,245,246,247,260,286,293],[147,165,228,231,236,240,243,245,246,247,260,293],[136,138,147,149,165,228,231,236,240,243,245,246,247,260,291],[147,165,228,231,236,240,243,245,246,247,260,287,292],[147,165,228,231,236,240,243,245,246,247,260,294,297],[147,165,228,231,236,240,243,245,246,247,260,297],[136,138,147,149,165,228,231,236,240,243,245,246,247,260,291,293],[147,165,228,231,236,240,243,245,246,247,260,295,296],[147,165,228,231,236,240,243,245,246,247,260,298,301],[147,165,228,231,236,240,243,245,246,247,260,301],[136,138,147,149,165,228,231,236,240,243,245,246,247,260,291,293,297],[147,165,228,231,236,240,243,245,246,247,260,299,300],[147,165,225,226,228,231,236,240,243,245,246,247,260],[147,165,227,228,231,236,240,243,245,246,247,260],[147,228,231,236,240,243,245,246,247,260],[147,165,228,231,236,240,243,245,246,247,260,268],[147,165,228,229,231,234,236,239,240,243,245,246,247,249,260,265,277],[147,165,228,229,230,231,236,239,240,243,245,246,247,260],[147,165,228,231,236,240,243,245,246,247,260,278],[147,165,228,231,232,233,236,240,243,245,246,247,251,260],[147,165,228,231,233,236,240,243,245,246,247,260,265,274],[147,165,228,231,234,236,239,240,243,245,246,247,249,260],[147,165,227,228,231,235,236,240,243,245,246,247,260],[147,165,228,231,236,237,240,243,245,246,247,260],[147,165,228,231,236,238,239,240,243,245,246,247,260],[147,165,227,228,231,236,239,240,243,245,246,247,260],[147,165,228,231,236,239,240,241,243,245,246,247,260,265,277],[147,165,228,231,236,239,240,241,243,245,246,247,260,265,268],[147,165,215,228,231,236,239,240,242,243,245,246,247,249,260,265,277],[147,165,228,231,236,239,240,242,243,245,246,247,249,260,265,274,277],[147,165,228,231,236,240,242,243,244,245,246,247,260,265,274,277],[147,163,164,165,166,167,168,169,170,171,172,173,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284],[147,165,228,231,236,239,240,243,245,246,247,260],[147,165,228,231,236,240,243,245,247,260],[147,165,228,231,236,240,243,245,246,247,248,260,277],[147,165,228,231,236,239,240,243,245,246,247,249,260,265],[147,165,228,231,236,240,243,245,246,247,251,260],[147,165,228,231,236,240,243,245,246,247,252,260],[147,165,228,231,236,239,240,243,245,246,247,255,260],[147,165,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284],[147,165,228,231,236,240,243,245,246,247,257,260],[147,165,228,231,236,240,243,245,246,247,258,260],[147,165,228,231,233,236,240,243,245,246,247,249,260,268],[147,165,228,231,236,239,240,243,245,246,247,260,261],[147,165,228,231,236,240,243,245,246,247,260,262,278,281],[147,165,228,231,236,239,240,243,245,246,247,260,265,267,268],[147,165,228,231,236,240,243,245,246,247,260,266,268],[147,165,228,231,236,240,243,245,246,247,260,268,278],[147,165,228,231,236,240,243,245,246,247,260,269],[147,165,225,228,231,236,240,243,245,246,247,260,265,271,277],[147,165,228,231,236,240,243,245,246,247,260,265,270],[147,165,228,231,236,239,240,243,245,246,247,260,272,273],[147,165,228,231,236,240,243,245,246,247,260,272,273],[147,165,228,231,233,236,240,243,245,246,247,249,260,265,274],[147,165,228,231,236,240,243,245,246,247,260,275],[147,165,228,231,236,240,243,245,246,247,249,260,276],[147,165,228,231,236,240,242,243,245,246,247,258,260,277],[147,165,228,231,236,240,243,245,246,247,260,278,279],[147,165,228,231,233,236,240,243,245,246,247,260,279],[147,165,228,231,236,240,243,245,246,247,260,265,280],[147,165,228,231,236,240,243,245,246,247,248,260,281],[147,165,228,231,236,240,243,245,246,247,260,282],[147,165,228,231,233,236,240,243,245,246,247,260],[147,165,215,228,231,236,240,243,245,246,247,260],[147,165,228,231,236,240,243,245,246,247,260,277],[147,165,228,231,236,240,243,245,246,247,260,283],[147,165,228,231,236,240,243,245,246,247,255,260],[147,165,228,231,236,240,243,245,246,247,260,273],[147,165,215,228,231,236,239,240,241,243,245,246,247,255,260,265,268,277,280,281,283],[147,165,228,231,236,240,243,245,246,247,260,265,284],[147,165,180,183,186,187,228,231,236,240,243,245,246,247,260,277],[147,165,183,228,231,236,240,243,245,246,247,260,265,277],[147,165,183,187,228,231,236,240,243,245,246,247,260,277],[147,165,228,231,236,240,243,245,246,247,260,265],[147,165,177,228,231,236,240,243,245,246,247,260],[147,165,181,228,231,236,240,243,245,246,247,260],[147,165,179,180,183,228,231,236,240,243,245,246,247,260,277],[147,165,228,231,236,240,243,245,246,247,249,260,274],[147,165,228,231,236,240,243,245,246,247,260,285],[147,165,177,228,231,236,240,243,245,246,247,260,285],[147,165,179,183,228,231,236,240,243,245,246,247,249,260,277],[147,165,174,175,176,178,182,228,231,236,239,240,243,245,246,247,260,265,277],[147,165,183,192,200,228,231,236,240,243,245,246,247,260],[147,165,175,181,228,231,236,240,243,245,246,247,260],[147,165,183,209,210,228,231,236,240,243,245,246,247,260],[147,165,175,178,183,228,231,236,240,243,245,246,247,260,268,277,285],[147,165,183,228,231,236,240,243,245,246,247,260],[147,165,179,183,228,231,236,240,243,245,246,247,260,277],[147,165,174,228,231,236,240,243,245,246,247,260],[147,165,177,178,179,181,182,183,184,185,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,210,211,212,213,214,228,231,236,240,243,245,246,247,260],[147,165,183,202,205,228,231,236,240,243,245,246,247,260],[147,165,183,192,193,194,228,231,236,240,243,245,246,247,260],[147,165,181,183,193,195,228,231,236,240,243,245,246,247,260],[147,165,182,228,231,236,240,243,245,246,247,260],[147,165,175,177,183,228,231,236,240,243,245,246,247,260],[147,165,183,187,193,195,228,231,236,240,243,245,246,247,260],[147,165,187,228,231,236,240,243,245,246,247,260],[147,165,181,183,186,228,231,236,240,243,245,246,247,260,277],[147,165,175,179,183,192,228,231,236,240,243,245,246,247,260],[147,165,183,202,228,231,236,240,243,245,246,247,260],[147,165,195,228,231,236,240,243,245,246,247,260],[147,165,177,183,209,228,231,236,240,243,245,246,247,260,268,283,285],[147,149,150,165,228,231,236,240,243,245,246,247,260],[105,106,147,165,228,231,236,240,243,245,246,247,260],[94,147,165,228,231,236,240,243,245,246,247,260],[96,147,165,228,231,236,240,243,245,246,247,260],[95,98,99,147,165,228,231,236,240,243,245,246,247,260],[118,125,147,165,228,231,236,240,243,245,246,247,260,298],[94,147,165,228,231,236,240,243,245,246,247,260,286],[115,126,147,165,228,231,236,240,243,245,246,247,260,286],[101,147,165,228,231,236,240,243,245,246,247,260,286],[98,99,100,103,104,109,110,111,113,115,116,117,118,119,120,121,123,124,125,127,128,147,165,228,231,236,240,243,245,246,247,260],[95,97,99,100,127,147,165,228,231,236,240,243,245,246,247,260],[95,97,133,147,165,228,231,236,240,243,245,246,247,260],[97,98,133,147,165,228,231,236,240,243,245,246,247,260],[147,151,157,165,228,231,236,240,243,245,246,247,260],[147,152,153,154,155,156,165,228,231,236,240,243,245,246,247,260],[110,111,147,165,228,231,236,240,243,245,246,247,260],[109,110,147,165,228,231,236,240,243,245,246,247,260],[128,147,165,228,231,236,240,243,245,246,247,260],[98,99,121,147,165,228,231,236,240,243,245,246,247,260],[103,104,110,125,147,165,228,231,236,240,243,245,246,247,260],[133,147,165,228,231,236,240,243,245,246,247,260],[94,101,107,109,110,133,147,165,228,231,236,240,243,245,246,247,260,298],[97,116,147,165,228,231,236,240,243,245,246,247,260],[97,147,165,228,231,236,240,243,245,246,247,260],[108,147,165,228,231,236,240,243,245,246,247,260],[97,104,109,111,147,165,228,231,236,240,243,245,246,247,260],[97,104,147,165,228,231,236,240,243,245,246,247,260],[94,95,98,99,101,102,103,104,110,111,115,116,117,118,119,120,121,122,123,124,126,131,133,147,165,228,231,236,240,243,245,246,247,260,298],[98,101,112,115,117,118,147,165,228,231,236,240,243,245,246,247,260,286,298],[95,98,99,112,113,114,115,117,147,165,228,231,236,240,243,245,246,247,260,298],[118,119,126,147,165,228,231,236,240,243,245,246,247,260,298],[97,117,147,165,228,231,236,240,243,245,246,247,260],[147,165,228,231,236,240,243,245,246,247,260,294,298],[97,98,99,119,120,147,165,228,231,236,240,243,245,246,247,260],[118,147,165,228,231,236,240,243,245,246,247,260],[95,147,165,228,231,236,240,243,245,246,247,260],[129,147,151,165,228,231,236,240,243,245,246,247,260,286],[129,147,165,228,231,236,240,243,245,246,247,260],[100,128,129,147,151,160,165,228,231,236,240,243,245,246,247,260],[129,147,151,160,165,228,231,236,240,243,245,246,247,260,286]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"1e9332c23e9a907175e0ffc6a49e236f97b48838cc8aec9ce7e4cec21e544b65","impliedFormat":1},{"version":"3753fbc1113dc511214802a2342280a8b284ab9094f6420e7aa171e868679f91","impliedFormat":1},{"version":"999ca32883495a866aa5737fe1babc764a469e4cde6ee6b136a4b9ae68853e4b","impliedFormat":1},{"version":"17f13ecb98cbc39243f2eee1f16d45cd8ec4706b03ee314f1915f1a8b42f6984","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"2a2de5b9459b3fc44decd9ce6100b72f1b002ef523126c1d3d8b2a4a63d74d78","affectsGlobalScope":true,"impliedFormat":1},{"version":"f13f4b465c99041e912db5c44129a94588e1aafee35a50eab51044833f50b4ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"0bd714129fca875f7d4c477a1a392200b0bcd13fb2e80928cd334b63830ea047","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2c9037ae6cd2c52d80ceef0b3c5ffdb488627d71529cf4f63776daf11161c9a","affectsGlobalScope":true,"impliedFormat":1},{"version":"135d5cf4d345f59f1a9caadfafcd858d3d9cc68290db616cc85797224448cccc","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc238c3f81c2984751932b6aab223cd5b830e0ac6cad76389e5e9d2ffc03287d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4a07f9b76d361f572620927e5735b77d6d2101c23cdd94383eb5b706e7b36357","affectsGlobalScope":true,"impliedFormat":1},{"version":"7c4e8dc6ab834cc6baa0227e030606d29e3e8449a9f67cdf5605ea5493c4db29","affectsGlobalScope":true,"impliedFormat":1},{"version":"de7ba0fd02e06cd9a5bd4ab441ed0e122735786e67dde1e849cced1cd8b46b78","affectsGlobalScope":true,"impliedFormat":1},{"version":"6148e4e88d720a06855071c3db02069434142a8332cf9c182cda551adedf3156","affectsGlobalScope":true,"impliedFormat":1},{"version":"d63dba625b108316a40c95a4425f8d4294e0deeccfd6c7e59d819efa19e23409","affectsGlobalScope":true,"impliedFormat":1},{"version":"0568d6befee03dd435bed4fc25c4e46865b24bdcb8c563fdc21f580a2c301904","affectsGlobalScope":true,"impliedFormat":1},{"version":"30d62269b05b584741f19a5369852d5d34895aa2ac4fd948956f886d15f9cc0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"ffbe6d7b295306b2ba88030f65b74c107d8d99bdcf596ea99c62a02f606108b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"996fb27b15277369c68a4ba46ed138b4e9e839a02fb4ec756f7997629242fd9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"79b712591b270d4778c89706ca2cfc56ddb8c3f895840e477388f1710dc5eda9","affectsGlobalScope":true,"impliedFormat":1},{"version":"20884846cef428b992b9bd032e70a4ef88e349263f63aeddf04dda837a7dba26","affectsGlobalScope":true,"impliedFormat":1},{"version":"5fcab789c73a97cd43828ee3cc94a61264cf24d4c44472ce64ced0e0f148bdb2","affectsGlobalScope":true,"impliedFormat":1},{"version":"db59a81f070c1880ad645b2c0275022baa6a0c4f0acdc58d29d349c6efcf0903","affectsGlobalScope":true,"impliedFormat":1},{"version":"673294292640f5722b700e7d814e17aaf7d93f83a48a2c9b38f33cbc940ad8b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d786b48f934cbca483b3c6d0a798cb43bbb4ada283e76fb22c28e53ae05b9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"142efd4ce210576f777dc34df121777be89eda476942d6d6663b03dcb53be3ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"379bc41580c2d774f82e828c70308f24a005b490c25ba34d679d84bcf05c3d9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ed484fb2aa8a1a23d0277056ec3336e0a0b52f9b8d6a961f338a642faf43235d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ffedae1d1c2d53fdbca1c96d3c7dda544281f7d262f99b6880634f8fd8d9820","affectsGlobalScope":true,"impliedFormat":1},{"version":"83a730b125d477dd264df8ba479afab27a3dae7152b005c214ab94dc7ee44fd3","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"ef4a897cd2a3f91000c10264e400b3667c7e51e1b7365f03b62e8081dc53bde6","impliedFormat":1},"e176cbd59020ce3184e68f10e5f286e027dd444e66d490fe3836118e17babf9c",{"version":"76b99e3b94497637819168ae131c37631933dfbd5b366082594fea535739025a","signature":"e4428f9652f8727eb580388b6e7ed65afef8be65593241a45624587a2cfe039c"},"f327d11b4b3085cebe58a980ae1219642c5c3ba6db987e4b0a2e0d89a2d80bed","a368809076e7b49e0a1fb1300b409c72cd4e1a10f8e385367b8f4e2eb604bb23",{"version":"baecc726c890b001d9630fcf1f066c3fcbcb0ed06f6b2e30e0498b2d8ff9c81d","signature":"150f4b83a70713458007c78f71629d90ce40c05a1af0df8f6ac23aaac50742da"},{"version":"0e7468aeacc0ab5d19bf5440631d2db20d9f82e5a25faeb8921092cc78d3725c","signature":"1824848c336d0221ce3dd40c130346c5aa25a1ea42167b71f30274ab2578855f"},{"version":"ba5ba14af2ded7476c3a37ec12f3a61cce16a006a85383d116fa17d5d28e0e44","signature":"d4e8628038a6aaf5ca1dd7a6bc2115286f9982c2ca8a15f895248f44b6220d96"},"c58e1f414dc6c4be85c1a0fd9c56c420e545ca3c3ff0ed5a87ad80d3b9076371",{"version":"565dad5309fb7286e860dd628f062c35d28eb7fd0f0d4b8987933c3f2349a2ea","signature":"119574cf2442209c6485367ea03e1f50f5bfea426b69b5fde61d3ac4fd409d78"},{"version":"e94db1f0f03eccf864cf8e31886adb419d418862a8aa874469f3378ade0b2592","signature":"1ffc02aa80a1e450f8f41b9d9c0e9585b253b930cc075cd539864c52297edf3d"},{"version":"03fc57e5c70c6ea268f8f56f7bea4f88450c4cbbaf9875db8943a0b48bc8973a","signature":"4be7f359c6e123f88e68362f7c1a8fbd8d6c02c43052ce2c70fc65fe4982b5c2"},"ceb1d85b8d1851cba6dbb0bafa191db812f49c91c235a8c5c9a096db446613ab","14c42e882571fd996bd2464aa705b15ac5a9a9f5e19bdbca3da1215a596bd570","5c5d404c31223ba4ad11519db6e85eaa23b444082b5dccfe85c6a0d7fe35be5f","8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",{"version":"2688d59761575ef2a169648864c395a224a619dd5484bc5ad33b58dcd0e3177e","signature":"1dbaa718855a16413958a27d8cc9e634edee44bd2aa260fce33d8dc6e7c86e52"},{"version":"61cea47dba2372e0d780d09fc39b885f77a650b71d66f4422b0507eeeec92707","signature":"e0ad16a96273e774bff63ed5957fdc1b8f614cb6ed438e42be83323d53b04b6a"},{"version":"03a057c880015499f2fb5bd6fd79970134be82d216032f667c88bab218890e17","signature":"65874a0361ce8c0320a0fce83e9e79ae6dd0983e7b610a1d75024106d59091b6"},{"version":"0d5cbcdfa95fa6b096f10b51aa6320640fe03f6951bf877eb3eb6564c0ab5875","signature":"d97ce58b467028b4eb16cdbb6308518b5d603116a9c3efef06269829731a5e52"},{"version":"83f7819c4f3474318d455fb549a23f032dbaad9edfe8a1e86b2c8da7dc8977de","signature":"c273a557c8fedf0ef5d250033fb501a0b5156ac8d89ecfa80facdc0c5c2ab359"},{"version":"45721bf5a4755b060af1f231cc58f725c9e67dce3cdf2d92f579f5546b52111c","signature":"b0dfce0a97fdc8a541cec2ebbc486221c31619283abc1a7419e1c86af378f8cb"},{"version":"46ebfc959a51c1cf927f7e633ec94a87159f6f873b8dc999e75cd249d8cefadd","signature":"115ff55642033b88cf658f89425c0fd79970b9deb245804e57efdedfb2f0e883"},{"version":"31ca2dae30378486371acc175c6090453a5214d1f16ab4123cb95c18ea214356","signature":"c25f322b7d8105a3cfbb97ae3c2aec266cd6dde5417a1769d365105ae2fc0212"},{"version":"fae8b5138399488e774792e9cecaac473185faf31d560ad948a228a6440f31e7","signature":"93d76dd7a5d182c516d064963b230261f58aa27a33d767a912784b287568b6fd"},{"version":"eddd61757fb795bcd6303ceee24c21adaacf11c078766491fb98bad1ee489d33","signature":"59ecad742758a5f4397eb58846cc42025618742f1cdb20e940802608a860717a"},{"version":"a05a19c8435a393038a30d0b98bb50c5bc6e46d5a98374155f0e73bb42012bac","signature":"199e1283f960566d53c5f5d816e3b952b2d8e054d8dc077b49de8eade3097cf9"},{"version":"9dabebfa466840b3cf6fc51cd9ea43401a323bd87b8d493e9e615699fa3aa35f","signature":"9fcf5f2b6a459a0d61031d3af8858f6c0b58f367843c55d3f986debf2a36111a"},{"version":"5e6b29fdc82fe89b4beba732788a2a3ee26a18cd75f810812e88896cfdea3737","signature":"70460a1fcc1aab7ab44ccc1d83d17808fe0a2245fcc81cbc7444fabb4f98e2a8"},{"version":"3e4d48e8bb9213b4f287a3b21c7c0964c899a15ce6edc186aeb8556eb72de6a6","signature":"f11866cde0f3f6354a8607d325852d5685286149e25dc17fc1a8763d3a8acf65"},{"version":"4fcbc7cc9645e4f4981c02a53c99164f389c6c81085df109886e10f508447813","signature":"9b9ccdf513d3e37d5d9b6c092d9ff6be792863cb2c660d554cff29ee388ca512"},{"version":"dc66387f99281cab9ac9e59cacf929d360770678fe3773527a687ceebae18c27","signature":"a038d47e27c570f5ae9ebcc1b3b63a60adcc318de648022c2c566f839a1df021"},{"version":"d92f840b41e60916f4d3f7c5e9c2c7938678910e4b93012cce66e60366965917","signature":"63dfb22eb518cdd9259dece84f32997d9673c0cf61d513e8f35976fe60f371e3"},{"version":"8aac9a902362bdabde7871f0bb37b8698897adfa7671905ff200edf82b42169a","signature":"74cc3add4f2932613e7a89037a407d033d847fa424167bc45d5dec1c63a0c94f"},{"version":"a62393014b2f03a12b55d121a227911c2e10da73a6fc01b47440d28f12273af2","signature":"3ddaf42a0b6ed142a77fb7ee8c54ec55e3cb1a44e98a3280a460f2761f7907ff"},{"version":"d2805d598f3ab55de58cfe221b9813ff03db57a7dbdeb4b1740a95e84e60bfa7","signature":"86ccdbee3de7705e5db7c0841a13f7c7623a8fd794a8d395cf18f22a09033c46"},{"version":"c91d5835a2450b768d41143860c0e2b997b5f8b66628117ef9f31e770c6174da","signature":"211f91daef33cb4ce688d4221d71c6ad5887706c1e8f7602f7451fa1586c76e1"},{"version":"4936d25ba31379ce4e3d4289f6c0ea936510e111f823ec377015de6ba7047adf","impliedFormat":99},{"version":"1ffa53902f87f288dbaebc1dd9c754a0f0f1c4af2733fc7e173022209e7d4ef8","impliedFormat":99},{"version":"d7801240a49920afb07e1a83597b05a26e5e3758163a70448ba14df3f7ab5286","affectsGlobalScope":true,"impliedFormat":99},{"version":"2aed5de224f5094280addfaf59e82b362b3680083917cfa7f066c4b89cc58b74","impliedFormat":99},{"version":"86ecf772256f9205f72c768dc9b47d27b4254a64a1dd94f61c8c2f29219c24e1","affectsGlobalScope":true,"impliedFormat":99},{"version":"f62bcd0d626998f4b14a5e4bf6c65abf4dfeaa042243dd57e4e92125fd602ed6","impliedFormat":99},{"version":"9462f849ff8d50a61639f09a8e369f7584c623a8cbcf9d99c6b81aacbca91fd2","impliedFormat":99},{"version":"6da820ee582c593971e71a933dbf54d72b47984bb11f888d225c7a8476e74790","impliedFormat":99},{"version":"048a292f9fb06d0aab8c52cabd81bc820c70d68500530afe1867c08e431d4e46","impliedFormat":99},{"version":"e2f9944677cba1c7f636dde67d7ca77982da3b52134c617bd86d3a4d8607b498","impliedFormat":99},{"version":"ceaf67c6cb2df4f38f466bd3709a72199d1d98377dcf215bf760b2a383fc73a8","impliedFormat":99},{"version":"c5f89dedf8e238012d580d16ee2286bf0681f1389f14d419c87711070430995c","affectsGlobalScope":true,"impliedFormat":99},{"version":"dc996a90baa100126e6014b2f55022930e1a44621ec68eb163f322714b7596bc","impliedFormat":99},{"version":"cdd5245a59183386c7b465ad56e2353a0a1b49c32733520ec5c0eeb718781012","impliedFormat":99},{"version":"35c6737b37a2c92e67a14ba7692f3216df6c140c28133835768f7c66cb15fa88","impliedFormat":99},{"version":"7b607f4711c496c7c4f57abddfc7b9912059e1f264417ff8f4280b65f756bf4d","impliedFormat":99},{"version":"17122ddf1e2ff9f0538a06af6edc8d2666d7e1a428239e86358afc09ac7a8779","impliedFormat":99},{"version":"2cc6a5c34041442caa16aff0686d41595296248c7c33bfac5b94cd4fe8ae20de","impliedFormat":99},{"version":"8384e3ab082eecd9d0faa07ddf7e9ff3879bfac60216e47328f799600e47ea80","affectsGlobalScope":true,"impliedFormat":99},{"version":"715e7c015d2f3f4de0da107d9be2db02b52cea3d2d446ad11d2e732848d8e3e7","impliedFormat":99},"cda120f78df4c624c7fb1bd8e17343a39bfbede803f38312fb8e51fa818e1a7a","d9e135cc1dcf9f798edb9665b777dcad812d980a467b6ed11ce1d1bb9f017176",{"version":"22440f4f61de5654270fc959eb5f97418f376eb9c425a68deaa30ea51e202f45","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c4ba8574b652098b47be53ff6505d44e792c3a9aed4c2f9758bc40348ab57223","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1bea6e275d510e3a6d407c6710932d526ea4b964edfae5fbd250eb1b5e7294e2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f71a406baeb5bac48865625caf8e9d76d6a4ceeb6e448f5db8cdbae38a18b543","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3f5e338ca93542e506db8347cc0da0de0dd130e5676f35205ef021f9b53813c7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cc9224780d7525d070218580c1ebf31c00d6a332d43ea15db2bdca064dfdbae4","signature":"cc109f4eafd381a67d0c8f8f61e5f9903c34a5ddfab8e7a554996b21250d99b3"},{"version":"b57920de5522f4f547a8c5381993385ae47bf16ef5e57ac47180698aa514deff","signature":"dd1be46b06538e98dab3b6c2d8c52dd3a196df8b76a4106822c31c2951e26b9b"},{"version":"2abb00e1ef37cd3163f6c07b4d632a7b0659ca3fcbd69fe4cd76311132651d4f","signature":"fefaf643ad02c05059e06244a8291c4cb3a2693ec928c843599c25d00ee9f574"},{"version":"45bee09f3cc450e8c22fd3974ae8ff02a03f1f8537e253817df62e03bc6a3981","signature":"791c2e3d9aee9102f1bf945719dcf038db45b2c39baf5ad8e913f21ca7f0ffb8"},{"version":"9096f104229d228181447390d12333a5b5445bff27040ccf0881dc93c5ac1f7d","signature":"fefaf643ad02c05059e06244a8291c4cb3a2693ec928c843599c25d00ee9f574"},{"version":"b30535de256d268e3a9bd6e70e595982ecb35ee6af1482c7430bb6e719ad9a8c","signature":"fefaf643ad02c05059e06244a8291c4cb3a2693ec928c843599c25d00ee9f574"},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc2110f7decca6bfb9392e30421cfa1436479e4a6756e8fec6cbc22625d4f881","affectsGlobalScope":true,"impliedFormat":1},{"version":"096116f8fedc1765d5bd6ef360c257b4a9048e5415054b3bf3c41b07f8951b0b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"10ec5e82144dfac6f04fa5d1d6c11763b3e4dbbac6d99101427219ab3e2ae887","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"074de5b2fdead0165a2757e3aaef20f27a6347b1c36adea27d51456795b37682","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"4137ebf04166f3a325f056aa56101adc75e9dceb30404a1844eb8604d89770e2","impliedFormat":1},{"version":"ccab02f3920fc75c01174c47fcf67882a11daf16baf9e81701d0a94636e94556","impliedFormat":1},{"version":"3e11fce78ad8c0e1d1db4ba5f0652285509be3acdd519529bc8fcef85f7dafd9","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"9c32412007b5662fd34a8eb04292fb5314ec370d7016d1c2fb8aa193c807fe22","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"6ebe8ebb8659aaa9d1acbf3710d7dae3e923e97610238b9511c25dc39023a166","impliedFormat":1},{"version":"e85d7f8068f6a26710bff0cc8c0fc5e47f71089c3780fbede05857331d2ddec9","impliedFormat":1},{"version":"7befaf0e76b5671be1d47b77fcc65f2b0aad91cc26529df1904f4a7c46d216e9","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"1cc2a09e1a61a5222d4174ab358a9f9de5e906afe79dbf7363d871a7edda3955","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"b64d4d1c5f877f9c666e98e833f0205edb9384acc46e98a1fef344f64d6aba44","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"c9381908473a1c92cb8c516b184e75f4d226dad95c3a85a5af35f670064d9a2f","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"d2ae155afe8a01cc0ae612d99117cf8ef16692ba7c4366590156fdec1bcf2d8c","impliedFormat":1},{"version":"3f5e5d9be35913db9fea42a63f3df0b7e3c8703b97670a2125587b4dbbd56d7c","impliedFormat":1},{"version":"8caeb65fdc3bfe0d13f86f67324fcb2d858ed1c55f1f0cce892eb1acfb9f3239","impliedFormat":1},{"version":"57c23df0b5f7a8e26363a3849b0bc7763f6b241207157c8e40089d1df4116f35","affectsGlobalScope":true,"impliedFormat":1},{"version":"3b8bc0c17b54081b0878673989216229e575d67a10874e84566a21025a2461ee","impliedFormat":1},{"version":"5b0db5a58b73498792a29bfebc333438e61906fef75da898b410e24e52229e6f","impliedFormat":1},{"version":"dbe055b2b29a7bab2c1ca8f259436306adb43f469dca7e639a02cd3695d3f621","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"e3905f6902f0b69e5eefc230daa69fdd4ab707a973ec2d086d65af1b3ea47ef0","impliedFormat":1},{"version":"2ea729503db9793f2691162fec3dd1118cab62e96d025f8eeb376d43ec293395","impliedFormat":1},{"version":"9ec87fea42b92894b0f209931a880789d43c3397d09dd99c631ae40a2f7071d1","impliedFormat":1},{"version":"c68e88cdfadfb6c8ba5fc38e58a3a166b0beae77b1f05b7d921150a32a5ffb8d","impliedFormat":1},{"version":"2bc7aa4fba46df0bd495425a7c8201437a7d465f83854fac859df2d67f664df3","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"07e4e61e946a9c15045539ecd5f5d2d02e7aab6fa82567826857e09cf0f37c2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c4714ccc29149efb8777a1da0b04b8d2258f5d13ddbf4cd3c3d361fb531ac86","impliedFormat":1},{"version":"3ff275f84f89f8a7c0543da838f9da9614201abc4ce74c533029825adfb4433d","impliedFormat":1},{"version":"0eb5d0cbf09de5d34542b977fd6a933bb2e0817bffe8e1a541b2f1ad1b9af1ff","impliedFormat":1},{"version":"10deca769dfed888051b1808d6746f8883a490a707f8bdf9367079146987d6d0","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"c32c840c62d8bd7aeb3147aa6754cd2d922b990a6b6634530cb2ebdce5adc8e9","impliedFormat":1},{"version":"e1c1a0b4d1ead0de9eca52203aeb1f771f21e6238d6fcd15aa56ac2a02f1b7bf","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"6fe28249ac0c7bc19a79aa9264baf00efbd080e868dbe1d3052033ad1c64f206","affectsGlobalScope":true,"impliedFormat":1},{"version":"cbed824fec91efefc7bbdcb8b43d1a531fdbebd0e2ef19481501ff365a93cb70","impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"d0716593b3f2b0451bcf0c24cfa86dec2235c325c89f201934248b7c742715fc","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"2991bca2cc0f0628a278df2a2ccdb8d6cbcb700f3761abbed62bba137d5b1790","impliedFormat":1},{"version":"ce8653341224f8b45ff46d2a06f2cacb96f841f768a886c9d8dd8ec0878b11bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"a74edb3bab7394a9dbde529d60632be590def2f5f01024dbd85441587fbfbbe0","impliedFormat":1},{"version":"0ea59f7d3e51440baa64f429253759b106cfcbaf51e474cae606e02265b37cf8","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"00049ccc87f3f37726db03c01ca68fe74fd9c0109b68c29eb9923ebec2c76b13","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"68d3f35108e2608b1f2f28b36d19d7055f31c4465cc5692cbd06c716a9fe7973","impliedFormat":1},{"version":"a6d543044570fbeed13a7f9925a868081cd2b14ef59cdd9da6ae76d41cab03d3","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"f1c93e046fb3d9b7f8249629f4b63dc068dd839b824dd0aa39a5e68476dc9420","impliedFormat":1},{"version":"016b29bf4926b80255a108c53a1451717350059da04fcae64d1075f5e93bbb39","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"6f5383b3df1cdf4ff1aa7fb0850f77042b5786b5e65ec9a9b6be56ebfe4d9036","impliedFormat":1},{"version":"62fc21ed9ccbd83bd1166de277a4b5daaa8d15b5fa614c75610d20f3b73fba87","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"9d3821bc75c59577e52643324cec92fc2145642e8d17cf7ee07a3181f21d985d","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"201db9cf1687fab1adf5282fcba861f382b32303dc4f67c89d59655e78a25461","impliedFormat":1},{"version":"c77fb31bc17fd241d3922a9f88c59e3361cdf76d1328ba9412fc6bf7310b638d","impliedFormat":1},{"version":"0a20eaf2e4b1e3c1e1f87f7bccb0c936375b23b022baeea750519b7c9bc6ce83","impliedFormat":1},{"version":"b484ec11ba00e3a2235562a41898d55372ccabe607986c6fa4f4aba72093749f","impliedFormat":1},{"version":"a16b91b27bd6b706c687c88cbc8a7d4ee98e5ed6043026d6b84bda923c0aed67","impliedFormat":1},{"version":"694b812e0ed11285e8822cf8131e3ce7083a500b3b1d185fff9ed1089677bd0a","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"6eeded8c7e352be6e0efb83f4935ec752513c4d22043b52522b90849a49a3a11","impliedFormat":1},{"version":"6c1ad90050ffbb151cacc68e2d06ea1a26a945659391e32651f5d42b86fd7f2c","impliedFormat":1},{"version":"55cdbeebe76a1fa18bbd7e7bf73350a2173926bd3085bb050cf5a5397025ee4e","impliedFormat":1},{"version":"36593e913d1d6c330fbb5813319469de4052edf78f56cae6a788207f021ae975","impliedFormat":99},{"version":"ab4b58ac8736d73e2ba66feb4d7aa78e920258ff5a1620313474f366108db243","affectsGlobalScope":true,"impliedFormat":99},{"version":"d0b90b2c22bda9b6a7dabfb505a7fd3896e0267ab791d63a4a37098d0829e1b0","impliedFormat":99},{"version":"d26efa37b7cbdcc391dc201683de609900869d285213abf1dcbfb5275427142f","affectsGlobalScope":true,"impliedFormat":99},{"version":"0fe0f52d9ee15bf4fbeef129a5841a706720641554be2220df52c994f343a2f1","impliedFormat":99},{"version":"586cc6c492134b4680582124d2cd7d20efe0993917871647e0000dbf670bc0da","impliedFormat":99},{"version":"1feaa69fc54868b5a742d66fe5fea6c2c69f96a428aa13c379ab227e1c1cdbbd","impliedFormat":99},{"version":"5c227b208fc412f46976c48217b481af36527c1ebaf7db632f1d86bd3071375d","impliedFormat":99},{"version":"4505586df75aa395ca8e2099a3c1cd5a5a945e9a5eb3c6ee572876b7ccd729ae","impliedFormat":99},{"version":"4da2ac8afa2db94829766b264795a07b38cfceffef91afff54ea311e0ac166b1","affectsGlobalScope":true,"impliedFormat":99},{"version":"0c84a076fec5c6c8f4b6b7779e4b7e751c26ef934109ff57d91a27c27b53da3e","impliedFormat":99},{"version":"21c3a386a4949e8cbf8c244818d64d00fcbb4749ed3395cde06731f785efa76a","impliedFormat":99},{"version":"90196f06e82b702ddd82347af7b74c970045dfadc4aa3351d9e3762e4f2e73a1","impliedFormat":99},{"version":"76819055f75998ff52235623a17eb6c0ba2a325ebb6e4246b65219868e8b5dac","affectsGlobalScope":true,"impliedFormat":99},{"version":"33e19ea423da83a3c571e51b538ce945531593697c83a6c0bb4a241db25ddbbe","impliedFormat":99},{"version":"bea666b6e9fa8832f802f75faf8c2d623f2194ffdd9dd68f16f5aea45f33cc0e","impliedFormat":99}],"root":[95,[98,100],[102,104],[109,129],[152,162]],"options":{"allowImportingTsExtensions":true,"allowJs":true,"checkJs":false,"composite":true,"declaration":true,"declarationDir":"./lib/types","emitDeclarationOnly":true,"experimentalDecorators":true,"module":99,"outDir":"./lib","rootDir":"./src","skipLibCheck":true,"strict":false,"target":99},"referencedMap":[[140,1],[141,2],[142,3],[143,4],[144,5],[145,6],[130,6],[146,6],[147,7],[148,8],[149,9],[139,10],[133,11],[134,12],[135,13],[136,14],[288,15],[289,16],[290,3],[291,17],[131,18],[132,10],[137,19],[138,20],[286,21],[287,22],[292,23],[293,24],[294,25],[295,26],[296,27],[297,28],[298,29],[299,30],[300,31],[301,32],[225,33],[226,33],[227,34],[165,35],[228,36],[229,37],[230,38],[163,6],[231,39],[232,40],[233,41],[234,42],[235,43],[236,44],[237,44],[238,45],[239,46],[240,47],[241,48],[166,6],[164,6],[242,49],[243,50],[244,51],[285,52],[245,53],[246,54],[247,53],[248,55],[249,56],[251,57],[252,58],[253,58],[254,58],[255,59],[256,60],[257,61],[258,62],[259,63],[260,64],[261,64],[262,65],[263,6],[264,6],[265,66],[266,67],[267,66],[268,68],[269,69],[270,70],[271,71],[272,72],[273,73],[274,74],[275,75],[276,76],[277,77],[278,78],[279,79],[280,80],[281,81],[282,82],[167,53],[168,6],[169,6],[170,83],[171,6],[172,39],[173,6],[216,84],[217,85],[218,86],[219,86],[220,87],[221,6],[222,36],[223,88],[224,85],[283,89],[284,90],[250,6],[91,6],[92,6],[16,6],[14,6],[15,6],[20,6],[19,6],[2,6],[21,6],[22,6],[23,6],[24,6],[25,6],[26,6],[27,6],[28,6],[3,6],[29,6],[30,6],[4,6],[31,6],[35,6],[32,6],[33,6],[34,6],[36,6],[37,6],[38,6],[5,6],[39,6],[40,6],[41,6],[42,6],[6,6],[46,6],[43,6],[44,6],[45,6],[47,6],[7,6],[48,6],[53,6],[54,6],[49,6],[50,6],[51,6],[52,6],[8,6],[58,6],[55,6],[56,6],[57,6],[59,6],[9,6],[60,6],[61,6],[62,6],[64,6],[63,6],[65,6],[66,6],[10,6],[67,6],[68,6],[69,6],[11,6],[70,6],[71,6],[72,6],[73,6],[74,6],[75,6],[12,6],[76,6],[77,6],[78,6],[79,6],[80,6],[1,6],[81,6],[82,6],[13,6],[83,6],[84,6],[85,6],[86,6],[93,6],[87,6],[88,6],[89,6],[90,6],[18,6],[17,6],[192,91],[204,92],[189,93],[205,94],[214,95],[180,96],[181,97],[179,98],[213,99],[208,100],[212,101],[183,102],[201,103],[182,104],[211,105],[177,106],[178,100],[184,107],[185,6],[191,108],[188,107],[175,109],[215,110],[206,111],[195,112],[194,107],[196,113],[199,114],[193,115],[197,116],[209,99],[186,117],[187,118],[200,119],[176,94],[203,120],[202,107],[190,118],[198,121],[207,6],[174,6],[210,122],[151,123],[150,6],[106,6],[105,6],[107,124],[96,125],[97,126],[94,6],[108,6],[101,6],[100,127],[126,128],[95,129],[122,130],[102,131],[129,132],[127,6],[128,133],[98,134],[99,135],[158,136],[157,137],[153,138],[154,139],[156,140],[155,141],[152,142],[124,143],[111,144],[117,145],[113,146],[109,147],[110,148],[104,6],[116,149],[125,150],[119,151],[118,152],[120,153],[123,154],[103,155],[115,6],[121,156],[112,157],[114,158],[159,159],[160,160],[161,161],[162,162]],"latestChangedDtsFile":"./lib/types/wpt.spec.d.ts","version":"6.0.3"}
1
+ {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.es2024.d.ts","../../../node_modules/typescript/lib/lib.es2025.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../node_modules/typescript/lib/lib.es2024.object.d.ts","../../../node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2024.string.d.ts","../../../node_modules/typescript/lib/lib.es2025.collection.d.ts","../../../node_modules/typescript/lib/lib.es2025.float16.d.ts","../../../node_modules/typescript/lib/lib.es2025.intl.d.ts","../../../node_modules/typescript/lib/lib.es2025.iterator.d.ts","../../../node_modules/typescript/lib/lib.es2025.promise.d.ts","../../../node_modules/typescript/lib/lib.es2025.regexp.d.ts","../../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/typescript/lib/lib.esnext.date.d.ts","../../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.error.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.esnext.temporal.d.ts","../../../node_modules/typescript/lib/lib.esnext.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.esnext.full.d.ts","../dom-exception/lib/types/index.d.ts","./src/gst-init.ts","../dom-events/lib/esm/index.js","../dom-events/lib/esm/register/event-target.js","./src/media-stream-track.ts","./src/media-stream.ts","./src/get-user-media.ts","../webrtc-native/lib/types/index.d.ts","./src/gst-utils.ts","./src/rtc-session-description.ts","./src/rtc-ice-candidate.ts","../../node/buffer/lib/types/buffer.d.ts","../../node/buffer/lib/types/blob.d.ts","../../node/buffer/lib/types/index.d.ts","../dom-exception/lib/types/register.d.ts","./src/rtc-error.ts","./src/rtc-events.ts","./src/rtc-data-channel.ts","./src/rtp-capabilities.ts","./src/rtc-dtmf-sender.ts","./src/tee-multiplexer.ts","./src/rtc-stats-report.ts","./src/rtc-ice-transport.ts","./src/rtc-dtls-transport.ts","./src/rtc-rtp-sender.ts","./src/rtc-rtp-receiver.ts","./src/rtc-rtp-transceiver.ts","./src/rtc-track-event.ts","./src/gst-stats-parser.ts","./src/rtc-sctp-transport.ts","./src/rtc-certificate.ts","./src/rtc-peer-connection.ts","./src/gst-enum-maps.ts","./src/media-device-info.ts","./src/media-devices.ts","./src/index.ts","../../../node_modules/@girs/gjs/gettext.d.ts","../../../node_modules/@girs/gobject-2.0/gobject-2.0-ambient.d.ts","../../../node_modules/@girs/gobject-2.0/gobject-2.0-import.d.ts","../../../node_modules/@girs/glib-2.0/glib-2.0-ambient.d.ts","../../../node_modules/@girs/glib-2.0/glib-2.0-import.d.ts","../../../node_modules/@girs/glib-2.0/glib-2.0.d.ts","../../../node_modules/@girs/glib-2.0/index.d.ts","../../../node_modules/@girs/gobject-2.0/gobject-2.0.d.ts","../../../node_modules/@girs/gobject-2.0/index.d.ts","../../../node_modules/@girs/gjs/system.d.ts","../../../node_modules/@girs/cairo-1.0/cairo-1.0-ambient.d.ts","../../../node_modules/@girs/cairo-1.0/cairo-1.0-import.d.ts","../../../node_modules/@girs/cairo-1.0/cairo-1.0.d.ts","../../../node_modules/@girs/cairo-1.0/index.d.ts","../../../node_modules/@girs/gjs/cairo.d.ts","../../../node_modules/@girs/gjs/console.d.ts","../../../node_modules/@girs/gjs/gi.d.ts","../../../node_modules/@girs/gjs/gjs-ambient.d.ts","../../../node_modules/@girs/gjs/gjs.d.ts","../../../node_modules/@girs/gjs/index.d.ts","../../gjs/unit/lib/types/spy.d.ts","../../gjs/unit/lib/types/index.d.ts","./src/register/peer-connection.ts","./src/register/data-channel.ts","./src/register/error.ts","./src/register/media.ts","./src/register/media-devices.ts","./src/register.ts","./src/register.spec.ts","./src/webrtc.spec.ts","./src/wpt-helpers.ts","./src/wpt-media.spec.ts","./src/wpt.spec.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/blob.d.ts","../../../node_modules/@types/node/web-globals/console.d.ts","../../../node_modules/@types/node/web-globals/crypto.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/encoding.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/undici-types/utility.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client-stats.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/round-robin-pool.d.ts","../../../node_modules/undici-types/h2c-client.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/snapshot-agent.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/web-globals/importmeta.d.ts","../../../node_modules/@types/node/web-globals/messaging.d.ts","../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/@types/node/web-globals/performance.d.ts","../../../node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/@types/node/web-globals/streams.d.ts","../../../node_modules/@types/node/web-globals/timers.d.ts","../../../node_modules/@types/node/web-globals/url.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/inspector/promises.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/path/posix.d.ts","../../../node_modules/@types/node/path/win32.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/quic.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/test/reporters.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/util/types.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@girs/gst-1.0/gst-1.0-ambient.d.ts","../../../node_modules/@girs/gst-1.0/gst-1.0-import.d.ts","../../../node_modules/@girs/gmodule-2.0/gmodule-2.0-ambient.d.ts","../../../node_modules/@girs/gmodule-2.0/gmodule-2.0-import.d.ts","../../../node_modules/@girs/gmodule-2.0/gmodule-2.0.d.ts","../../../node_modules/@girs/gmodule-2.0/index.d.ts","../../../node_modules/@girs/gst-1.0/gst-1.0.d.ts","../../../node_modules/@girs/gst-1.0/index.d.ts","../../../node_modules/@girs/gstsdp-1.0/gstsdp-1.0-ambient.d.ts","../../../node_modules/@girs/gstsdp-1.0/gstsdp-1.0-import.d.ts","../../../node_modules/@girs/gstsdp-1.0/gstsdp-1.0.d.ts","../../../node_modules/@girs/gstsdp-1.0/index.d.ts","../../../node_modules/@girs/gstwebrtc-1.0/gstwebrtc-1.0-ambient.d.ts","../../../node_modules/@girs/gstwebrtc-1.0/gstwebrtc-1.0-import.d.ts","../../../node_modules/@girs/gstwebrtc-1.0/gstwebrtc-1.0.d.ts","../../../node_modules/@girs/gstwebrtc-1.0/index.d.ts"],"fileIdsList":[[140,143,147,165,228,231,236,240,243,245,246,247,260],[143,147,165,228,231,236,240,243,245,246,247,260],[136,138,147,149,165,228,231,236,240,243,245,246,247,260],[141,142,147,165,228,231,236,240,243,245,246,247,260],[138,143,147,165,228,231,236,240,243,245,246,247,260],[147,165,228,231,236,240,243,245,246,247,260],[130,139,144,145,146,165,228,231,236,240,243,245,246,247,260],[130,136,138,139,144,147,165,228,231,236,240,243,245,246,247,260],[147,148,165,228,231,236,240,243,245,246,247,260],[138,147,165,228,231,236,240,243,245,246,247,260],[133,136,147,165,228,231,236,240,243,245,246,247,260],[136,147,165,228,231,236,240,243,245,246,247,260],[138,147,149,165,228,231,236,240,243,245,246,247,260],[134,135,147,165,228,231,236,240,243,245,246,247,260],[147,165,228,231,236,240,243,245,246,247,260,288,291],[147,165,228,231,236,240,243,245,246,247,260,291],[147,165,228,231,236,240,243,245,246,247,260,289,290],[131,138,147,165,228,231,236,240,243,245,246,247,260],[136,147,149,165,228,231,236,240,243,245,246,247,260],[132,137,147,165,228,231,236,240,243,245,246,247,260],[147,165,228,231,236,240,243,245,246,247,260,286,293],[147,165,228,231,236,240,243,245,246,247,260,293],[136,138,147,149,165,228,231,236,240,243,245,246,247,260,291],[147,165,228,231,236,240,243,245,246,247,260,287,292],[147,165,228,231,236,240,243,245,246,247,260,294,297],[147,165,228,231,236,240,243,245,246,247,260,297],[136,138,147,149,165,228,231,236,240,243,245,246,247,260,291,293],[147,165,228,231,236,240,243,245,246,247,260,295,296],[147,165,228,231,236,240,243,245,246,247,260,298,301],[147,165,228,231,236,240,243,245,246,247,260,301],[136,138,147,149,165,228,231,236,240,243,245,246,247,260,291,293,297],[147,165,228,231,236,240,243,245,246,247,260,299,300],[147,165,225,226,228,231,236,240,243,245,246,247,260],[147,165,227,228,231,236,240,243,245,246,247,260],[147,228,231,236,240,243,245,246,247,260],[147,165,228,231,236,240,243,245,246,247,260,268],[147,165,228,229,231,234,236,239,240,243,245,246,247,249,260,265,277],[147,165,228,229,230,231,236,239,240,243,245,246,247,260],[147,165,228,231,236,240,243,245,246,247,260,278],[147,165,228,231,232,233,236,240,243,245,246,247,251,260],[147,165,228,231,233,236,240,243,245,246,247,260,265,274],[147,165,228,231,234,236,239,240,243,245,246,247,249,260],[147,165,227,228,231,235,236,240,243,245,246,247,260],[147,165,228,231,236,237,240,243,245,246,247,260],[147,165,228,231,236,238,239,240,243,245,246,247,260],[147,165,227,228,231,236,239,240,243,245,246,247,260],[147,165,228,231,236,239,240,241,243,245,246,247,260,265,277],[147,165,228,231,236,239,240,241,243,245,246,247,260,265,268],[147,165,215,228,231,236,239,240,242,243,245,246,247,249,260,265,277],[147,165,228,231,236,239,240,242,243,245,246,247,249,260,265,274,277],[147,165,228,231,236,240,242,243,244,245,246,247,260,265,274,277],[147,163,164,165,166,167,168,169,170,171,172,173,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284],[147,165,228,231,236,239,240,243,245,246,247,260],[147,165,228,231,236,240,243,245,247,260],[147,165,228,231,236,240,243,245,246,247,248,260,277],[147,165,228,231,236,239,240,243,245,246,247,249,260,265],[147,165,228,231,236,240,243,245,246,247,251,260],[147,165,228,231,236,240,243,245,246,247,252,260],[147,165,228,231,236,239,240,243,245,246,247,255,260],[147,165,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284],[147,165,228,231,236,240,243,245,246,247,257,260],[147,165,228,231,236,240,243,245,246,247,258,260],[147,165,228,231,233,236,240,243,245,246,247,249,260,268],[147,165,228,231,236,239,240,243,245,246,247,260,261],[147,165,228,231,236,240,243,245,246,247,260,262,278,281],[147,165,228,231,236,239,240,243,245,246,247,260,265,267,268],[147,165,228,231,236,240,243,245,246,247,260,266,268],[147,165,228,231,236,240,243,245,246,247,260,268,278],[147,165,228,231,236,240,243,245,246,247,260,269],[147,165,225,228,231,236,240,243,245,246,247,260,265,271,277],[147,165,228,231,236,240,243,245,246,247,260,265,270],[147,165,228,231,236,239,240,243,245,246,247,260,272,273],[147,165,228,231,236,240,243,245,246,247,260,272,273],[147,165,228,231,233,236,240,243,245,246,247,249,260,265,274],[147,165,228,231,236,240,243,245,246,247,260,275],[147,165,228,231,236,240,243,245,246,247,249,260,276],[147,165,228,231,236,240,242,243,245,246,247,258,260,277],[147,165,228,231,236,240,243,245,246,247,260,278,279],[147,165,228,231,233,236,240,243,245,246,247,260,279],[147,165,228,231,236,240,243,245,246,247,260,265,280],[147,165,228,231,236,240,243,245,246,247,248,260,281],[147,165,228,231,236,240,243,245,246,247,260,282],[147,165,228,231,233,236,240,243,245,246,247,260],[147,165,215,228,231,236,240,243,245,246,247,260],[147,165,228,231,236,240,243,245,246,247,260,277],[147,165,228,231,236,240,243,245,246,247,260,283],[147,165,228,231,236,240,243,245,246,247,255,260],[147,165,228,231,236,240,243,245,246,247,260,273],[147,165,215,228,231,236,239,240,241,243,245,246,247,255,260,265,268,277,280,281,283],[147,165,228,231,236,240,243,245,246,247,260,265,284],[147,165,180,183,186,187,228,231,236,240,243,245,246,247,260,277],[147,165,183,228,231,236,240,243,245,246,247,260,265,277],[147,165,183,187,228,231,236,240,243,245,246,247,260,277],[147,165,228,231,236,240,243,245,246,247,260,265],[147,165,177,228,231,236,240,243,245,246,247,260],[147,165,181,228,231,236,240,243,245,246,247,260],[147,165,179,180,183,228,231,236,240,243,245,246,247,260,277],[147,165,228,231,236,240,243,245,246,247,249,260,274],[147,165,228,231,236,240,243,245,246,247,260,285],[147,165,177,228,231,236,240,243,245,246,247,260,285],[147,165,179,183,228,231,236,240,243,245,246,247,249,260,277],[147,165,174,175,176,178,182,228,231,236,239,240,243,245,246,247,260,265,277],[147,165,183,192,200,228,231,236,240,243,245,246,247,260],[147,165,175,181,228,231,236,240,243,245,246,247,260],[147,165,183,209,210,228,231,236,240,243,245,246,247,260],[147,165,175,178,183,228,231,236,240,243,245,246,247,260,268,277,285],[147,165,183,228,231,236,240,243,245,246,247,260],[147,165,179,183,228,231,236,240,243,245,246,247,260,277],[147,165,174,228,231,236,240,243,245,246,247,260],[147,165,177,178,179,181,182,183,184,185,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,210,211,212,213,214,228,231,236,240,243,245,246,247,260],[147,165,183,202,205,228,231,236,240,243,245,246,247,260],[147,165,183,192,193,194,228,231,236,240,243,245,246,247,260],[147,165,181,183,193,195,228,231,236,240,243,245,246,247,260],[147,165,182,228,231,236,240,243,245,246,247,260],[147,165,175,177,183,228,231,236,240,243,245,246,247,260],[147,165,183,187,193,195,228,231,236,240,243,245,246,247,260],[147,165,187,228,231,236,240,243,245,246,247,260],[147,165,181,183,186,228,231,236,240,243,245,246,247,260,277],[147,165,175,179,183,192,228,231,236,240,243,245,246,247,260],[147,165,183,202,228,231,236,240,243,245,246,247,260],[147,165,195,228,231,236,240,243,245,246,247,260],[147,165,177,183,209,228,231,236,240,243,245,246,247,260,268,283,285],[147,149,150,165,228,231,236,240,243,245,246,247,260],[105,106,147,165,228,231,236,240,243,245,246,247,260],[94,147,165,228,231,236,240,243,245,246,247,260],[96,147,165,228,231,236,240,243,245,246,247,260],[95,98,99,147,165,228,231,236,240,243,245,246,247,260],[118,125,147,165,228,231,236,240,243,245,246,247,260,298],[94,147,165,228,231,236,240,243,245,246,247,260,286],[115,126,147,165,228,231,236,240,243,245,246,247,260,286],[101,147,165,228,231,236,240,243,245,246,247,260,286],[98,99,100,103,104,109,110,111,113,115,116,117,118,119,120,121,123,124,125,127,128,147,165,228,231,236,240,243,245,246,247,260],[95,97,99,100,127,147,165,228,231,236,240,243,245,246,247,260],[95,97,133,147,165,228,231,236,240,243,245,246,247,260],[97,98,133,147,165,228,231,236,240,243,245,246,247,260],[147,151,157,165,228,231,236,240,243,245,246,247,260],[147,152,153,154,155,156,165,228,231,236,240,243,245,246,247,260],[110,111,147,165,228,231,236,240,243,245,246,247,260],[109,110,147,165,228,231,236,240,243,245,246,247,260],[128,147,165,228,231,236,240,243,245,246,247,260],[98,99,121,147,165,228,231,236,240,243,245,246,247,260],[103,104,110,125,147,165,228,231,236,240,243,245,246,247,260],[133,147,165,228,231,236,240,243,245,246,247,260],[94,101,107,109,110,133,147,165,228,231,236,240,243,245,246,247,260,298],[97,116,147,165,228,231,236,240,243,245,246,247,260],[97,147,165,228,231,236,240,243,245,246,247,260],[108,147,165,228,231,236,240,243,245,246,247,260],[97,104,109,111,147,165,228,231,236,240,243,245,246,247,260],[97,104,147,165,228,231,236,240,243,245,246,247,260],[94,95,98,99,101,102,103,104,110,111,115,116,117,118,119,120,121,122,123,124,126,131,133,147,165,228,231,236,240,243,245,246,247,260,298],[98,101,112,115,117,118,147,165,228,231,236,240,243,245,246,247,260,286,298],[95,98,99,112,113,114,115,117,147,165,228,231,236,240,243,245,246,247,260,298],[118,119,126,147,165,228,231,236,240,243,245,246,247,260,298],[97,117,147,165,228,231,236,240,243,245,246,247,260],[147,165,228,231,236,240,243,245,246,247,260,294,298],[97,98,99,119,120,147,165,228,231,236,240,243,245,246,247,260],[118,147,165,228,231,236,240,243,245,246,247,260],[95,147,165,228,231,236,240,243,245,246,247,260],[129,147,151,165,228,231,236,240,243,245,246,247,260,286],[129,147,165,228,231,236,240,243,245,246,247,260],[100,128,129,147,151,160,165,228,231,236,240,243,245,246,247,260],[129,147,151,160,165,228,231,236,240,243,245,246,247,260,286]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"1e9332c23e9a907175e0ffc6a49e236f97b48838cc8aec9ce7e4cec21e544b65","impliedFormat":1},{"version":"3753fbc1113dc511214802a2342280a8b284ab9094f6420e7aa171e868679f91","impliedFormat":1},{"version":"999ca32883495a866aa5737fe1babc764a469e4cde6ee6b136a4b9ae68853e4b","impliedFormat":1},{"version":"17f13ecb98cbc39243f2eee1f16d45cd8ec4706b03ee314f1915f1a8b42f6984","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"7f57fc4404ff020bc45b9c620aff2b40f700b95fe31164024c453a5e3c163c54","impliedFormat":1},{"version":"2a2de5b9459b3fc44decd9ce6100b72f1b002ef523126c1d3d8b2a4a63d74d78","affectsGlobalScope":true,"impliedFormat":1},{"version":"f13f4b465c99041e912db5c44129a94588e1aafee35a50eab51044833f50b4ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"0bd714129fca875f7d4c477a1a392200b0bcd13fb2e80928cd334b63830ea047","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2c9037ae6cd2c52d80ceef0b3c5ffdb488627d71529cf4f63776daf11161c9a","affectsGlobalScope":true,"impliedFormat":1},{"version":"135d5cf4d345f59f1a9caadfafcd858d3d9cc68290db616cc85797224448cccc","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc238c3f81c2984751932b6aab223cd5b830e0ac6cad76389e5e9d2ffc03287d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4a07f9b76d361f572620927e5735b77d6d2101c23cdd94383eb5b706e7b36357","affectsGlobalScope":true,"impliedFormat":1},{"version":"7c4e8dc6ab834cc6baa0227e030606d29e3e8449a9f67cdf5605ea5493c4db29","affectsGlobalScope":true,"impliedFormat":1},{"version":"de7ba0fd02e06cd9a5bd4ab441ed0e122735786e67dde1e849cced1cd8b46b78","affectsGlobalScope":true,"impliedFormat":1},{"version":"6148e4e88d720a06855071c3db02069434142a8332cf9c182cda551adedf3156","affectsGlobalScope":true,"impliedFormat":1},{"version":"d63dba625b108316a40c95a4425f8d4294e0deeccfd6c7e59d819efa19e23409","affectsGlobalScope":true,"impliedFormat":1},{"version":"0568d6befee03dd435bed4fc25c4e46865b24bdcb8c563fdc21f580a2c301904","affectsGlobalScope":true,"impliedFormat":1},{"version":"30d62269b05b584741f19a5369852d5d34895aa2ac4fd948956f886d15f9cc0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"ffbe6d7b295306b2ba88030f65b74c107d8d99bdcf596ea99c62a02f606108b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"996fb27b15277369c68a4ba46ed138b4e9e839a02fb4ec756f7997629242fd9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"79b712591b270d4778c89706ca2cfc56ddb8c3f895840e477388f1710dc5eda9","affectsGlobalScope":true,"impliedFormat":1},{"version":"20884846cef428b992b9bd032e70a4ef88e349263f63aeddf04dda837a7dba26","affectsGlobalScope":true,"impliedFormat":1},{"version":"5fcab789c73a97cd43828ee3cc94a61264cf24d4c44472ce64ced0e0f148bdb2","affectsGlobalScope":true,"impliedFormat":1},{"version":"db59a81f070c1880ad645b2c0275022baa6a0c4f0acdc58d29d349c6efcf0903","affectsGlobalScope":true,"impliedFormat":1},{"version":"673294292640f5722b700e7d814e17aaf7d93f83a48a2c9b38f33cbc940ad8b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d786b48f934cbca483b3c6d0a798cb43bbb4ada283e76fb22c28e53ae05b9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ecb8e347cb6b2a8927c09b86263663289418df375f5e68e11a0ae683776978f","affectsGlobalScope":true,"impliedFormat":1},{"version":"142efd4ce210576f777dc34df121777be89eda476942d6d6663b03dcb53be3ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"379bc41580c2d774f82e828c70308f24a005b490c25ba34d679d84bcf05c3d9d","affectsGlobalScope":true,"impliedFormat":1},{"version":"ed484fb2aa8a1a23d0277056ec3336e0a0b52f9b8d6a961f338a642faf43235d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ffedae1d1c2d53fdbca1c96d3c7dda544281f7d262f99b6880634f8fd8d9820","affectsGlobalScope":true,"impliedFormat":1},{"version":"83a730b125d477dd264df8ba479afab27a3dae7152b005c214ab94dc7ee44fd3","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"ef4a897cd2a3f91000c10264e400b3667c7e51e1b7365f03b62e8081dc53bde6","impliedFormat":1},"e176cbd59020ce3184e68f10e5f286e027dd444e66d490fe3836118e17babf9c",{"version":"76b99e3b94497637819168ae131c37631933dfbd5b366082594fea535739025a","signature":"e4428f9652f8727eb580388b6e7ed65afef8be65593241a45624587a2cfe039c"},"7c0481e4f694b02ec8154f4b0e20114d3265fa7891f5c2e97bb090f7446434ea","a368809076e7b49e0a1fb1300b409c72cd4e1a10f8e385367b8f4e2eb604bb23",{"version":"baecc726c890b001d9630fcf1f066c3fcbcb0ed06f6b2e30e0498b2d8ff9c81d","signature":"150f4b83a70713458007c78f71629d90ce40c05a1af0df8f6ac23aaac50742da"},{"version":"0e7468aeacc0ab5d19bf5440631d2db20d9f82e5a25faeb8921092cc78d3725c","signature":"1824848c336d0221ce3dd40c130346c5aa25a1ea42167b71f30274ab2578855f"},{"version":"ba5ba14af2ded7476c3a37ec12f3a61cce16a006a85383d116fa17d5d28e0e44","signature":"d4e8628038a6aaf5ca1dd7a6bc2115286f9982c2ca8a15f895248f44b6220d96"},"c58e1f414dc6c4be85c1a0fd9c56c420e545ca3c3ff0ed5a87ad80d3b9076371",{"version":"565dad5309fb7286e860dd628f062c35d28eb7fd0f0d4b8987933c3f2349a2ea","signature":"119574cf2442209c6485367ea03e1f50f5bfea426b69b5fde61d3ac4fd409d78"},{"version":"e94db1f0f03eccf864cf8e31886adb419d418862a8aa874469f3378ade0b2592","signature":"1ffc02aa80a1e450f8f41b9d9c0e9585b253b930cc075cd539864c52297edf3d"},{"version":"03fc57e5c70c6ea268f8f56f7bea4f88450c4cbbaf9875db8943a0b48bc8973a","signature":"4be7f359c6e123f88e68362f7c1a8fbd8d6c02c43052ce2c70fc65fe4982b5c2"},"ceb1d85b8d1851cba6dbb0bafa191db812f49c91c235a8c5c9a096db446613ab","14c42e882571fd996bd2464aa705b15ac5a9a9f5e19bdbca3da1215a596bd570","5c5d404c31223ba4ad11519db6e85eaa23b444082b5dccfe85c6a0d7fe35be5f","8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",{"version":"2688d59761575ef2a169648864c395a224a619dd5484bc5ad33b58dcd0e3177e","signature":"1dbaa718855a16413958a27d8cc9e634edee44bd2aa260fce33d8dc6e7c86e52"},{"version":"61cea47dba2372e0d780d09fc39b885f77a650b71d66f4422b0507eeeec92707","signature":"e0ad16a96273e774bff63ed5957fdc1b8f614cb6ed438e42be83323d53b04b6a"},{"version":"03a057c880015499f2fb5bd6fd79970134be82d216032f667c88bab218890e17","signature":"65874a0361ce8c0320a0fce83e9e79ae6dd0983e7b610a1d75024106d59091b6"},{"version":"0d5cbcdfa95fa6b096f10b51aa6320640fe03f6951bf877eb3eb6564c0ab5875","signature":"d97ce58b467028b4eb16cdbb6308518b5d603116a9c3efef06269829731a5e52"},{"version":"83f7819c4f3474318d455fb549a23f032dbaad9edfe8a1e86b2c8da7dc8977de","signature":"c273a557c8fedf0ef5d250033fb501a0b5156ac8d89ecfa80facdc0c5c2ab359"},{"version":"45721bf5a4755b060af1f231cc58f725c9e67dce3cdf2d92f579f5546b52111c","signature":"b0dfce0a97fdc8a541cec2ebbc486221c31619283abc1a7419e1c86af378f8cb"},{"version":"46ebfc959a51c1cf927f7e633ec94a87159f6f873b8dc999e75cd249d8cefadd","signature":"115ff55642033b88cf658f89425c0fd79970b9deb245804e57efdedfb2f0e883"},{"version":"31ca2dae30378486371acc175c6090453a5214d1f16ab4123cb95c18ea214356","signature":"c25f322b7d8105a3cfbb97ae3c2aec266cd6dde5417a1769d365105ae2fc0212"},{"version":"fae8b5138399488e774792e9cecaac473185faf31d560ad948a228a6440f31e7","signature":"93d76dd7a5d182c516d064963b230261f58aa27a33d767a912784b287568b6fd"},{"version":"eddd61757fb795bcd6303ceee24c21adaacf11c078766491fb98bad1ee489d33","signature":"59ecad742758a5f4397eb58846cc42025618742f1cdb20e940802608a860717a"},{"version":"a05a19c8435a393038a30d0b98bb50c5bc6e46d5a98374155f0e73bb42012bac","signature":"199e1283f960566d53c5f5d816e3b952b2d8e054d8dc077b49de8eade3097cf9"},{"version":"9dabebfa466840b3cf6fc51cd9ea43401a323bd87b8d493e9e615699fa3aa35f","signature":"9fcf5f2b6a459a0d61031d3af8858f6c0b58f367843c55d3f986debf2a36111a"},{"version":"5e6b29fdc82fe89b4beba732788a2a3ee26a18cd75f810812e88896cfdea3737","signature":"70460a1fcc1aab7ab44ccc1d83d17808fe0a2245fcc81cbc7444fabb4f98e2a8"},{"version":"3e4d48e8bb9213b4f287a3b21c7c0964c899a15ce6edc186aeb8556eb72de6a6","signature":"f11866cde0f3f6354a8607d325852d5685286149e25dc17fc1a8763d3a8acf65"},{"version":"4fcbc7cc9645e4f4981c02a53c99164f389c6c81085df109886e10f508447813","signature":"9b9ccdf513d3e37d5d9b6c092d9ff6be792863cb2c660d554cff29ee388ca512"},{"version":"dc66387f99281cab9ac9e59cacf929d360770678fe3773527a687ceebae18c27","signature":"a038d47e27c570f5ae9ebcc1b3b63a60adcc318de648022c2c566f839a1df021"},{"version":"d92f840b41e60916f4d3f7c5e9c2c7938678910e4b93012cce66e60366965917","signature":"63dfb22eb518cdd9259dece84f32997d9673c0cf61d513e8f35976fe60f371e3"},{"version":"8aac9a902362bdabde7871f0bb37b8698897adfa7671905ff200edf82b42169a","signature":"74cc3add4f2932613e7a89037a407d033d847fa424167bc45d5dec1c63a0c94f"},{"version":"a62393014b2f03a12b55d121a227911c2e10da73a6fc01b47440d28f12273af2","signature":"3ddaf42a0b6ed142a77fb7ee8c54ec55e3cb1a44e98a3280a460f2761f7907ff"},{"version":"d2805d598f3ab55de58cfe221b9813ff03db57a7dbdeb4b1740a95e84e60bfa7","signature":"86ccdbee3de7705e5db7c0841a13f7c7623a8fd794a8d395cf18f22a09033c46"},{"version":"c91d5835a2450b768d41143860c0e2b997b5f8b66628117ef9f31e770c6174da","signature":"211f91daef33cb4ce688d4221d71c6ad5887706c1e8f7602f7451fa1586c76e1"},{"version":"4936d25ba31379ce4e3d4289f6c0ea936510e111f823ec377015de6ba7047adf","impliedFormat":99},{"version":"1ffa53902f87f288dbaebc1dd9c754a0f0f1c4af2733fc7e173022209e7d4ef8","impliedFormat":99},{"version":"d7801240a49920afb07e1a83597b05a26e5e3758163a70448ba14df3f7ab5286","affectsGlobalScope":true,"impliedFormat":99},{"version":"2aed5de224f5094280addfaf59e82b362b3680083917cfa7f066c4b89cc58b74","impliedFormat":99},{"version":"86ecf772256f9205f72c768dc9b47d27b4254a64a1dd94f61c8c2f29219c24e1","affectsGlobalScope":true,"impliedFormat":99},{"version":"f62bcd0d626998f4b14a5e4bf6c65abf4dfeaa042243dd57e4e92125fd602ed6","impliedFormat":99},{"version":"9462f849ff8d50a61639f09a8e369f7584c623a8cbcf9d99c6b81aacbca91fd2","impliedFormat":99},{"version":"6da820ee582c593971e71a933dbf54d72b47984bb11f888d225c7a8476e74790","impliedFormat":99},{"version":"048a292f9fb06d0aab8c52cabd81bc820c70d68500530afe1867c08e431d4e46","impliedFormat":99},{"version":"e2f9944677cba1c7f636dde67d7ca77982da3b52134c617bd86d3a4d8607b498","impliedFormat":99},{"version":"ceaf67c6cb2df4f38f466bd3709a72199d1d98377dcf215bf760b2a383fc73a8","impliedFormat":99},{"version":"c5f89dedf8e238012d580d16ee2286bf0681f1389f14d419c87711070430995c","affectsGlobalScope":true,"impliedFormat":99},{"version":"dc996a90baa100126e6014b2f55022930e1a44621ec68eb163f322714b7596bc","impliedFormat":99},{"version":"cdd5245a59183386c7b465ad56e2353a0a1b49c32733520ec5c0eeb718781012","impliedFormat":99},{"version":"35c6737b37a2c92e67a14ba7692f3216df6c140c28133835768f7c66cb15fa88","impliedFormat":99},{"version":"7b607f4711c496c7c4f57abddfc7b9912059e1f264417ff8f4280b65f756bf4d","impliedFormat":99},{"version":"17122ddf1e2ff9f0538a06af6edc8d2666d7e1a428239e86358afc09ac7a8779","impliedFormat":99},{"version":"2cc6a5c34041442caa16aff0686d41595296248c7c33bfac5b94cd4fe8ae20de","impliedFormat":99},{"version":"8384e3ab082eecd9d0faa07ddf7e9ff3879bfac60216e47328f799600e47ea80","affectsGlobalScope":true,"impliedFormat":99},{"version":"715e7c015d2f3f4de0da107d9be2db02b52cea3d2d446ad11d2e732848d8e3e7","impliedFormat":99},"cda120f78df4c624c7fb1bd8e17343a39bfbede803f38312fb8e51fa818e1a7a","d9e135cc1dcf9f798edb9665b777dcad812d980a467b6ed11ce1d1bb9f017176",{"version":"22440f4f61de5654270fc959eb5f97418f376eb9c425a68deaa30ea51e202f45","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"c4ba8574b652098b47be53ff6505d44e792c3a9aed4c2f9758bc40348ab57223","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1bea6e275d510e3a6d407c6710932d526ea4b964edfae5fbd250eb1b5e7294e2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f71a406baeb5bac48865625caf8e9d76d6a4ceeb6e448f5db8cdbae38a18b543","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3f5e338ca93542e506db8347cc0da0de0dd130e5676f35205ef021f9b53813c7","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cc9224780d7525d070218580c1ebf31c00d6a332d43ea15db2bdca064dfdbae4","signature":"cc109f4eafd381a67d0c8f8f61e5f9903c34a5ddfab8e7a554996b21250d99b3"},{"version":"b57920de5522f4f547a8c5381993385ae47bf16ef5e57ac47180698aa514deff","signature":"dd1be46b06538e98dab3b6c2d8c52dd3a196df8b76a4106822c31c2951e26b9b"},{"version":"2abb00e1ef37cd3163f6c07b4d632a7b0659ca3fcbd69fe4cd76311132651d4f","signature":"fefaf643ad02c05059e06244a8291c4cb3a2693ec928c843599c25d00ee9f574"},{"version":"45bee09f3cc450e8c22fd3974ae8ff02a03f1f8537e253817df62e03bc6a3981","signature":"791c2e3d9aee9102f1bf945719dcf038db45b2c39baf5ad8e913f21ca7f0ffb8"},{"version":"9096f104229d228181447390d12333a5b5445bff27040ccf0881dc93c5ac1f7d","signature":"fefaf643ad02c05059e06244a8291c4cb3a2693ec928c843599c25d00ee9f574"},{"version":"b30535de256d268e3a9bd6e70e595982ecb35ee6af1482c7430bb6e719ad9a8c","signature":"fefaf643ad02c05059e06244a8291c4cb3a2693ec928c843599c25d00ee9f574"},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ccdaa19852d25ecd84eec365c3bfa16e7859cadecf6e9ca6d0dbbbee439743f","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc2110f7decca6bfb9392e30421cfa1436479e4a6756e8fec6cbc22625d4f881","affectsGlobalScope":true,"impliedFormat":1},{"version":"096116f8fedc1765d5bd6ef360c257b4a9048e5415054b3bf3c41b07f8951b0b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5e01375c9e124a83b52ee4b3244ed1a4d214a6cfb54ac73e164a823a4a7860a","affectsGlobalScope":true,"impliedFormat":1},{"version":"f90ae2bbce1505e67f2f6502392e318f5714bae82d2d969185c4a6cecc8af2fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b58e207b93a8f1c88bbf2a95ddc686ac83962b13830fe8ad3f404ffc7051fb4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1fefabcb2b06736a66d2904074d56268753654805e829989a46a0161cd8412c5","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"c18a99f01eb788d849ad032b31cafd49de0b19e083fe775370834c5675d7df8e","affectsGlobalScope":true,"impliedFormat":1},{"version":"5247874c2a23b9a62d178ae84f2db6a1d54e6c9a2e7e057e178cc5eea13757fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"156a859e21ef3244d13afeeba4e49760a6afa035c149dda52f0c45ea8903b338","impliedFormat":1},{"version":"10ec5e82144dfac6f04fa5d1d6c11763b3e4dbbac6d99101427219ab3e2ae887","impliedFormat":1},{"version":"615754924717c0b1e293e083b83503c0a872717ad5aa60ed7f1a699eb1b4ea5c","impliedFormat":1},{"version":"074de5b2fdead0165a2757e3aaef20f27a6347b1c36adea27d51456795b37682","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"4137ebf04166f3a325f056aa56101adc75e9dceb30404a1844eb8604d89770e2","impliedFormat":1},{"version":"ccab02f3920fc75c01174c47fcf67882a11daf16baf9e81701d0a94636e94556","impliedFormat":1},{"version":"3e11fce78ad8c0e1d1db4ba5f0652285509be3acdd519529bc8fcef85f7dafd9","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"9c32412007b5662fd34a8eb04292fb5314ec370d7016d1c2fb8aa193c807fe22","impliedFormat":1},{"version":"7fd1b31fd35876b0aa650811c25ec2c97a3c6387e5473eb18004bed86cdd76b6","impliedFormat":1},{"version":"4d327f7d72ad0918275cea3eee49a6a8dc8114ae1d5b7f3f5d0774de75f7439a","impliedFormat":1},{"version":"6ebe8ebb8659aaa9d1acbf3710d7dae3e923e97610238b9511c25dc39023a166","impliedFormat":1},{"version":"e85d7f8068f6a26710bff0cc8c0fc5e47f71089c3780fbede05857331d2ddec9","impliedFormat":1},{"version":"7befaf0e76b5671be1d47b77fcc65f2b0aad91cc26529df1904f4a7c46d216e9","impliedFormat":1},{"version":"0a60a292b89ca7218b8616f78e5bbd1c96b87e048849469cccb4355e98af959a","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"40cd35c95e9cf22cfa5bd84e96408b6fcbca55295f4ff822390abb11afbc3dca","impliedFormat":1},{"version":"b1616b8959bf557feb16369c6124a97a0e74ed6f49d1df73bb4b9ddf68acf3f3","impliedFormat":1},{"version":"5b03a034c72146b61573aab280f295b015b9168470f2df05f6080a2122f9b4df","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"80aae6afc67faa5ac0b32b5b8bc8cc9f7fa299cff15cf09cc2e11fd28c6ae29e","impliedFormat":1},{"version":"f473cd2288991ff3221165dcf73cd5d24da30391f87e85b3dd4d0450c787a391","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"8aee8b6d4f9f62cf3776cda1305fb18763e2aade7e13cea5bbe699112df85214","impliedFormat":1},{"version":"98498b101803bb3dde9f76a56e65c14b75db1cc8bec5f4db72be541570f74fc5","impliedFormat":1},{"version":"1cc2a09e1a61a5222d4174ab358a9f9de5e906afe79dbf7363d871a7edda3955","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"b64d4d1c5f877f9c666e98e833f0205edb9384acc46e98a1fef344f64d6aba44","impliedFormat":1},{"version":"adf27937dba6af9f08a68c5b1d3fce0ca7d4b960c57e6d6c844e7d1a8e53adae","impliedFormat":1},{"version":"12950411eeab8563b349cb7959543d92d8d02c289ed893d78499a19becb5a8cc","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"c9381908473a1c92cb8c516b184e75f4d226dad95c3a85a5af35f670064d9a2f","impliedFormat":1},{"version":"c3f5289820990ab66b70c7fb5b63cb674001009ff84b13de40619619a9c8175f","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3275d55fac10b799c9546804126239baf020d220136163f763b55a74e50e750","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa68a0a3b7cb32c00e39ee3cd31f8f15b80cac97dce51b6ee7fc14a1e8deb30b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1cf059eaf468efcc649f8cf6075d3cb98e9a35a0fe9c44419ec3d2f5428d7123","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c36e755bced82df7fb6ce8169265d0a7bb046ab4e2cb6d0da0cb72b22033e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a93de4ff8a63bafe62ba86b89af1df0ccb5e40bb85b0c67d6bbcfdcf96bf3d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"90e85f9bc549dfe2b5749b45fe734144e96cd5d04b38eae244028794e142a77e","affectsGlobalScope":true,"impliedFormat":1},{"version":"e0a5deeb610b2a50a6350bd23df6490036a1773a8a71d70f2f9549ab009e67ee","affectsGlobalScope":true,"impliedFormat":1},{"version":"d2ae155afe8a01cc0ae612d99117cf8ef16692ba7c4366590156fdec1bcf2d8c","impliedFormat":1},{"version":"3f5e5d9be35913db9fea42a63f3df0b7e3c8703b97670a2125587b4dbbd56d7c","impliedFormat":1},{"version":"8caeb65fdc3bfe0d13f86f67324fcb2d858ed1c55f1f0cce892eb1acfb9f3239","impliedFormat":1},{"version":"57c23df0b5f7a8e26363a3849b0bc7763f6b241207157c8e40089d1df4116f35","affectsGlobalScope":true,"impliedFormat":1},{"version":"3b8bc0c17b54081b0878673989216229e575d67a10874e84566a21025a2461ee","impliedFormat":1},{"version":"5b0db5a58b73498792a29bfebc333438e61906fef75da898b410e24e52229e6f","impliedFormat":1},{"version":"dbe055b2b29a7bab2c1ca8f259436306adb43f469dca7e639a02cd3695d3f621","impliedFormat":1},{"version":"1678b04557dca52feab73cc67610918a7f5e25bfdba3e7fa081acd625d93106d","impliedFormat":1},{"version":"e3905f6902f0b69e5eefc230daa69fdd4ab707a973ec2d086d65af1b3ea47ef0","impliedFormat":1},{"version":"2ea729503db9793f2691162fec3dd1118cab62e96d025f8eeb376d43ec293395","impliedFormat":1},{"version":"9ec87fea42b92894b0f209931a880789d43c3397d09dd99c631ae40a2f7071d1","impliedFormat":1},{"version":"c68e88cdfadfb6c8ba5fc38e58a3a166b0beae77b1f05b7d921150a32a5ffb8d","impliedFormat":1},{"version":"2bc7aa4fba46df0bd495425a7c8201437a7d465f83854fac859df2d67f664df3","impliedFormat":1},{"version":"41d17e1ad9a002feb11c8cdd2777e5bbc0cdb1e3f595d237e4dded0b6949983b","impliedFormat":1},{"version":"07e4e61e946a9c15045539ecd5f5d2d02e7aab6fa82567826857e09cf0f37c2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c4714ccc29149efb8777a1da0b04b8d2258f5d13ddbf4cd3c3d361fb531ac86","impliedFormat":1},{"version":"3ff275f84f89f8a7c0543da838f9da9614201abc4ce74c533029825adfb4433d","impliedFormat":1},{"version":"0eb5d0cbf09de5d34542b977fd6a933bb2e0817bffe8e1a541b2f1ad1b9af1ff","impliedFormat":1},{"version":"10deca769dfed888051b1808d6746f8883a490a707f8bdf9367079146987d6d0","impliedFormat":1},{"version":"2c2bdaa1d8ead9f68628d6d9d250e46ee8e81aa4898b4769a36956ae15e060fe","impliedFormat":1},{"version":"c32c840c62d8bd7aeb3147aa6754cd2d922b990a6b6634530cb2ebdce5adc8e9","impliedFormat":1},{"version":"e1c1a0b4d1ead0de9eca52203aeb1f771f21e6238d6fcd15aa56ac2a02f1b7bf","impliedFormat":1},{"version":"82b91e4e42e6c41bc7fc1b6c2dc5eba6a2ba98375eb1f210e6ff6bba2d54177e","impliedFormat":1},{"version":"6fe28249ac0c7bc19a79aa9264baf00efbd080e868dbe1d3052033ad1c64f206","affectsGlobalScope":true,"impliedFormat":1},{"version":"cbed824fec91efefc7bbdcb8b43d1a531fdbebd0e2ef19481501ff365a93cb70","impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"d0716593b3f2b0451bcf0c24cfa86dec2235c325c89f201934248b7c742715fc","impliedFormat":1},{"version":"ec501101c2a96133a6c695f934c8f6642149cc728571b29cbb7b770984c1088e","impliedFormat":1},{"version":"b214ebcf76c51b115453f69729ee8aa7b7f8eccdae2a922b568a45c2d7ff52f7","impliedFormat":1},{"version":"429c9cdfa7d126255779efd7e6d9057ced2d69c81859bbab32073bad52e9ba76","impliedFormat":1},{"version":"2991bca2cc0f0628a278df2a2ccdb8d6cbcb700f3761abbed62bba137d5b1790","impliedFormat":1},{"version":"ce8653341224f8b45ff46d2a06f2cacb96f841f768a886c9d8dd8ec0878b11bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"230763250f20449fa7b3c9273e1967adb0023dc890d4be1553faca658ee65971","impliedFormat":1},{"version":"c3e9078b60cb329d1221f5878e88cecfa3e74460550e605a58fcfb41a66029ff","impliedFormat":1},{"version":"a74edb3bab7394a9dbde529d60632be590def2f5f01024dbd85441587fbfbbe0","impliedFormat":1},{"version":"0ea59f7d3e51440baa64f429253759b106cfcbaf51e474cae606e02265b37cf8","impliedFormat":1},{"version":"bc18a1991ba681f03e13285fa1d7b99b03b67ee671b7bc936254467177543890","impliedFormat":1},{"version":"00049ccc87f3f37726db03c01ca68fe74fd9c0109b68c29eb9923ebec2c76b13","impliedFormat":1},{"version":"fa94bbf532b7af8f394b95fa310980d6e20bd2d4c871c6a6cb9f70f03750a44b","impliedFormat":1},{"version":"68d3f35108e2608b1f2f28b36d19d7055f31c4465cc5692cbd06c716a9fe7973","impliedFormat":1},{"version":"a6d543044570fbeed13a7f9925a868081cd2b14ef59cdd9da6ae76d41cab03d3","affectsGlobalScope":true,"impliedFormat":1},{"version":"7fa2214bb0d64701bc6f9ce8cde2fd2ff8c571e0b23065fa04a8a5a6beb91511","impliedFormat":1},{"version":"f1c93e046fb3d9b7f8249629f4b63dc068dd839b824dd0aa39a5e68476dc9420","impliedFormat":1},{"version":"016b29bf4926b80255a108c53a1451717350059da04fcae64d1075f5e93bbb39","impliedFormat":1},{"version":"841983e39bd4cbb463be385e92fda11057cab368bf27100a801c492f1d86cbaa","impliedFormat":1},{"version":"6f5383b3df1cdf4ff1aa7fb0850f77042b5786b5e65ec9a9b6be56ebfe4d9036","impliedFormat":1},{"version":"62fc21ed9ccbd83bd1166de277a4b5daaa8d15b5fa614c75610d20f3b73fba87","impliedFormat":1},{"version":"e4156ddb25aa0e3b5303d372f26957b36778f0f6bbd4326359269873295e3058","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1b433a84cae05ddc5672d4823170af78606ad21ecef60dbc4570190cbf1357","impliedFormat":1},{"version":"9d3821bc75c59577e52643324cec92fc2145642e8d17cf7ee07a3181f21d985d","impliedFormat":1},{"version":"7f78cfb2b343838612c192cb251746e3a7c62ac7675726a47e130d9b213f6580","impliedFormat":1},{"version":"201db9cf1687fab1adf5282fcba861f382b32303dc4f67c89d59655e78a25461","impliedFormat":1},{"version":"c77fb31bc17fd241d3922a9f88c59e3361cdf76d1328ba9412fc6bf7310b638d","impliedFormat":1},{"version":"0a20eaf2e4b1e3c1e1f87f7bccb0c936375b23b022baeea750519b7c9bc6ce83","impliedFormat":1},{"version":"b484ec11ba00e3a2235562a41898d55372ccabe607986c6fa4f4aba72093749f","impliedFormat":1},{"version":"a16b91b27bd6b706c687c88cbc8a7d4ee98e5ed6043026d6b84bda923c0aed67","impliedFormat":1},{"version":"694b812e0ed11285e8822cf8131e3ce7083a500b3b1d185fff9ed1089677bd0a","impliedFormat":1},{"version":"99ab6d0d660ce4d21efb52288a39fd35bb3f556980ec5463b1ae8f304a3bbc85","impliedFormat":1},{"version":"6eeded8c7e352be6e0efb83f4935ec752513c4d22043b52522b90849a49a3a11","impliedFormat":1},{"version":"6c1ad90050ffbb151cacc68e2d06ea1a26a945659391e32651f5d42b86fd7f2c","impliedFormat":1},{"version":"55cdbeebe76a1fa18bbd7e7bf73350a2173926bd3085bb050cf5a5397025ee4e","impliedFormat":1},{"version":"36593e913d1d6c330fbb5813319469de4052edf78f56cae6a788207f021ae975","impliedFormat":99},{"version":"ab4b58ac8736d73e2ba66feb4d7aa78e920258ff5a1620313474f366108db243","affectsGlobalScope":true,"impliedFormat":99},{"version":"d0b90b2c22bda9b6a7dabfb505a7fd3896e0267ab791d63a4a37098d0829e1b0","impliedFormat":99},{"version":"d26efa37b7cbdcc391dc201683de609900869d285213abf1dcbfb5275427142f","affectsGlobalScope":true,"impliedFormat":99},{"version":"0fe0f52d9ee15bf4fbeef129a5841a706720641554be2220df52c994f343a2f1","impliedFormat":99},{"version":"586cc6c492134b4680582124d2cd7d20efe0993917871647e0000dbf670bc0da","impliedFormat":99},{"version":"1feaa69fc54868b5a742d66fe5fea6c2c69f96a428aa13c379ab227e1c1cdbbd","impliedFormat":99},{"version":"5c227b208fc412f46976c48217b481af36527c1ebaf7db632f1d86bd3071375d","impliedFormat":99},{"version":"4505586df75aa395ca8e2099a3c1cd5a5a945e9a5eb3c6ee572876b7ccd729ae","impliedFormat":99},{"version":"4da2ac8afa2db94829766b264795a07b38cfceffef91afff54ea311e0ac166b1","affectsGlobalScope":true,"impliedFormat":99},{"version":"0c84a076fec5c6c8f4b6b7779e4b7e751c26ef934109ff57d91a27c27b53da3e","impliedFormat":99},{"version":"21c3a386a4949e8cbf8c244818d64d00fcbb4749ed3395cde06731f785efa76a","impliedFormat":99},{"version":"90196f06e82b702ddd82347af7b74c970045dfadc4aa3351d9e3762e4f2e73a1","impliedFormat":99},{"version":"76819055f75998ff52235623a17eb6c0ba2a325ebb6e4246b65219868e8b5dac","affectsGlobalScope":true,"impliedFormat":99},{"version":"33e19ea423da83a3c571e51b538ce945531593697c83a6c0bb4a241db25ddbbe","impliedFormat":99},{"version":"bea666b6e9fa8832f802f75faf8c2d623f2194ffdd9dd68f16f5aea45f33cc0e","impliedFormat":99}],"root":[95,[98,100],[102,104],[109,129],[152,162]],"options":{"allowImportingTsExtensions":true,"allowJs":true,"checkJs":false,"composite":true,"declaration":true,"declarationDir":"./lib/types","emitDeclarationOnly":true,"experimentalDecorators":true,"module":99,"outDir":"./lib","rootDir":"./src","skipLibCheck":true,"strict":false,"target":99},"referencedMap":[[140,1],[141,2],[142,3],[143,4],[144,5],[145,6],[130,6],[146,6],[147,7],[148,8],[149,9],[139,10],[133,11],[134,12],[135,13],[136,14],[288,15],[289,16],[290,3],[291,17],[131,18],[132,10],[137,19],[138,20],[286,21],[287,22],[292,23],[293,24],[294,25],[295,26],[296,27],[297,28],[298,29],[299,30],[300,31],[301,32],[225,33],[226,33],[227,34],[165,35],[228,36],[229,37],[230,38],[163,6],[231,39],[232,40],[233,41],[234,42],[235,43],[236,44],[237,44],[238,45],[239,46],[240,47],[241,48],[166,6],[164,6],[242,49],[243,50],[244,51],[285,52],[245,53],[246,54],[247,53],[248,55],[249,56],[251,57],[252,58],[253,58],[254,58],[255,59],[256,60],[257,61],[258,62],[259,63],[260,64],[261,64],[262,65],[263,6],[264,6],[265,66],[266,67],[267,66],[268,68],[269,69],[270,70],[271,71],[272,72],[273,73],[274,74],[275,75],[276,76],[277,77],[278,78],[279,79],[280,80],[281,81],[282,82],[167,53],[168,6],[169,6],[170,83],[171,6],[172,39],[173,6],[216,84],[217,85],[218,86],[219,86],[220,87],[221,6],[222,36],[223,88],[224,85],[283,89],[284,90],[250,6],[91,6],[92,6],[16,6],[14,6],[15,6],[20,6],[19,6],[2,6],[21,6],[22,6],[23,6],[24,6],[25,6],[26,6],[27,6],[28,6],[3,6],[29,6],[30,6],[4,6],[31,6],[35,6],[32,6],[33,6],[34,6],[36,6],[37,6],[38,6],[5,6],[39,6],[40,6],[41,6],[42,6],[6,6],[46,6],[43,6],[44,6],[45,6],[47,6],[7,6],[48,6],[53,6],[54,6],[49,6],[50,6],[51,6],[52,6],[8,6],[58,6],[55,6],[56,6],[57,6],[59,6],[9,6],[60,6],[61,6],[62,6],[64,6],[63,6],[65,6],[66,6],[10,6],[67,6],[68,6],[69,6],[11,6],[70,6],[71,6],[72,6],[73,6],[74,6],[75,6],[12,6],[76,6],[77,6],[78,6],[79,6],[80,6],[1,6],[81,6],[82,6],[13,6],[83,6],[84,6],[85,6],[86,6],[93,6],[87,6],[88,6],[89,6],[90,6],[18,6],[17,6],[192,91],[204,92],[189,93],[205,94],[214,95],[180,96],[181,97],[179,98],[213,99],[208,100],[212,101],[183,102],[201,103],[182,104],[211,105],[177,106],[178,100],[184,107],[185,6],[191,108],[188,107],[175,109],[215,110],[206,111],[195,112],[194,107],[196,113],[199,114],[193,115],[197,116],[209,99],[186,117],[187,118],[200,119],[176,94],[203,120],[202,107],[190,118],[198,121],[207,6],[174,6],[210,122],[151,123],[150,6],[106,6],[105,6],[107,124],[96,125],[97,126],[94,6],[108,6],[101,6],[100,127],[126,128],[95,129],[122,130],[102,131],[129,132],[127,6],[128,133],[98,134],[99,135],[158,136],[157,137],[153,138],[154,139],[156,140],[155,141],[152,142],[124,143],[111,144],[117,145],[113,146],[109,147],[110,148],[104,6],[116,149],[125,150],[119,151],[118,152],[120,153],[123,154],[103,155],[115,6],[121,156],[112,157],[114,158],[159,159],[160,160],[161,161],[162,162]],"latestChangedDtsFile":"./lib/types/wpt.spec.d.ts","version":"6.0.3"}