@vmosedge/web-sdk 1.2.1 → 1.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -20
- package/dist/index.cjs.js +26 -2
- package/dist/index.es.js +26 -2
- package/dist/index.global.js +26 -2
- package/dist/types/index.d.ts +32 -2
- package/package.json +1 -1
package/dist/index.global.js
CHANGED
|
@@ -1,3 +1,27 @@
|
|
|
1
|
-
var VmosEdgeWebSdk=function(
|
|
1
|
+
var VmosEdgeWebSdk=function(A){"use strict";var I,g="undefined"!=typeof document?document.currentScript:null;function i(A,I){this.v=A,this.k=I}function C(A,I){(null==I||I>A.length)&&(I=A.length);for(var g=0,i=Array(I);g<I;g++)i[g]=A[g];return i}function Q(A,I,g){if("function"==typeof A?A===I:A.has(I))return arguments.length<3?I:g;throw new TypeError("Private element is not present on this object")}function B(A,I,g,i,C,Q,B){try{var e=A[Q](B),E=e.value}catch(A){return void g(A)}e.done?I(E):Promise.resolve(E).then(i,C)}function e(A){return function(){var I=this,g=arguments;return new Promise(function(i,C){var Q=A.apply(I,g);function e(A){B(Q,i,C,e,E,"next",A)}function E(A){B(Q,i,C,e,E,"throw",A)}e(void 0)})}}function E(A){return new i(A,0)}function t(A,I,g){return I=l(I),function(A,I){if(I&&("object"==typeof I||"function"==typeof I))return I;if(void 0!==I)throw new TypeError("Derived constructors may only return object or undefined");return function(A){if(void 0===A)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return A}(A)}(A,w()?Reflect.construct(I,g||[],l(A).constructor):I.apply(A,g))}function o(A,I){if(I.has(A))throw new TypeError("Cannot initialize the same private elements twice on an object")}function n(A,I){if(!(A instanceof I))throw new TypeError("Cannot call a class as a function")}function a(A,I){return A.get(Q(A,I))}function r(A,I,g){o(A,I),I.set(A,g)}function s(A,I,g){return A.set(Q(A,I),g),g}function h(A,I){o(A,I),I.add(A)}function c(A,I){for(var g=0;g<I.length;g++){var i=I[g];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(A,Y(i.key),i)}}function d(A,I,g){return I&&c(A.prototype,I),g&&c(A,g),Object.defineProperty(A,"prototype",{writable:!1}),A}function D(A,I){var g="undefined"!=typeof Symbol&&A[Symbol.iterator]||A["@@iterator"];if(!g){if(Array.isArray(A)||(g=M(A))||I){g&&(A=g);var i=0,C=function(){};return{s:C,n:function(){return i>=A.length?{done:!0}:{done:!1,value:A[i++]}},e:function(A){throw A},f:C}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var Q,B=!0,e=!1;return{s:function(){g=g.call(A)},n:function(){var A=g.next();return B=A.done,A},e:function(A){e=!0,Q=A},f:function(){try{B||null==g.return||g.return()}finally{if(e)throw Q}}}}function u(A,I,g){return(I=Y(I))in A?Object.defineProperty(A,I,{value:g,enumerable:!0,configurable:!0,writable:!0}):A[I]=g,A}function y(){return y="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(A,I,g){var i=function(A,I){for(;!{}.hasOwnProperty.call(A,I)&&null!==(A=l(A)););return A}(A,I);if(i){var C=Object.getOwnPropertyDescriptor(i,I);return C.get?C.get.call(arguments.length<3?A:g):C.value}},y.apply(null,arguments)}function l(A){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(A){return A.__proto__||Object.getPrototypeOf(A)},l(A)}function G(A,I){if("function"!=typeof I&&null!==I)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(I&&I.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),Object.defineProperty(A,"prototype",{writable:!1}),I&&N(A,I)}function w(){try{var A=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(A){}return(w=function(){return!!A})()}function f(A,I){var g=Object.keys(A);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(A);I&&(i=i.filter(function(I){return Object.getOwnPropertyDescriptor(A,I).enumerable})),g.push.apply(g,i)}return g}function S(A){for(var I=1;I<arguments.length;I++){var g=null!=arguments[I]?arguments[I]:{};I%2?f(Object(g),!0).forEach(function(I){u(A,I,g[I])}):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(g)):f(Object(g)).forEach(function(I){Object.defineProperty(A,I,Object.getOwnPropertyDescriptor(g,I))})}return A}function k(){
|
|
2
2
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
3
|
-
var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",i=n.toStringTag||"@@toStringTag";function o(n,r,i,o){var c=r&&r.prototype instanceof s?r:s,u=Object.create(c.prototype);return R(u,"_invoke",function(n,r,i){var o,s,c,u=0,l=i||[],d=!1,h={p:0,n:0,v:e,a:f,f:f.bind(e,4),d:function(t,n){return o=t,s=0,c=e,h.n=n,a}};function f(n,r){for(s=n,c=r,t=0;!d&&u&&!i&&t<l.length;t++){var i,o=l[t],f=h.p,v=o[2];n>3?(i=v===r)&&(c=o[(s=o[4])?5:(s=3,3)],o[4]=o[5]=e):o[0]<=f&&((i=n<2&&f<o[1])?(s=0,h.v=r,h.n=o[1]):f<v&&(i=n<3||o[0]>r||r>v)&&(o[4]=n,o[5]=r,h.n=v,s=0))}if(i||n>1)return a;throw d=!0,r}return function(i,l,v){if(u>1)throw TypeError("Generator is already running");for(d&&1===l&&f(l,v),s=l,c=v;(t=s<2?e:c)||!d;){o||(s?s<3?(s>1&&(h.n=-1),f(s,c)):h.n=c:h.v=c);try{if(u=2,o){if(s||(i="next"),t=o[i]){if(!(t=t.call(o,c)))throw TypeError("iterator result is not an object");if(!t.done)return t;c=t.value,s<2&&(s=0)}else 1===s&&(t=o.return)&&t.call(o),s<2&&(c=TypeError("The iterator does not provide a '"+i+"' method"),s=1);o=e}else if((t=(d=h.n<0)?c:n.call(r,h))!==a)break}catch(t){o=e,s=1,c=t}finally{u=1}}return{value:t,done:d}}}(n,i,o),!0),u}var a={};function s(){}function c(){}function u(){}t=Object.getPrototypeOf;var l=[][r]?t(t([][r]())):(R(t={},r,function(){return this}),t),d=u.prototype=s.prototype=Object.create(l);function h(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,u):(e.__proto__=u,R(e,i,"GeneratorFunction")),e.prototype=Object.create(d),e}return c.prototype=u,R(d,"constructor",u),R(u,"constructor",c),c.displayName="GeneratorFunction",R(u,i,"GeneratorFunction"),R(d),R(d,i,"Generator"),R(d,r,function(){return this}),R(d,"toString",function(){return"[object Generator]"}),(S=function(){return{w:o,m:h}})()}function R(e,t,n,r){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}R=function(e,t,n,r){function o(t,n){R(e,t,function(e){return this._invoke(t,n,e)})}t?i?i(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(o("next",0),o("throw",1),o("return",2))},R(e,t,n,r)}function O(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],n=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}throw new TypeError(typeof e+" is not iterable")}function x(e,t){return x=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},x(e,t)}function T(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o,a,s=[],c=!0,u=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){u=!0,i=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw i}}return s}}(e,t)||N(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function A(e,t,n,r){var i=w(g(e.prototype),t,n);return"function"==typeof i?function(e){return i.apply(n,e)}:i}function _(e){return function(e){if(Array.isArray(e))return n(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||N(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function I(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==typeof t?t:t+""}function M(e){return M="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},M(e)}function N(e,t){if(e){if("string"==typeof e)return n(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}function D(e){var n,r;function i(n,r){try{var a=e[n](r),s=a.value,c=s instanceof t;Promise.resolve(c?s.v:s).then(function(t){if(c){var r="return"===n?"return":"next";if(!s.k||t.done)return i(r,t);t=e[r](t).value}o(a.done?"return":"normal",t)},function(e){i("throw",e)})}catch(e){o("throw",e)}}function o(e,t){switch(e){case"return":n.resolve({value:t,done:!0});break;case"throw":n.reject(t);break;default:n.resolve({value:t,done:!1})}(n=n.next)?i(n.key,n.arg):r=null}this._invoke=function(e,t){return new Promise(function(o,a){var s={key:e,arg:t,resolve:o,reject:a,next:null};r?r=r.next=s:(n=r=s,i(e,t))})},"function"!=typeof e.return&&(this.return=void 0)}function P(e){var t="function"==typeof Map?new Map:void 0;return P=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return function(e,t,n){if(E())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&x(i,n.prototype),i}(e,arguments,g(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),x(n,e)},P(e)}var W;D.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},D.prototype.next=function(e){return this._invoke("next",e)},D.prototype.throw=function(e){return this._invoke("throw",e)},D.prototype.return=function(e){return this._invoke("return",e)};var V=function(){return p(function e(t,n,r,i){u(this,e),m(this,"optionValue",void 0),m(this,"metadataValue",void 0),m(this,"mimeType",void 0),m(this,"webCodecId",void 0),this.optionValue=t,this.metadataValue=n,this.mimeType=r,this.webCodecId=i},[{key:"toOptionValue",value:function(){return this.optionValue}}])}();m(V,"Opus",new(W=V)("opus",1869641075,"audio/opus","opus")),m(V,"Aac",new W("aac",6381923,"audio/aac","mp4a.66")),m(V,"Flac",new W("flac",1718378851,"audio/flac","flac")),m(V,"Raw",new W("raw",7496055,"audio/raw",""));var L=0,B=1,j=2,U=3,F=4,G=5,z=6,H=7,K=8,q=9,X=10,Y=11,Q=12,J=13,Z=14,$=15,ee=16,te=17,ne=new WeakMap,re=new WeakSet,ie=function(){return p(function e(){u(this,e),f(this,re),d(this,ne,[])},[{key:"parsers",get:function(){return l(ne,this)}},{key:"add",value:function(e){if(Array.isArray(e.id)){var t,n=y(e.id);try{for(n.s();!(t=n.n()).done;){var i=t.value;r(re,this,oe).call(this,i,e)}}catch(e){n.e(e)}finally{n.f()}}else r(re,this,oe).call(this,e.id,e);return e}},{key:"parse",value:(e=o(S().m(function e(t,n){var r;return S().w(function(e){for(;;)switch(e.n){case 0:if(r=l(ne,this)[t]){e.n=1;break}throw new Error("Unknown device message id ".concat(t));case 1:return e.a(2,r.parse(t,n))}},e,this)})),function(t,n){return e.apply(this,arguments)})},{key:"close",value:function(){var e,t=y(l(ne,this));try{for(t.s();!(e=t.n()).done;){e.value.close()}}catch(e){t.e(e)}finally{t.f()}}},{key:"error",value:function(e){var t,n=y(l(ne,this));try{for(n.s();!(t=n.n()).done;){t.value.error(e)}}catch(e){n.e(e)}finally{n.f()}}}]);var e}();function oe(e,t){if(l(ne,this)[e])throw new Error("Duplicate parser for id ".concat(e));l(ne,this)[e]=t}function ae(e,t){if(function(e){return"object"===M(e)&&null!==e&&"toOptionValue"in e&&"function"==typeof e.toOptionValue}(e)&&(e=e.toOptionValue()),void 0===e)return t;if("string"!=typeof e&&"number"!=typeof e&&"boolean"!=typeof e)throw new TypeError("Invalid option value: ".concat(JSON.stringify(e)));return e.toString()}var se=1748121140,ce=1748121141,ue=6387249,le=new WeakMap,de=new WeakMap,he=new WeakMap,fe=new WeakMap,ve=function(){return p(function e(){var t=this;u(this,e),d(this,le,void 0),d(this,de,void 0),d(this,he,void 0),d(this,fe,"running"),m(this,"resolve",function(e){l(de,t).call(t,e),h(fe,t,"resolved")}),m(this,"reject",function(e){l(he,t).call(t,e),h(fe,t,"rejected")}),h(le,this,new Promise(function(e,n){h(de,t,e),h(he,t,n)}))},[{key:"promise",get:function(){return l(le,this)}},{key:"state",get:function(){return l(fe,this)}}])}();function pe(e){return"object"===M(e)&&null!==e&&"then"in e}function ye(e,t){for(;;){var n=e.next(t),r=n.done,i=n.value;if(r)return i;if(pe(i))return i.then(function(t){return ye(e,{resolved:t})},function(t){return ye(e,{error:t})});t=i}}function me(e,t){return function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return ye(e.call.apply(e,[this,S().m(function e(t){var n;return S().w(function(e){for(;;)switch(e.n){case 0:if(!pe(t)){e.n=3;break}return e.n=1,t;case 1:if(!("resolved"in(n=e.v))){e.n=2;break}return e.a(2,n.resolved);case 2:throw n.error;case 3:return e.a(2,t)}},e)})].concat(n)),void 0)}}function we(e,t){return function(n,r){var i;if("buffer"in r)return null!==(i=r.index)&&void 0!==i||(r.index=0),t(n,r),e;var o=new Uint8Array(e);return t(n,{buffer:o,index:0,littleEndian:r.littleEndian}),o}}var ge=function(e,t,n,r,i){var o,a={size:e,type:t,serialize:"default"===t?(o=n,function(e,t){if("buffer"in t){var n=o(e,t);return t.buffer.set(n,t.index),n.length}return o(e,t)}):we(e,n),deserialize:me(r),omitInit:null==i?void 0:i.omitInit};return null!=i&&i.init&&(a.init=i.init),a},be=new Uint8Array(0);function Ee(e,t){var n,r,i,o,a,s,c,u,l;return"number"==typeof e?(0===e?(n=function(){},r=t?S().m(function e(){return S().w(function(e){for(;;)if(0===e.n)return e.a(2,t.convert(be))},e)}):S().m(function e(){return S().w(function(e){for(;;)if(0===e.n)return e.a(2,be)},e)})):(n=function(t,n){return function(e,t,n,r){t.length<r?(e.set(t,n),e.fill(0,n+t.length,n+r)):t.length===r?e.set(t,n):e.set(t.subarray(0,r),n)}(n.buffer,t,n.index,e)},t?(r=S().m(function n(r,i){var o,a;return S().w(function(n){for(;;)switch(n.n){case 0:return o=i.readExactly(e),a=t,n.d(O(r(o)),1);case 1:return n.a(2,a.convert.call(a,n.v))}},n)}),i=function(e){return t.back(e)}):r=S().m(function t(n,r){var i;return S().w(function(t){for(;;)if(0===t.n)return i=r.readExactly(e),t.a(2,i)},t)})),ge(e,"byob",n,r,{init:i})):"object"!==M(e)&&"function"!=typeof e||!("serialize"in e)?"string"==typeof e?(t?(s=function(n,r,i){var o=i.dependencies;return S().m(function i(){var a,s,c;return S().w(function(i){for(;;)switch(i.n){case 0:return a=o[e],s=0!==a?r.readExactly(a):be,c=t,i.d(O(n(s)),1);case 1:return i.a(2,c.convert.call(c,i.v))}},i)})()},c=function(n,r){var i=t.back(n);return r[e]=i.length,i}):(s=function(t,n,r){var i=r.dependencies;return S().m(function t(){var r,o;return S().w(function(t){for(;;)if(0===t.n)return r=i[e],o=0!==r?n.readExactly(r):be,t.a(2,o)},t)})()},c=function(t,n){var r=t;return n[e]=r.length,r}),ge(0,"default",function(e){return e},s,{init:c})):(t?(u=function(n,r,i){var o=i.dependencies;return S().m(function i(){var a,s,c,u;return S().w(function(i){for(;;)switch(i.n){case 0:return a=o[e.field],s=e.convert(a),c=0!==s?r.readExactly(s):be,u=t,i.d(O(n(c)),1);case 1:return i.a(2,u.convert.call(u,i.v))}},i)})()},l=function(n,r){var i=t.back(n);return r[e.field]=e.back(i.length),i}):(u=function(t,n,r){var i=r.dependencies;return S().m(function t(){var r,o,a;return S().w(function(t){for(;;)if(0===t.n)return r=i[e.field],o=e.convert(r),a=0!==o?n.readExactly(o):be,t.a(2,a)},t)})()},l=function(t,n){var r=t;return n[e.field]=e.back(r.length),r}),ge(0,"default",function(e){return e},u,{init:l})):(t?(o=S().m(function n(r,i,o){var a,s,c;return S().w(function(n){for(;;)switch(n.n){case 0:return n.d(O(r(e.deserialize(i,o))),1);case 1:return a=n.v,s=0!==a?i.readExactly(a):be,c=t,n.d(O(r(s)),2);case 2:return n.a(2,c.convert.call(c,n.v))}},n)}),a=function(e){return t.back(e)}):o=S().m(function t(n,r,i){var o,a;return S().w(function(t){for(;;)switch(t.n){case 0:return t.d(O(n(e.deserialize(r,i))),1);case 1:return o=t.v,a=0!==o?r.readExactly(o):be,t.a(2,a)}},t)}),ge(e.size,"default",function(t,n){var r=n.littleEndian;if("default"===e.type){var i=e.serialize(t.length,{littleEndian:r});if(0===t.length)return i;var o=new Uint8Array(i.length+t.length);return o.set(i,0),o.set(t,i.length),o}var a=new Uint8Array(e.size+t.length);return e.serialize(t.length,{buffer:a,index:0,littleEndian:r}),a.set(t,e.size),a},o,{init:a}))}var ke=function(e){function t(){return u(this,t),s(this,t,["ExactReadable ended"])}return b(t,e),p(t)}(P(Error)),Ce=function(e){function t(e){return u(this,t),s(this,t,[e])}return b(t,e),p(t)}(P(Error)),Se=function(e){function t(){return u(this,t),s(this,t,["The underlying readable was ended before the struct was fully deserialized"])}return b(t,e),p(t)}(Ce),Re=function(e){function t(){return u(this,t),s(this,t,["The underlying readable doesn't contain any more struct"])}return b(t,e),p(t)}(Ce);function Oe(e,t){for(var n=Object.entries(e),r=0,i=!0,o=0,a=n;o<a.length;o++){var s=T(a[o],2)[1];r+=s.size,i&&"byob"!==s.type&&(i=!1)}var c=t.littleEndian,u=t.extra?Object.getOwnPropertyDescriptors(t.extra):void 0;return{littleEndian:c,fields:e,extra:t.extra,type:i?"byob":"default",size:r,serialize:function(e,t){for(var r=C({},e),i=0,o=n;i<o.length;i++){var a=T(o[i],2),s=a[0],u=a[1];if(s in r&&"init"in u){var l,d=null===(l=u.init)||void 0===l?void 0:l.call(u,r[s],r);r[s]=d}}var h,f=new Array(n.length),v=new Array(n.length),p={littleEndian:c},m=y(n.entries());try{for(m.s();!(h=m.n()).done;){var w=T(h.value,2),g=w[0],b=T(w[1],2),E=b[0],k=b[1];"byob"===k.type?f[g]=k.size:(v[g]=k.serialize(r[E],p),f[g]=v[g].length)}}catch(e){m.e(e)}finally{m.f()}var S,R,O,x=f.reduce(function(e,t){return e+t},0);if(t instanceof Uint8Array){if(t.length<x)throw new Error("Buffer too small");S=!0,R=t,O=0}else if("object"===M(t)&&"buffer"in t){var A;if(S=!0,R=t.buffer,O=null!==(A=t.index)&&void 0!==A?A:0,R.length-O<x)throw new Error("Buffer too small")}else S=!1,R=new Uint8Array(x),O=0;var _,I={buffer:R,index:O,littleEndian:c},N=y(n.entries());try{for(N.s();!(_=N.n()).done;){var D=T(_.value,2),P=D[0],W=T(D[1],2),V=W[0],L=W[1];v[P]?R.set(v[P],I.index):L.serialize(r[V],I),I.index+=f[P]}}catch(e){N.e(e)}finally{N.f()}return S?x:R},deserialize:me(S().m(function e(r,i){var o,a,s,l,d,h,f,v,p;return S().w(function(e){for(;;)switch(e.p=e.n){case 0:o=i.position,s={dependencies:a={},littleEndian:c},e.p=1,l=0,d=n;case 2:if(!(l<d.length)){e.n=5;break}return h=T(d[l],2),f=h[0],v=h[1],e.d(O(r(v.deserialize(i,s))),3);case 3:a[f]=e.v;case 4:l++,e.n=2;break;case 5:e.n=9;break;case 6:if(e.p=6,(p=e.v)instanceof ke){e.n=7;break}throw p;case 7:if(i.position!==o){e.n=8;break}throw new Re;case 8:throw new Se;case 9:if(u&&Object.defineProperties(a,u),!t.postDeserialize){e.n=10;break}return e.a(2,t.postDeserialize.call(a,a));case 10:return e.a(2,a);case 11:return e.a(2)}},e,null,[[1,6]])}))}}function xe(e,t,n){return n?(e[t]|e[t+1]<<8)<<16>>16:(e[t]<<8|e[t+1])<<16>>16}function Te(e,t,n){return n?e[t]|e[t+1]<<8:e[t+1]|e[t]<<8}function Ae(e,t,n,r){r?(e[t]=n,e[t+1]=n>>8):(e[t]=n>>8,e[t+1]=n)}function _e(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function Ie(e,t,n){return n?(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0:(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function Me(e,t,n){return n?BigInt(e[t])|BigInt(e[t+1])<<8n|BigInt(e[t+2])<<16n|BigInt(e[t+3])<<24n|BigInt(e[t+4])<<32n|BigInt(e[t+5])<<40n|BigInt(e[t+6])<<48n|BigInt(e[t+7])<<56n:BigInt(e[t])<<56n|BigInt(e[t+1])<<48n|BigInt(e[t+2])<<40n|BigInt(e[t+3])<<32n|BigInt(e[t+4])<<24n|BigInt(e[t+5])<<16n|BigInt(e[t+6])<<8n|BigInt(e[t+7])}function Ne(e,t,n){var r=function(){return r};return Object.assign(r,ge(e,"byob",t,n)),r}var De=Ne(1,function(e,t){t.buffer[t.index]=e},S().m(function e(t,n){var r;return S().w(function(e){for(;;)switch(e.n){case 0:return e.d(O(t(n.readExactly(1))),1);case 1:return r=e.v,e.a(2,r[0])}},e)})),Pe=Ne(2,function(e,t){Ae(t.buffer,t.index,e,t.littleEndian)},function(e,t,n){var r=n.littleEndian;return S().m(function n(){var i;return S().w(function(n){for(;;)switch(n.n){case 0:return n.d(O(e(t.readExactly(2))),1);case 1:return i=n.v,n.a(2,Te(i,0,r))}},n)})()}),We=Ne(4,function(e,t){!function(e,t,n,r){r?(e[t]=n,e[t+1]=n>>8,e[t+2]=n>>16,e[t+3]=n>>24):(e[t]=n>>24,e[t+1]=n>>16,e[t+2]=n>>8,e[t+3]=n)}(t.buffer,t.index,e,t.littleEndian)},function(e,t,n){var r=n.littleEndian;return S().m(function n(){var i;return S().w(function(n){for(;;)switch(n.n){case 0:return n.d(O(e(t.readExactly(4))),1);case 1:return i=n.v,n.a(2,Ie(i,0,r))}},n)})()}),Ve=Ne(8,function(e,t){!function(e,t,n,r){r?(e[t]=Number(0xffn&n),e[t+1]=Number(n>>8n&0xffn),e[t+2]=Number(n>>16n&0xffn),e[t+3]=Number(n>>24n&0xffn),e[t+4]=Number(n>>32n&0xffn),e[t+5]=Number(n>>40n&0xffn),e[t+6]=Number(n>>48n&0xffn),e[t+7]=Number(n>>56n&0xffn)):(e[t]=Number(n>>56n&0xffn),e[t+1]=Number(n>>48n&0xffn),e[t+2]=Number(n>>40n&0xffn),e[t+3]=Number(n>>32n&0xffn),e[t+4]=Number(n>>24n&0xffn),e[t+5]=Number(n>>16n&0xffn),e[t+6]=Number(n>>8n&0xffn),e[t+7]=Number(0xffn&n))}(t.buffer,t.index,e,t.littleEndian)},function(e,t,n){var r=n.littleEndian;return S().m(function n(){var i;return S().w(function(n){for(;;)switch(n.n){case 0:return n.d(O(e(t.readExactly(8))),1);case 1:return i=n.v,n.a(2,Me(i,0,r))}},n)})()}),Le=globalThis.TextEncoder,Be=globalThis.TextDecoder,je=new Le,Ue=new Be;function Fe(e){return je.encode(e)}function Ge(e){return Ue.decode(e)}var ze=function(e){var t=Ee(e,{convert:Ge,back:Fe});return t.as=function(){return t},t},He=Oe({type:De},{littleEndian:!1}),Ke=globalThis.AbortController,qe=function(){var e=globalThis.ReadableStream;return e.from||(e.from=function(t){var n=Symbol.asyncIterator in t?t[Symbol.asyncIterator]():t[Symbol.iterator]();return new e({pull:function(e){return o(S().m(function t(){var r;return S().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,n.next();case 1:if(!(r=t.v).done){t.n=2;break}return e.close(),t.a(2);case 2:e.enqueue(r.value);case 3:return t.a(2)}},t)}))()},cancel:function(e){return o(S().m(function t(){var r;return S().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,null===(r=n.return)||void 0===r?void 0:r.call(n,e);case 1:return t.a(2)}},t)}))()}})}),e.prototype[Symbol.asyncIterator]&&e.prototype.values||(e.prototype.values=function(){var e,t=(e=S().m(function e(t){var n,r,i,o;return S().w(function(e){for(;;)switch(e.p=e.n){case 0:n=this.getReader(),e.p=1;case 2:return e.n=3,a(n.read());case 3:if(r=e.v,i=r.done,o=r.value,!i){e.n=4;break}return e.a(2);case 4:return e.n=5,o;case 5:e.n=2;break;case 6:if(e.p=6,null!=t&&t.preventCancel){e.n=7;break}return e.n=7,a(n.cancel());case 7:return n.releaseLock(),e.f(6);case 8:return e.a(2)}},e,this,[[1,,6,8]])}),function(){return new D(e.apply(this,arguments))});return function(e){return t.apply(this,arguments)}}(),e.prototype[Symbol.asyncIterator]=e.prototype.values),e}(),Xe=globalThis.WritableStream,Ye=globalThis.TransformStream,Qe=function(e){function t(e,n,r){var i;u(this,t);var a=!1,c=new Ke;return s(this,t,[{start:function(t){var n,s=e({abortSignal:c.signal,enqueue:(n=o(S().m(function e(n){return S().w(function(e){for(;;)switch(e.n){case 0:if(null==r||r({source:"producer",operation:"enqueue",value:n,phase:"start"}),!c.signal.aborted){e.n=1;break}return null==r||r({source:"producer",operation:"enqueue",value:n,phase:"ignored"}),e.a(2);case 1:if(null!==t.desiredSize){e.n=2;break}return t.enqueue(n),e.a(2);case 2:if(!a){e.n=3;break}return a=!1,t.enqueue(n),null==r||r({source:"producer",operation:"enqueue",value:n,phase:"complete"}),e.a(2);case 3:if(!(t.desiredSize<=0)){e.n=5;break}return null==r||r({source:"producer",operation:"enqueue",value:n,phase:"waiting"}),i=new ve,e.n=4,i.promise;case 4:if(!c.signal.aborted){e.n=5;break}return null==r||r({source:"producer",operation:"enqueue",value:n,phase:"ignored"}),e.a(2);case 5:t.enqueue(n),null==r||r({source:"producer",operation:"enqueue",value:n,phase:"complete"});case 6:return e.a(2)}},e)})),function(e){return n.apply(this,arguments)}),close:function(){null==r||r({source:"producer",operation:"close",explicit:!0,phase:"start"}),c.signal.aborted?null==r||r({source:"producer",operation:"close",explicit:!0,phase:"ignored"}):(t.close(),null==r||r({source:"producer",operation:"close",explicit:!0,phase:"complete"}))},error:function(e){null==r||r({source:"producer",operation:"error",explicit:!0,phase:"start"}),t.error(e),null==r||r({source:"producer",operation:"error",explicit:!0,phase:"complete"})}});s&&"then"in s&&s.then(function(){null==r||r({source:"producer",operation:"close",explicit:!1,phase:"start"});try{t.close(),null==r||r({source:"producer",operation:"close",explicit:!1,phase:"complete"})}catch(e){null==r||r({source:"producer",operation:"close",explicit:!1,phase:"ignored"})}},function(e){null==r||r({source:"producer",operation:"error",explicit:!1,phase:"start"}),t.error(e),null==r||r({source:"producer",operation:"error",explicit:!1,phase:"complete"})})},pull:function(){null==r||r({source:"consumer",operation:"pull",phase:"start"}),i?i.resolve():0===(null==n?void 0:n.highWaterMark)&&(a=!0),null==r||r({source:"consumer",operation:"pull",phase:"complete"})},cancel:function(e){var t;null==r||r({source:"consumer",operation:"cancel",phase:"start"}),c.abort(e),null===(t=i)||void 0===t||t.resolve(),null==r||r({source:"consumer",operation:"cancel",phase:"complete"})}},n])}return b(t,e),p(t)}(qe);function Je(e){return Ze.apply(this,arguments)}function Ze(){return(Ze=o(S().m(function e(t){return S().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.n=1,t.cancel();case 1:return e.a(2,!0);case 2:return e.p=2,e.v,e.a(2,!1)}},e,null,[[0,2]])}))).apply(this,arguments)}var $e=new WeakMap,et=new WeakMap,tt=new WeakMap,nt=new WeakMap,rt=new WeakSet,it=function(){return p(function e(t){u(this,e),f(this,rt),d(this,$e,void 0),d(this,et,0),d(this,tt,0),d(this,nt,0),m(this,"stream",void 0),m(this,"reader",void 0),m(this,"readExactly",me(S().m(function e(t,n){var i,o,a,s;return S().w(function(e){for(;;)switch(e.n){case 0:if(o=0,!(a=r(rt,this,ot).call(this,n))){e.n=2;break}if(a.length!==n){e.n=1;break}return e.a(2,a);case 1:(i=new Uint8Array(n)).set(a,o),o+=a.length,n-=a.length,e.n=3;break;case 2:i=new Uint8Array(n);case 3:if(!(n>0)){e.n=5;break}return e.d(O(t(r(rt,this,at).call(this,n))),4);case 4:s=e.v,i.set(s,o),o+=s.length,n-=s.length,e.n=3;break;case 5:return e.a(2,i)}},e,this)}))),this.stream=t,this.reader=t.getReader()},[{key:"position",get:function(){return l(nt,this)}},{key:"iterateExactly",value:function(e){var t=this,n=l($e,this)?0:1;return{next:function(){switch(n){case 0:var i=r(rt,t,ot).call(t,e);return i.length===e?n=2:(e-=i.length,n=1),{done:!1,value:i};case 1:return n=3,{done:!1,value:r(rt,t,at).call(t,e).then(function(t){return t.length===e?n=2:(e-=t.length,n=1),t})};case 2:return{done:!0,value:void 0};case 3:throw new Error("Can't call `next` before previous Promise resolves");default:throw new Error("unreachable")}}}}},{key:"release",value:function(){var e=this;return l(tt,this)>0?new Qe(function(){var t=o(S().m(function t(n){var r,i,o,a;return S().w(function(t){for(;;)switch(t.n){case 0:return r=l($e,e).subarray(l(et,e)),t.n=1,n.enqueue(r);case 1:n.abortSignal.addEventListener("abort",function(){Je(e.reader)});case 2:return t.n=3,e.reader.read();case 3:if(i=t.v,o=i.done,a=i.value,!o){t.n=4;break}return t.a(2);case 4:return t.n=5,n.enqueue(a);case 5:t.n=2;break;case 6:return t.a(2)}},t)}));return function(e){return t.apply(this,arguments)}}()):(this.reader.releaseLock(),this.stream)}},{key:"cancel",value:(e=o(S().m(function e(t){return S().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.reader.cancel(t);case 1:return e.a(2)}},e,this)})),function(t){return e.apply(this,arguments)})}]);var e}();function ot(e){if(l($e,this)){var t=l($e,this).subarray(l(et,this),l(et,this)+e);return l(tt,this)>e?(h(nt,this,l(nt,this)+e),h(et,this,l(et,this)+e),h(tt,this,l(tt,this)-e),t):(h(nt,this,l(nt,this)+l(tt,this)),h($e,this,void 0),h(et,this,0),h(tt,this,0),t)}}function at(e){return st.apply(this,arguments)}function st(){return(st=o(S().m(function e(t){var n,r,i;return S().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,this.reader.read();case 1:if(n=e.v,r=n.done,i=n.value,!r){e.n=2;break}throw new ke;case 2:if(!(i.length>t)){e.n=3;break}return h($e,this,i),h(et,this,t),h(tt,this,i.length-t),h(nt,this,l(nt,this)+t),e.a(2,i.subarray(0,t));case 3:return h(nt,this,l(nt,this)+i.length),e.a(2,i)}},e,this)}))).apply(this,arguments)}var ct=new WeakMap,ut=new WeakMap,lt=function(e){function t(e){return u(this,t),s(this,t,[function(t){return e.deserialize(t)}])}return b(t,e),p(t)}(function(){return p(function e(t){var n,r;u(this,e),d(this,ct,void 0),d(this,ut,void 0);var i=new it(new Qe(function(e){n=e}));h(ct,this,new qe({pull:function(e){return o(S().m(function n(){var r,o;return S().w(function(n){for(;;)switch(n.p=n.n){case 0:return n.p=0,n.n=1,t(i);case 1:r=n.v,e.enqueue(r),n.n=4;break;case 2:if(n.p=2,!((o=n.v)instanceof Re)){n.n=3;break}return e.close(),n.a(2);case 3:throw o;case 4:return n.a(2)}},n,null,[[0,2]])}))()},cancel:function(e){return r.error(e)}})),h(ut,this,new Xe({start:function(e){r=e},write:function(e){return o(S().m(function t(){return S().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,n.enqueue(e);case 1:return t.a(2)}},t)}))()},abort:function(){n.close()},close:function(){n.close()}}))},[{key:"readable",get:function(){return l(ct,this)}},{key:"writable",get:function(){return l(ut,this)}}])}()),dt=He,ht=Oe({content:ze(We)},{littleEndian:!1}),ft=new WeakMap,vt=function(e){function t(){var e,n;return u(this,t),d(e=s(this,t,[function(e){n=e}]),ft,void 0),m(e,"id",0),h(ft,e,n),e}return b(t,e),p(t,[{key:"parse",value:(n=o(S().m(function e(t,n){var r;return S().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,ht.deserialize(n);case 1:return r=e.v,e.n=2,l(ft,this).enqueue(r.content);case 2:return e.a(2)}},e,this)})),function(e,t){return n.apply(this,arguments)})},{key:"close",value:function(){l(ft,this).close()}},{key:"error",value:function(e){l(ft,this).error(e)}}]);var n}(Qe),pt=function(){return[L,B,j,U,F,G,H,K,q,X,Y]}();var yt={repeatPreviousFrameAfter:"long",maxPtsGapToEncoder:"long"},mt=function(){return p(function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};u(this,e),m(this,"options",void 0);for(var n=0,r=Object.entries(t);n<r.length;n++){var i=T(r[n],2),o=i[0],a=i[1];if(void 0!==a&&"number"!=typeof a)throw new Error("Invalid option value for ".concat(o,": ").concat(String(a)))}this.options=t},[{key:"toOptionValue",value:function(){var e=Object.entries(this.options).filter(function(e){return void 0!==T(e,2)[1]});if(0!==e.length)return e.map(function(e){var t=T(e,2),n=t[0],r=t[1],i=n.replace(/([A-Z])/g,"-$1").toLowerCase(),o=yt[n];return o&&(i+=":".concat(o)),i+="=".concat(r)}).join(",")}}])}();m(mt,"Empty",new mt);var wt={logLevel:"debug",maxSize:0,bitRate:8e6,maxFps:0,lockVideoOrientation:-1,tunnelForward:!1,crop:void 0,sendFrameMeta:!0,control:!0,displayId:0,showTouches:!1,stayAwake:!1,codecOptions:void 0};function gt(e,t,n){return e<t?t:e>n?n:e}function bt(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return Object.fromEntries(Object.entries(e).filter(function(e){var t=T(e,1)[0];return!n.includes(t)}))}var Et=ge(2,"byob",function(e,t){var n=t.buffer,r=t.index,i=t.littleEndian;Ae(n,r,e=1===(e=gt(e,-1,1))?65535:65536*e,i)},function(e,t,n){var r=n.littleEndian;return S().m(function n(){var i,o;return S().w(function(n){for(;;)switch(n.n){case 0:return n.d(O(e(t.readExactly(2))),1);case 1:return i=n.v,o=Te(i,0,r),n.a(2,65535===o?1:o/65536)}},n)})()}),kt=Oe({pts:Ve,data:Ee(We)},{littleEndian:!1}),Ct=1n<<63n;function St(e,t){return Rt.apply(this,arguments)}function Rt(){return Rt=o(S().m(function e(t,n){var r;return S().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,t.readExactly(n);case 1:return r=e.v,e.a(2,Ge(r.subarray(0,r.indexOf(0))))}},e)})),Rt.apply(this,arguments)}function Ot(e){return xt.apply(this,arguments)}function xt(){return xt=o(S().m(function e(t){var n;return S().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,t.readExactly(4);case 1:return n=e.v,e.a(2,_e(n,0))}},e)})),xt.apply(this,arguments)}var Tt,At,_t=function(){return C(C({},wt),{},{encoderName:void 0})}(),It=(Tt=dt,At={action:De()},Oe(Object.assign({},Tt.fields,At),{littleEndian:Tt.littleEndian,extra:Tt.extra,postDeserialize:void 0}));var Mt=function(){var e=pt.slice();return e.splice(6,0,z),e}(),Nt=-1,Dt=function(){return C(C({},_t),{},{logLevel:"debug",lockVideoOrientation:Nt,powerOffOnClose:!1})}(),Pt=function(){return C(C({},Dt),{},{clipboardAutosync:!0})}();function Wt(e){return e.replace(/([A-Z])/g,"_$1").toLowerCase()}var Vt=Oe({sequence:Ve},{littleEndian:!1}),Lt=Oe({type:De,sequence:Ve,paste:De(),content:ze(We)},{littleEndian:!1}),Bt=new WeakMap,jt=new WeakMap,Ut=function(){return p(function e(){u(this,e),d(this,Bt,new Map),d(this,jt,!1),m(this,"id",1)},[{key:"parse",value:(e=o(S().m(function e(t,n){var r,i;return S().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,Vt.deserialize(n);case 1:r=e.v,(i=l(Bt,this).get(r.sequence))&&(i.resolve(),l(Bt,this).delete(r.sequence));case 2:return e.a(2)}},e,this)})),function(t,n){return e.apply(this,arguments)})},{key:"close",value:function(){var e,t=y(l(Bt,this).values());try{for(t.s();!(e=t.n()).done;){e.value.reject()}}catch(e){t.e(e)}finally{t.f()}l(Bt,this).clear(),h(jt,this,!0)}},{key:"error",value:function(e){var t,n=y(l(Bt,this).values());try{for(n.s();!(t=n.n()).done;){t.value.reject(e)}}catch(e){n.e(e)}finally{n.f()}l(Bt,this).clear(),h(jt,this,!0)}},{key:"serializeSetClipboardControlMessage",value:function(e){if(0n===e.sequence)return Lt.serialize(e);if(l(jt,this))throw new Error;var t=new ve;return l(Bt,this).set(e.sequence,t),[Lt.serialize(e),t.promise]}}]);var e}(),Ft=function(){return C(C({},Pt),{},{downsizeOnError:!0,sendDeviceMeta:!0,sendDummyByte:!0})}(),Gt=function(){return C(C({},Ft),{},{cleanup:!0})}(),zt=1n<<62n;var Ht=function(){return C(C({},Gt),{},{powerOn:!0})}(),Kt=ge(2,"byob",function(e,t){var n=t.buffer,r=t.index,i=t.littleEndian;!function(e,t,n,r){r?(e[t]=n,e[t+1]=n>>8):(e[t]=n>>8,e[t+1]=n)}(n,r,e=1===(e=gt(e,-1,1))?32767:32768*e,i)},function(e,t,n){var r=n.littleEndian;return S().m(function n(){var i,o;return S().w(function(n){for(;;)switch(n.n){case 0:return n.d(O(e(t.readExactly(2))),1);case 1:return i=n.v,o=xe(i,0,r),n.a(2,32767===o?1:o/32768)}},n)})()}),qt=function(){return Oe({type:De(U),pointerX:We,pointerY:We,videoWidth:Pe,videoHeight:Pe,scrollX:Kt,scrollY:Kt,buttons:We},{littleEndian:!1})}(),Xt=function(){return C(C({},bt(Ht,"bitRate","codecOptions","encoderName")),{},{scid:void 0,videoCodec:"h264",videoBitRate:8e6,videoCodecOptions:void 0,videoEncoder:void 0,audio:!0,audioCodec:"opus",audioBitRate:128e3,audioCodecOptions:void 0,audioEncoder:void 0,listEncoders:!1,listDisplays:!1,sendCodecMeta:!0})}(),Yt=function(){return Oe({type:De(j),action:De(),pointerId:Ve,pointerX:We,pointerY:We,videoWidth:Pe,videoHeight:Pe,pressure:Et,actionButton:We,buttons:We},{littleEndian:!1})}();function Qt(){return Qt=o(S().m(function e(t,n){var r,i,a,s,c,u,l,d;return S().w(function(e){for(;;)switch(e.n){case 0:return r=new it(t),e.n=1,r.readExactly(4);case 1:i=e.v,a=_e(i,0),u=a,e.n=0===u?2:1===u?3:4;break;case 2:return e.a(2,{type:"disabled"});case 3:return e.a(2,{type:"errored"});case 4:if(!n.sendCodecMeta){e.n=11;break}l=a,e.n=l===V.Raw.metadataValue?5:l===V.Opus.metadataValue?6:l===V.Aac.metadataValue?7:l===V.Flac.metadataValue?8:9;break;case 5:return s=V.Raw,e.a(3,10);case 6:return s=V.Opus,e.a(3,10);case 7:return s=V.Aac,e.a(3,10);case 8:return s=V.Flac,e.a(3,10);case 9:case 16:throw new Error("Unknown audio codec metadata value: ".concat(a));case 10:return e.a(2,{type:"success",codec:s,stream:r.release()});case 11:d=n.audioCodec,e.n="raw"===d?12:"opus"===d?13:"aac"===d?14:"flac"===d?15:16;break;case 12:return c=V.Raw,e.a(3,17);case 13:return c=V.Opus,e.a(3,17);case 14:return c=V.Aac,e.a(3,17);case 15:return c=V.Flac,e.a(3,17);case 17:return e.a(2,{type:"success",codec:c,stream:new Qe(function(){var e=o(S().m(function e(t){var n,o,a,s,c;return S().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,t.enqueue(i);case 1:n=r.release(),o=n.getReader();case 2:return e.n=3,o.read();case 3:if(a=e.v,s=a.done,c=a.value,!s){e.n=4;break}return e.a(3,6);case 4:return e.n=5,t.enqueue(c);case 5:e.n=2;break;case 6:return e.a(2)}},e)}));return function(t){return e.apply(this,arguments)}}())})}},e)})),Qt.apply(this,arguments)}function Jt(e){switch(e){case"h264":return se;case"h265":return ce;case"av1":return ue;default:throw new Error("Unknown video codec: ".concat(e))}}function Zt(){return(Zt=o(S().m(function e(t,n){var r,i,o,a,s;return S().w(function(e){for(;;)switch(e.n){case 0:if(r=new it(n),!t.sendDeviceMeta){e.n=2;break}return e.n=1,St(r,64);case 1:i=e.v;case 2:if(!t.sendCodecMeta){e.n=6;break}return e.n=3,Ot(r);case 3:return o=e.v,e.n=4,Ot(r);case 4:return a=e.v,e.n=5,Ot(r);case 5:s=e.v,e.n=7;break;case 6:o=Jt(t.videoCodec);case 7:return e.a(2,{stream:r.release(),metadata:{deviceName:i,codec:o,width:a,height:s}})}},e)}))).apply(this,arguments)}function $t(e,t){return e.sendDeviceMeta||e.sendCodecMeta?function(e,t){return Zt.apply(this,arguments)}(e,t):{stream:t,metadata:{codec:Jt(e.videoCodec)}}}var en=function(){return C(C({},Xt),{},{video:!0,audioSource:"output"})}(),tn=function(){return C(C({},en),{},{videoSource:"display",displayId:0,cameraId:void 0,cameraSize:void 0,cameraFacing:void 0,cameraAr:void 0,cameraFps:void 0,cameraHighSpeed:!1,listCameras:!1,listCameraSizes:!1})}();var nn=function(){return[].concat(_(Mt),[Q,J,$])}(),rn=Oe({id:Pe,data:Ee(Pe)},{littleEndian:!1}),on=new WeakMap,an=function(e){function t(){var e,n;return u(this,t),d(e=s(this,t,[function(e){n=e}]),on,void 0),m(e,"id",2),h(on,e,n),e}return b(t,e),p(t,[{key:"parse",value:(n=o(S().m(function e(t,n){var r;return S().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,rn.deserialize(n);case 1:return r=e.v,e.n=2,l(on,this).enqueue(r);case 2:return e.a(2)}},e,this)})),function(e,t){return n.apply(this,arguments)})},{key:"close",value:function(){l(on,this).close()}},{key:"error",value:function(e){l(on,this).error(e)}}]);var n}(Qe),sn=function(){return C(C({},tn),{},{audioDup:!1})}(),cn=function(){var e=nn.slice();return e.splice(14,0,Z),e}(),un=function(){return[].concat(_(cn),[ee,te])}(),ln=function(){return C(C({},bt(sn,"lockVideoOrientation")),{},{captureOrientation:void 0,angle:0,screenOffTimeout:void 0,listApps:!1,newDisplay:void 0,vdSystemDecorations:!0})}(),dn=/^\s+--(video|audio)-codec=(\S+)\s+--\1-encoder=(\S+)(?:\s*\((sw|hw|hybrid)\))?(?:\s*\[vendor\])?(?:\s*\(alias for (\S+)\))?$/;function hn(e){switch(e){case"sw":return"software";case"hw":return"hardware";case"hybrid":return"hybrid";default:throw new Error("Unknown hardware type: ".concat(e))}}var fn=function(){return C(C({},ln),{},{vdDestroyContent:!1})}(),vn=Oe({type:De,id:Pe,vendorId:Pe,productId:Pe,name:ze(De),data:Ee(Pe)},{littleEndian:!1});var pn=function(){return C(C({},fn),{},{displayImePolicy:void 0})}(),yn=function(){return p(function e(){u(this,e)},[{key:"serializeScrollMessage",value:function(e){return e=C(C({},e),{},{scrollX:e.scrollX/16,scrollY:e.scrollY/16}),qt.serialize(e)}}])}();var mn=new WeakMap,wn=new WeakMap,gn=new WeakMap,bn=new WeakMap,En=function(){return p(function e(t){u(this,e),m(this,"value",void 0),d(this,mn,void 0),d(this,wn,void 0),d(this,gn,void 0),d(this,bn,new ie),this.value=C(C({},pn),t),"camera"===this.value.videoSource&&(this.value.control=!1),this.value.audioDup&&(this.value.audioSource="playback"),this.value.control&&(this.value.clipboardAutosync&&(h(mn,this,l(bn,this).add(new vt)),h(wn,this,l(bn,this).add(new Ut))),h(gn,this,l(bn,this).add(new an)))},[{key:"controlMessageTypes",get:function(){return un}},{key:"clipboard",get:function(){return l(mn,this)}},{key:"uHidOutput",get:function(){return l(gn,this)}},{key:"deviceMessageParsers",get:function(){return l(bn,this)}},{key:"serialize",value:function(){return function(e,t){for(var n=[],r=0,i=Object.entries(e);r<i.length;r++){var o=T(i[r],2),a=o[0],s=ae(o[1],void 0);void 0!==s&&s!==ae(t[a],void 0)&&n.push("".concat(Wt(a),"=").concat(s))}return n}(this.value,pn)}},{key:"setListDisplays",value:function(){this.value.listDisplays=!0}},{key:"parseDisplay",value:function(e){return function(e){var t=e.match(/^\s+--display-id=(\d+)\s+\(([^)]+)\)$/);if(t){var n={id:Number.parseInt(t[1],10)};return"size unknown"!==t[2]&&(n.resolution=t[2]),n}}(e)}},{key:"setListEncoders",value:function(){this.value.listEncoders=!0}},{key:"parseEncoder",value:function(e){return function(e){var t=e.match(dn);return t?{type:t[1],name:t[3],codec:t[2],hardwareType:t[4]?hn(t[4]):void 0,vendor:!!t[5],aliasFor:t[6]}:void 0}(e)}},{key:"parseVideoStreamMetadata",value:function(e){return $t(this.value,e)}},{key:"parseAudioStreamMetadata",value:function(e){return function(e,t){return Qt.apply(this,arguments)}(e,this.value)}},{key:"createMediaStreamTransformer",value:function(){return function(e){if(!e.sendFrameMeta)return new Ye({transform:function(e,t){t.enqueue({type:"data",data:e})}});var t=new lt(kt);return{writable:t.writable,readable:t.readable.pipeThrough(new Ye({transform:function(e,t){e.pts!==Ct?e.pts&zt?t.enqueue({type:"data",keyframe:!0,pts:e.pts&~zt,data:e.data}):t.enqueue({type:"data",keyframe:!1,pts:e.pts,data:e.data}):t.enqueue({type:"configuration",data:e.data})}}))}}(this.value)}},{key:"serializeInjectTouchControlMessage",value:function(e){return function(e){return Yt.serialize(e)}(e)}},{key:"serializeBackOrScreenOnControlMessage",value:function(e){return function(e){return It.serialize(e)}(e)}},{key:"serializeSetClipboardControlMessage",value:function(e){return l(wn,this).serializeSetClipboardControlMessage(e)}},{key:"createScrollController",value:function(){return new yn}},{key:"serializeUHidCreateControlMessage",value:function(e){return function(e){return vn.serialize(e)}(e)}}])}();m(En,"Defaults",pn);var kn=S().m(Cn);function Cn(e){var t,n,r,i,o,a,s;return S().w(function(c){for(;;)switch(c.n){case 0:t=-1,n=0,r=!1,i=0;case 1:if(!(i<e.length)){c.n=15;break}if(o=e[i],!r){c.n=3;break}if(!(o>3)){c.n=2;break}throw new Error("Invalid data");case 2:return r=!1,c.a(3,14);case 3:if(0!==o){c.n=4;break}return n+=1,c.a(3,14);case 4:if(a=n,n=0,-1!==t){c.n=6;break}if(!(a>=2&&1===o)){c.n=5;break}return t=i+1,c.a(3,14);case 5:throw new Error("Invalid data");case 6:if(!(a<2)){c.n=7;break}return c.a(3,14);case 7:if(1!==o){c.n=9;break}return c.n=8,e.subarray(t,i-a);case 8:return t=i+1,c.a(3,14);case 9:if(!(a>2)){c.n=10;break}throw new Error("Invalid data");case 10:s=o,c.n=2===s?11:3===s?12:13;break;case 11:throw new Error("Invalid data");case 12:return r=!0,c.a(3,14);case 13:return c.a(3,14);case 14:i+=1,c.n=1;break;case 15:if(!r){c.n=16;break}throw new Error("Invalid data");case 16:return c.n=17,e.subarray(t,e.length);case 17:return c.a(2)}},kn)}var Sn,Rn,On,xn,Tn,An,_n,In,Mn,Nn,Dn,Pn,Wn,Vn=new WeakMap,Ln=new WeakMap,Bn=new WeakMap,jn=new WeakMap,Un=new WeakMap,Fn=new WeakMap,Gn=new WeakMap,zn=new WeakSet,Hn=function(){return p(function e(t){u(this,e),f(this,zn),d(this,Vn,void 0),d(this,Ln,void 0),d(this,Bn,void 0),d(this,jn,0),d(this,Un,0),d(this,Fn,7),d(this,Gn,0),h(Vn,this,t);for(var n=t.length-1;n>=0;n-=1)if(0!==l(Vn,this)[n])for(var i=t[n],o=0;o<8;o+=1)if(1==(i>>o&1))return h(Ln,this,n),h(Bn,this,o),void r(zn,this,Kn).call(this);throw new Error("Stop bit not found")},[{key:"byteLength",get:function(){return l(Ln,this)}},{key:"stopBitIndex",get:function(){return l(Bn,this)}},{key:"bytePosition",get:function(){return l(Un,this)}},{key:"bitPosition",get:function(){return l(Fn,this)}},{key:"ended",get:function(){return l(Un,this)>=l(Ln,this)&&l(Fn,this)<=l(Bn,this)}},{key:"next",value:function(){if(this.ended)throw new Error("Bit index out of bounds");var e=l(Gn,this)>>l(Fn,this)&1;return h(Fn,this,l(Fn,this)-1),l(Fn,this)<0&&(h(Un,this,l(Un,this)+1),h(Fn,this,7),r(zn,this,Kn).call(this)),e}},{key:"read",value:function(e){if(e>32)throw new Error("Read length too large");for(var t=0,n=0;n<e;n+=1)t=t<<1|this.next();return t}},{key:"skip",value:function(e){if(e<=l(Fn,this)+1)return h(Fn,this,l(Fn,this)-e),void r(zn,this,qn).call(this);for(e-=l(Fn,this)+1,h(Un,this,l(Un,this)+1),h(Fn,this,7),r(zn,this,Kn).call(this),r(zn,this,qn).call(this);e>=8;e-=8)h(Un,this,l(Un,this)+1),r(zn,this,Kn).call(this),r(zn,this,qn).call(this);h(Fn,this,7-e),r(zn,this,qn).call(this)}},{key:"decodeExponentialGolombNumber",value:function(){for(var e=0;0===this.next();)e+=1;return 0===e?0:(1<<e|this.read(e))-1}},{key:"peek",value:function(e){var t=r(zn,this,Xn).call(this),n=this.read(e);return r(zn,this,Yn).call(this,t),n}},{key:"readBytes",value:function(e){for(var t=new Uint8Array(e),n=0;n<e;n+=1)t[n]=this.read(8);return t}},{key:"peekBytes",value:function(e){var t=r(zn,this,Xn).call(this),n=this.readBytes(e);return r(zn,this,Yn).call(this,t),n}}])}();function Kn(){if(h(Gn,this,l(Vn,this)[l(Un,this)]),2===l(jn,this)&&3===l(Gn,this))return h(jn,this,0),h(Un,this,l(Un,this)+1),void r(zn,this,Kn).call(this);0===l(Gn,this)?h(jn,this,l(jn,this)+1):h(jn,this,0)}function qn(){if(l(Un,this)>=l(Ln,this)&&l(Fn,this)<l(Bn,this))throw new Error("Bit index out of bounds")}function Xn(){return{zeroCount:l(jn,this),bytePosition:l(Un,this),bitPosition:l(Fn,this),byte:l(Gn,this)}}function Yn(e){h(jn,this,e.zeroCount),h(Un,this,e.bytePosition),h(Fn,this,e.bitPosition),h(Gn,this,e.byte)}function Qn(e){var t=function(e){var t,n,r,i=y(Cn(e));try{for(i.s();!(r=i.n()).done;){var o=r.value;switch(31&o[0]){case 7:if(t=o,n)return{sequenceParameterSet:t,pictureParameterSet:n};break;case 8:if(n=o,t)return{sequenceParameterSet:t,pictureParameterSet:n}}}}catch(e){i.e(e)}finally{i.f()}throw new Error("Invalid data")}(e),n=t.sequenceParameterSet,r=t.pictureParameterSet,i=function(e){var t=new Hn(e);if(0!==t.next())throw new Error("Invalid data");var n=t.read(2);if(7!==t.read(5))throw new Error("Invalid data");if(0===n)throw new Error("Invalid data");var r=t.read(8),i=t.peek(8),o=!!t.next(),a=!!t.next(),s=!!t.next(),c=!!t.next(),u=!!t.next(),l=!!t.next();if(0!==t.read(2))throw new Error("Invalid data");var d=t.read(8),h=t.decodeExponentialGolombNumber();if(100===r||110===r||122===r||244===r||44===r||83===r||86===r||118===r||128===r||138===r||139===r||134===r){var f=t.decodeExponentialGolombNumber();if(3===f&&t.next(),t.decodeExponentialGolombNumber(),t.decodeExponentialGolombNumber(),t.next(),t.next())for(var v=[],p=0;p<(3!==f?8:12);p+=1)v[p]=!!t.next(),v[p]}t.decodeExponentialGolombNumber();var y=t.decodeExponentialGolombNumber();if(0===y)t.decodeExponentialGolombNumber();else if(1===y){t.next(),t.decodeExponentialGolombNumber(),t.decodeExponentialGolombNumber();for(var m=t.decodeExponentialGolombNumber(),w=[],g=0;g<m;g+=1)w[g]=t.decodeExponentialGolombNumber()}t.decodeExponentialGolombNumber(),t.next();var b=t.decodeExponentialGolombNumber(),E=t.decodeExponentialGolombNumber(),k=t.next();k||t.next(),t.next();var C,S,R,O,x=!!t.next();return x?(C=t.decodeExponentialGolombNumber(),S=t.decodeExponentialGolombNumber(),R=t.decodeExponentialGolombNumber(),O=t.decodeExponentialGolombNumber()):(C=0,S=0,R=0,O=0),t.next(),{profile_idc:r,constraint_set:i,constraint_set0_flag:o,constraint_set1_flag:a,constraint_set2_flag:s,constraint_set3_flag:c,constraint_set4_flag:u,constraint_set5_flag:l,level_idc:d,seq_parameter_set_id:h,pic_width_in_mbs_minus1:b,pic_height_in_map_units_minus1:E,frame_mbs_only_flag:k,frame_cropping_flag:x,frame_crop_left_offset:C,frame_crop_right_offset:S,frame_crop_top_offset:R,frame_crop_bottom_offset:O}}(n),o=i.profile_idc,a=i.constraint_set,s=i.level_idc,c=16*(i.pic_width_in_mbs_minus1+1),u=(i.pic_height_in_map_units_minus1+1)*(2-i.frame_mbs_only_flag)*16,l=2*i.frame_crop_left_offset,d=2*i.frame_crop_right_offset,h=2*i.frame_crop_top_offset,f=2*i.frame_crop_bottom_offset;return{pictureParameterSet:r,sequenceParameterSet:n,profileIndex:o,constraintSet:a,levelIndex:s,encodedWidth:c,encodedHeight:u,cropLeft:l,cropRight:d,cropTop:h,cropBottom:f,croppedWidth:c-l-d,croppedHeight:u-h-f}}function Jn(e,t,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(e):r?r.value:t.get(e)}function Zn(e,t,n,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(e,n):i?i.value=n:t.set(e,n),n}"function"==typeof SuppressedError&&SuppressedError;var $n,er,tr,nr,rr,ir,or,ar,sr,cr,ur,lr,dr,hr,fr,vr=function(){return p(function e(){u(this,e),Sn.add(this),Rn.set(this,0),On.set(this,0),xn.set(this,0),Tn.set(this,0),An.set(this,0),_n.set(this,0),In.set(this,0),Mn.set(this,0),Nn.set(this,0),Dn.set(this,0),Pn.set(this,0)},[{key:"reset",value:function(){Zn(this,Rn,0,"f"),Zn(this,On,0,"f"),Zn(this,xn,0,"f"),Zn(this,Tn,0,"f"),Zn(this,An,0,"f"),Zn(this,_n,0,"f"),Zn(this,In,0,"f"),Zn(this,Mn,0,"f"),Zn(this,Dn,0,"f"),Zn(this,Pn,0,"f"),Zn(this,Nn,Jn(this,Sn,"m",Wn).call(this),"f")}},{key:"resetInterval",value:function(){Zn(this,In,0,"f"),Zn(this,Mn,0,"f"),Zn(this,Nn,Jn(this,Sn,"m",Wn).call(this),"f")}},{key:"addReceivedFrame",value:function(e){var t;Zn(this,Rn,(t=Jn(this,Rn,"f"),++t),"f"),Zn(this,In,Jn(this,In,"f")+e,"f")}},{key:"addSubmittedFrame",value:function(){var e,t;Zn(this,On,(e=Jn(this,On,"f"),++e),"f"),Zn(this,Mn,(t=Jn(this,Mn,"f"),++t),"f")}},{key:"addDroppedFrame",value:function(){var e;Zn(this,xn,(e=Jn(this,xn,"f"),++e),"f")}},{key:"addKeyFrame",value:function(){var e;Zn(this,Tn,(e=Jn(this,Tn,"f"),++e),"f")}},{key:"addReset",value:function(){var e;Zn(this,An,(e=Jn(this,An,"f"),++e),"f")}},{key:"addConfigPacket",value:function(){var e;Zn(this,_n,(e=Jn(this,_n,"f"),++e),"f")}},{key:"updateRenderStats",value:function(e,t){Zn(this,Dn,e,"f"),Zn(this,Pn,t,"f")}},{key:"getSnapshot",value:function(e,t,n){var r=Jn(this,Sn,"m",Wn).call(this),i=Jn(this,Nn,"f")>0?(r-Jn(this,Nn,"f"))/1e3:1,o=i>0?i:1;return{fps:Jn(this,Mn,"f")/o,bitrate:8*Jn(this,In,"f")/o,totalFrames:Jn(this,Rn,"f"),decodedFrames:Jn(this,On,"f"),droppedFrames:Jn(this,xn,"f"),keyFrames:Jn(this,Tn,"f"),queueSize:e,resetCount:Jn(this,An,"f"),width:t,height:n}}}])}();Rn=new WeakMap,On=new WeakMap,xn=new WeakMap,Tn=new WeakMap,An=new WeakMap,_n=new WeakMap,In=new WeakMap,Mn=new WeakMap,Nn=new WeakMap,Dn=new WeakMap,Pn=new WeakMap,Sn=new WeakSet,Wn=function(){return"undefined"!=typeof performance?performance.now():Date.now()};var pr,yr=0;!function(e){e.WAITING_CONFIG="WAITING_CONFIG",e.WAITING_FIRST_KEYFRAME="WAITING_FIRST_KEYFRAME",e.DECODING="DECODING"}(pr||(pr={}));var mr,wr,gr=function(){return p(function e(t,n){u(this,e),$n.add(this),er.set(this,void 0),tr.set(this,void 0),nr.set(this,void 0),rr.set(this,pr.WAITING_CONFIG),ir.set(this,!0),or.set(this,0),ar.set(this,yr),sr.set(this,void 0),cr.set(this,void 0),ur.set(this,void 0),Zn(this,nr,t,"f"),Zn(this,cr,n,"f"),Zn(this,sr,new vr,"f"),Zn(this,or,Date.now(),"f"),Jn(this,cr,"f")&&(Jn(this,$n,"m",dr).call(this),Jn(this,$n,"m",lr).call(this))},[{key:"setStatsCallback",value:function(e){Zn(this,cr,e,"f"),Jn(this,ur,"f")||Jn(this,$n,"m",dr).call(this)}},{key:"dispose",value:function(){Jn(this,ur,"f")&&(clearInterval(Jn(this,ur,"f")),Zn(this,ur,void 0,"f")),Jn(this,$n,"m",lr).call(this),Zn(this,cr,void 0,"f"),Jn(this,sr,"f").reset()}},{key:"decode",value:function(e){if("configuration"===e.type)return Jn(this,sr,"f").addConfigPacket(),!!Jn(this,er,"f")&&"configured"===Jn(this,nr,"f").state&&(Jn(this,nr,"f").reset(),Jn(this,sr,"f").addReset(),Zn(this,ar,yr,"f"),Zn(this,or,Date.now(),"f")),Zn(this,er,e.data,"f"),Zn(this,tr,this.configure(e.data),"f"),Zn(this,rr,pr.WAITING_FIRST_KEYFRAME,"f"),void Zn(this,ir,!0,"f");if(Jn(this,sr,"f").addReceivedFrame(e.data.byteLength),Jn(this,tr,"f")&&Jn(this,er,"f")){if(e.keyframe){Jn(this,sr,"f").addKeyFrame();var t=Date.now(),n=Jn(this,nr,"f").decodeQueueSize;return Jn(this,rr,"f")===pr.WAITING_FIRST_KEYFRAME?(Zn(this,rr,pr.DECODING,"f"),Jn(this,sr,"f").addSubmittedFrame(),void Jn(this,$n,"m",fr).call(this,e)):n?(console.warn("[H26xDecoder] Queue overloaded, resetting decoder",{queueSize:n}),Jn(this,sr,"f").addReset(),Jn(this,nr,"f").reset(),Zn(this,or,t,"f"),Zn(this,ir,!0,"f"),Jn(this,sr,"f").addSubmittedFrame(),void Jn(this,$n,"m",fr).call(this,e)):(Jn(this,sr,"f").addSubmittedFrame(),void Jn(this,$n,"m",fr).call(this,e))}Jn(this,rr,"f")===pr.DECODING?(Jn(this,sr,"f").addSubmittedFrame(),Jn(this,nr,"f").decode(new EncodedVideoChunk({type:"delta",timestamp:Jn(this,$n,"m",hr).call(this,e),data:e.data}))):Jn(this,sr,"f").addDroppedFrame()}else Jn(this,sr,"f").addDroppedFrame()}}])}();function br(e){return e.toString(16).toUpperCase().padStart(2,"0")}er=new WeakMap,tr=new WeakMap,nr=new WeakMap,rr=new WeakMap,ir=new WeakMap,or=new WeakMap,ar=new WeakMap,sr=new WeakMap,cr=new WeakMap,ur=new WeakMap,$n=new WeakSet,lr=function(){var e,t,n,r;if(Jn(this,cr,"f")){var i=null!==(e=null===(t=Jn(this,tr,"f"))||void 0===t?void 0:t.codedWidth)&&void 0!==e?e:0,o=null!==(n=null===(r=Jn(this,tr,"f"))||void 0===r?void 0:r.codedHeight)&&void 0!==n?n:0;Jn(this,cr,"f").call(this,Jn(this,sr,"f").getSnapshot(Jn(this,nr,"f").decodeQueueSize,i,o))}},dr=function(){var e=this;Jn(this,ur,"f")||Zn(this,ur,setInterval(function(){Jn(e,$n,"m",lr).call(e),Jn(e,sr,"f").resetInterval()},1e3),"f")},hr=function(e){if("bigint"==typeof e.pts||"number"==typeof e.pts){var t=Number(e.pts);return Zn(this,ar,t,"f"),t}var n=Jn(this,ar,"f");return Zn(this,ar,Jn(this,ar,"f")+33333,"f"),n},fr=function(e){(Jn(this,ir,"f")||"configured"!==Jn(this,nr,"f").state)&&(console.log("[H26xDecoder] Configuring decoder (Keyframe)"),Jn(this,nr,"f").configure(Jn(this,tr,"f")),Zn(this,ir,!1,"f"));var t=new Uint8Array(Jn(this,er,"f").length+e.data.length);t.set(Jn(this,er,"f"),0),t.set(e.data,Jn(this,er,"f").length),Jn(this,nr,"f").decode(new EncodedVideoChunk({type:"key",timestamp:Jn(this,$n,"m",hr).call(this,e),data:t}))};var Er=function(e){function t(e,n,r){var i;return u(this,t),i=s(this,t,[e,null==r?void 0:r.onStats]),mr.set(i,void 0),wr.set(i,void 0),Zn(i,mr,n,"f"),Zn(i,wr,r,"f"),i}return b(t,e),p(t,[{key:"configure",value:function(e){var t,n,r=Qn(e),i=r.profileIndex,o=r.constraintSet,a=r.levelIndex,s=r.croppedWidth,c=r.croppedHeight;return Jn(this,mr,"f").call(this,s,c),{codec:"avc1."+br(i)+br(o)+br(a),hardwareAcceleration:null!==(t=null===(n=Jn(this,wr,"f"))||void 0===n?void 0:n.hardwareAcceleration)&&void 0!==t?t:"no-preference",optimizeForLatency:!0}}}])}(gr);mr=new WeakMap,wr=new WeakMap;var kr,Cr,Sr,Rr,Or,xr,Tr,Ar,_r=function(){return p(function e(){var t=this;u(this,e),m(this,"listeners",[]),m(this,"event",function(e,n){for(var r=arguments.length,i=new Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];var a={listener:e,thisArg:n,args:i};return t.addEventListener(a)}),this.event=this.event.bind(this)},[{key:"addEventListener",value:function(e){var t=this;this.listeners.push(e);var n=function(){var n=t.listeners.indexOf(e);-1!==n&&t.listeners.splice(n,1)};return n.dispose=n,n}},{key:"fire",value:function(e){var t,n=y(this.listeners.slice());try{for(n.s();!(t=n.n()).done;){var r,i=t.value;(r=i.listener).call.apply(r,[i.thisArg,e].concat(_(i.args)))}}catch(e){n.e(e)}finally{n.f()}}},{key:"dispose",value:function(){this.listeners.length=0}}])}(),Ir=Symbol("undefined"),Mr=new WeakMap,Nr=function(e){function t(){var e;u(this,t);for(var n=arguments.length,r=new Array(n),i=0;i<n;i++)r[i]=arguments[i];return d(e=s(this,t,[].concat(r)),Mr,Ir),e}return b(t,e),p(t,[{key:"addEventListener",value:function(e){var n;l(Mr,this)!==Ir&&(n=e.listener).call.apply(n,[e.thisArg,l(Mr,this)].concat(_(e.args)));return A(t,"addEventListener",this)([e])}},{key:"fire",value:function(e){h(Mr,this,e),A(t,"fire",this)([e])}}])}(_r),Dr=function(){return p(function e(t,n){var r=this;u(this,e),kr.set(this,void 0),Cr.set(this,new ReadableStream({start:function(e){Zn(r,kr,e,"f")},pull:function(e){e.enqueue(Jn(r,Rr,"f").call(r))}},{highWaterMark:0})),Sr.set(this,Jn(this,Cr,"f").getReader()),Rr.set(this,void 0),Or.set(this,0),xr.set(this,void 0),Zn(this,Rr,t,"f"),Zn(this,xr,n,"f")},[{key:"borrow",value:(e=o(S().m(function e(){var t;return S().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,Jn(this,Sr,"f").read();case 1:return t=e.v,e.a(2,t.value)}},e,this)})),function(){return e.apply(this,arguments)})},{key:"return",value:function(e){Jn(this,Or,"f")<Jn(this,xr,"f")&&(Jn(this,kr,"f").enqueue(e),Zn(this,Or,Jn(this,Or,"f")+1,"f"))}}]);var e}();kr=new WeakMap,Cr=new WeakMap,Sr=new WeakMap,Rr=new WeakMap,Or=new WeakMap,xr=new WeakMap;var Pr=function(){return p(function e(){u(this,e),Tr.set(this,void 0),Ar.set(this,void 0),"undefined"!=typeof OffscreenCanvas?Zn(this,Tr,new OffscreenCanvas(1,1),"f"):(Zn(this,Tr,document.createElement("canvas"),"f"),Jn(this,Tr,"f").width=1,Jn(this,Tr,"f").height=1),Zn(this,Ar,Jn(this,Tr,"f").getContext("bitmaprenderer",{alpha:!1}),"f")},[{key:"capture",value:(e=o(S().m(function e(t){var n,r=this;return S().w(function(e){for(;;)switch(e.n){case 0:return Jn(this,Tr,"f").width=t.displayWidth,Jn(this,Tr,"f").height=t.displayHeight,e.n=1,createImageBitmap(t);case 1:if(n=e.v,Jn(this,Ar,"f").transferFromImageBitmap(n),!(Jn(this,Tr,"f")instanceof OffscreenCanvas)){e.n=3;break}return e.n=2,Jn(this,Tr,"f").convertToBlob({type:"image/png"});case 2:return e.a(2,e.v);case 3:return e.a(2,new Promise(function(e,t){Jn(r,Tr,"f").toBlob(function(n){n?e(n):t(new Error("Failed to convert canvas to blob"))},"image/png")}));case 4:return e.a(2)}},e,this)})),function(t){return e.apply(this,arguments)})}]);var e}();Tr=new WeakMap,Ar=new WeakMap;var Wr,Vr,Lr,Br,jr,Ur,Fr,Gr,zr,Hr,Kr,qr,Xr,Yr,Qr,Jr,Zr,$r,ei,ti,ni,ri,ii,oi,ai,si,ci,ui,li,di=["codec","renderer"],hi=new Dr(function(){return new Pr},4),fi=function(){return p(function e(t){var n=this,r=t.codec,i=t.renderer,o=function(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],-1===t.indexOf(n)&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}(t,di);u(this,e),Wr.add(this),Vr.set(this,void 0),Lr.set(this,void 0),Br.set(this,void 0),jr.set(this,void 0),Ur.set(this,void 0),Fr.set(this,void 0),Gr.set(this,void 0),zr.set(this,0),Hr.set(this,0),Kr.set(this,0),qr.set(this,new Nr),Xr.set(this,0),Yr.set(this,0),Qr.set(this,void 0),Jr.set(this,!1),Zr.set(this,void 0),$r.set(this,void 0),ei.set(this,0),ti.set(this,0),ni.set(this,0),ri.set(this,0),ii.set(this,0),oi.set(this,0),ui.set(this,function(e,t){Jn(n,Lr,"f").setSize(e,t),Zn(n,Xr,e,"f"),Zn(n,Yr,t,"f"),Jn(n,qr,"f").fire({width:e,height:t})}),li.set(this,function(){Jn(n,zr,"f")>0&&(Zn(n,Hr,Jn(n,Hr,"f")+1,"f"),Zn(n,Kr,Jn(n,Kr,"f")+(Jn(n,zr,"f")-1),"f"),Zn(n,zr,0,"f")),Zn(n,ei,requestAnimationFrame(Jn(n,li,"f")),"f")}),Zn(this,Vr,r,"f"),Zn(this,Lr,i,"f"),Zn(this,Br,o,"f"),Zn(this,Qr,new VideoDecoder({output:function(e){var t;if(Zn(n,ti,Jn(n,ti,"f")+1,"f"),null===(t=Jn(n,$r,"f"))||void 0===t||t.close(),Zn(n,$r,e.clone(),"f"),Jn(n,Jr,"f"))return Jn(n,Zr,"f")&&(Jn(n,Zr,"f").close(),Zn(n,Kr,Jn(n,Kr,"f")+1,"f")),void Zn(n,Zr,e,"f");Jn(n,Wr,"m",ci).call(n,e)},error:function(e){Jn(n,Wr,"m",ai).call(n,e)}}),"f");var a=C(C({},Jn(this,Br,"f")),{},{onStats:function(e){var t,r,i=Jn(n,Hr,"f"),o=Jn(n,Kr,"f"),a=Jn(n,ti,"f"),s=Jn(n,Wr,"m",si).call(n),c=Jn(n,ri,"f")>0?(s-Jn(n,ri,"f"))/1e3:1,u=c>0?c:1;e.renderedFrames=i,e.renderSkippedFrames=o,e.renderFps=(i-Jn(n,ii,"f"))/u,e.decodedOutputFrames=a,e.decodedOutputFps=(a-Jn(n,ni,"f"))/u,e.width=Jn(n,Xr,"f"),e.height=Jn(n,Yr,"f"),Zn(n,ii,i,"f"),Zn(n,oi,o,"f"),Zn(n,ni,a,"f"),Zn(n,ri,s,"f"),null===(t=(r=Jn(n,Br,"f")).onStats)||void 0===t||t.call(r,e)}});if(Jn(this,Vr,"f")!==se)throw new Error("Unsupported codec: ".concat(Jn(this,Vr,"f")));Zn(this,jr,new Er(Jn(this,Qr,"f"),Jn(this,ui,"f"),a),"f"),Zn(this,Ur,new Xe({start:function(e){Jn(n,Fr,"f")?e.error(Jn(n,Fr,"f")):Zn(n,Gr,e,"f")},write:function(e){Jn(n,jr,"f").decode(e)}}),"f"),Jn(this,li,"f").call(this)},[{key:"codec",get:function(){return Jn(this,Vr,"f")}},{key:"renderer",get:function(){return Jn(this,Lr,"f")}},{key:"writable",get:function(){return Jn(this,Ur,"f")}},{key:"framesRendered",get:function(){return Jn(this,Hr,"f")}},{key:"framesSkipped",get:function(){return Jn(this,Kr,"f")}},{key:"sizeChanged",get:function(){return Jn(this,qr,"f").event}},{key:"width",get:function(){return Jn(this,Xr,"f")}},{key:"height",get:function(){return Jn(this,Yr,"f")}},{key:"decodeQueueSize",get:function(){return Jn(this,Qr,"f").decodeQueueSize}},{key:"snapshot",value:(e=o(S().m(function e(){var t,n,r;return S().w(function(e){for(;;)switch(e.n){case 0:if(t=Jn(this,$r,"f")){e.n=1;break}return e.a(2,void 0);case 1:return e.n=2,hi.borrow();case 2:return n=e.v,e.n=3,n.capture(t);case 3:return r=e.v,hi.return(n),e.a(2,r)}},e,this)})),function(){return e.apply(this,arguments)})},{key:"dispose",value:function(){var e,t;cancelAnimationFrame(Jn(this,ei,"f")),"closed"!==Jn(this,Qr,"f").state&&Jn(this,Qr,"f").close(),Jn(this,jr,"f").dispose(),null===(e=Jn(this,Zr,"f"))||void 0===e||e.close(),null===(t=Jn(this,$r,"f"))||void 0===t||t.close()}}],[{key:"isSupported",get:function(){return void 0!==globalThis.VideoDecoder}}]);var e}();Vr=new WeakMap,Lr=new WeakMap,Br=new WeakMap,jr=new WeakMap,Ur=new WeakMap,Fr=new WeakMap,Gr=new WeakMap,zr=new WeakMap,Hr=new WeakMap,Kr=new WeakMap,qr=new WeakMap,Xr=new WeakMap,Yr=new WeakMap,Qr=new WeakMap,Jr=new WeakMap,Zr=new WeakMap,$r=new WeakMap,ei=new WeakMap,ti=new WeakMap,ni=new WeakMap,ri=new WeakMap,ii=new WeakMap,oi=new WeakMap,ui=new WeakMap,li=new WeakMap,Wr=new WeakSet,ai=function(e){if(Jn(this,Gr,"f"))try{Jn(this,Gr,"f").error(e)}catch(e){}else Zn(this,Fr,e,"f")},si=function(){return"undefined"!=typeof performance?performance.now():Date.now()},ci=function(){var e=o(S().m(function e(n){var r,i;return S().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,Zn(this,Jr,!0,"f"),Jn(this,ui,"f").call(this,n.displayWidth,n.displayHeight),e.n=1,Jn(this,Lr,"f").draw(n);case 1:if(Zn(this,zr,Jn(this,zr,"f")+1,"f"),n.close(),!Jn(this,Zr,"f")){e.n=2;break}return r=Jn(this,Zr,"f"),Zn(this,Zr,void 0,"f"),e.n=2,Jn(this,Wr,"m",t).call(this,r);case 2:Zn(this,Jr,!1,"f"),e.n=4;break;case 3:e.p=3,i=e.v,Jn(this,Wr,"m",ai).call(this,i);case 4:return e.a(2)}},e,this,[[0,3]])}));function t(t){return e.apply(this,arguments)}return t}(),fi.capabilities={h264:{}};var vi=function(){return p(function e(t,n){u(this,e),this.program=null,this.texture=null,this.vertexBuffer=null,this.isDisposed=!1,this.canvas=t;var r={alpha:!1,depth:!1,stencil:!1,antialias:!1,preserveDrawingBuffer:!1,powerPreference:null!=n?n:"low-power",failIfMajorPerformanceCaveat:!0},i=t.getContext("webgl2",r)||t.getContext("webgl",r);if(!i)throw new Error("WebGL not supported");this.gl=i,this.initGL()},[{key:"initGL",value:function(){var e=this.gl,t=this.createShader(e.VERTEX_SHADER,"\n attribute vec2 a_pos;\n varying highp vec2 v_texCoord;\n void main() {\n gl_Position = vec4(a_pos, 0.0, 1.0);\n // Map [-1, 1] to [0, 1] and flip Y for texture\n v_texCoord = vec2((a_pos.x + 1.0) * 0.5, (1.0 - a_pos.y) * 0.5);\n }\n "),n=this.createShader(e.FRAGMENT_SHADER,"\n varying highp vec2 v_texCoord;\n uniform sampler2D u_sampler;\n void main() {\n gl_FragColor = texture2D(u_sampler, v_texCoord);\n }\n ");this.program=this.createProgram(t,n),e.useProgram(this.program);var r=new Float32Array([-1,-1,1,-1,-1,1,1,1]);this.vertexBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bufferData(e.ARRAY_BUFFER,r,e.STATIC_DRAW);var i=e.getAttribLocation(this.program,"a_pos");e.enableVertexAttribArray(i),e.vertexAttribPointer(i,2,e.FLOAT,!1,0,0),this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.clearColor(1,1,1,1),e.clear(e.COLOR_BUFFER_BIT)}},{key:"setSize",value:function(e,t){this.canvas.width===e&&this.canvas.height===t||(this.canvas.width=e,this.canvas.height=t)}},{key:"draw",value:function(e){var t=this.gl;t&&this.program&&(t.viewport(0,0,t.drawingBufferWidth,t.drawingBufferHeight),t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,this.texture),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e),t.drawArrays(t.TRIANGLE_STRIP,0,4))}},{key:"createShader",value:function(e,t){var n=this.gl,r=n.createShader(e);if(n.shaderSource(r,t),n.compileShader(r),!n.getShaderParameter(r,n.COMPILE_STATUS)){var i=n.getShaderInfoLog(r);throw n.deleteShader(r),new Error("Shader compile error: "+i)}return r}},{key:"createProgram",value:function(e,t){var n=this.gl,r=n.createProgram();if(n.attachShader(r,e),n.attachShader(r,t),n.linkProgram(r),!n.getProgramParameter(r,n.LINK_STATUS)){var i=n.getProgramInfoLog(r);throw n.deleteProgram(r),new Error("Program link error: "+i)}return n.detachShader(r,e),n.detachShader(r,t),n.deleteShader(e),n.deleteShader(t),r}},{key:"dispose",value:function(){var e;this.isDisposed=!0;var t=this.gl;this.texture&&t.deleteTexture(this.texture),this.vertexBuffer&&t.deleteBuffer(this.vertexBuffer),this.program&&t.deleteProgram(this.program),null===(e=t.getExtension("WEBGL_lose_context"))||void 0===e||e.loseContext()}}],[{key:"isSupported",get:function(){try{if("undefined"!=typeof OffscreenCanvas){var e=new OffscreenCanvas(1,1);return!(!e.getContext("webgl2")&&!e.getContext("webgl"))}var t=document.createElement("canvas");return!(!t.getContext("webgl2")&&!t.getContext("webgl"))}catch(e){return!1}}}])}(),pi=function(){return p(function e(t){if(u(this,e),this.canvas=t,this.ctx=null,this.isDisposed=!1,this.ctx=t.getContext("2d",{alpha:!1,desynchronized:!0}),!this.ctx)throw new Error("Canvas 2D not supported")},[{key:"setSize",value:function(e,t){this.canvas.width===e&&this.canvas.height===t||(this.canvas.width=e,this.canvas.height=t)}},{key:"draw",value:function(e){this.ctx&&this.ctx.drawImage(e,0,0,this.canvas.width,this.canvas.height)}},{key:"dispose",value:function(){this.isDisposed=!0,this.ctx=null,this.canvas.width=0,this.canvas.height=0}}])}(),yi=function(){return p(function e(){u(this,e),this.listeners=new Map},[{key:"on",value:function(e,t){this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(t)}},{key:"once",value:function(e,t){var n=this,r=function(){t.apply(void 0,arguments),n.off(e,r)};this.on(e,r)}},{key:"off",value:function(e,t){var n;null===(n=this.listeners.get(e))||void 0===n||n.delete(t)}},{key:"emit",value:function(e){var t=this.listeners.get(e);if(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];var o,a=y(t);try{for(a.s();!(o=a.n()).done;){var s=o.value;try{s.apply(void 0,r)}catch(t){console.error("EventEmitter '".concat(e,"' listener error"),t)}}}catch(e){a.e(e)}finally{a.f()}}}},{key:"clear",value:function(e){e?this.listeners.delete(e):this.listeners.clear()}}])}(),mi=function(e){function t(e){var n,r;return u(this,t),(r=s(this,t)).sockets={video:null,audio:null,touch:null},r.subscribers={video:new Set,audio:new Set,touch:new Set},r.deviceId=e.deviceId,r.ip=e.ip,r.ports=null!==(n=e.ports)&&void 0!==n?n:{},r}return b(t,e),p(t,[{key:"getUrl",value:function(e){var t=this.ports[e];return"ws://".concat(this.ip,":").concat(t)}},{key:"getChannelStatus",value:function(e){var t=this.sockets[e];if(!t)return"disconnected";switch(t.readyState){case WebSocket.CONNECTING:return"connecting";case WebSocket.OPEN:return"connected";case WebSocket.CLOSING:case WebSocket.CLOSED:default:return"disconnected"}}},{key:"getAllChannelsStatus",value:function(){return{video:this.getChannelStatus("video"),audio:this.getChannelStatus("audio"),touch:this.getChannelStatus("touch")}}},{key:"emitChannelStatus",value:function(e,t){var n=this.getAllChannelsStatus();this.emit(t,e,n)}},{key:"ensureChannel",value:function(e){var t=this;if(this.sockets[e]){var n=this.sockets[e].readyState;if(n===WebSocket.OPEN||n===WebSocket.CONNECTING)return;this.sockets[e]=null}var r=new WebSocket(this.getUrl(e));r.binaryType="arraybuffer",r.onopen=function(){console.log("[".concat(t.deviceId,":").concat(e,"] connected")),t.emitChannelStatus(e,"open")},r.onmessage=function(n){try{var r,i=y(t.subscribers[e]);try{for(i.s();!(r=i.n()).done;){(0,r.value)(n.data)}}catch(e){i.e(e)}finally{i.f()}}catch(n){console.error("[".concat(t.deviceId,":").concat(e,"] message error"),n)}},r.onerror=function(n){console.error("[".concat(t.deviceId,":").concat(e,"] error"),n),t.emit("error",e,n)},r.onclose=function(n){console.warn("[".concat(t.deviceId,":").concat(e,"] closed"),n),t.sockets[e]=null,t.emit("close",e,n)},this.sockets[e]=r}},{key:"subscribe",value:function(e,t){this.subscribers[e].add(t),this.sockets[e]||this.ensureChannel(e)}},{key:"unsubscribe",value:function(e,t){if(t?this.subscribers[e].delete(t):this.subscribers[e].clear(),0===this.subscribers[e].size){console.log("[".concat(this.deviceId,":").concat(e,"] no subscribers, closing"));var n=this.sockets[e];n&&(n.onclose=null,n.onerror=null,n.close(),this.sockets[e]=null)}}},{key:"send",value:function(e,t){var n=this.sockets[e];if(n&&n.readyState===WebSocket.OPEN)try{t instanceof ArrayBuffer||t instanceof Uint8Array?n.send(t):n.send(JSON.stringify(t))}catch(t){console.error("[".concat(e,"] send error"),t)}}},{key:"sendTouch",value:function(e){this.send("touch",e)}},{key:"destroy",value:function(){var e=this;["video","audio","touch"].forEach(function(t){console.log("[".concat(e.deviceId,":").concat(t,"] destroying"));var n=e.sockets[t];n&&(n.onopen=null,n.onmessage=null,n.onerror=null,n.onclose=null,n.close(),e.sockets[t]=null),e.subscribers[t].clear()}),this.clear()}}])}(yi),wi="focus",gi="blur",bi="input",Ei="delete",ki="enter",Ci="arrow-up",Si="arrow-down",Ri="arrow-left",Oi="arrow-right",xi=function(){return p(function e(t){u(this,e),this.emitter=new yi,this.isComposing=!1,this.el=document.createElement("textarea"),this.el.style.cssText="\n position:absolute;\n top:0;\n left:0;\n pointer-events:none;\n opacity:0.01;\n width:100%;\n max-width:95%;\n height: 40px;\n resize: none;\n overflow: hidden;\n ",this.el.autocomplete="off",t.appendChild(this.el),this.bindEvents()},[{key:"on",value:function(e,t){var n;null===(n=this.emitter)||void 0===n||n.on(e,t)}},{key:"off",value:function(e,t){var n;null===(n=this.emitter)||void 0===n||n.off(e,t)}},{key:"bindEvents",value:function(){var e=this;this.el.addEventListener("focus",function(){var t;return null===(t=e.emitter)||void 0===t?void 0:t.emit(wi)}),this.el.addEventListener("blur",function(){var t;return null===(t=e.emitter)||void 0===t?void 0:t.emit(gi)}),this.el.addEventListener("compositionstart",function(){e.isComposing=!0}),this.el.addEventListener("compositionend",function(t){var n;e.isComposing=!1;var r=t.target;null===(n=e.emitter)||void 0===n||n.emit(bi,r.value),e.el.value=""}),this.el.addEventListener("input",function(t){var n;if(!e.isComposing){var r=t.target;null===(n=e.emitter)||void 0===n||n.emit(bi,r.value),e.el.value=""}}),this.el.addEventListener("keydown",function(t){var n,r,i,o,a,s;switch(t.key){case"Backspace":case"Delete":null===(n=e.emitter)||void 0===n||n.emit(Ei);break;case"Enter":null===(r=e.emitter)||void 0===r||r.emit(ki),e.el.blur();break;case"ArrowUp":null===(i=e.emitter)||void 0===i||i.emit(Ci);break;case"ArrowDown":null===(o=e.emitter)||void 0===o||o.emit(Si);break;case"ArrowLeft":null===(a=e.emitter)||void 0===a||a.emit(Ri);break;case"ArrowRight":null===(s=e.emitter)||void 0===s||s.emit(Oi)}})}},{key:"focus",value:function(){this.el.focus()}},{key:"blur",value:function(){this.el.blur()}},{key:"moveTo",value:function(e,t,n){this.el.style.left="".concat(e,"px"),this.el.style.top="".concat(t,"px"),n&&(this.el.style.width="".concat(n,"px"))}},{key:"destroy",value:function(){var e;null===(e=this.emitter)||void 0===e||e.clear(),this.emitter=null,this.el.remove()}}])}(),Ti={AndroidHome:3,AndroidBack:4,AndroidCall:5,AndroidEndCall:6,Digit0:7,Digit1:8,Digit2:9,Digit3:10,Digit4:11,Digit5:12,Digit6:13,Digit7:14,Digit8:15,Digit9:16,Star:17,Pound:18,ArrowUp:19,ArrowDown:20,ArrowLeft:21,ArrowRight:22,AndroidDPadCenter:23,VolumeUp:24,VolumeDown:25,Power:26,AndroidCamera:27,Clear:28,KeyA:29,KeyB:30,KeyC:31,KeyD:32,KeyE:33,KeyF:34,KeyG:35,KeyH:36,KeyI:37,KeyJ:38,KeyK:39,KeyL:40,KeyM:41,KeyN:42,KeyO:43,KeyP:44,KeyQ:45,KeyR:46,KeyS:47,KeyT:48,KeyU:49,KeyV:50,KeyW:51,KeyX:52,KeyY:53,KeyZ:54,Comma:55,Period:56,AltLeft:57,AltRight:58,ShiftLeft:59,ShiftRight:60,Tab:61,Space:62,AndroidSymbol:63,AndroidExplorer:64,AndroidEnvelope:65,Enter:66,Backspace:67,Backquote:68,Minus:69,Equal:70,BracketLeft:71,BracketRight:72,Backslash:73,Semicolon:74,Quote:75,Slash:76,At:77,AndroidNum:78,AndroidHeadsetHook:79,AndroidFocus:80,Plus:81,ContextMenu:82,AndroidNotification:83,AndroidSearch:84,PageUp:92,PageDown:93,Escape:111,Delete:112,ControlLeft:113,ControlRight:114,CapsLock:115,ScrollLock:116,MetaLeft:117,MetaRight:118,AndroidFunction:119,PrintScreen:120,Pause:121,Home:122,End:123,Insert:124,AndroidForward:125,F1:131,F2:132,F3:133,F4:134,F5:135,F6:136,F7:137,F8:138,F9:139,F10:140,F11:141,F12:142,NumLock:143,Numpad0:144,Numpad1:145,Numpad2:146,Numpad3:147,Numpad4:148,Numpad5:149,Numpad6:150,Numpad7:151,Numpad8:152,Numpad9:153,NumpadDivide:154,NumpadMultiply:155,NumpadSubtract:156,NumpadAdd:157,NumpadDecimal:158,NumpadComma:159,NumpadEnter:160,NumpadEquals:161,NumpadLeftParen:162,NumpadRightParen:163,VolumeMute:164,AndroidAppSwitch:187,AndroidCut:277,AndroidCopy:278,AndroidPaste:279};Object.fromEntries(Object.entries(Ti).map(function(e){var t=T(e,2),n=t[0];return[t[1],n]}));var Ai,_i,Ii={Down:0,Up:1},Mi={Down:0,Up:1,Move:2,Cancel:3,Outside:4,PointerDown:5,PointerUp:6,HoverMove:7,Scroll:8,HoverEnter:9,HoverExit:10,ButtonPress:11,ButtonRelease:12},Ni={None:0,Primary:1,Secondary:2,Tertiary:4,Back:8,Forward:16,StylusPrimary:32,StylusSecondary:64};function Di(e,t,n){return e.setUint16(t,n),t+2}function Pi(e,t,n){return e.setUint32(t,n),t+4}function Wi(e,t,n){return e.setInt32(t,n),t+4}function Vi(e,t,n){var r=Math.round(n/16*32767);return e.setInt16(t,r),t+2}function Li(e,t,n){return e.setUint8(t,n),t+1}function Bi(e,t,n){return e.setBigInt64(t,n),t+8}!function(e){e[e.injectKeyCode=0]="injectKeyCode",e[e.injectText=1]="injectText",e[e.injectTouchEvent=2]="injectTouchEvent",e[e.injectScrollEvent=3]="injectScrollEvent",e[e.backOrScreenOn=4]="backOrScreenOn",e[e.expandNotificationPanel=5]="expandNotificationPanel",e[e.expandSettingsPanel=6]="expandSettingsPanel",e[e.collapsePanels=7]="collapsePanels",e[e.getClipboard=8]="getClipboard",e[e.setClipboard=9]="setClipboard",e[e.setDisplayPower=10]="setDisplayPower",e[e.rotateDevice=11]="rotateDevice",e[e.uhidCreate=12]="uhidCreate",e[e.uhidInput=13]="uhidInput",e[e.uhidDestroy=14]="uhidDestroy",e[e.openHardKeyboardSettings=15]="openHardKeyboardSettings",e[e.startApp=16]="startApp",e[e.resetVideo=17]="resetVideo"}(Ai||(Ai={})),function(e){e[e.Clipboard=0]="Clipboard",e[e.AckClipboard=1]="AckClipboard",e[e.UhidOutput=2]="UhidOutput"}(_i||(_i={}));var ji=function(){return p(function e(){u(this,e)},null,[{key:"injectKeyCode",value:function(e){var t=e.action,n=e.keyCode,r=e.repeat,i=void 0===r?0:r,o=e.metaState,a=void 0===o?0:o,s=new ArrayBuffer(14),c=new DataView(s),u=0;return u=Li(c,u,Ai.injectKeyCode),u=Wi(c,u=Li(c,u,t),n),u=Wi(c,u,i),u=Wi(c,u,a),new Uint8Array(s)}},{key:"injectText",value:function(e){var t=e.text,n=this.encoder.encode(t),r=new ArrayBuffer(5+n.length),i=new DataView(r),o=0;return o=Pi(i,o=Li(i,o,Ai.injectText),n.length),new Uint8Array(r,o).set(n),new Uint8Array(r)}},{key:"injectTouch",value:function(e){var t=e.action,n=e.pointerId,r=e.pointerX,i=e.pointerY,o=e.screenWidth,a=e.screenHeight,s=e.pressure,c=e.actionButton,u=e.buttons,l=new ArrayBuffer(32),d=new DataView(l),h=0;return h=Li(d,h,Ai.injectTouchEvent),h=Wi(d,h=Bi(d,h=Li(d,h,t),BigInt(n)),r),h=Di(d,h=Wi(d,h,i),o),h=function(e,t,n){var r=65535*Math.max(0,Math.min(1,n));return e.setUint16(t,r),t+2}(d,h=Di(d,h,a),s),h=Wi(d,h,c),h=Wi(d,h,u),new Uint8Array(l)}},{key:"injectScroll",value:function(e){var t=e.pointerX,n=e.pointerY,r=e.screenWidth,i=e.screenHeight,o=e.scrollX,a=e.scrollY,s=e.buttons,c=new ArrayBuffer(21),u=new DataView(c),l=0;return l=Wi(u,l=Li(u,l,Ai.injectScrollEvent),t),l=Di(u,l=Wi(u,l,n),r),l=Vi(u,l=Di(u,l,i),o),l=Wi(u,l=Vi(u,l,a),s),new Uint8Array(c)}},{key:"setClipboard",value:function(e){var t=e.sequence,n=e.text,r=e.paste,i=void 0!==r&&r,o=this.encoder.encode(n),a=new ArrayBuffer(14+o.length),s=new DataView(a),c=0;return c=Li(s,c,Ai.setClipboard),c=Pi(s,c=Li(s,c=Bi(s,c,BigInt(t)),i?1:0),o.length),new Uint8Array(a,c).set(o),new Uint8Array(a)}},{key:"resetVideo",value:function(){var e=new ArrayBuffer(1);return Li(new DataView(e),0,Ai.resetVideo),new Uint8Array(e)}}])}();ji.encoder=new TextEncoder;var Ui=function(){return p(function e(){u(this,e)},null,[{key:"parse",value:function(e){var t=new DataView(e instanceof Uint8Array?e.buffer:e,e instanceof Uint8Array?e.byteOffset:0,e.byteLength);if(t.byteLength<1)return null;var n=function(e,t){return e.getUint8(t)}(t,0);switch(n){case _i.Clipboard:return this.parseClipboard(t);case _i.AckClipboard:return this.parseAckClipboard(t);default:return null}}},{key:"parseClipboard",value:function(e){if(e.byteLength<5)return null;var t=function(e,t){return e.getUint32(t)}(e,1);if(e.byteLength<5+t)return null;var n=new Uint8Array(e.buffer,e.byteOffset+5,t),r=this.decoder.decode(n);return{type:_i.Clipboard,content:r}}},{key:"parseAckClipboard",value:function(e){if(e.byteLength<9)return null;var t=function(e,t){return e.getBigInt64(t)}(e,1);return{type:_i.AckClipboard,sequence:t}}}])}();function Fi(e,t,n){return Math.max(t,Math.min(n,e))}Ui.decoder=new TextDecoder;var Gi,zi,Hi={SIZE_CHANGED:"size-changed",ERROR:"error",STARTED:"started",STOPPED:"stopped",CLIPBOARD_CHANGED:"clipboard-changed",CHANNEL_CONNECTED:"channel-connected",GROUP_CONTROL_JOINED:"group-control-joined",GROUP_CONTROL_LEAVE:"group-control-leave",VIDEO_DECODER_STATS:"video-decoder-stats",RECONNECTING:"reconnecting"};function Ki(e){if(e instanceof Error)return e.message||e.toString();if(e instanceof Event)return"".concat(e.type||"unknown");if("string"==typeof e)return e;if(e&&"object"===M(e))return e.message||e.reason||String(e);var t=String(e);return"[object Object]"===t||"[object Event]"===t?"":t}function qi(e){e.style.width="100%",e.style.height="100%",e.style.outline="none",e.style.userSelect="none",e.style.backgroundColor="transparent",e.style.touchAction="none"}e.VmosEdgeErrorType=void 0,(Gi=e.VmosEdgeErrorType||(e.VmosEdgeErrorType={})).CONNECTION="connection",Gi.VIDEO="video",Gi.AUDIO="audio",Gi.TOUCH="touch",Gi.DECODER="decoder",Gi.RENDERER="renderer",e.VmosEdgeErrorCode=void 0,(zi=e.VmosEdgeErrorCode||(e.VmosEdgeErrorCode={})).CONNECTION_FAILED="CONNECTION_FAILED",zi.CONNECTION_TIMEOUT="CONNECTION_TIMEOUT",zi.CONNECTION_LOST="CONNECTION_LOST",zi.VIDEO_CHANNEL_CONNECTION_FAILED="VIDEO_CHANNEL_CONNECTION_FAILED",zi.VIDEO_CHANNEL_CLOSED="VIDEO_CHANNEL_CLOSED",zi.VIDEO_STREAM_ERROR="VIDEO_STREAM_ERROR",zi.VIDEO_PIPELINE_ERROR="VIDEO_PIPELINE_ERROR",zi.AUDIO_CHANNEL_CONNECTION_FAILED="AUDIO_CHANNEL_CONNECTION_FAILED",zi.AUDIO_STREAM_ERROR="AUDIO_STREAM_ERROR",zi.TOUCH_CHANNEL_CONNECTION_FAILED="TOUCH_CHANNEL_CONNECTION_FAILED",zi.TOUCH_MESSAGE_PARSE_ERROR="TOUCH_MESSAGE_PARSE_ERROR",zi.DECODER_INIT_FAILED="DECODER_INIT_FAILED",zi.DECODER_ERROR="DECODER_ERROR",zi.RENDERER_INIT_FAILED="RENDERER_INIT_FAILED",zi.RENDERER_ERROR="RENDERER_ERROR",zi.UNKNOWN_ERROR="UNKNOWN_ERROR";var Xi=200,Yi=800,Qi=.001,Ji=function(t){function n(e){var t,r,i,o,a,c,l,d,h,f;return u(this,n),(f=s(this,n)).canvas=null,f.canvasContainer=null,f.device=null,f.isGroupControl=!1,f.deviceTouchGroupMap=new Map,f.config=null,f.renderer=null,f.videoCodecPreference="no-preference",f.renderPreference="default",f.scrollSpeedRatio=Xi,f.hoverMoveKeep=!1,f.enableRightClickBack=!0,f.enableMiddleClickHome=!0,f.decoder=null,f.textareaManager=null,f.videoWidth=0,f.videoHeight=0,f.isRunning=!1,f.rotation=0,f.manualRotation=!1,f.currentRotationAngle=0,f.resizeObserver=null,f.retryCount=0,f.maxRetries=0,f.retryInterval=1e3,f.isVideoRecovering=!1,f.isTouchRecovering=!1,f.videoRetryCount=0,f.touchRetryCount=0,f.stopVideoSubscription=null,f.stopTouchSubscription=null,f.container=e.container,f.config=e.config,f.device=new mi(f.config),f.maxRetries=null!==(t=e.retryCount)&&void 0!==t?t:0,f.retryInterval=null!==(r=e.retryInterval)&&void 0!==r?r:1e3,f.isGroupControl=null!==(i=e.isGroupControl)&&void 0!==i&&i,f.videoCodecPreference=null!==(o=e.videoCodecPreference)&&void 0!==o?o:"no-preference",f.renderPreference=null!==(a=e.renderPreference)&&void 0!==a?a:"default",f.scrollSpeedRatio=Math.min(Yi,Math.max(Qi,null!==(c=e.scrollSpeedRatio)&&void 0!==c?c:Xi)),f.hoverMoveKeep=null!==(l=e.hoverMoveKeep)&&void 0!==l&&l,f.enableRightClickBack=null===(d=e.enableRightClickBack)||void 0===d||d,f.enableMiddleClickHome=null===(h=e.enableMiddleClickHome)||void 0===h||h,f.onInternalError=e.onInternalError,f.initCanvas(),f.handlePointerEvent=f.handlePointerEvent.bind(f),f.handleWheelEvent=f.handleWheelEvent.bind(f),f.handleContextMenu=f.handleContextMenu.bind(f),f.initTextareaManager(),f.observeContainerResize(),f}return b(n,t),p(n,[{key:"reportInternalError",value:function(e,t){if(this.onInternalError)try{var n=e instanceof Error?e:new Error(String(e));this.onInternalError(n,t)}catch(e){console.warn("[VmosEdgeClient] onInternalError callback threw error:",e)}}},{key:"setupConnectionListener",value:function(){var e,t=this;null===(e=this.device)||void 0===e||e.on("open",function(e,n){var r,i=null===(r=t.config)||void 0===r?void 0:r.ports[e];t.emit(Hi.CHANNEL_CONNECTED,{channel:e,port:i,allChannelsStatus:n})})}},{key:"setupChannelStatusListener",value:function(){var e,t,n=this,r=new Set;null===(e=this.device)||void 0===e||e.on("close",function(e,t){n.isRunning&&(r.has(e)?r.delete(e):(console.warn("[VmosEdgeClient] Channel ".concat(e," closed unexpectedly"),{code:null==t?void 0:t.code,reason:null==t?void 0:t.reason,wasClean:null==t?void 0:t.wasClean}),n.reportInternalError(new Error("Channel ".concat(e," closed unexpectedly")),{source:"channel_close",channel:e,recovering:n.isRunning,code:null==t?void 0:t.code,reason:null==t?void 0:t.reason,errorMessage:"Channel ".concat(e," closed unexpectedly (Code: ").concat(null==t?void 0:t.code,", Reason: ").concat((null==t?void 0:t.reason)||"none",")")}),n.isRunning&&("video"===e?n.recoverVideoChannel():"touch"===e&&n.recoverTouchChannel())))}),null===(t=this.device)||void 0===t||t.on("error",function(e,t){if(n.isRunning){r.add(e);var i=Ki(t);return i||(i="WebSocket ".concat(e," channel connection failed")),n.isRunning?(console.warn("[VmosEdgeClient] Channel ".concat(e," error (recovering):"),i),n.reportInternalError(t,{source:"channel_error",channel:e,recovering:!0,errorMessage:i}),void("video"===e?n.recoverVideoChannel():"touch"===e&&n.recoverTouchChannel())):void 0}})}},{key:"initCanvas",value:function(){this.canvasContainer=document.createElement("div"),this.canvasContainer.className="vmos-canvas-container",this.container.appendChild(this.canvasContainer),this.canvas=document.createElement("canvas"),qi(this.canvas),this.canvasContainer.appendChild(this.canvas),this.container.appendChild(this.canvasContainer)}},{key:"replaceCanvas",value:function(){var e;this.canvas&&this.canvasContainer&&this.canvasContainer.removeChild(this.canvas),this.canvas=document.createElement("canvas"),qi(this.canvas),null===(e=this.canvasContainer)||void 0===e||e.appendChild(this.canvas)}},{key:"initTextareaManager",value:function(){var e=this;this.textareaManager=new xi(this.container),this.textareaManager.on(bi,function(t){e.sendText(t)}),this.textareaManager.on(Ei,function(){e.sendKeyCode(Ti.Backspace,Ii.Down),e.sendKeyCode(Ti.Backspace,Ii.Up)}),this.textareaManager.on(ki,function(){e.sendKeyCode(Ti.Enter,Ii.Down),e.sendKeyCode(Ti.Enter,Ii.Up)}),this.textareaManager.on(Ci,function(){e.sendKeyCode(Ti.ArrowUp,Ii.Down),e.sendKeyCode(Ti.ArrowUp,Ii.Up)}),this.textareaManager.on(Si,function(){e.sendKeyCode(Ti.ArrowDown,Ii.Down),e.sendKeyCode(Ti.ArrowDown,Ii.Up)}),this.textareaManager.on(Ri,function(){e.sendKeyCode(Ti.ArrowLeft,Ii.Down),e.sendKeyCode(Ti.ArrowLeft,Ii.Up)}),this.textareaManager.on(Oi,function(){e.sendKeyCode(Ti.ArrowRight,Ii.Down),e.sendKeyCode(Ti.ArrowRight,Ii.Up)})}},{key:"observeContainerResize",value:function(){var e=this;"undefined"!=typeof ResizeObserver&&(this.resizeObserver=new ResizeObserver(function(){e.updateCanvasSize()}),this.resizeObserver.observe(this.container))}},{key:"on",value:function(e,t){return A(n,"on",this)([e,t]),this}},{key:"once",value:function(e,t){return A(n,"once",this)([e,t]),this}},{key:"off",value:function(e,t){return t?A(n,"off",this)([e,t]):A(n,"clear",this)([e]),this}},{key:"emit",value:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];A(n,"emit",this)([e].concat(r))}},{key:"start",value:(f=o(S().m(function e(){return S().w(function(e){for(;;)switch(e.p=e.n){case 0:if(!this.isRunning){e.n=1;break}return e.a(2);case 1:return this.isRunning=!0,this.retryCount=0,e.p=2,this.setupConnectionListener(),e.n=3,this.connectWithRetry();case 3:this.setupChannelStatusListener(),e.n=5;break;case 4:e.p=4,e.v;case 5:return e.a(2)}},e,this,[[2,4]])})),function(){return f.apply(this,arguments)})},{key:"connectWithRetry",value:(h=o(S().m(function t(){var n=this;return S().w(function(t){for(;;)if(0===t.n)return t.a(2,new Promise(function(t,r){var i=function(){var a=o(S().m(function o(){var a,s,c,u;return S().w(function(o){for(;;)switch(o.p=o.n){case 0:return o.p=0,o.n=1,n.internalStart();case 1:t(),o.n=4;break;case 2:if(o.p=2,u=o.v,n.isRunning){o.n=3;break}return console.log("[VmosEdgeClient] Connection stopped by user during handshake/start."),o.a(2);case 3:console.error("[VmosEdgeClient] Connection failed (Attempt ".concat(n.retryCount+1,"/").concat(n.maxRetries+1,"):"),u),n.retryCount<n.maxRetries&&n.isRunning?(n.retryCount++,a=Ki(u)||"Connection retry failed",n.reportInternalError(u,{source:"connect_retry",attempt:n.retryCount,recovering:!0,errorMessage:a}),s=Math.min(n.retryInterval*Math.pow(2,n.retryCount-1),1e4),console.log("[VmosEdgeClient] Retrying in ".concat(s,"ms...")),setTimeout(function(){n.isRunning?i():r(new Error("Stopped"))},s)):(c=Ki(u)||"Connection failed",n.reportInternalError(u,{source:"connect_failed",recovering:!1,errorMessage:c}),n.emit(Hi.ERROR,{type:e.VmosEdgeErrorType.CONNECTION,code:e.VmosEdgeErrorCode.CONNECTION_FAILED,message:c}),n.stop(),r(u));case 4:return o.a(2)}},o,null,[[0,2]])}));return function(){return a.apply(this,arguments)}}();i()}))},t)})),function(){return h.apply(this,arguments)})},{key:"internalStart",value:(d=o(S().m(function e(){return S().w(function(e){for(;;)switch(e.n){case 0:return this.canvas&&this.canvasContainer||this.initCanvas(),this.stopTouchSubscription&&(this.stopTouchSubscription(),this.stopTouchSubscription=null),e.n=1,this.startVideoPipeline();case 1:return e.n=2,this.setupTouchBlocking();case 2:this.stopTouchSubscription=e.v,this.bindInputEvents(),this.emit(Hi.STARTED);case 3:return e.a(2)}},e,this)})),function(){return d.apply(this,arguments)})},{key:"startVideoPipeline",value:(l=o(S().m(function e(){var t,n,r,i,o,a,s,c,u=this;return S().w(function(e){for(;;)switch(e.p=e.n){case 0:return this.stopVideoSubscription&&(this.stopVideoSubscription(),this.stopVideoSubscription=null),this.canvas&&this.canvasContainer||this.initCanvas(),t=new En({sendFrameMeta:!0,sendCodecMeta:!0,sendDeviceMeta:!0}),e.p=1,n=this.createVideoStream(),r=n.videoStream,e.n=2,this.performHandshake(t,r);case 2:if(i=e.v,o=i.metadata,a=i.stream,this.createRenderer(),this.decoder){try{this.decoder.dispose()}catch(e){console.warn("[VmosEdgeClient] Old decoder dispose error:",e)}this.decoder=null}this.decoder=new fi({codec:o.codec,renderer:this.renderer,hardwareAcceleration:this.videoCodecPreference,onStats:function(e){u.emit(Hi.VIDEO_DECODER_STATS,e)}}),this.decoder.sizeChanged(function(e){var t=e.width,n=e.height,r=u.videoWidth,i=u.videoHeight;if(t!==r||n!==i){u.videoWidth=t,u.videoHeight=n;var o=t>n;0!==r&&0!==i&&r>i!==o&&(u.manualRotation=!1),u.manualRotation||(u.rotation=o?1:0),u.emitSizeChanged()}}),a.pipeThrough(t.createMediaStreamTransformer()).pipeTo(this.decoder.writable).catch(function(e){var t;u.isRunning?(console.error("[VmosEdgeClient] Video pipeline error (recovering):",e),null===(t=u.stopVideoSubscription)||void 0===t||t.call(u),u.reportInternalError(e,{source:"channel_error",channel:"video",detail:"pipeline_error",recovering:!0,errorMessage:Ki(e)||"Video pipeline error"}),u.recoverVideoChannel()):console.log("[VmosEdgeClient] Video pipeline error: stopped by user during handshake/start.")}),e.n=4;break;case 3:throw e.p=3,c=e.v,null===(s=this.stopVideoSubscription)||void 0===s||s.call(this),c;case 4:return e.a(2)}},e,this,[[1,3]])})),function(){return l.apply(this,arguments)})},{key:"recoverVideoChannel",value:(c=o(S().m(function e(){var t,n;return S().w(function(e){for(;;)switch(e.p=e.n){case 0:if(!this.isVideoRecovering&&this.isRunning){e.n=1;break}return e.a(2);case 1:this.isVideoRecovering=!0,this.videoRetryCount=0,console.log("[VmosEdgeClient] Starting independent video channel recovery...");case 2:if(!this.isRunning){e.n=8;break}return e.p=3,e.n=4,this.startVideoPipeline();case 4:return console.log("[VmosEdgeClient] Video channel recovered successfully."),this.videoRetryCount=0,e.a(3,8);case 5:if(e.p=5,n=e.v,this.isRunning){e.n=6;break}return e.a(3,8);case 6:return this.videoRetryCount++,t=Ki(n)||"Video recovery failed",console.error("[VmosEdgeClient] Video recovery failed (Attempt ".concat(this.videoRetryCount,"):"),n),this.reportInternalError(n,{source:"video_recovery",attempt:this.videoRetryCount,recovering:!0,errorMessage:t}),this.emit(Hi.RECONNECTING,{channel:"video",attempt:this.videoRetryCount,reason:t}),console.log("[VmosEdgeClient] Retrying video in 2000ms..."),e.n=7,new Promise(function(e){return setTimeout(e,2e3)});case 7:e.n=2;break;case 8:this.isVideoRecovering=!1;case 9:return e.a(2)}},e,this,[[3,5]])})),function(){return c.apply(this,arguments)})},{key:"recoverTouchChannel",value:(a=o(S().m(function e(){var t,n;return S().w(function(e){for(;;)switch(e.p=e.n){case 0:if(!this.isTouchRecovering&&this.isRunning){e.n=1;break}return e.a(2);case 1:this.isTouchRecovering=!0,this.touchRetryCount=0,console.log("[VmosEdgeClient] Starting independent touch channel recovery...");case 2:if(!this.isRunning){e.n=8;break}return e.p=3,this.stopTouchSubscription&&(this.stopTouchSubscription(),this.stopTouchSubscription=null),e.n=4,this.setupTouchBlocking();case 4:return this.stopTouchSubscription=e.v,console.log("[VmosEdgeClient] Touch channel recovered successfully."),this.touchRetryCount=0,e.a(3,8);case 5:if(e.p=5,n=e.v,this.isRunning){e.n=6;break}return e.a(3,8);case 6:return this.touchRetryCount++,t=Ki(n)||"Touch recovery failed",console.error("[VmosEdgeClient] Touch recovery failed (Attempt ".concat(this.touchRetryCount,"):"),n),this.reportInternalError(n,{source:"touch_recovery",attempt:this.touchRetryCount,recovering:!0,errorMessage:t}),this.emit(Hi.RECONNECTING,{channel:"touch",attempt:this.touchRetryCount,reason:t}),console.log("[VmosEdgeClient] Retrying touch in 2000ms..."),e.n=7,new Promise(function(e){return setTimeout(e,2e3)});case 7:e.n=2;break;case 8:this.isTouchRecovering=!1;case 9:return e.a(2)}},e,this,[[3,5]])})),function(){return a.apply(this,arguments)})},{key:"createVideoStream",value:function(){var e,t,n=this,r=new ReadableStream({start:function(e){t=e},cancel:function(){var e;null===(e=n.stopVideoSubscription)||void 0===e||e.call(n)}}),i=function(e){var r;if(null!==t.desiredSize)try{var i=e instanceof Uint8Array?e:new Uint8Array(e);t.enqueue(i)}catch(e){var o;return null===(o=n.stopVideoSubscription)||void 0===o||o.call(n),n.isRunning?(console.error("[VmosEdgeClient] Video stream data error (recovering):",e),n.reportInternalError(e,{source:"channel_error",channel:"video",detail:"stream_data_error",recovering:!0,errorMessage:Ki(e)||"Video stream data processing error"}),void n.recoverVideoChannel()):void 0}else null===(r=n.stopVideoSubscription)||void 0===r||r.call(n)};return null===(e=this.device)||void 0===e||e.subscribe("video",i),this.stopVideoSubscription=function(){var e;null===(e=n.device)||void 0===e||e.unsubscribe("video",i),n.stopVideoSubscription=null;try{t&&null!==t.desiredSize&&t.close()}catch(e){if(e instanceof TypeError)return;console.error("[VmosEdgeClient] stopVideoSubscription error:",e)}},{videoStream:r}}},{key:"setupTouchBlocking",value:(i=o(S().m(function e(){var t=this;return S().w(function(e){for(;;)if(0===e.n)return e.a(2,new Promise(function(e,n){var r,i,o,a=null,s=!1,c=function(e){try{var n,r=Ui.parse(e);(null==r?void 0:r.type)===_i.Clipboard&&t.emit(Hi.CLIPBOARD_CHANGED,null!==(n=null==r?void 0:r.content)&&void 0!==n?n:"")}catch(e){console.error("[VmosEdgeClient] Touch channel error:",e)}},u=function(n){var r;"touch"!==n||s||(s=!0,null===(r=a)||void 0===r||r(),e(function(){var e;return null===(e=t.device)||void 0===e?void 0:e.unsubscribe("touch",c)}))},l=function(e,r){var i,o;"touch"!==e||s||(s=!0,null===(i=a)||void 0===i||i(),null===(o=t.device)||void 0===o||o.unsubscribe("touch",c),n(r||new Error("Touch channel connection failed")))},d=function(e,r){if("touch"===e&&!s){var i,o;s=!0,null===(i=a)||void 0===i||i(),null===(o=t.device)||void 0===o||o.unsubscribe("touch",c);var u="Touch channel closed during handshake";r&&(void 0!==r.code||r.reason)&&(u+=" (Code: ".concat(r.code||"unknown"),r.reason&&(u+=", Reason: ".concat(r.reason)),u+=")"),n(new Error(u))}};null===(r=t.device)||void 0===r||r.on("open",u),null===(i=t.device)||void 0===i||i.on("error",l),null===(o=t.device)||void 0===o||o.on("close",d),a=function(){var e,n,r;null===(e=t.device)||void 0===e||e.off("open",u),null===(n=t.device)||void 0===n||n.off("error",l),null===(r=t.device)||void 0===r||r.off("close",d)};try{var h;null===(h=t.device)||void 0===h||h.subscribe("touch",c)}catch(e){var f;s||(s=!0,null===(f=a)||void 0===f||f(),n(e))}}))},e)})),function(){return i.apply(this,arguments)})},{key:"performHandshake",value:(r=o(S().m(function e(t,n){var r,i,o=this;return S().w(function(e){for(;;)switch(e.p=e.n){case 0:return r=null,i=new Promise(function(e,t){var n,i,a=!1,s=function(e){a||(a=!0,t(e))},c=function(e,t){if(console.error("[VmosEdgeClient] Handshake error on ".concat(e,":"),t),"video"===e){var n=Ki(t)||"Video channel connection failed";s(new Error(n))}},u=function(e,t){if("video"===e){var n="Video channel closed unexpectedly during handshake";t&&(void 0!==t.code||t.reason)&&(n+=" (Code: ".concat(t.code||"unknown"),t.reason&&(n+=", Reason: ".concat(t.reason)),n+=")"),s(new Error(n))}};null===(n=o.device)||void 0===n||n.on("error",c),null===(i=o.device)||void 0===i||i.on("close",u),r=function(){var e,t;null===(e=o.device)||void 0===e||e.off("error",c),null===(t=o.device)||void 0===t||t.off("close",u)}}),e.p=1,e.n=2,Promise.race([t.parseVideoStreamMetadata(n),i]);case 2:return e.a(2,e.v);case 3:return e.p=3,r&&r(),e.f(3);case 4:return e.a(2)}},e,null,[[1,,3,4]])})),function(e,t){return r.apply(this,arguments)})},{key:"setGroupControlMode",value:function(e){if(this.isGroupControl=e,!e){var t,n=y(this.deviceTouchGroupMap.values());try{for(n.s();!(t=n.n()).done;){t.value.destroy()}}catch(e){n.e(e)}finally{n.f()}this.deviceTouchGroupMap.clear()}}},{key:"joinGroupControl",value:function(e){var t=this;if(this.isGroupControl){console.log("[VmosEdgeClient] joinGroupControl start",e);var n,r=y(e);try{var i=function(){var e=n.value;if(!e.deviceId)return 0;if(t.deviceTouchGroupMap.has(e.deviceId))return 0;var r=new mi(e);r.subscribe("touch",function(){}),r.on("open",function(){t.emit(Hi.GROUP_CONTROL_JOINED,e)}),r.on("close",function(){r.destroy(),t.deviceTouchGroupMap.delete(e.deviceId),t.emit(Hi.GROUP_CONTROL_LEAVE,e)}),t.deviceTouchGroupMap.set(e.deviceId,r)};for(r.s();!(n=r.n()).done;)i()}catch(e){r.e(e)}finally{r.f()}}}},{key:"leaveGroupControl",value:function(e){if(this.isGroupControl){var t,n=y(e);try{for(n.s();!(t=n.n()).done;){var r,i=t.value;i.deviceId&&(this.deviceTouchGroupMap.has(i.deviceId)&&(null===(r=this.deviceTouchGroupMap.get(i.deviceId))||void 0===r||r.destroy(),this.deviceTouchGroupMap.delete(i.deviceId)))}}catch(e){n.e(e)}finally{n.f()}}}},{key:"stop",value:function(){var e,t,n,r;if(this.isRunning){if(this.isRunning=!1,null===(e=this.stopVideoSubscription)||void 0===e||e.call(this),null===(t=this.stopTouchSubscription)||void 0===t||t.call(this),this.unbindInputEvents(),null===(n=this.textareaManager)||void 0===n||n.destroy(),this.emit(Hi.STOPPED),this.isGroupControl){var i,o=y(this.deviceTouchGroupMap.values());try{for(o.s();!(i=o.n()).done;){i.value.destroy()}}catch(e){o.e(e)}finally{o.f()}this.deviceTouchGroupMap.clear()}if(this.clear(),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),this.canvasContainer&&this.canvasContainer.parentNode&&(this.canvasContainer.parentNode.removeChild(this.canvasContainer),this.canvasContainer=null,this.canvas=null),null===(r=this.device)||void 0===r||r.destroy(),this.renderer){try{this.renderer.dispose()}catch(e){console.warn("[VmosEdgeClient] Renderer dispose error:",e)}this.renderer=null}if(this.decoder){try{var a,s;null===(a=this.decoder)||void 0===a||null===(s=a.dispose)||void 0===s||s.call(a)}catch(e){console.warn("[VmosEdgeClient] Decoder dispose error:",e)}this.decoder=null}}}},{key:"emitSizeChanged",value:function(){var e=this.updateCanvasSize(),t={idealWidth:e.idealWidth,idealHeight:e.idealHeight,videoWidth:e.videoWidth,videoHeight:e.videoHeight,rotation:this.rotation};this.emit(Hi.SIZE_CHANGED,t)}},{key:"mapCoordinates",value:function(e,t){var n,r;switch(this.currentRotationAngle){case 90:n=t*this.videoWidth,r=(1-e)*this.videoHeight;break;case 270:n=(1-t)*this.videoWidth,r=e*this.videoHeight;break;default:n=e*this.videoWidth,r=t*this.videoHeight}return{x:n,y:r}}},{key:"updateCanvasSize",value:function(){if(!this.canvasContainer||!this.videoWidth||!this.videoHeight)return{idealWidth:0,idealHeight:0,videoWidth:0,videoHeight:0};var e,t,n=this.container,r=n.clientWidth,i=n.clientHeight,o=this.videoWidth,a=this.videoHeight,s=this.rotation,c=r,u=i,l=Math.max(c,u),d=Math.min(c,u);1===s?(e=l,t=d):(e=d,t=l);var h=Math.min(r/e,i/t,1),f=e*h,v=t*h,p=o>a,y=0,m=90===(y=1===s?p?0:270:p?90:0)||270===y,w=m?a:o,g=m?o:a,b=Math.min(f/w,v/g),E=w*b,k=g*b,C=this.canvasContainer.style;C.width="".concat(Math.ceil(E),"px"),C.height="".concat(Math.ceil(k),"px"),C.display="block",C.position="relative",C.transform="none";var S=this.canvas,R=S.style;S.width!==o&&(S.width=o),S.height!==a&&(S.height=a);var O=m?k:E,x=m?E:k;R.width="".concat(Math.ceil(O),"px"),R.height="".concat(Math.ceil(x),"px"),R.position="absolute",R.top="50%",R.left="50%",R.transformOrigin="center center",R.transform="translate(-50%, -50%) rotate(".concat(y,"deg)"),this.currentRotationAngle=y;var T=Math.min(e/w,t/g);return{idealWidth:w*T,idealHeight:g*T,videoWidth:o,videoHeight:a}}},{key:"createRenderer",value:function(){if(!this.renderer||this.renderer.isDisposed||!this.canvas)try{if(!vi.isSupported)throw new Error("WebGL not supported check");console.log("[VmosEdgeClient] Using WebGLVideoFrameRenderer"),this.renderer=new vi(this.canvas,this.renderPreference)}catch(e){console.warn("[VmosEdgeClient] WebGL initialization failed, falling back to Canvas2DRenderer:",e),this.replaceCanvas(),this.renderer=new pi(this.canvas)}}},{key:"bindInputEvents",value:function(){var e,t,n,r,i,o,a;null===(e=this.canvas)||void 0===e||e.addEventListener("pointerdown",this.handlePointerEvent),null===(t=this.canvas)||void 0===t||t.addEventListener("pointermove",this.handlePointerEvent),null===(n=this.canvas)||void 0===n||n.addEventListener("pointerup",this.handlePointerEvent),null===(r=this.canvas)||void 0===r||r.addEventListener("pointercancel",this.handlePointerEvent),null===(i=this.canvas)||void 0===i||i.addEventListener("pointerleave",this.handlePointerEvent),null===(o=this.canvas)||void 0===o||o.addEventListener("wheel",this.handleWheelEvent,{passive:!1}),null===(a=this.canvas)||void 0===a||a.addEventListener("contextmenu",this.handleContextMenu)}},{key:"unbindInputEvents",value:function(){var e,t,n,r,i,o,a;null===(e=this.canvas)||void 0===e||e.removeEventListener("pointerdown",this.handlePointerEvent),null===(t=this.canvas)||void 0===t||t.removeEventListener("pointermove",this.handlePointerEvent),null===(n=this.canvas)||void 0===n||n.removeEventListener("pointerup",this.handlePointerEvent),null===(r=this.canvas)||void 0===r||r.removeEventListener("pointercancel",this.handlePointerEvent),null===(i=this.canvas)||void 0===i||i.removeEventListener("pointerleave",this.handlePointerEvent),null===(o=this.canvas)||void 0===o||o.removeEventListener("wheel",this.handleWheelEvent),null===(a=this.canvas)||void 0===a||a.removeEventListener("contextmenu",this.handleContextMenu)}},{key:"handleContextMenu",value:function(e){e.preventDefault(),e.stopPropagation()}},{key:"handlePointerEvent",value:function(e){var t;if(this.videoWidth&&this.videoHeight){e.preventDefault(),e.stopPropagation();var r=e.type,i=e.button,o=e.buttons,a=e.pointerId,s=e.clientX,c=e.clientY,u=!1;if(this.enableRightClickBack)(2===i||!!(2&o))&&("pointerdown"===r&&this.back(),u=!0);if(!u&&this.enableMiddleClickHome)(1===i||!!(4&o))&&("pointerdown"===r&&this.home(),u=!0);if(!u){var l,d=this.canvas;switch(r){case"pointerdown":l=Mi.Down,d.setPointerCapture(a),null===(t=this.textareaManager)||void 0===t||t.focus();break;case"pointermove":if(0===o){if(!this.hoverMoveKeep)return;l=Mi.HoverMove}else l=Mi.Move;break;case"pointerup":case"pointercancel":case"pointerleave":l=Mi.Up;break;default:throw new Error("Unsupported event type: ".concat(r))}var h=d.getBoundingClientRect(),f=Fi((s-h.x)/h.width,0,1),v=Fi((c-h.y)/h.height,0,1),p=this.mapCoordinates(f,v),y=p.x,m=p.y,w=ji.injectTouch({action:l,pointerId:BigInt(a),pointerX:y,pointerY:m,screenWidth:this.videoWidth,screenHeight:this.videoHeight,pressure:0===o?0:1,actionButton:n.PointerEventButtonToAndroidButton[i],buttons:o});this.sendTouch(w)}}}},{key:"sendTouch",value:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null===(t=this.device)||void 0===t||t.sendTouch(e),this.isGroupControl&&!n){var r,i=y(this.deviceTouchGroupMap.values());try{for(i.s();!(r=i.n()).done;){r.value.sendTouch(e)}}catch(e){i.e(e)}finally{i.f()}}}},{key:"handleWheelEvent",value:function(e){if(this.videoWidth&&this.videoHeight&&this.device){e.preventDefault(),e.stopPropagation();var t=this.canvas.getBoundingClientRect(),n=(e.clientX-t.left)/t.width,r=(e.clientY-t.top)/t.height,i=Math.max(0,Math.min(1,n)),o=Math.max(0,Math.min(1,r)),a=this.mapCoordinates(i,o),s=a.x,c=a.y,u=-e.deltaX/this.scrollSpeedRatio,l=-e.deltaY/this.scrollSpeedRatio,d={pointerX:s,pointerY:c,screenWidth:this.videoWidth,screenHeight:this.videoHeight,scrollX:u,scrollY:l,buttons:0},h=ji.injectScroll(d);this.sendTouch(h)}}},{key:"updateScrollSensitivity",value:function(e){this.scrollSpeedRatio=Math.min(Yi,Math.max(Qi,e))}},{key:"setHoverMoveKeep",value:function(e){this.hoverMoveKeep=e}},{key:"sendText",value:function(e){this.device&&this.sendTouch(ji.injectText({text:e}))}},{key:"sendKeyCode",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;this.device&&this.sendTouch(ji.injectKeyCode({keyCode:e,action:t,repeat:0,metaState:n}))}},{key:"clickKey",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.sendKeyCode(e,Ii.Down,t),this.sendKeyCode(e,Ii.Up,t)}},{key:"volumeUp",value:function(){this.clickKey(Ti.VolumeUp)}},{key:"volumeDown",value:function(){this.clickKey(Ti.VolumeDown)}},{key:"home",value:function(){this.clickKey(Ti.AndroidHome)}},{key:"back",value:function(){this.clickKey(Ti.AndroidBack)}},{key:"menu",value:function(){this.clickKey(Ti.AndroidAppSwitch)}},{key:"setRotation",value:function(e){this.rotation!==e&&(this.manualRotation=!0,this.rotation=e,this.emitSizeChanged())}},{key:"getRotation",value:function(){return this.rotation}},{key:"getRunningState",value:function(){return this.isRunning}},{key:"getVideoSize",value:function(){return{width:this.videoWidth,height:this.videoHeight}}},{key:"getConfig",value:function(){return this.config?C({},this.config):null}},{key:"getScale",value:function(){return this.canvas&&this.videoWidth?this.canvas.getBoundingClientRect().width/this.videoWidth:1}},{key:"setRightClickBackEnabled",value:function(e){this.enableRightClickBack=e}},{key:"setMiddleClickHomeEnabled",value:function(e){this.enableMiddleClickHome=e}}],[{key:"isWebCodecsSupported",value:function(){return"undefined"!=typeof VideoDecoder}}]);var r,i,a,c,l,d,h,f}(yi);return Ji.PointerEventButtonToAndroidButton=[Ni.Primary,Ni.Tertiary,Ni.Secondary,Ni.Back,Ni.Forward],e.AndroidKeyCode=Ti,e.AndroidKeyEventAction=Ii,e.AndroidMetaState={None:0,AltOn:2,AltLeftOn:16,AltRightOn:32,ShiftOn:1,ShiftLeftOn:64,ShiftRightOn:128,SymOn:4,FunctionOn:8,CtrlOn:4096,CtrlLeftOn:8192,CtrlRightOn:16384,MetaOn:65536,MetaLeftOn:131072,MetaRightOn:262144,CapsLockOn:1048576,NumLockOn:2097152,ScrollLockOn:4194304},e.AndroidMotionEventAction=Mi,e.AndroidMotionEventButton=Ni,e.VmosEdgeClient=Ji,e.VmosEdgeClientEvents=Hi,e}({});
|
|
3
|
+
var A,I,g="function"==typeof Symbol?Symbol:{},i=g.iterator||"@@iterator",C=g.toStringTag||"@@toStringTag";function Q(g,i,C,Q){var E=i&&i.prototype instanceof e?i:e,t=Object.create(E.prototype);return p(t,"_invoke",function(g,i,C){var Q,e,E,t=0,o=C||[],n=!1,a={p:0,n:0,v:A,a:r,f:r.bind(A,4),d:function(I,g){return Q=I,e=0,E=A,a.n=g,B}};function r(g,i){for(e=g,E=i,I=0;!n&&t&&!C&&I<o.length;I++){var C,Q=o[I],r=a.p,s=Q[2];g>3?(C=s===i)&&(E=Q[(e=Q[4])?5:(e=3,3)],Q[4]=Q[5]=A):Q[0]<=r&&((C=g<2&&r<Q[1])?(e=0,a.v=i,a.n=Q[1]):r<s&&(C=g<3||Q[0]>i||i>s)&&(Q[4]=g,Q[5]=i,a.n=s,e=0))}if(C||g>1)return B;throw n=!0,i}return function(C,o,s){if(t>1)throw TypeError("Generator is already running");for(n&&1===o&&r(o,s),e=o,E=s;(I=e<2?A:E)||!n;){Q||(e?e<3?(e>1&&(a.n=-1),r(e,E)):a.n=E:a.v=E);try{if(t=2,Q){if(e||(C="next"),I=Q[C]){if(!(I=I.call(Q,E)))throw TypeError("iterator result is not an object");if(!I.done)return I;E=I.value,e<2&&(e=0)}else 1===e&&(I=Q.return)&&I.call(Q),e<2&&(E=TypeError("The iterator does not provide a '"+C+"' method"),e=1);Q=A}else if((I=(n=a.n<0)?E:g.call(i,a))!==B)break}catch(I){Q=A,e=1,E=I}finally{t=1}}return{value:I,done:n}}}(g,C,Q),!0),t}var B={};function e(){}function E(){}function t(){}I=Object.getPrototypeOf;var o=[][i]?I(I([][i]())):(p(I={},i,function(){return this}),I),n=t.prototype=e.prototype=Object.create(o);function a(A){return Object.setPrototypeOf?Object.setPrototypeOf(A,t):(A.__proto__=t,p(A,C,"GeneratorFunction")),A.prototype=Object.create(n),A}return E.prototype=t,p(n,"constructor",t),p(t,"constructor",E),E.displayName="GeneratorFunction",p(t,C,"GeneratorFunction"),p(n),p(n,C,"Generator"),p(n,i,function(){return this}),p(n,"toString",function(){return"[object Generator]"}),(k=function(){return{w:Q,m:a}})()}function p(A,I,g,i){var C=Object.defineProperty;try{C({},"",{})}catch(A){C=0}p=function(A,I,g,i){function Q(I,g){p(A,I,function(A){return this._invoke(I,g,A)})}I?C?C(A,I,{value:g,enumerable:!i,configurable:!i,writable:!i}):A[I]=g:(Q("next",0),Q("throw",1),Q("return",2))},p(A,I,g,i)}function R(A){if(null!=A){var I=A["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],g=0;if(I)return I.call(A);if("function"==typeof A.next)return A;if(!isNaN(A.length))return{next:function(){return A&&g>=A.length&&(A=void 0),{value:A&&A[g++],done:!A}}}}throw new TypeError(typeof A+" is not iterable")}function N(A,I){return N=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(A,I){return A.__proto__=I,A},N(A,I)}function L(A,I){return function(A){if(Array.isArray(A))return A}(A)||function(A,I){var g=null==A?null:"undefined"!=typeof Symbol&&A[Symbol.iterator]||A["@@iterator"];if(null!=g){var i,C,Q,B,e=[],E=!0,t=!1;try{if(Q=(g=g.call(A)).next,0===I){if(Object(g)!==g)return;E=!1}else for(;!(E=(i=Q.call(g)).done)&&(e.push(i.value),e.length!==I);E=!0);}catch(A){t=!0,C=A}finally{try{if(!E&&null!=g.return&&(B=g.return(),Object(B)!==B))return}finally{if(t)throw C}}return e}}(A,I)||M(A,I)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function F(A,I,g,i){var C=y(l(A.prototype),I,g);return 2&i&&"function"==typeof C?function(A){return C.apply(g,A)}:C}function H(A){return function(A){if(Array.isArray(A))return C(A)}(A)||function(A){if("undefined"!=typeof Symbol&&null!=A[Symbol.iterator]||null!=A["@@iterator"])return Array.from(A)}(A)||M(A)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Y(A){var I=function(A,I){if("object"!=typeof A||!A)return A;var g=A[Symbol.toPrimitive];if(void 0!==g){var i=g.call(A,I);if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(A)}(A,"string");return"symbol"==typeof I?I:I+""}function v(A){return v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&"function"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},v(A)}function M(A,I){if(A){if("string"==typeof A)return C(A,I);var g={}.toString.call(A).slice(8,-1);return"Object"===g&&A.constructor&&(g=A.constructor.name),"Map"===g||"Set"===g?Array.from(A):"Arguments"===g||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(g)?C(A,I):void 0}}function K(A){var I,g;function C(I,g){try{var B=A[I](g),e=B.value,E=e instanceof i;Promise.resolve(E?e.v:e).then(function(g){if(E){var i="return"===I?"return":"next";if(!e.k||g.done)return C(i,g);g=A[i](g).value}Q(B.done?"return":"normal",g)},function(A){C("throw",A)})}catch(A){Q("throw",A)}}function Q(A,i){switch(A){case"return":I.resolve({value:i,done:!0});break;case"throw":I.reject(i);break;default:I.resolve({value:i,done:!1})}(I=I.next)?C(I.key,I.arg):g=null}this._invoke=function(A,i){return new Promise(function(Q,B){var e={key:A,arg:i,resolve:Q,reject:B,next:null};g?g=g.next=e:(I=g=e,C(A,i))})},"function"!=typeof A.return&&(this.return=void 0)}function U(A){var I="function"==typeof Map?new Map:void 0;return U=function(A){if(null===A||!function(A){try{return-1!==Function.toString.call(A).indexOf("[native code]")}catch(I){return"function"==typeof A}}(A))return A;if("function"!=typeof A)throw new TypeError("Super expression must either be null or a function");if(void 0!==I){if(I.has(A))return I.get(A);I.set(A,g)}function g(){return function(A,I,g){if(w())return Reflect.construct.apply(null,arguments);var i=[null];i.push.apply(i,I);var C=new(A.bind.apply(A,i));return g&&N(C,g.prototype),C}(A,arguments,l(this).constructor)}return g.prototype=Object.create(A.prototype,{constructor:{value:g,enumerable:!1,writable:!0,configurable:!0}}),N(g,A)},U(A)}K.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},K.prototype.next=function(A){return this._invoke("next",A)},K.prototype.throw=function(A){return this._invoke("throw",A)},K.prototype.return=function(A){return this._invoke("return",A)};var J=function(){return d(function A(I,g,i,C){n(this,A),u(this,"optionValue",void 0),u(this,"metadataValue",void 0),u(this,"mimeType",void 0),u(this,"webCodecId",void 0),this.optionValue=I,this.metadataValue=g,this.mimeType=i,this.webCodecId=C},[{key:"toOptionValue",value:function(){return this.optionValue}}])}();u(J,"Opus",new(I=J)("opus",1869641075,"audio/opus","opus")),u(J,"Aac",new I("aac",6381923,"audio/aac","mp4a.66")),u(J,"Flac",new I("flac",1718378851,"audio/flac","flac")),u(J,"Raw",new I("raw",7496055,"audio/raw",""));var m=0,q=1,b=2,x=3,T=4,W=5,O=6,P=7,Z=8,X=9,V=10,j=11,z=12,_=13,$=14,AA=15,IA=16,gA=17,iA=new WeakMap,CA=new WeakSet,QA=function(){return d(function A(){n(this,A),h(this,CA),r(this,iA,[])},[{key:"parsers",get:function(){return a(iA,this)}},{key:"add",value:function(A){if(Array.isArray(A.id)){var I,g=D(A.id);try{for(g.s();!(I=g.n()).done;){var i=I.value;Q(CA,this,BA).call(this,i,A)}}catch(A){g.e(A)}finally{g.f()}}else Q(CA,this,BA).call(this,A.id,A);return A}},{key:"parse",value:(A=e(k().m(function A(I,g){var i;return k().w(function(A){for(;;)switch(A.n){case 0:if(i=a(iA,this)[I]){A.n=1;break}throw new Error("Unknown device message id ".concat(I));case 1:return A.a(2,i.parse(I,g))}},A,this)})),function(I,g){return A.apply(this,arguments)})},{key:"close",value:function(){var A,I=D(a(iA,this));try{for(I.s();!(A=I.n()).done;){A.value.close()}}catch(A){I.e(A)}finally{I.f()}}},{key:"error",value:function(A){var I,g=D(a(iA,this));try{for(g.s();!(I=g.n()).done;){I.value.error(A)}}catch(A){g.e(A)}finally{g.f()}}}]);var A}();function BA(A,I){if(a(iA,this)[A])throw new Error("Duplicate parser for id ".concat(A));a(iA,this)[A]=I}function eA(A,I){if(function(A){return"object"===v(A)&&null!==A&&"toOptionValue"in A&&"function"==typeof A.toOptionValue}(A)&&(A=A.toOptionValue()),void 0===A)return I;if("string"!=typeof A&&"number"!=typeof A&&"boolean"!=typeof A)throw new TypeError("Invalid option value: ".concat(JSON.stringify(A)));return A.toString()}var EA=1748121140,tA=1748121141,oA=6387249,nA=new WeakMap,aA=new WeakMap,rA=new WeakMap,sA=new WeakMap,hA=function(){return d(function A(){var I=this;n(this,A),r(this,nA,void 0),r(this,aA,void 0),r(this,rA,void 0),r(this,sA,"running"),u(this,"resolve",function(A){a(aA,I).call(I,A),s(sA,I,"resolved")}),u(this,"reject",function(A){a(rA,I).call(I,A),s(sA,I,"rejected")}),s(nA,this,new Promise(function(A,g){s(aA,I,A),s(rA,I,g)}))},[{key:"promise",get:function(){return a(nA,this)}},{key:"state",get:function(){return a(sA,this)}}])}();function cA(A){return"object"===v(A)&&null!==A&&"then"in A}function dA(A,I){for(;;){var g=A.next(I),i=g.done,C=g.value;if(i)return C;if(cA(C))return C.then(function(I){return dA(A,{resolved:I})},function(I){return dA(A,{error:I})});I=C}}function DA(A,I){return function(){for(var I=arguments.length,g=new Array(I),i=0;i<I;i++)g[i]=arguments[i];return dA(A.call.apply(A,[this,k().m(function A(I){var g;return k().w(function(A){for(;;)switch(A.n){case 0:if(!cA(I)){A.n=3;break}return A.n=1,I;case 1:if(!("resolved"in(g=A.v))){A.n=2;break}return A.a(2,g.resolved);case 2:throw g.error;case 3:return A.a(2,I)}},A)})].concat(g)),void 0)}}function uA(A,I){return function(g,i){var C;if("buffer"in i)return null!==(C=i.index)&&void 0!==C||(i.index=0),I(g,i),A;var Q=new Uint8Array(A);return I(g,{buffer:Q,index:0,littleEndian:i.littleEndian}),Q}}var yA=function(A,I,g,i,C){var Q,B={size:A,type:I,serialize:"default"===I?(Q=g,function(A,I){if("buffer"in I){var g=Q(A,I);return I.buffer.set(g,I.index),g.length}return Q(A,I)}):uA(A,g),deserialize:DA(i),omitInit:null==C?void 0:C.omitInit};return null!=C&&C.init&&(B.init=C.init),B},lA=new Uint8Array(0);function GA(A,I){var g,i,C,Q,B,e,E,t,o;return"number"==typeof A?(0===A?(g=function(){},i=I?k().m(function A(){return k().w(function(A){for(;;)if(0===A.n)return A.a(2,I.convert(lA))},A)}):k().m(function A(){return k().w(function(A){for(;;)if(0===A.n)return A.a(2,lA)},A)})):(g=function(I,g){return function(A,I,g,i){I.length<i?(A.set(I,g),A.fill(0,g+I.length,g+i)):I.length===i?A.set(I,g):A.set(I.subarray(0,i),g)}(g.buffer,I,g.index,A)},I?(i=k().m(function g(i,C){var Q,B;return k().w(function(g){for(;;)switch(g.n){case 0:return Q=C.readExactly(A),B=I,g.d(R(i(Q)),1);case 1:return g.a(2,B.convert.call(B,g.v))}},g)}),C=function(A){return I.back(A)}):i=k().m(function I(g,i){var C;return k().w(function(I){for(;;)if(0===I.n)return C=i.readExactly(A),I.a(2,C)},I)})),yA(A,"byob",g,i,{init:C})):"object"!==v(A)&&"function"!=typeof A||!("serialize"in A)?"string"==typeof A?(I?(e=function(g,i,C){var Q=C.dependencies;return k().m(function C(){var B,e,E;return k().w(function(C){for(;;)switch(C.n){case 0:return B=Q[A],e=0!==B?i.readExactly(B):lA,E=I,C.d(R(g(e)),1);case 1:return C.a(2,E.convert.call(E,C.v))}},C)})()},E=function(g,i){var C=I.back(g);return i[A]=C.length,C}):(e=function(I,g,i){var C=i.dependencies;return k().m(function I(){var i,Q;return k().w(function(I){for(;;)if(0===I.n)return i=C[A],Q=0!==i?g.readExactly(i):lA,I.a(2,Q)},I)})()},E=function(I,g){var i=I;return g[A]=i.length,i}),yA(0,"default",function(A){return A},e,{init:E})):(I?(t=function(g,i,C){var Q=C.dependencies;return k().m(function C(){var B,e,E,t;return k().w(function(C){for(;;)switch(C.n){case 0:return B=Q[A.field],e=A.convert(B),E=0!==e?i.readExactly(e):lA,t=I,C.d(R(g(E)),1);case 1:return C.a(2,t.convert.call(t,C.v))}},C)})()},o=function(g,i){var C=I.back(g);return i[A.field]=A.back(C.length),C}):(t=function(I,g,i){var C=i.dependencies;return k().m(function I(){var i,Q,B;return k().w(function(I){for(;;)if(0===I.n)return i=C[A.field],Q=A.convert(i),B=0!==Q?g.readExactly(Q):lA,I.a(2,B)},I)})()},o=function(I,g){var i=I;return g[A.field]=A.back(i.length),i}),yA(0,"default",function(A){return A},t,{init:o})):(I?(Q=k().m(function g(i,C,Q){var B,e,E;return k().w(function(g){for(;;)switch(g.n){case 0:return g.d(R(i(A.deserialize(C,Q))),1);case 1:return B=g.v,e=0!==B?C.readExactly(B):lA,E=I,g.d(R(i(e)),2);case 2:return g.a(2,E.convert.call(E,g.v))}},g)}),B=function(A){return I.back(A)}):Q=k().m(function I(g,i,C){var Q,B;return k().w(function(I){for(;;)switch(I.n){case 0:return I.d(R(g(A.deserialize(i,C))),1);case 1:return Q=I.v,B=0!==Q?i.readExactly(Q):lA,I.a(2,B)}},I)}),yA(A.size,"default",function(I,g){var i=g.littleEndian;if("default"===A.type){var C=A.serialize(I.length,{littleEndian:i});if(0===I.length)return C;var Q=new Uint8Array(C.length+I.length);return Q.set(C,0),Q.set(I,C.length),Q}var B=new Uint8Array(A.size+I.length);return A.serialize(I.length,{buffer:B,index:0,littleEndian:i}),B.set(I,A.size),B},Q,{init:B}))}var wA=function(A){function I(){return n(this,I),t(this,I,["ExactReadable ended"])}return G(I,A),d(I)}(U(Error)),fA=function(A){function I(A){return n(this,I),t(this,I,[A])}return G(I,A),d(I)}(U(Error)),SA=function(A){function I(){return n(this,I),t(this,I,["The underlying readable was ended before the struct was fully deserialized"])}return G(I,A),d(I)}(fA),kA=function(A){function I(){return n(this,I),t(this,I,["The underlying readable doesn't contain any more struct"])}return G(I,A),d(I)}(fA);function pA(A,I){for(var g=Object.entries(A),i=0,C=!0,Q=0,B=g;Q<B.length;Q++){var e=L(B[Q],2)[1];i+=e.size,C&&"byob"!==e.type&&(C=!1)}var E=I.littleEndian,t=I.extra?Object.getOwnPropertyDescriptors(I.extra):void 0;return{littleEndian:E,fields:A,extra:I.extra,type:C?"byob":"default",size:i,serialize:function(A,I){for(var i=S({},A),C=0,Q=g;C<Q.length;C++){var B=L(Q[C],2),e=B[0],t=B[1];if(e in i&&"init"in t){var o,n=null===(o=t.init)||void 0===o?void 0:o.call(t,i[e],i);i[e]=n}}var a,r=new Array(g.length),s=new Array(g.length),h={littleEndian:E},c=D(g.entries());try{for(c.s();!(a=c.n()).done;){var d=L(a.value,2),u=d[0],y=L(d[1],2),l=y[0],G=y[1];"byob"===G.type?r[u]=G.size:(s[u]=G.serialize(i[l],h),r[u]=s[u].length)}}catch(A){c.e(A)}finally{c.f()}var w,f,k,p=r.reduce(function(A,I){return A+I},0);if(I instanceof Uint8Array){if(I.length<p)throw new Error("Buffer too small");w=!0,f=I,k=0}else if("object"===v(I)&&"buffer"in I){var R;if(w=!0,f=I.buffer,k=null!==(R=I.index)&&void 0!==R?R:0,f.length-k<p)throw new Error("Buffer too small")}else w=!1,f=new Uint8Array(p),k=0;var N,F={buffer:f,index:k,littleEndian:E},H=D(g.entries());try{for(H.s();!(N=H.n()).done;){var Y=L(N.value,2),M=Y[0],K=L(Y[1],2),U=K[0],J=K[1];s[M]?f.set(s[M],F.index):J.serialize(i[U],F),F.index+=r[M]}}catch(A){H.e(A)}finally{H.f()}return w?p:f},deserialize:DA(k().m(function A(i,C){var Q,B,e,o,n,a,r,s,h;return k().w(function(A){for(;;)switch(A.p=A.n){case 0:Q=C.position,e={dependencies:B={},littleEndian:E},A.p=1,o=0,n=g;case 2:if(!(o<n.length)){A.n=5;break}return a=L(n[o],2),r=a[0],s=a[1],A.d(R(i(s.deserialize(C,e))),3);case 3:B[r]=A.v;case 4:o++,A.n=2;break;case 5:A.n=9;break;case 6:if(A.p=6,(h=A.v)instanceof wA){A.n=7;break}throw h;case 7:if(C.position!==Q){A.n=8;break}throw new kA;case 8:throw new SA;case 9:if(t&&Object.defineProperties(B,t),!I.postDeserialize){A.n=10;break}return A.a(2,I.postDeserialize.call(B,B));case 10:return A.a(2,B);case 11:return A.a(2)}},A,null,[[1,6]])}))}}function RA(A,I,g){return g?(A[I]|A[I+1]<<8)<<16>>16:(A[I]<<8|A[I+1])<<16>>16}function NA(A,I,g){return g?A[I]|A[I+1]<<8:A[I+1]|A[I]<<8}function LA(A,I,g,i){i?(A[I]=g,A[I+1]=g>>8):(A[I]=g>>8,A[I+1]=g)}function FA(A,I){return(A[I]<<24|A[I+1]<<16|A[I+2]<<8|A[I+3])>>>0}function HA(A,I,g){return g?(A[I]|A[I+1]<<8|A[I+2]<<16|A[I+3]<<24)>>>0:(A[I]<<24|A[I+1]<<16|A[I+2]<<8|A[I+3])>>>0}function YA(A,I,g){return g?BigInt(A[I])|BigInt(A[I+1])<<8n|BigInt(A[I+2])<<16n|BigInt(A[I+3])<<24n|BigInt(A[I+4])<<32n|BigInt(A[I+5])<<40n|BigInt(A[I+6])<<48n|BigInt(A[I+7])<<56n:BigInt(A[I])<<56n|BigInt(A[I+1])<<48n|BigInt(A[I+2])<<40n|BigInt(A[I+3])<<32n|BigInt(A[I+4])<<24n|BigInt(A[I+5])<<16n|BigInt(A[I+6])<<8n|BigInt(A[I+7])}function vA(A,I,g){var i=function(){return i};return Object.assign(i,yA(A,"byob",I,g)),i}var MA=vA(1,function(A,I){I.buffer[I.index]=A},k().m(function A(I,g){var i;return k().w(function(A){for(;;)switch(A.n){case 0:return A.d(R(I(g.readExactly(1))),1);case 1:return i=A.v,A.a(2,i[0])}},A)})),KA=vA(2,function(A,I){LA(I.buffer,I.index,A,I.littleEndian)},function(A,I,g){var i=g.littleEndian;return k().m(function g(){var C;return k().w(function(g){for(;;)switch(g.n){case 0:return g.d(R(A(I.readExactly(2))),1);case 1:return C=g.v,g.a(2,NA(C,0,i))}},g)})()}),UA=vA(4,function(A,I){!function(A,I,g,i){i?(A[I]=g,A[I+1]=g>>8,A[I+2]=g>>16,A[I+3]=g>>24):(A[I]=g>>24,A[I+1]=g>>16,A[I+2]=g>>8,A[I+3]=g)}(I.buffer,I.index,A,I.littleEndian)},function(A,I,g){var i=g.littleEndian;return k().m(function g(){var C;return k().w(function(g){for(;;)switch(g.n){case 0:return g.d(R(A(I.readExactly(4))),1);case 1:return C=g.v,g.a(2,HA(C,0,i))}},g)})()}),JA=vA(8,function(A,I){!function(A,I,g,i){i?(A[I]=Number(0xffn&g),A[I+1]=Number(g>>8n&0xffn),A[I+2]=Number(g>>16n&0xffn),A[I+3]=Number(g>>24n&0xffn),A[I+4]=Number(g>>32n&0xffn),A[I+5]=Number(g>>40n&0xffn),A[I+6]=Number(g>>48n&0xffn),A[I+7]=Number(g>>56n&0xffn)):(A[I]=Number(g>>56n&0xffn),A[I+1]=Number(g>>48n&0xffn),A[I+2]=Number(g>>40n&0xffn),A[I+3]=Number(g>>32n&0xffn),A[I+4]=Number(g>>24n&0xffn),A[I+5]=Number(g>>16n&0xffn),A[I+6]=Number(g>>8n&0xffn),A[I+7]=Number(0xffn&g))}(I.buffer,I.index,A,I.littleEndian)},function(A,I,g){var i=g.littleEndian;return k().m(function g(){var C;return k().w(function(g){for(;;)switch(g.n){case 0:return g.d(R(A(I.readExactly(8))),1);case 1:return C=g.v,g.a(2,YA(C,0,i))}},g)})()}),mA=globalThis.TextEncoder,qA=globalThis.TextDecoder,bA=new mA,xA=new qA;function TA(A){return bA.encode(A)}function WA(A){return xA.decode(A)}var OA=function(A){var I=GA(A,{convert:WA,back:TA});return I.as=function(){return I},I},PA=pA({type:MA},{littleEndian:!1}),ZA=globalThis.AbortController,XA=function(){var A=globalThis.ReadableStream;return A.from||(A.from=function(I){var g=Symbol.asyncIterator in I?I[Symbol.asyncIterator]():I[Symbol.iterator]();return new A({pull:function(A){return e(k().m(function I(){var i;return k().w(function(I){for(;;)switch(I.n){case 0:return I.n=1,g.next();case 1:if(!(i=I.v).done){I.n=2;break}return A.close(),I.a(2);case 2:A.enqueue(i.value);case 3:return I.a(2)}},I)}))()},cancel:function(A){return e(k().m(function I(){var i;return k().w(function(I){for(;;)switch(I.n){case 0:return I.n=1,null===(i=g.return)||void 0===i?void 0:i.call(g,A);case 1:return I.a(2)}},I)}))()}})}),A.prototype[Symbol.asyncIterator]&&A.prototype.values||(A.prototype.values=function(){var A,I=(A=k().m(function A(I){var g,i,C,Q;return k().w(function(A){for(;;)switch(A.p=A.n){case 0:g=this.getReader(),A.p=1;case 2:return A.n=3,E(g.read());case 3:if(i=A.v,C=i.done,Q=i.value,!C){A.n=4;break}return A.a(2);case 4:return A.n=5,Q;case 5:A.n=2;break;case 6:if(A.p=6,null!=I&&I.preventCancel){A.n=7;break}return A.n=7,E(g.cancel());case 7:return g.releaseLock(),A.f(6);case 8:return A.a(2)}},A,this,[[1,,6,8]])}),function(){return new K(A.apply(this,arguments))});return function(A){return I.apply(this,arguments)}}(),A.prototype[Symbol.asyncIterator]=A.prototype.values),A}(),VA=globalThis.WritableStream,jA=globalThis.TransformStream,zA=function(A){function I(A,g,i){var C;n(this,I);var Q=!1,B=new ZA;return t(this,I,[{start:function(I){var g,E=A({abortSignal:B.signal,enqueue:(g=e(k().m(function A(g){return k().w(function(A){for(;;)switch(A.n){case 0:if(null==i||i({source:"producer",operation:"enqueue",value:g,phase:"start"}),!B.signal.aborted){A.n=1;break}return null==i||i({source:"producer",operation:"enqueue",value:g,phase:"ignored"}),A.a(2);case 1:if(null!==I.desiredSize){A.n=2;break}return I.enqueue(g),A.a(2);case 2:if(!Q){A.n=3;break}return Q=!1,I.enqueue(g),null==i||i({source:"producer",operation:"enqueue",value:g,phase:"complete"}),A.a(2);case 3:if(!(I.desiredSize<=0)){A.n=5;break}return null==i||i({source:"producer",operation:"enqueue",value:g,phase:"waiting"}),C=new hA,A.n=4,C.promise;case 4:if(!B.signal.aborted){A.n=5;break}return null==i||i({source:"producer",operation:"enqueue",value:g,phase:"ignored"}),A.a(2);case 5:I.enqueue(g),null==i||i({source:"producer",operation:"enqueue",value:g,phase:"complete"});case 6:return A.a(2)}},A)})),function(A){return g.apply(this,arguments)}),close:function(){null==i||i({source:"producer",operation:"close",explicit:!0,phase:"start"}),B.signal.aborted?null==i||i({source:"producer",operation:"close",explicit:!0,phase:"ignored"}):(I.close(),null==i||i({source:"producer",operation:"close",explicit:!0,phase:"complete"}))},error:function(A){null==i||i({source:"producer",operation:"error",explicit:!0,phase:"start"}),I.error(A),null==i||i({source:"producer",operation:"error",explicit:!0,phase:"complete"})}});E&&"then"in E&&E.then(function(){null==i||i({source:"producer",operation:"close",explicit:!1,phase:"start"});try{I.close(),null==i||i({source:"producer",operation:"close",explicit:!1,phase:"complete"})}catch(A){null==i||i({source:"producer",operation:"close",explicit:!1,phase:"ignored"})}},function(A){null==i||i({source:"producer",operation:"error",explicit:!1,phase:"start"}),I.error(A),null==i||i({source:"producer",operation:"error",explicit:!1,phase:"complete"})})},pull:function(){null==i||i({source:"consumer",operation:"pull",phase:"start"}),C?C.resolve():0===(null==g?void 0:g.highWaterMark)&&(Q=!0),null==i||i({source:"consumer",operation:"pull",phase:"complete"})},cancel:function(A){var I;null==i||i({source:"consumer",operation:"cancel",phase:"start"}),B.abort(A),null===(I=C)||void 0===I||I.resolve(),null==i||i({source:"consumer",operation:"cancel",phase:"complete"})}},g])}return G(I,A),d(I)}(XA);function _A(A){return $A.apply(this,arguments)}function $A(){return($A=e(k().m(function A(I){return k().w(function(A){for(;;)switch(A.p=A.n){case 0:return A.p=0,A.n=1,I.cancel();case 1:return A.a(2,!0);case 2:return A.p=2,A.v,A.a(2,!1)}},A,null,[[0,2]])}))).apply(this,arguments)}var AI=new WeakMap,II=new WeakMap,gI=new WeakMap,iI=new WeakMap,CI=new WeakSet,QI=function(){return d(function A(I){n(this,A),h(this,CI),r(this,AI,void 0),r(this,II,0),r(this,gI,0),r(this,iI,0),u(this,"stream",void 0),u(this,"reader",void 0),u(this,"readExactly",DA(k().m(function A(I,g){var i,C,B,e;return k().w(function(A){for(;;)switch(A.n){case 0:if(C=0,!(B=Q(CI,this,BI).call(this,g))){A.n=2;break}if(B.length!==g){A.n=1;break}return A.a(2,B);case 1:(i=new Uint8Array(g)).set(B,C),C+=B.length,g-=B.length,A.n=3;break;case 2:i=new Uint8Array(g);case 3:if(!(g>0)){A.n=5;break}return A.d(R(I(Q(CI,this,eI).call(this,g))),4);case 4:e=A.v,i.set(e,C),C+=e.length,g-=e.length,A.n=3;break;case 5:return A.a(2,i)}},A,this)}))),this.stream=I,this.reader=I.getReader()},[{key:"position",get:function(){return a(iI,this)}},{key:"iterateExactly",value:function(A){var I=this,g=a(AI,this)?0:1;return{next:function(){switch(g){case 0:var i=Q(CI,I,BI).call(I,A);return i.length===A?g=2:(A-=i.length,g=1),{done:!1,value:i};case 1:return g=3,{done:!1,value:Q(CI,I,eI).call(I,A).then(function(I){return I.length===A?g=2:(A-=I.length,g=1),I})};case 2:return{done:!0,value:void 0};case 3:throw new Error("Can't call `next` before previous Promise resolves");default:throw new Error("unreachable")}}}}},{key:"release",value:function(){var A=this;return a(gI,this)>0?new zA(function(){var I=e(k().m(function I(g){var i,C,Q,B;return k().w(function(I){for(;;)switch(I.n){case 0:return i=a(AI,A).subarray(a(II,A)),I.n=1,g.enqueue(i);case 1:g.abortSignal.addEventListener("abort",function(){_A(A.reader)});case 2:return I.n=3,A.reader.read();case 3:if(C=I.v,Q=C.done,B=C.value,!Q){I.n=4;break}return I.a(2);case 4:return I.n=5,g.enqueue(B);case 5:I.n=2;break;case 6:return I.a(2)}},I)}));return function(A){return I.apply(this,arguments)}}()):(this.reader.releaseLock(),this.stream)}},{key:"cancel",value:(A=e(k().m(function A(I){return k().w(function(A){for(;;)switch(A.n){case 0:return A.n=1,this.reader.cancel(I);case 1:return A.a(2)}},A,this)})),function(I){return A.apply(this,arguments)})}]);var A}();function BI(A){if(a(AI,this)){var I=a(AI,this).subarray(a(II,this),a(II,this)+A);return a(gI,this)>A?(s(iI,this,a(iI,this)+A),s(II,this,a(II,this)+A),s(gI,this,a(gI,this)-A),I):(s(iI,this,a(iI,this)+a(gI,this)),s(AI,this,void 0),s(II,this,0),s(gI,this,0),I)}}function eI(A){return EI.apply(this,arguments)}function EI(){return(EI=e(k().m(function A(I){var g,i,C;return k().w(function(A){for(;;)switch(A.n){case 0:return A.n=1,this.reader.read();case 1:if(g=A.v,i=g.done,C=g.value,!i){A.n=2;break}throw new wA;case 2:if(!(C.length>I)){A.n=3;break}return s(AI,this,C),s(II,this,I),s(gI,this,C.length-I),s(iI,this,a(iI,this)+I),A.a(2,C.subarray(0,I));case 3:return s(iI,this,a(iI,this)+C.length),A.a(2,C)}},A,this)}))).apply(this,arguments)}var tI=new WeakMap,oI=new WeakMap,nI=function(A){function I(A){return n(this,I),t(this,I,[function(I){return A.deserialize(I)}])}return G(I,A),d(I)}(function(){return d(function A(I){var g,i;n(this,A),r(this,tI,void 0),r(this,oI,void 0);var C=new QI(new zA(function(A){g=A}));s(tI,this,new XA({pull:function(A){return e(k().m(function g(){var i,Q;return k().w(function(g){for(;;)switch(g.p=g.n){case 0:return g.p=0,g.n=1,I(C);case 1:i=g.v,A.enqueue(i),g.n=4;break;case 2:if(g.p=2,!((Q=g.v)instanceof kA)){g.n=3;break}return A.close(),g.a(2);case 3:throw Q;case 4:return g.a(2)}},g,null,[[0,2]])}))()},cancel:function(A){return i.error(A)}})),s(oI,this,new VA({start:function(A){i=A},write:function(A){return e(k().m(function I(){return k().w(function(I){for(;;)switch(I.n){case 0:return I.n=1,g.enqueue(A);case 1:return I.a(2)}},I)}))()},abort:function(){g.close()},close:function(){g.close()}}))},[{key:"readable",get:function(){return a(tI,this)}},{key:"writable",get:function(){return a(oI,this)}}])}()),aI=PA,rI=pA({content:OA(UA)},{littleEndian:!1}),sI=new WeakMap,hI=function(A){function I(){var A,g;return n(this,I),r(A=t(this,I,[function(A){g=A}]),sI,void 0),u(A,"id",0),s(sI,A,g),A}return G(I,A),d(I,[{key:"parse",value:(g=e(k().m(function A(I,g){var i;return k().w(function(A){for(;;)switch(A.n){case 0:return A.n=1,rI.deserialize(g);case 1:return i=A.v,A.n=2,a(sI,this).enqueue(i.content);case 2:return A.a(2)}},A,this)})),function(A,I){return g.apply(this,arguments)})},{key:"close",value:function(){a(sI,this).close()}},{key:"error",value:function(A){a(sI,this).error(A)}}]);var g}(zA),cI=function(){return[m,q,b,x,T,W,P,Z,X,V,j]}();var dI={repeatPreviousFrameAfter:"long",maxPtsGapToEncoder:"long"},DI=function(){return d(function A(){var I=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n(this,A),u(this,"options",void 0);for(var g=0,i=Object.entries(I);g<i.length;g++){var C=L(i[g],2),Q=C[0],B=C[1];if(void 0!==B&&"number"!=typeof B)throw new Error("Invalid option value for ".concat(Q,": ").concat(String(B)))}this.options=I},[{key:"toOptionValue",value:function(){var A=Object.entries(this.options).filter(function(A){return void 0!==L(A,2)[1]});if(0!==A.length)return A.map(function(A){var I=L(A,2),g=I[0],i=I[1],C=g.replace(/([A-Z])/g,"-$1").toLowerCase(),Q=dI[g];return Q&&(C+=":".concat(Q)),C+="=".concat(i)}).join(",")}}])}();u(DI,"Empty",new DI);var uI={logLevel:"debug",maxSize:0,bitRate:8e6,maxFps:0,lockVideoOrientation:-1,tunnelForward:!1,crop:void 0,sendFrameMeta:!0,control:!0,displayId:0,showTouches:!1,stayAwake:!1,codecOptions:void 0};function yI(A,I,g){return A<I?I:A>g?g:A}function lI(A){for(var I=arguments.length,g=new Array(I>1?I-1:0),i=1;i<I;i++)g[i-1]=arguments[i];return Object.fromEntries(Object.entries(A).filter(function(A){var I=L(A,1)[0];return!g.includes(I)}))}var GI=yA(2,"byob",function(A,I){var g=I.buffer,i=I.index,C=I.littleEndian;LA(g,i,A=1===(A=yI(A,-1,1))?65535:65536*A,C)},function(A,I,g){var i=g.littleEndian;return k().m(function g(){var C,Q;return k().w(function(g){for(;;)switch(g.n){case 0:return g.d(R(A(I.readExactly(2))),1);case 1:return C=g.v,Q=NA(C,0,i),g.a(2,65535===Q?1:Q/65536)}},g)})()}),wI=pA({pts:JA,data:GA(UA)},{littleEndian:!1}),fI=1n<<63n;function SI(A,I){return kI.apply(this,arguments)}function kI(){return kI=e(k().m(function A(I,g){var i;return k().w(function(A){for(;;)switch(A.n){case 0:return A.n=1,I.readExactly(g);case 1:return i=A.v,A.a(2,WA(i.subarray(0,i.indexOf(0))))}},A)})),kI.apply(this,arguments)}function pI(A){return RI.apply(this,arguments)}function RI(){return RI=e(k().m(function A(I){var g;return k().w(function(A){for(;;)switch(A.n){case 0:return A.n=1,I.readExactly(4);case 1:return g=A.v,A.a(2,FA(g,0))}},A)})),RI.apply(this,arguments)}var NI,LI,FI=function(){return S(S({},uI),{},{encoderName:void 0})}(),HI=(NI=aI,LI={action:MA()},pA(Object.assign({},NI.fields,LI),{littleEndian:NI.littleEndian,extra:NI.extra,postDeserialize:void 0}));var YI=function(){var A=cI.slice();return A.splice(6,0,O),A}(),vI=-1,MI=function(){return S(S({},FI),{},{logLevel:"debug",lockVideoOrientation:vI,powerOffOnClose:!1})}(),KI=function(){return S(S({},MI),{},{clipboardAutosync:!0})}();function UI(A){return A.replace(/([A-Z])/g,"_$1").toLowerCase()}var JI=pA({sequence:JA},{littleEndian:!1}),mI=pA({type:MA,sequence:JA,paste:MA(),content:OA(UA)},{littleEndian:!1}),qI=new WeakMap,bI=new WeakMap,xI=function(){return d(function A(){n(this,A),r(this,qI,new Map),r(this,bI,!1),u(this,"id",1)},[{key:"parse",value:(A=e(k().m(function A(I,g){var i,C;return k().w(function(A){for(;;)switch(A.n){case 0:return A.n=1,JI.deserialize(g);case 1:i=A.v,(C=a(qI,this).get(i.sequence))&&(C.resolve(),a(qI,this).delete(i.sequence));case 2:return A.a(2)}},A,this)})),function(I,g){return A.apply(this,arguments)})},{key:"close",value:function(){var A,I=D(a(qI,this).values());try{for(I.s();!(A=I.n()).done;){A.value.reject()}}catch(A){I.e(A)}finally{I.f()}a(qI,this).clear(),s(bI,this,!0)}},{key:"error",value:function(A){var I,g=D(a(qI,this).values());try{for(g.s();!(I=g.n()).done;){I.value.reject(A)}}catch(A){g.e(A)}finally{g.f()}a(qI,this).clear(),s(bI,this,!0)}},{key:"serializeSetClipboardControlMessage",value:function(A){if(0n===A.sequence)return mI.serialize(A);if(a(bI,this))throw new Error;var I=new hA;return a(qI,this).set(A.sequence,I),[mI.serialize(A),I.promise]}}]);var A}(),TI=function(){return S(S({},KI),{},{downsizeOnError:!0,sendDeviceMeta:!0,sendDummyByte:!0})}(),WI=function(){return S(S({},TI),{},{cleanup:!0})}(),OI=1n<<62n;var PI=function(){return S(S({},WI),{},{powerOn:!0})}(),ZI=yA(2,"byob",function(A,I){var g=I.buffer,i=I.index,C=I.littleEndian;!function(A,I,g,i){i?(A[I]=g,A[I+1]=g>>8):(A[I]=g>>8,A[I+1]=g)}(g,i,A=1===(A=yI(A,-1,1))?32767:32768*A,C)},function(A,I,g){var i=g.littleEndian;return k().m(function g(){var C,Q;return k().w(function(g){for(;;)switch(g.n){case 0:return g.d(R(A(I.readExactly(2))),1);case 1:return C=g.v,Q=RA(C,0,i),g.a(2,32767===Q?1:Q/32768)}},g)})()}),XI=function(){return pA({type:MA(x),pointerX:UA,pointerY:UA,videoWidth:KA,videoHeight:KA,scrollX:ZI,scrollY:ZI,buttons:UA},{littleEndian:!1})}(),VI=function(){return S(S({},lI(PI,"bitRate","codecOptions","encoderName")),{},{scid:void 0,videoCodec:"h264",videoBitRate:8e6,videoCodecOptions:void 0,videoEncoder:void 0,audio:!0,audioCodec:"opus",audioBitRate:128e3,audioCodecOptions:void 0,audioEncoder:void 0,listEncoders:!1,listDisplays:!1,sendCodecMeta:!0})}(),jI=function(){return pA({type:MA(b),action:MA(),pointerId:JA,pointerX:UA,pointerY:UA,videoWidth:KA,videoHeight:KA,pressure:GI,actionButton:UA,buttons:UA},{littleEndian:!1})}();function zI(){return zI=e(k().m(function A(I,g){var i,C,Q,B,E,t,o,n;return k().w(function(A){for(;;)switch(A.n){case 0:return i=new QI(I),A.n=1,i.readExactly(4);case 1:C=A.v,Q=FA(C,0),t=Q,A.n=0===t?2:1===t?3:4;break;case 2:return A.a(2,{type:"disabled"});case 3:return A.a(2,{type:"errored"});case 4:if(!g.sendCodecMeta){A.n=11;break}o=Q,A.n=o===J.Raw.metadataValue?5:o===J.Opus.metadataValue?6:o===J.Aac.metadataValue?7:o===J.Flac.metadataValue?8:9;break;case 5:return B=J.Raw,A.a(3,10);case 6:return B=J.Opus,A.a(3,10);case 7:return B=J.Aac,A.a(3,10);case 8:return B=J.Flac,A.a(3,10);case 9:case 16:throw new Error("Unknown audio codec metadata value: ".concat(Q));case 10:return A.a(2,{type:"success",codec:B,stream:i.release()});case 11:n=g.audioCodec,A.n="raw"===n?12:"opus"===n?13:"aac"===n?14:"flac"===n?15:16;break;case 12:return E=J.Raw,A.a(3,17);case 13:return E=J.Opus,A.a(3,17);case 14:return E=J.Aac,A.a(3,17);case 15:return E=J.Flac,A.a(3,17);case 17:return A.a(2,{type:"success",codec:E,stream:new zA(function(){var A=e(k().m(function A(I){var g,Q,B,e,E;return k().w(function(A){for(;;)switch(A.n){case 0:return A.n=1,I.enqueue(C);case 1:g=i.release(),Q=g.getReader();case 2:return A.n=3,Q.read();case 3:if(B=A.v,e=B.done,E=B.value,!e){A.n=4;break}return A.a(3,6);case 4:return A.n=5,I.enqueue(E);case 5:A.n=2;break;case 6:return A.a(2)}},A)}));return function(I){return A.apply(this,arguments)}}())})}},A)})),zI.apply(this,arguments)}function _I(A){switch(A){case"h264":return EA;case"h265":return tA;case"av1":return oA;default:throw new Error("Unknown video codec: ".concat(A))}}function $I(){return($I=e(k().m(function A(I,g){var i,C,Q,B,e;return k().w(function(A){for(;;)switch(A.n){case 0:if(i=new QI(g),!I.sendDeviceMeta){A.n=2;break}return A.n=1,SI(i,64);case 1:C=A.v;case 2:if(!I.sendCodecMeta){A.n=6;break}return A.n=3,pI(i);case 3:return Q=A.v,A.n=4,pI(i);case 4:return B=A.v,A.n=5,pI(i);case 5:e=A.v,A.n=7;break;case 6:Q=_I(I.videoCodec);case 7:return A.a(2,{stream:i.release(),metadata:{deviceName:C,codec:Q,width:B,height:e}})}},A)}))).apply(this,arguments)}function Ag(A,I){return A.sendDeviceMeta||A.sendCodecMeta?function(A,I){return $I.apply(this,arguments)}(A,I):{stream:I,metadata:{codec:_I(A.videoCodec)}}}var Ig=function(){return S(S({},VI),{},{video:!0,audioSource:"output"})}(),gg=function(){return S(S({},Ig),{},{videoSource:"display",displayId:0,cameraId:void 0,cameraSize:void 0,cameraFacing:void 0,cameraAr:void 0,cameraFps:void 0,cameraHighSpeed:!1,listCameras:!1,listCameraSizes:!1})}();var ig=function(){return[].concat(H(YI),[z,_,AA])}(),Cg=pA({id:KA,data:GA(KA)},{littleEndian:!1}),Qg=new WeakMap,Bg=function(A){function I(){var A,g;return n(this,I),r(A=t(this,I,[function(A){g=A}]),Qg,void 0),u(A,"id",2),s(Qg,A,g),A}return G(I,A),d(I,[{key:"parse",value:(g=e(k().m(function A(I,g){var i;return k().w(function(A){for(;;)switch(A.n){case 0:return A.n=1,Cg.deserialize(g);case 1:return i=A.v,A.n=2,a(Qg,this).enqueue(i);case 2:return A.a(2)}},A,this)})),function(A,I){return g.apply(this,arguments)})},{key:"close",value:function(){a(Qg,this).close()}},{key:"error",value:function(A){a(Qg,this).error(A)}}]);var g}(zA),eg=function(){return S(S({},gg),{},{audioDup:!1})}(),Eg=function(){var A=ig.slice();return A.splice(14,0,$),A}(),tg=function(){return[].concat(H(Eg),[IA,gA])}(),og=function(){return S(S({},lI(eg,"lockVideoOrientation")),{},{captureOrientation:void 0,angle:0,screenOffTimeout:void 0,listApps:!1,newDisplay:void 0,vdSystemDecorations:!0})}(),ng=/^\s+--(video|audio)-codec=(\S+)\s+--\1-encoder=(\S+)(?:\s*\((sw|hw|hybrid)\))?(?:\s*\[vendor\])?(?:\s*\(alias for (\S+)\))?$/;function ag(A){switch(A){case"sw":return"software";case"hw":return"hardware";case"hybrid":return"hybrid";default:throw new Error("Unknown hardware type: ".concat(A))}}var rg=function(){return S(S({},og),{},{vdDestroyContent:!1})}(),sg=pA({type:MA,id:KA,vendorId:KA,productId:KA,name:OA(MA),data:GA(KA)},{littleEndian:!1});var hg=function(){return S(S({},rg),{},{displayImePolicy:void 0})}(),cg=function(){return d(function A(){n(this,A)},[{key:"serializeScrollMessage",value:function(A){return A=S(S({},A),{},{scrollX:A.scrollX/16,scrollY:A.scrollY/16}),XI.serialize(A)}}])}();var dg=new WeakMap,Dg=new WeakMap,ug=new WeakMap,yg=new WeakMap,lg=function(){return d(function A(I){n(this,A),u(this,"value",void 0),r(this,dg,void 0),r(this,Dg,void 0),r(this,ug,void 0),r(this,yg,new QA),this.value=S(S({},hg),I),"camera"===this.value.videoSource&&(this.value.control=!1),this.value.audioDup&&(this.value.audioSource="playback"),this.value.control&&(this.value.clipboardAutosync&&(s(dg,this,a(yg,this).add(new hI)),s(Dg,this,a(yg,this).add(new xI))),s(ug,this,a(yg,this).add(new Bg)))},[{key:"controlMessageTypes",get:function(){return tg}},{key:"clipboard",get:function(){return a(dg,this)}},{key:"uHidOutput",get:function(){return a(ug,this)}},{key:"deviceMessageParsers",get:function(){return a(yg,this)}},{key:"serialize",value:function(){return function(A,I){for(var g=[],i=0,C=Object.entries(A);i<C.length;i++){var Q=L(C[i],2),B=Q[0],e=eA(Q[1],void 0);void 0!==e&&e!==eA(I[B],void 0)&&g.push("".concat(UI(B),"=").concat(e))}return g}(this.value,hg)}},{key:"setListDisplays",value:function(){this.value.listDisplays=!0}},{key:"parseDisplay",value:function(A){return function(A){var I=A.match(/^\s+--display-id=(\d+)\s+\(([^)]+)\)$/);if(I){var g={id:Number.parseInt(I[1],10)};return"size unknown"!==I[2]&&(g.resolution=I[2]),g}}(A)}},{key:"setListEncoders",value:function(){this.value.listEncoders=!0}},{key:"parseEncoder",value:function(A){return function(A){var I=A.match(ng);return I?{type:I[1],name:I[3],codec:I[2],hardwareType:I[4]?ag(I[4]):void 0,vendor:!!I[5],aliasFor:I[6]}:void 0}(A)}},{key:"parseVideoStreamMetadata",value:function(A){return Ag(this.value,A)}},{key:"parseAudioStreamMetadata",value:function(A){return function(A,I){return zI.apply(this,arguments)}(A,this.value)}},{key:"createMediaStreamTransformer",value:function(){return function(A){if(!A.sendFrameMeta)return new jA({transform:function(A,I){I.enqueue({type:"data",data:A})}});var I=new nI(wI);return{writable:I.writable,readable:I.readable.pipeThrough(new jA({transform:function(A,I){A.pts!==fI?A.pts&OI?I.enqueue({type:"data",keyframe:!0,pts:A.pts&~OI,data:A.data}):I.enqueue({type:"data",keyframe:!1,pts:A.pts,data:A.data}):I.enqueue({type:"configuration",data:A.data})}}))}}(this.value)}},{key:"serializeInjectTouchControlMessage",value:function(A){return function(A){return jI.serialize(A)}(A)}},{key:"serializeBackOrScreenOnControlMessage",value:function(A){return function(A){return HI.serialize(A)}(A)}},{key:"serializeSetClipboardControlMessage",value:function(A){return a(Dg,this).serializeSetClipboardControlMessage(A)}},{key:"createScrollController",value:function(){return new cg}},{key:"serializeUHidCreateControlMessage",value:function(A){return function(A){return sg.serialize(A)}(A)}}])}();u(lg,"Defaults",hg);var Gg=k().m(wg);function wg(A){var I,g,i,C,Q,B,e;return k().w(function(E){for(;;)switch(E.n){case 0:I=-1,g=0,i=!1,C=0;case 1:if(!(C<A.length)){E.n=15;break}if(Q=A[C],!i){E.n=3;break}if(!(Q>3)){E.n=2;break}throw new Error("Invalid data");case 2:return i=!1,E.a(3,14);case 3:if(0!==Q){E.n=4;break}return g+=1,E.a(3,14);case 4:if(B=g,g=0,-1!==I){E.n=6;break}if(!(B>=2&&1===Q)){E.n=5;break}return I=C+1,E.a(3,14);case 5:throw new Error("Invalid data");case 6:if(!(B<2)){E.n=7;break}return E.a(3,14);case 7:if(1!==Q){E.n=9;break}return E.n=8,A.subarray(I,C-B);case 8:return I=C+1,E.a(3,14);case 9:if(!(B>2)){E.n=10;break}throw new Error("Invalid data");case 10:e=Q,E.n=2===e?11:3===e?12:13;break;case 11:throw new Error("Invalid data");case 12:return i=!0,E.a(3,14);case 13:return E.a(3,14);case 14:C+=1,E.n=1;break;case 15:if(!i){E.n=16;break}throw new Error("Invalid data");case 16:return E.n=17,A.subarray(I,A.length);case 17:return E.a(2)}},Gg)}var fg=new WeakMap,Sg=new WeakMap,kg=new WeakMap,pg=new WeakMap,Rg=new WeakMap,Ng=new WeakMap,Lg=new WeakMap,Fg=new WeakSet,Hg=function(){return d(function A(I){n(this,A),h(this,Fg),r(this,fg,void 0),r(this,Sg,void 0),r(this,kg,void 0),r(this,pg,0),r(this,Rg,0),r(this,Ng,7),r(this,Lg,0),s(fg,this,I);for(var g=I.length-1;g>=0;g-=1)if(0!==a(fg,this)[g])for(var i=I[g],C=0;C<8;C+=1)if(1==(i>>C&1))return s(Sg,this,g),s(kg,this,C),void Q(Fg,this,Yg).call(this);throw new Error("Stop bit not found")},[{key:"byteLength",get:function(){return a(Sg,this)}},{key:"stopBitIndex",get:function(){return a(kg,this)}},{key:"bytePosition",get:function(){return a(Rg,this)}},{key:"bitPosition",get:function(){return a(Ng,this)}},{key:"ended",get:function(){return a(Rg,this)>=a(Sg,this)&&a(Ng,this)<=a(kg,this)}},{key:"next",value:function(){if(this.ended)throw new Error("Bit index out of bounds");var A=a(Lg,this)>>a(Ng,this)&1;return s(Ng,this,a(Ng,this)-1),a(Ng,this)<0&&(s(Rg,this,a(Rg,this)+1),s(Ng,this,7),Q(Fg,this,Yg).call(this)),A}},{key:"read",value:function(A){if(A>32)throw new Error("Read length too large");for(var I=0,g=0;g<A;g+=1)I=I<<1|this.next();return I}},{key:"skip",value:function(A){if(A<=a(Ng,this)+1)return s(Ng,this,a(Ng,this)-A),void Q(Fg,this,vg).call(this);for(A-=a(Ng,this)+1,s(Rg,this,a(Rg,this)+1),s(Ng,this,7),Q(Fg,this,Yg).call(this),Q(Fg,this,vg).call(this);A>=8;A-=8)s(Rg,this,a(Rg,this)+1),Q(Fg,this,Yg).call(this),Q(Fg,this,vg).call(this);s(Ng,this,7-A),Q(Fg,this,vg).call(this)}},{key:"decodeExponentialGolombNumber",value:function(){for(var A=0;0===this.next();)A+=1;return 0===A?0:(1<<A|this.read(A))-1}},{key:"peek",value:function(A){var I=Q(Fg,this,Mg).call(this),g=this.read(A);return Q(Fg,this,Kg).call(this,I),g}},{key:"readBytes",value:function(A){for(var I=new Uint8Array(A),g=0;g<A;g+=1)I[g]=this.read(8);return I}},{key:"peekBytes",value:function(A){var I=Q(Fg,this,Mg).call(this),g=this.readBytes(A);return Q(Fg,this,Kg).call(this,I),g}}])}();function Yg(){if(s(Lg,this,a(fg,this)[a(Rg,this)]),2===a(pg,this)&&3===a(Lg,this))return s(pg,this,0),s(Rg,this,a(Rg,this)+1),void Q(Fg,this,Yg).call(this);0===a(Lg,this)?s(pg,this,a(pg,this)+1):s(pg,this,0)}function vg(){if(a(Rg,this)>=a(Sg,this)&&a(Ng,this)<a(kg,this))throw new Error("Bit index out of bounds")}function Mg(){return{zeroCount:a(pg,this),bytePosition:a(Rg,this),bitPosition:a(Ng,this),byte:a(Lg,this)}}function Kg(A){s(pg,this,A.zeroCount),s(Rg,this,A.bytePosition),s(Ng,this,A.bitPosition),s(Lg,this,A.byte)}var Ug,Jg,mg,qg,bg,xg,Tg,Wg,Og,Pg,Zg,Xg,Vg;function jg(A){var I=function(A){var I,g,i,C=D(wg(A));try{for(C.s();!(i=C.n()).done;){var Q=i.value;switch(31&Q[0]){case 7:if(I=Q,g)return{sequenceParameterSet:I,pictureParameterSet:g};break;case 8:if(g=Q,I)return{sequenceParameterSet:I,pictureParameterSet:g}}}}catch(A){C.e(A)}finally{C.f()}throw new Error("Invalid data")}(A),g=I.sequenceParameterSet,i=I.pictureParameterSet,C=function(A){var I=new Hg(A);if(0!==I.next())throw new Error("Invalid data");var g=I.read(2);if(7!==I.read(5))throw new Error("Invalid data");if(0===g)throw new Error("Invalid data");var i=I.read(8),C=I.peek(8),Q=!!I.next(),B=!!I.next(),e=!!I.next(),E=!!I.next(),t=!!I.next(),o=!!I.next();if(0!==I.read(2))throw new Error("Invalid data");var n=I.read(8),a=I.decodeExponentialGolombNumber();if(100===i||110===i||122===i||244===i||44===i||83===i||86===i||118===i||128===i||138===i||139===i||134===i){var r=I.decodeExponentialGolombNumber();if(3===r&&I.next(),I.decodeExponentialGolombNumber(),I.decodeExponentialGolombNumber(),I.next(),I.next())for(var s=[],h=0;h<(3!==r?8:12);h+=1)s[h]=!!I.next(),s[h]}I.decodeExponentialGolombNumber();var c=I.decodeExponentialGolombNumber();if(0===c)I.decodeExponentialGolombNumber();else if(1===c){I.next(),I.decodeExponentialGolombNumber(),I.decodeExponentialGolombNumber();for(var d=I.decodeExponentialGolombNumber(),D=[],u=0;u<d;u+=1)D[u]=I.decodeExponentialGolombNumber()}I.decodeExponentialGolombNumber(),I.next();var y=I.decodeExponentialGolombNumber(),l=I.decodeExponentialGolombNumber(),G=I.next();G||I.next(),I.next();var w,f,S,k,p=!!I.next();return p?(w=I.decodeExponentialGolombNumber(),f=I.decodeExponentialGolombNumber(),S=I.decodeExponentialGolombNumber(),k=I.decodeExponentialGolombNumber()):(w=0,f=0,S=0,k=0),I.next(),{profile_idc:i,constraint_set:C,constraint_set0_flag:Q,constraint_set1_flag:B,constraint_set2_flag:e,constraint_set3_flag:E,constraint_set4_flag:t,constraint_set5_flag:o,level_idc:n,seq_parameter_set_id:a,pic_width_in_mbs_minus1:y,pic_height_in_map_units_minus1:l,frame_mbs_only_flag:G,frame_cropping_flag:p,frame_crop_left_offset:w,frame_crop_right_offset:f,frame_crop_top_offset:S,frame_crop_bottom_offset:k}}(g),Q=C.profile_idc,B=C.constraint_set,e=C.level_idc,E=16*(C.pic_width_in_mbs_minus1+1),t=(C.pic_height_in_map_units_minus1+1)*(2-C.frame_mbs_only_flag)*16,o=2*C.frame_crop_left_offset,n=2*C.frame_crop_right_offset,a=2*C.frame_crop_top_offset,r=2*C.frame_crop_bottom_offset;return{pictureParameterSet:i,sequenceParameterSet:g,profileIndex:Q,constraintSet:B,levelIndex:e,encodedWidth:E,encodedHeight:t,cropLeft:o,cropRight:n,cropTop:a,cropBottom:r,croppedWidth:E-o-n,croppedHeight:t-a-r}}function zg(A,I,g,i){if("a"===g&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof I?A!==I||!i:!I.has(A))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===g?i:"a"===g?i.call(A):i?i.value:I.get(A)}function _g(A,I,g,i,C){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!C)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof I?A!==I||!C:!I.has(A))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?C.call(A,g):C?C.value=g:I.set(A,g),g}"function"==typeof SuppressedError&&SuppressedError;var $g,Ai,Ii,gi,ii,Ci,Qi,Bi,ei,Ei,ti,oi,ni,ai,ri,si=function(){return d(function A(){n(this,A),Ug.add(this),Jg.set(this,0),mg.set(this,0),qg.set(this,0),bg.set(this,0),xg.set(this,0),Tg.set(this,0),Wg.set(this,0),Og.set(this,0),Pg.set(this,0),Zg.set(this,0),Xg.set(this,0)},[{key:"reset",value:function(){_g(this,Jg,0,"f"),_g(this,mg,0,"f"),_g(this,qg,0,"f"),_g(this,bg,0,"f"),_g(this,xg,0,"f"),_g(this,Tg,0,"f"),_g(this,Wg,0,"f"),_g(this,Og,0,"f"),_g(this,Zg,0,"f"),_g(this,Xg,0,"f"),_g(this,Pg,zg(this,Ug,"m",Vg).call(this),"f")}},{key:"resetInterval",value:function(){_g(this,Wg,0,"f"),_g(this,Og,0,"f"),_g(this,Pg,zg(this,Ug,"m",Vg).call(this),"f")}},{key:"addReceivedFrame",value:function(A){var I;_g(this,Jg,(I=zg(this,Jg,"f"),++I),"f"),_g(this,Wg,zg(this,Wg,"f")+A,"f")}},{key:"addSubmittedFrame",value:function(){var A,I;_g(this,mg,(A=zg(this,mg,"f"),++A),"f"),_g(this,Og,(I=zg(this,Og,"f"),++I),"f")}},{key:"addDroppedFrame",value:function(){var A;_g(this,qg,(A=zg(this,qg,"f"),++A),"f")}},{key:"addKeyFrame",value:function(){var A;_g(this,bg,(A=zg(this,bg,"f"),++A),"f")}},{key:"addReset",value:function(){var A;_g(this,xg,(A=zg(this,xg,"f"),++A),"f")}},{key:"addConfigPacket",value:function(){var A;_g(this,Tg,(A=zg(this,Tg,"f"),++A),"f")}},{key:"updateRenderStats",value:function(A,I){_g(this,Zg,A,"f"),_g(this,Xg,I,"f")}},{key:"getSnapshot",value:function(A,I,g){var i=zg(this,Ug,"m",Vg).call(this),C=zg(this,Pg,"f")>0?(i-zg(this,Pg,"f"))/1e3:1,Q=C>0?C:1;return{fps:zg(this,Og,"f")/Q,bitrate:8*zg(this,Wg,"f")/Q,totalFrames:zg(this,Jg,"f"),decodedFrames:zg(this,mg,"f"),droppedFrames:zg(this,qg,"f"),keyFrames:zg(this,bg,"f"),queueSize:A,resetCount:zg(this,xg,"f"),width:I,height:g}}}])}();Jg=new WeakMap,mg=new WeakMap,qg=new WeakMap,bg=new WeakMap,xg=new WeakMap,Tg=new WeakMap,Wg=new WeakMap,Og=new WeakMap,Pg=new WeakMap,Zg=new WeakMap,Xg=new WeakMap,Ug=new WeakSet,Vg=function(){return"undefined"!=typeof performance?performance.now():Date.now()};var hi,ci=0;!function(A){A.WAITING_CONFIG="WAITING_CONFIG",A.WAITING_FIRST_KEYFRAME="WAITING_FIRST_KEYFRAME",A.DECODING="DECODING"}(hi||(hi={}));var di,Di,ui=function(){return d(function A(I,g){n(this,A),$g.add(this),Ai.set(this,void 0),Ii.set(this,void 0),gi.set(this,void 0),ii.set(this,hi.WAITING_CONFIG),Ci.set(this,!0),Qi.set(this,0),Bi.set(this,ci),ei.set(this,void 0),Ei.set(this,void 0),ti.set(this,void 0),_g(this,gi,I,"f"),_g(this,Ei,g,"f"),_g(this,ei,new si,"f"),_g(this,Qi,Date.now(),"f"),zg(this,Ei,"f")&&(zg(this,$g,"m",ni).call(this),zg(this,$g,"m",oi).call(this))},[{key:"setStatsCallback",value:function(A){_g(this,Ei,A,"f"),zg(this,ti,"f")||zg(this,$g,"m",ni).call(this)}},{key:"dispose",value:function(){zg(this,ti,"f")&&(clearInterval(zg(this,ti,"f")),_g(this,ti,void 0,"f")),zg(this,$g,"m",oi).call(this),_g(this,Ei,void 0,"f"),zg(this,ei,"f").reset()}},{key:"decode",value:function(A){if("configuration"===A.type)return zg(this,ei,"f").addConfigPacket(),!!zg(this,Ai,"f")&&"configured"===zg(this,gi,"f").state&&(zg(this,gi,"f").reset(),zg(this,ei,"f").addReset(),_g(this,Bi,ci,"f"),_g(this,Qi,Date.now(),"f")),_g(this,Ai,A.data,"f"),_g(this,Ii,this.configure(A.data),"f"),_g(this,ii,hi.WAITING_FIRST_KEYFRAME,"f"),void _g(this,Ci,!0,"f");if(zg(this,ei,"f").addReceivedFrame(A.data.byteLength),zg(this,Ii,"f")&&zg(this,Ai,"f")){if(A.keyframe){zg(this,ei,"f").addKeyFrame();var I=Date.now(),g=zg(this,gi,"f").decodeQueueSize;return zg(this,ii,"f")===hi.WAITING_FIRST_KEYFRAME?(_g(this,ii,hi.DECODING,"f"),zg(this,ei,"f").addSubmittedFrame(),void zg(this,$g,"m",ri).call(this,A)):g?(console.warn("[H26xDecoder] Queue overloaded, resetting decoder",{queueSize:g}),zg(this,ei,"f").addReset(),zg(this,gi,"f").reset(),_g(this,Qi,I,"f"),_g(this,Ci,!0,"f"),zg(this,ei,"f").addSubmittedFrame(),void zg(this,$g,"m",ri).call(this,A)):(zg(this,ei,"f").addSubmittedFrame(),void zg(this,$g,"m",ri).call(this,A))}zg(this,ii,"f")===hi.DECODING?(zg(this,ei,"f").addSubmittedFrame(),zg(this,gi,"f").decode(new EncodedVideoChunk({type:"delta",timestamp:zg(this,$g,"m",ai).call(this,A),data:A.data}))):zg(this,ei,"f").addDroppedFrame()}else zg(this,ei,"f").addDroppedFrame()}}])}();function yi(A){return A.toString(16).toUpperCase().padStart(2,"0")}Ai=new WeakMap,Ii=new WeakMap,gi=new WeakMap,ii=new WeakMap,Ci=new WeakMap,Qi=new WeakMap,Bi=new WeakMap,ei=new WeakMap,Ei=new WeakMap,ti=new WeakMap,$g=new WeakSet,oi=function(){var A,I,g,i;if(zg(this,Ei,"f")){var C=null!==(A=null===(I=zg(this,Ii,"f"))||void 0===I?void 0:I.codedWidth)&&void 0!==A?A:0,Q=null!==(g=null===(i=zg(this,Ii,"f"))||void 0===i?void 0:i.codedHeight)&&void 0!==g?g:0;zg(this,Ei,"f").call(this,zg(this,ei,"f").getSnapshot(zg(this,gi,"f").decodeQueueSize,C,Q))}},ni=function(){var A=this;zg(this,ti,"f")||_g(this,ti,setInterval(function(){zg(A,$g,"m",oi).call(A),zg(A,ei,"f").resetInterval()},1e3),"f")},ai=function(A){if("bigint"==typeof A.pts||"number"==typeof A.pts){var I=Number(A.pts);return _g(this,Bi,I,"f"),I}var g=zg(this,Bi,"f");return _g(this,Bi,zg(this,Bi,"f")+33333,"f"),g},ri=function(A){(zg(this,Ci,"f")||"configured"!==zg(this,gi,"f").state)&&(console.log("[H26xDecoder] Configuring decoder (Keyframe)"),zg(this,gi,"f").configure(zg(this,Ii,"f")),_g(this,Ci,!1,"f"));var I=new Uint8Array(zg(this,Ai,"f").length+A.data.length);I.set(zg(this,Ai,"f"),0),I.set(A.data,zg(this,Ai,"f").length),zg(this,gi,"f").decode(new EncodedVideoChunk({type:"key",timestamp:zg(this,$g,"m",ai).call(this,A),data:I}))};var li=function(A){function I(A,g,i){var C;return n(this,I),C=t(this,I,[A,null==i?void 0:i.onStats]),di.set(C,void 0),Di.set(C,void 0),_g(C,di,g,"f"),_g(C,Di,i,"f"),C}return G(I,A),d(I,[{key:"configure",value:function(A){var I,g,i=jg(A),C=i.profileIndex,Q=i.constraintSet,B=i.levelIndex,e=i.croppedWidth,E=i.croppedHeight;return zg(this,di,"f").call(this,e,E),{codec:"avc1."+yi(C)+yi(Q)+yi(B),hardwareAcceleration:null!==(I=null===(g=zg(this,Di,"f"))||void 0===g?void 0:g.hardwareAcceleration)&&void 0!==I?I:"no-preference",optimizeForLatency:!0}}}])}(ui);di=new WeakMap,Di=new WeakMap;var Gi,wi,fi,Si,ki,pi,Ri,Ni,Li=new WeakMap,Fi=function(){return d(function A(){n(this,A),r(this,Li,[]),this.dispose=this.dispose.bind(this)},[{key:"addDisposable",value:function(A){return a(Li,this).push(A),A}},{key:"dispose",value:function(){var A,I=D(a(Li,this));try{for(I.s();!(A=I.n()).done;){A.value.dispose()}}catch(A){I.e(A)}finally{I.f()}s(Li,this,[])}}])}(),Hi=function(){return d(function A(){var I=this;n(this,A),u(this,"listeners",[]),u(this,"event",function(A,g){for(var i=arguments.length,C=new Array(i>2?i-2:0),Q=2;Q<i;Q++)C[Q-2]=arguments[Q];var B={listener:A,thisArg:g,args:C};return I.addEventListener(B)}),this.event=this.event.bind(this)},[{key:"addEventListener",value:function(A){var I=this;this.listeners.push(A);var g=function(){var g=I.listeners.indexOf(A);-1!==g&&I.listeners.splice(g,1)};return g.dispose=g,g}},{key:"fire",value:function(A){var I,g=D(this.listeners.slice());try{for(g.s();!(I=g.n()).done;){var i,C=I.value;(i=C.listener).call.apply(i,[C.thisArg,A].concat(H(C.args)))}}catch(A){g.e(A)}finally{g.f()}}},{key:"dispose",value:function(){this.listeners.length=0}}])}(),Yi=Symbol("undefined"),vi=new WeakMap,Mi=function(A){function I(){var A;n(this,I);for(var g=arguments.length,i=new Array(g),C=0;C<g;C++)i[C]=arguments[C];return r(A=t(this,I,[].concat(i)),vi,Yi),A}return G(I,A),d(I,[{key:"addEventListener",value:function(A){var g;a(vi,this)!==Yi&&(g=A.listener).call.apply(g,[A.thisArg,a(vi,this)].concat(H(A.args)));return F(I,"addEventListener",this,3)([A])}},{key:"fire",value:function(A){s(vi,this,A),F(I,"fire",this,3)([A])}}])}(Hi),Ki=function(){return d(function A(I,g){var i=this;n(this,A),Gi.set(this,void 0),wi.set(this,new ReadableStream({start:function(A){_g(i,Gi,A,"f")},pull:function(A){A.enqueue(zg(i,Si,"f").call(i))}},{highWaterMark:0})),fi.set(this,zg(this,wi,"f").getReader()),Si.set(this,void 0),ki.set(this,0),pi.set(this,void 0),_g(this,Si,I,"f"),_g(this,pi,g,"f")},[{key:"borrow",value:(A=e(k().m(function A(){var I;return k().w(function(A){for(;;)switch(A.n){case 0:return A.n=1,zg(this,fi,"f").read();case 1:return I=A.v,A.a(2,I.value)}},A,this)})),function(){return A.apply(this,arguments)})},{key:"return",value:function(A){zg(this,ki,"f")<zg(this,pi,"f")&&(zg(this,Gi,"f").enqueue(A),_g(this,ki,zg(this,ki,"f")+1,"f"))}}]);var A}();Gi=new WeakMap,wi=new WeakMap,fi=new WeakMap,Si=new WeakMap,ki=new WeakMap,pi=new WeakMap;var Ui=function(){return d(function A(){n(this,A),Ri.set(this,void 0),Ni.set(this,void 0),"undefined"!=typeof OffscreenCanvas?_g(this,Ri,new OffscreenCanvas(1,1),"f"):(_g(this,Ri,document.createElement("canvas"),"f"),zg(this,Ri,"f").width=1,zg(this,Ri,"f").height=1),_g(this,Ni,zg(this,Ri,"f").getContext("bitmaprenderer",{alpha:!1}),"f")},[{key:"capture",value:(A=e(k().m(function A(I){var g,i=this;return k().w(function(A){for(;;)switch(A.n){case 0:return zg(this,Ri,"f").width=I.displayWidth,zg(this,Ri,"f").height=I.displayHeight,A.n=1,createImageBitmap(I);case 1:if(g=A.v,zg(this,Ni,"f").transferFromImageBitmap(g),!(zg(this,Ri,"f")instanceof OffscreenCanvas)){A.n=3;break}return A.n=2,zg(this,Ri,"f").convertToBlob({type:"image/png"});case 2:return A.a(2,A.v);case 3:return A.a(2,new Promise(function(A,I){zg(i,Ri,"f").toBlob(function(g){g?A(g):I(new Error("Failed to convert canvas to blob"))},"image/png")}));case 4:return A.a(2)}},A,this)})),function(I){return A.apply(this,arguments)})}]);var A}();Ri=new WeakMap,Ni=new WeakMap;var Ji,mi,qi,bi,xi,Ti,Wi,Oi,Pi,Zi,Xi,Vi,ji,zi,_i,$i,AC,IC,gC,iC,CC,QC,BC,eC,EC,tC,oC,nC,aC,rC=["codec","renderer"],sC=new Ki(function(){return new Ui},4),hC=function(){return d(function A(I){var g=this,i=I.codec,C=I.renderer,Q=function(A,I){if(null==A)return{};var g,i,C=function(A,I){if(null==A)return{};var g={};for(var i in A)if({}.hasOwnProperty.call(A,i)){if(-1!==I.indexOf(i))continue;g[i]=A[i]}return g}(A,I);if(Object.getOwnPropertySymbols){var Q=Object.getOwnPropertySymbols(A);for(i=0;i<Q.length;i++)g=Q[i],-1===I.indexOf(g)&&{}.propertyIsEnumerable.call(A,g)&&(C[g]=A[g])}return C}(I,rC);n(this,A),Ji.add(this),mi.set(this,void 0),qi.set(this,void 0),bi.set(this,void 0),xi.set(this,void 0),Ti.set(this,void 0),Wi.set(this,void 0),Oi.set(this,void 0),Pi.set(this,0),Zi.set(this,0),Xi.set(this,0),Vi.set(this,new Mi),ji.set(this,0),zi.set(this,0),_i.set(this,void 0),$i.set(this,!1),AC.set(this,void 0),IC.set(this,void 0),gC.set(this,0),iC.set(this,0),CC.set(this,0),QC.set(this,0),BC.set(this,0),eC.set(this,0),nC.set(this,function(A,I){zg(g,qi,"f").setSize(A,I),_g(g,ji,A,"f"),_g(g,zi,I,"f"),zg(g,Vi,"f").fire({width:A,height:I})}),aC.set(this,function(){zg(g,Pi,"f")>0&&(_g(g,Zi,zg(g,Zi,"f")+1,"f"),_g(g,Xi,zg(g,Xi,"f")+(zg(g,Pi,"f")-1),"f"),_g(g,Pi,0,"f")),_g(g,gC,requestAnimationFrame(zg(g,aC,"f")),"f")}),_g(this,mi,i,"f"),_g(this,qi,C,"f"),_g(this,bi,Q,"f"),_g(this,_i,new VideoDecoder({output:function(A){var I;if(_g(g,iC,zg(g,iC,"f")+1,"f"),null===(I=zg(g,IC,"f"))||void 0===I||I.close(),_g(g,IC,A.clone(),"f"),zg(g,$i,"f"))return zg(g,AC,"f")&&(zg(g,AC,"f").close(),_g(g,Xi,zg(g,Xi,"f")+1,"f")),void _g(g,AC,A,"f");zg(g,Ji,"m",oC).call(g,A)},error:function(A){zg(g,Ji,"m",EC).call(g,A)}}),"f");var B=S(S({},zg(this,bi,"f")),{},{onStats:function(A){var I,i,C=zg(g,Zi,"f"),Q=zg(g,Xi,"f"),B=zg(g,iC,"f"),e=zg(g,Ji,"m",tC).call(g),E=zg(g,QC,"f")>0?(e-zg(g,QC,"f"))/1e3:1,t=E>0?E:1;A.renderedFrames=C,A.renderSkippedFrames=Q,A.renderFps=(C-zg(g,BC,"f"))/t,A.decodedOutputFrames=B,A.decodedOutputFps=(B-zg(g,CC,"f"))/t,A.width=zg(g,ji,"f"),A.height=zg(g,zi,"f"),_g(g,BC,C,"f"),_g(g,eC,Q,"f"),_g(g,CC,B,"f"),_g(g,QC,e,"f"),A.decoderType="webcodecs",null===(I=(i=zg(g,bi,"f")).onStats)||void 0===I||I.call(i,A)}});if(zg(this,mi,"f")!==EA)throw new Error("Unsupported codec: ".concat(zg(this,mi,"f")));_g(this,xi,new li(zg(this,_i,"f"),zg(this,nC,"f"),B),"f"),_g(this,Ti,new VA({start:function(A){zg(g,Wi,"f")?A.error(zg(g,Wi,"f")):_g(g,Oi,A,"f")},write:function(A){zg(g,xi,"f").decode(A)}}),"f"),zg(this,aC,"f").call(this)},[{key:"codec",get:function(){return zg(this,mi,"f")}},{key:"renderer",get:function(){return zg(this,qi,"f")}},{key:"writable",get:function(){return zg(this,Ti,"f")}},{key:"framesRendered",get:function(){return zg(this,Zi,"f")}},{key:"framesSkipped",get:function(){return zg(this,Xi,"f")}},{key:"sizeChanged",get:function(){return zg(this,Vi,"f").event}},{key:"width",get:function(){return zg(this,ji,"f")}},{key:"height",get:function(){return zg(this,zi,"f")}},{key:"decodeQueueSize",get:function(){return zg(this,_i,"f").decodeQueueSize}},{key:"snapshot",value:(A=e(k().m(function A(){var I,g,i;return k().w(function(A){for(;;)switch(A.n){case 0:if(I=zg(this,IC,"f")){A.n=1;break}return A.a(2,void 0);case 1:return A.n=2,sC.borrow();case 2:return g=A.v,A.n=3,g.capture(I);case 3:return i=A.v,sC.return(g),A.a(2,i)}},A,this)})),function(){return A.apply(this,arguments)})},{key:"dispose",value:function(){var A,I;cancelAnimationFrame(zg(this,gC,"f")),"closed"!==zg(this,_i,"f").state&&zg(this,_i,"f").close(),zg(this,xi,"f").dispose(),null===(A=zg(this,AC,"f"))||void 0===A||A.close(),null===(I=zg(this,IC,"f"))||void 0===I||I.close()}}],[{key:"isSupported",get:function(){return void 0!==globalThis.VideoDecoder}}]);var A}();function cC(A){return A&&A.__esModule&&Object.prototype.hasOwnProperty.call(A,"default")?A.default:A}mi=new WeakMap,qi=new WeakMap,bi=new WeakMap,xi=new WeakMap,Ti=new WeakMap,Wi=new WeakMap,Oi=new WeakMap,Pi=new WeakMap,Zi=new WeakMap,Xi=new WeakMap,Vi=new WeakMap,ji=new WeakMap,zi=new WeakMap,_i=new WeakMap,$i=new WeakMap,AC=new WeakMap,IC=new WeakMap,gC=new WeakMap,iC=new WeakMap,CC=new WeakMap,QC=new WeakMap,BC=new WeakMap,eC=new WeakMap,nC=new WeakMap,aC=new WeakMap,Ji=new WeakSet,EC=function(A){if(zg(this,Oi,"f"))try{zg(this,Oi,"f").error(A)}catch(A){}else _g(this,Wi,A,"f")},tC=function(){return"undefined"!=typeof performance?performance.now():Date.now()},oC=function(){var A=e(k().m(function A(g){var i,C;return k().w(function(A){for(;;)switch(A.p=A.n){case 0:return A.p=0,_g(this,$i,!0,"f"),zg(this,nC,"f").call(this,g.displayWidth,g.displayHeight),A.n=1,zg(this,qi,"f").draw(g);case 1:if(_g(this,Pi,zg(this,Pi,"f")+1,"f"),g.close(),!zg(this,AC,"f")){A.n=2;break}return i=zg(this,AC,"f"),_g(this,AC,void 0,"f"),A.n=2,zg(this,Ji,"m",I).call(this,i);case 2:_g(this,$i,!1,"f"),A.n=4;break;case 3:A.p=3,C=A.v,zg(this,Ji,"m",EC).call(this,C);case 4:return A.a(2)}},A,this,[[0,3]])}));function I(I){return A.apply(this,arguments)}return I}(),hC.capabilities={h264:{}};var dC={validateDimension:function(A){if(A<=0||A!==(0|A))throw"YUV plane dimensions must be a positive integer"},validateOffset:function(A){if(A<0||A!==(0|A))throw"YUV plane offsets must be a non-negative integer"},format:function(A){var I=A.width,g=A.height,i=A.chromaWidth||I,C=A.chromaHeight||g,Q=A.cropLeft||0,B=A.cropTop||0,e=A.cropWidth||I-Q,E=A.cropHeight||g-B,t=A.displayWidth||e,o=A.displayHeight||E;return this.validateDimension(I),this.validateDimension(g),this.validateDimension(i),this.validateDimension(C),this.validateOffset(Q),this.validateOffset(B),this.validateDimension(e),this.validateDimension(E),this.validateDimension(t),this.validateDimension(o),{width:I,height:g,chromaWidth:i,chromaHeight:C,cropLeft:Q,cropTop:B,cropWidth:e,cropHeight:E,displayWidth:t,displayHeight:o}},suitableStride:function(A){dC.validateDimension(A);var I=A%4;return 0==I?A:A+(4-I)},allocPlane:function(A,I,g,i,C){var Q,B;if(this.validateDimension(A),this.validateDimension(I),C=C||0,i=i||this.suitableStride(A),this.validateDimension(i),i<A)throw"Invalid input stride for YUV plane; must be larger than width";if(Q=i*I,g){if(g.length-C<Q)throw"Invalid input buffer for YUV plane; must be large enough for stride times height";B=g.slice(C,C+Q)}else B=new Uint8Array(Q),i=i||this.suitableStride(A);return{bytes:B,stride:i}},lumaPlane:function(A,I,g,i){return this.allocPlane(A.width,A.height,I,g,i)},chromaPlane:function(A,I,g,i){return this.allocPlane(A.chromaWidth,A.chromaHeight,I,g,i)},frame:function(A,I,g,i){return{format:A,y:I=I||this.lumaPlane(A),u:g=g||this.chromaPlane(A),v:i=i||this.chromaPlane(A)}},copyPlane:function(A){return{bytes:A.bytes.slice(),stride:A.stride}},copyFrame:function(A){return{format:A.format,y:this.copyPlane(A.y),u:this.copyPlane(A.u),v:this.copyPlane(A.v)}},transferables:function(A){return[A.y.bytes.buffer,A.u.bytes.buffer,A.v.bytes.buffer]}},DC=cC(dC),uC={exports:{}},yC={exports:{}};!function(){function A(A,I){throw new Error("abstract")}A.prototype.drawFrame=function(A){throw new Error("abstract")},A.prototype.clear=function(){throw new Error("abstract")},yC.exports=A}();var lC=yC.exports,GC={exports:{}},wC={exports:{}},fC={exports:{}};fC.exports=
|
|
4
|
+
/**
|
|
5
|
+
* Convert a ratio into a bit-shift count; for instance a ratio of 2
|
|
6
|
+
* becomes a bit-shift of 1, while a ratio of 1 is a bit-shift of 0.
|
|
7
|
+
*
|
|
8
|
+
* @author Brooke Vibber <bvibber@pobox.com>
|
|
9
|
+
* @copyright 2016-2024
|
|
10
|
+
* @license MIT-style
|
|
11
|
+
*
|
|
12
|
+
* @param {number} ratio - the integer ratio to convert.
|
|
13
|
+
* @returns {number} - number of bits to shift to multiply/divide by the ratio.
|
|
14
|
+
* @throws exception if given a non-power-of-two
|
|
15
|
+
*/
|
|
16
|
+
function(A){for(var I=0,g=A>>1;0!=g;)g>>=1,I++;if(A!==1<<I)throw"chroma plane dimensions must be power of 2 ratio to luma plane dimensions; got "+A;return I};var SC=fC.exports;!function(){var A=SC;
|
|
17
|
+
/**
|
|
18
|
+
* Basic YCbCr->RGB conversion
|
|
19
|
+
*
|
|
20
|
+
* @author Brooke Vibber <bvibber@pobox.com>
|
|
21
|
+
* @copyright 2014-2024
|
|
22
|
+
* @license MIT-style
|
|
23
|
+
*
|
|
24
|
+
* @param {YUVFrame} buffer - input frame buffer
|
|
25
|
+
* @param {Uint8ClampedArray} output - array to draw RGBA into
|
|
26
|
+
* Assumes that the output array already has alpha channel set to opaque.
|
|
27
|
+
*/wC.exports={convertYCbCr:function(I,g){var i=0|I.format.width,C=0|I.format.height,Q=0|A(I.format.width/I.format.chromaWidth),B=0|A(I.format.height/I.format.chromaHeight),e=I.y.bytes,E=I.u.bytes,t=I.v.bytes,o=0|I.y.stride,n=0|I.u.stride,a=0|I.v.stride,r=i<<2,s=0,h=0,c=0,d=0,D=0,u=0,y=0,l=0,G=0,w=0,f=0,S=0,k=0,p=0,R=0,N=0,L=0,F=0;if(1==Q&&1==B)for(y=0,l=r,F=0,N=0;N<C;N+=2){for(c=(h=N*o|0)+o|0,d=F*n|0,D=F*a|0,R=0;R<i;R+=2)G=0|E[d++],S=(409*(w=0|t[D++])|0)-57088|0,k=(100*G|0)+(208*w|0)-34816|0,p=(516*G|0)-70912|0,f=298*e[h++]|0,g[y]=f+S>>8,g[y+1]=f-k>>8,g[y+2]=f+p>>8,y+=4,f=298*e[h++]|0,g[y]=f+S>>8,g[y+1]=f-k>>8,g[y+2]=f+p>>8,y+=4,f=298*e[c++]|0,g[l]=f+S>>8,g[l+1]=f-k>>8,g[l+2]=f+p>>8,l+=4,f=298*e[c++]|0,g[l]=f+S>>8,g[l+1]=f-k>>8,g[l+2]=f+p>>8,l+=4;y+=r,l+=r,F++}else for(u=0,N=0;N<C;N++)for(L=0,s=N*o|0,d=(F=N>>B)*n|0,D=F*a|0,R=0;R<i;R++)G=0|E[d+(L=R>>Q)],S=(409*(w=0|t[D+L])|0)-57088|0,k=(100*G|0)+(208*w|0)-34816|0,p=(516*G|0)-70912|0,f=298*e[s++]|0,g[u]=f+S>>8,g[u+1]=f-k>>8,g[u+2]=f+p>>8,u+=4}}}();var kC=wC.exports;!function(){var A=lC,I=kC;function g(A){var g=this,i=A.getContext("2d"),C=null,Q=null,B=null;return g.drawFrame=function(g){var e=g.format;A.width===e.displayWidth&&A.height===e.displayHeight||(A.width=e.displayWidth,A.height=e.displayHeight),null!==C&&C.width==e.width&&C.height==e.height||function(A,I){for(var g=(C=i.createImageData(A,I)).data,Q=A*I*4,B=0;B<Q;B+=4)g[B+3]=255}(e.width,e.height),I.convertYCbCr(g,C.data);var E,t,o,n=e.cropWidth!=e.displayWidth||e.cropHeight!=e.displayHeight;n?(Q||(t=e.cropWidth,o=e.cropHeight,(Q=document.createElement("canvas")).width=t,Q.height=o,B=Q.getContext("2d")),E=B):E=i,E.putImageData(C,-e.cropLeft,-e.cropTop,e.cropLeft,e.cropTop,e.cropWidth,e.cropHeight),n&&i.drawImage(Q,0,0,e.displayWidth,e.displayHeight)},g.clear=function(){i.clearRect(0,0,A.width,A.height)},g}g.prototype=Object.create(A.prototype),GC.exports=g}();var pC=GC.exports,RC={exports:{}},NC={vertex:"precision mediump float;\n\nattribute vec2 aPosition;\nattribute vec2 aLumaPosition;\nattribute vec2 aChromaPosition;\nvarying vec2 vLumaPosition;\nvarying vec2 vChromaPosition;\nvoid main() {\n gl_Position = vec4(aPosition, 0, 1);\n vLumaPosition = aLumaPosition;\n vChromaPosition = aChromaPosition;\n}\n",fragment:"// inspired by https://github.com/mbebenita/Broadway/blob/master/Player/canvas.js\n\nprecision mediump float;\n\nuniform sampler2D uTextureY;\nuniform sampler2D uTextureCb;\nuniform sampler2D uTextureCr;\nvarying vec2 vLumaPosition;\nvarying vec2 vChromaPosition;\nvoid main() {\n // Y, Cb, and Cr planes are uploaded as ALPHA textures.\n float fY = texture2D(uTextureY, vLumaPosition).w;\n float fCb = texture2D(uTextureCb, vChromaPosition).w;\n float fCr = texture2D(uTextureCr, vChromaPosition).w;\n\n // Premultipy the Y...\n float fYmul = fY * 1.1643828125;\n\n // And convert that to RGB!\n gl_FragColor = vec4(\n fYmul + 1.59602734375 * fCr - 0.87078515625,\n fYmul - 0.39176171875 * fCb - 0.81296875 * fCr + 0.52959375,\n fYmul + 2.017234375 * fCb - 1.081390625,\n 1\n );\n}\n",vertexStripe:"precision mediump float;\n\nattribute vec2 aPosition;\nattribute vec2 aTexturePosition;\nvarying vec2 vTexturePosition;\n\nvoid main() {\n gl_Position = vec4(aPosition, 0, 1);\n vTexturePosition = aTexturePosition;\n}\n",fragmentStripe:"// extra 'stripe' texture fiddling to work around IE 11's poor performance on gl.LUMINANCE and gl.ALPHA textures\n\nprecision mediump float;\n\nuniform sampler2D uStripe;\nuniform sampler2D uTexture;\nvarying vec2 vTexturePosition;\nvoid main() {\n // Y, Cb, and Cr planes are mapped into a pseudo-RGBA texture\n // so we can upload them without expanding the bytes on IE 11\n // which doesn't allow LUMINANCE or ALPHA textures\n // The stripe textures mark which channel to keep for each pixel.\n // Each texture extraction will contain the relevant value in one\n // channel only.\n\n float fLuminance = dot(\n texture2D(uStripe, vTexturePosition),\n texture2D(uTexture, vTexturePosition)\n );\n\n gl_FragColor = vec4(0, 0, 0, fLuminance);\n}\n"};!function(){var A=lC,I=NC;function g(A){var i,C,Q=this,B=g.contextForCanvas(A);if(null===B)throw new Error("WebGL unavailable");function e(A,I){var g=B.createShader(A);if(B.shaderSource(g,I),B.compileShader(g),!B.getShaderParameter(g,B.COMPILE_STATUS)){var i=B.getShaderInfoLog(g);throw B.deleteShader(g),new Error("GL shader compilation for "+A+" failed: "+i)}return g}var E,t,o,n,a,r,s,h,c,d,D=new Float32Array([-1,-1,1,-1,-1,1,-1,1,1,-1,1,1]),u={},y={},l={};function G(A,I){return u[A]&&!I||(u[A]=B.createTexture()),u[A]}function w(A,I,i,C,Q){var e=!u[A]||I,E=G(A,I);if(B.activeTexture(B.TEXTURE0),g.stripe){var t=!u[A+"_temp"]||I,o=G(A+"_temp",I);B.bindTexture(B.TEXTURE_2D,o),t?(B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_S,B.CLAMP_TO_EDGE),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_T,B.CLAMP_TO_EDGE),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MIN_FILTER,B.NEAREST),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MAG_FILTER,B.NEAREST),B.texImage2D(B.TEXTURE_2D,0,B.RGBA,i/4,C,0,B.RGBA,B.UNSIGNED_BYTE,Q)):B.texSubImage2D(B.TEXTURE_2D,0,0,0,i/4,C,B.RGBA,B.UNSIGNED_BYTE,Q);var n=u[A+"_stripe"],a=!n||I;a&&(n=G(A+"_stripe",I)),B.bindTexture(B.TEXTURE_2D,n),a&&(B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_S,B.CLAMP_TO_EDGE),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_T,B.CLAMP_TO_EDGE),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MIN_FILTER,B.NEAREST),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MAG_FILTER,B.NEAREST),B.texImage2D(B.TEXTURE_2D,0,B.RGBA,i,1,0,B.RGBA,B.UNSIGNED_BYTE,function(A){if(l[A])return l[A];for(var I=A,g=new Uint32Array(I),i=0;i<I;i+=4)g[i]=255,g[i+1]=65280,g[i+2]=16711680,g[i+3]=4278190080;return l[A]=new Uint8Array(g.buffer)}(i)))}else B.bindTexture(B.TEXTURE_2D,E),e?(B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_S,B.CLAMP_TO_EDGE),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_T,B.CLAMP_TO_EDGE),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MIN_FILTER,B.LINEAR),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MAG_FILTER,B.LINEAR),B.texImage2D(B.TEXTURE_2D,0,B.ALPHA,i,C,0,B.ALPHA,B.UNSIGNED_BYTE,Q)):B.texSubImage2D(B.TEXTURE_2D,0,0,0,i,C,B.ALPHA,B.UNSIGNED_BYTE,Q)}function f(A,I,g,i){var Q=u[A];B.useProgram(C);var e=y[A];e&&!I||(B.activeTexture(B.TEXTURE0),B.bindTexture(B.TEXTURE_2D,Q),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_S,B.CLAMP_TO_EDGE),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_T,B.CLAMP_TO_EDGE),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MIN_FILTER,B.LINEAR),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MAG_FILTER,B.LINEAR),B.texImage2D(B.TEXTURE_2D,0,B.RGBA,g,i,0,B.RGBA,B.UNSIGNED_BYTE,null),e=y[A]=B.createFramebuffer()),B.bindFramebuffer(B.FRAMEBUFFER,e),B.framebufferTexture2D(B.FRAMEBUFFER,B.COLOR_ATTACHMENT0,B.TEXTURE_2D,Q,0);var s=u[A+"_temp"];B.activeTexture(B.TEXTURE1),B.bindTexture(B.TEXTURE_2D,s),B.uniform1i(r,1);var h=u[A+"_stripe"];B.activeTexture(B.TEXTURE2),B.bindTexture(B.TEXTURE_2D,h),B.uniform1i(a,2),B.bindBuffer(B.ARRAY_BUFFER,E),B.enableVertexAttribArray(t),B.vertexAttribPointer(t,2,B.FLOAT,!1,0,0),B.bindBuffer(B.ARRAY_BUFFER,o),B.enableVertexAttribArray(n),B.vertexAttribPointer(n,2,B.FLOAT,!1,0,0),B.viewport(0,0,g,i),B.drawArrays(B.TRIANGLES,0,D.length/2),B.bindFramebuffer(B.FRAMEBUFFER,null)}function S(A,I,g){B.activeTexture(I),B.bindTexture(B.TEXTURE_2D,u[A]),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_S,B.CLAMP_TO_EDGE),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_T,B.CLAMP_TO_EDGE),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MIN_FILTER,B.LINEAR),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MAG_FILTER,B.LINEAR),B.uniform1i(B.getUniformLocation(i,A),g)}function k(A,I){var g=e(B.VERTEX_SHADER,A),i=e(B.FRAGMENT_SHADER,I),C=B.createProgram();if(B.attachShader(C,g),B.attachShader(C,i),B.linkProgram(C),!B.getProgramParameter(C,B.LINK_STATUS)){var Q=B.getProgramInfoLog(C);throw B.deleteProgram(C),new Error("GL program linking failed: "+Q)}return C}return Q.drawFrame=function(e){var u=e.format,y=!i||A.width!==u.displayWidth||A.height!==u.displayHeight;if(y&&(A.width=u.displayWidth,A.height=u.displayHeight,Q.clear()),i||function(){if(g.stripe){C=k(I.vertexStripe,I.fragmentStripe),B.getAttribLocation(C,"aPosition"),o=B.createBuffer();var A=new Float32Array([0,0,1,0,0,1,0,1,1,0,1,1]);B.bindBuffer(B.ARRAY_BUFFER,o),B.bufferData(B.ARRAY_BUFFER,A,B.STATIC_DRAW),n=B.getAttribLocation(C,"aTexturePosition"),a=B.getUniformLocation(C,"uStripe"),r=B.getUniformLocation(C,"uTexture")}i=k(I.vertex,I.fragment),E=B.createBuffer(),B.bindBuffer(B.ARRAY_BUFFER,E),B.bufferData(B.ARRAY_BUFFER,D,B.STATIC_DRAW),t=B.getAttribLocation(i,"aPosition"),s=B.createBuffer(),h=B.getAttribLocation(i,"aLumaPosition"),c=B.createBuffer(),d=B.getAttribLocation(i,"aChromaPosition")}(),y){var l=function(A,I,g){var i=u.cropLeft/g,C=(u.cropLeft+u.cropWidth)/g,Q=(u.cropTop+u.cropHeight)/u.height,e=u.cropTop/u.height,E=new Float32Array([i,Q,C,Q,i,e,i,e,C,Q,C,e]);B.bindBuffer(B.ARRAY_BUFFER,A),B.bufferData(B.ARRAY_BUFFER,E,B.STATIC_DRAW)};l(s,0,e.y.stride),l(c,0,e.u.stride*u.width/u.chromaWidth)}w("uTextureY",y,e.y.stride,u.height,e.y.bytes),w("uTextureCb",y,e.u.stride,u.chromaHeight,e.u.bytes),w("uTextureCr",y,e.v.stride,u.chromaHeight,e.v.bytes),g.stripe&&(f("uTextureY",y,e.y.stride,u.height),f("uTextureCb",y,e.u.stride,u.chromaHeight),f("uTextureCr",y,e.v.stride,u.chromaHeight)),B.useProgram(i),B.viewport(0,0,A.width,A.height),S("uTextureY",B.TEXTURE0,0),S("uTextureCb",B.TEXTURE1,1),S("uTextureCr",B.TEXTURE2,2),B.bindBuffer(B.ARRAY_BUFFER,E),B.enableVertexAttribArray(t),B.vertexAttribPointer(t,2,B.FLOAT,!1,0,0),B.bindBuffer(B.ARRAY_BUFFER,s),B.enableVertexAttribArray(h),B.vertexAttribPointer(h,2,B.FLOAT,!1,0,0),B.bindBuffer(B.ARRAY_BUFFER,c),B.enableVertexAttribArray(d),B.vertexAttribPointer(d,2,B.FLOAT,!1,0,0),B.drawArrays(B.TRIANGLES,0,D.length/2)},Q.clear=function(){B.viewport(0,0,A.width,A.height),B.clearColor(0,0,0,0),B.clear(B.COLOR_BUFFER_BIT)},Q.clear(),Q}g.stripe=!1,g.contextForCanvas=function(A){var I={preferLowPowerToHighPerformance:!0,powerPreference:"low-power",failIfMajorPerformanceCaveat:!0,preserveDrawingBuffer:!0};return A.getContext("webgl",I)||A.getContext("experimental-webgl",I)},g.isAvailable=function(){var A,I=document.createElement("canvas");I.width=1,I.height=1;try{A=g.contextForCanvas(I)}catch(A){return!1}if(A){var i=A.TEXTURE0,C=A.createTexture(),Q=new Uint8Array(16),B=g.stripe?1:4,e=g.stripe?A.RGBA:A.ALPHA,E=g.stripe?A.NEAREST:A.LINEAR;return A.activeTexture(i),A.bindTexture(A.TEXTURE_2D,C),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_WRAP_S,A.CLAMP_TO_EDGE),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_WRAP_T,A.CLAMP_TO_EDGE),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MIN_FILTER,E),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MAG_FILTER,E),A.texImage2D(A.TEXTURE_2D,0,e,B,4,0,e,A.UNSIGNED_BYTE,Q),!A.getError()}return!1},g.prototype=Object.create(A.prototype),RC.exports=g}();var LC=RC.exports;!function(){var A=pC,I=LC,g={FrameSink:lC,SoftwareFrameSink:A,WebGLFrameSink:I,attach:function(g,i){return("webGL"in(i=i||{})?i.webGL:I.isAvailable())?new I(g,i):new A(g,i)}};uC.exports=g}();var FC,HC,YC,vC=cC(uC.exports),MC=!1,KC=[],UC=0,JC=new Map;var mC,qC,bC,xC,TC,WC,OC,PC,ZC,XC,VC,jC=function(A){function I(A){var g;return n(this,I),g=t(this,I),FC.set(g,new Hi),HC.set(g,function(A){zg(g,FC,"f").fire(A)}),g.streamId=A,g.addDisposable(function(A,I){return JC.set(A,I),{dispose:function(){JC.delete(A)}}}(A,zg(g,HC,"f"))),g}return G(I,A),d(I,[{key:"onPictureReady",get:function(){return zg(this,FC,"f").event}},{key:"feed",value:function(A){YC.postMessage({type:"decode",data:A,offset:0,length:A.byteLength,renderStateId:this.streamId},[A])}},{key:"dispose",value:function(){F(I,"dispose",this,3)([]),YC.postMessage({type:"release",renderStateId:this.streamId})}}])}(Fi);function zC(){if(!YC){var A;try{A='"use strict";(()=>{var R=(function(){function S(A,E){this.tinyH264Module=A,this.onPictureReady=E,this.pStorage=this.tinyH264Module._h264bsdAlloc(),this.pWidth=this.tinyH264Module._malloc(4),this.pHeight=this.tinyH264Module._malloc(4),this.pPicture=this.tinyH264Module._malloc(4),this._decBuffer=this.tinyH264Module._malloc(1048576),this.tinyH264Module._h264bsdInit(this.pStorage,0)}var K=S.prototype;return K.release=function(){var E=this.pStorage;E!==0&&(this.tinyH264Module._h264bsdShutdown(E),this.tinyH264Module._h264bsdFree(E)),this.tinyH264Module._free(this.pWidth),this.tinyH264Module._free(this.pHeight),this.tinyH264Module._free(this.pPicture),this.pStorage=0,this.pWidth=0,this.pHeight=0},K.decode=function(E){E instanceof ArrayBuffer&&(E=new Uint8Array(E)),this.tinyH264Module.HEAPU8.set(E,this._decBuffer);var w=this.tinyH264Module._h264bsdDecode(this.pStorage,this._decBuffer,E.byteLength,this.pPicture,this.pWidth,this.pHeight);if(w===S.PIC_RDY){var G=this.tinyH264Module.getValue(this.pWidth,"i32"),i=this.tinyH264Module.getValue(this.pHeight,"i32"),N=this.tinyH264Module.getValue(this.pPicture,"i8*"),k=new Uint8Array(this.tinyH264Module.HEAPU8.subarray(N,N+G*i*3/2));this.onPictureReady(k,G,i)}},S})();R.RDY=0;R.PIC_RDY=1;R.HDRS_RDY=2;R.ERROR=3;R.PARAM_SET_ERROR=4;R.MEMALLOC_ERROR=5;var gA=R;var lA=(function(){var S=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return function(A){A=A||{};var A=typeof A<"u"?A:{},E,w;A.ready=new Promise(function(I,g){E=I,w=g});var G={},i;for(i in A)A.hasOwnProperty(i)&&(G[i]=A[i]);var N=[],k="./this.program",r=function(g,Q){throw Q},X=!1,d=!0,a="";function CA(I){return A.locateFile?A.locateFile(I,a):a+I}var BA,EA,n,iA;(X||d)&&(d?a=self.location.href:typeof document<"u"&&document.currentScript&&(a=document.currentScript.src),S&&(a=S),a.indexOf("blob:")!==0?a=a.substr(0,a.lastIndexOf("/")+1):a="",BA=function(g){try{var Q=new XMLHttpRequest;return Q.open("GET",g,!1),Q.send(null),Q.responseText}catch(B){var C=U(g);if(C)return UA(C);throw B}},d&&(n=function(g){try{var Q=new XMLHttpRequest;return Q.open("GET",g,!1),Q.responseType="arraybuffer",Q.send(null),new Uint8Array(Q.response)}catch(B){var C=U(g);if(C)return C;throw B}}),EA=function(g,Q,C){var B=new XMLHttpRequest;B.open("GET",g,!0),B.responseType="arraybuffer",B.onload=function(){if(B.status==200||B.status==0&&B.response){Q(B.response);return}var y=U(g);if(y){Q(y.buffer);return}C()},B.onerror=C,B.send(null)},iA=function(g){document.title=g});var OA=A.print||console.log.bind(console),H=A.printErr||console.warn.bind(console);for(i in G)G.hasOwnProperty(i)&&(A[i]=G[i]);G=null,A.arguments&&(N=A.arguments),A.thisProgram&&(k=A.thisProgram),A.quit&&(r=A.quit);var F;A.wasmBinary&&(F=A.wasmBinary);var TA=A.noExitRuntime||!0;typeof WebAssembly!="object"&&J("no native wasm support detected");function DA(I,g,Q){switch(g=g||"i8",g.charAt(g.length-1)==="*"&&(g="i32"),g){case"i1":return p[I>>0];case"i8":return p[I>>0];case"i16":return V[I>>1];case"i32":return Z[I>>2];case"i64":return Z[I>>2];case"float":return P[I>>2];case"double":return u[I>>3];default:J("invalid type for getValue: "+g)}return null}var q,b=!1,GA;function oA(I,g){I||J("Assertion failed: "+g)}function hA(I,g){return I%g>0&&(I+=g-I%g),I}var j,p,W,V,aA,Z,yA,P,u;function z(I){j=I,A.HEAP8=p=new Int8Array(I),A.HEAP16=V=new Int16Array(I),A.HEAP32=Z=new Int32Array(I),A.HEAPU8=W=new Uint8Array(I),A.HEAPU16=aA=new Uint16Array(I),A.HEAPU32=yA=new Uint32Array(I),A.HEAPF32=P=new Float32Array(I),A.HEAPF64=u=new Float64Array(I)}var XA=A.INITIAL_MEMORY||16777216,e,v=[],_=[],$=[],SA=!1;function NA(){if(A.preRun)for(typeof A.preRun=="function"&&(A.preRun=[A.preRun]);A.preRun.length;)LA(A.preRun.shift());m(v)}function sA(){SA=!0,m(_)}function wA(){if(A.postRun)for(typeof A.postRun=="function"&&(A.postRun=[A.postRun]);A.postRun.length;)kA(A.postRun.shift());m($)}function LA(I){v.unshift(I)}function RA(I){_.unshift(I)}function kA(I){$.unshift(I)}var L=0,f=null,Y=null;function HA(I){L++,A.monitorRunDependencies&&A.monitorRunDependencies(L)}function FA(I){if(L--,A.monitorRunDependencies&&A.monitorRunDependencies(L),L==0&&(f!==null&&(clearInterval(f),f=null),Y)){var g=Y;Y=null,g()}}A.preloadedImages={},A.preloadedAudios={};function J(I){A.onAbort&&A.onAbort(I),I+="",H(I),b=!0,GA=1,I="abort("+I+"). Build with -s ASSERTIONS=1 for more info.";var g=new WebAssembly.RuntimeError(I);throw w(g),g}var AA="data:application/octet-stream;base64,";function x(I){return I.startsWith(AA)}var h;h="data:application/octet-stream;base64,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BEADQCAPQQFrIQ8gASAJIAwQByAIaiEBIAQgCWohCSACQQFrIgINAAsLIAUgB2ogA2ogBSAVIAUgFUobQX9zaiADQQAgA0EAShtrQQNJDQEDQCABIAkgDBAHIAhqIAQgCWoiACAMEAcgCGogACAEaiIAIAwQByAIaiAAIARqIgAgDBAHIAhqIQEgACAEaiEJIA9BBGsiDw0ACwwBCwJAIApFDQACQCAMRQRAIAlBAWshAiALRQRAIA1FDQIgA0F/cyADQQAgA0EAShtqIQAgCkEDcSIDBEADQCAKQQFrIQogASACLQAAIA0QAyAIaiEBIANBAWsiAw0ACwsgAEEDSQ0DIApBBGsiAEEEcUUEQCAAIQogASACLQAAIA0QAyAIaiACLQAAIA0QAyAIaiACLQAAIA0QAyAIaiACLQAAIA0QAyAIaiEBCyAAQQRJDQMDQCABIAItAAAgDRADIAhqIAItAAAgDRADIAhqIAItAAAgDRADIAhqIAItAAAgDRADIAhqIAItAAAgDRADIAhqIAItAAAgDRADIAhqIAItAAAgDRADIAhqIAItAAAgDRADIAhqIQEgCkEIayIKDQALDAMLIANBf3MgA0EAIANBAEobaiEAIApBA3EhAyANBEAgAwRAA0AgASAJLQAAIAsQAyIBIAtqIAItAAAgDRADGiAKQQFrIQogASAIaiEBIANBAWsiAw0ACwsgAEEDSQ0DA0AgASAJLQAAIAsQAyIAIAtqIAItAAAgDRADGiAAIAhqIAktAAAgCxADIgAgC2ogAi0AACANEAMaIAAgCGogCS0AACALEAMiACALaiACLQAAIA0QAxogACAIaiAJLQAAIAsQAyIAIAtqIAItAAAgDRADGiAAIAhqIQEgCkEEayIKDQALDAMLIAMEQANAIApBAWshCiABIAktAAAgCxADIAhqIQEgA0EBayIDDQALCyAAQQNJDQIgCkEEayIAQQRxRQRAIAAhCiABIAktAAAgCxADIAhqIAktAAAgCxADIAhqIAktAAAgCxADIAhqIAktAAAgCxADIAhqIQELIABBBEkNAgNAIAEgCS0AACALEAMgCGogCS0AACALEAMgCGogCS0AACALEAMgCGogCS0AACALEAMgCGogCS0AACALEAMgCGogCS0AACALEAMgCGogCS0AACALEAMgCGogCS0AACALEAMgCGohASAKQQhrIgoNAAsMAgsgBCAGaiAOaiAEIBMgBCATShtBf3NqIQAgC0UEQCAMQQdxIRAgACAUayEAIA1FBEAgAEEHSSERA0AgDCEHIAEhAiAJIQMgECIABEADQCACIAMtAAA6AAAgB0EBayEHIAJBAWohAiADQQFqIQMgAEEBayIADQALCyARRQRAA0AgAiADLQAAOgAAIAIgAy0AAToAASACIAMtAAI6AAIgAiADLQADOgADIAIgAy0ABDoABCACIAMtAAU6AAUgAiADLQAGOgAGIAIgAy0ABzoAByACQQhqIQIgA0EIaiEDIAdBCGsiBw0ACwsgASAIaiEBIApBAWsiCg0ACwwDCyAAQQdJIRYDQCAMIQcgASECIAkhACAQIREgEARAA0AgAiAAIgMtAAA6AAAgB0EBayEHIAJBAWohAiADQQFqIQAgEUEBayIRDQALCyAWRQRAA0AgAiAAIgMtAAA6AAAgAiADLQABOgABIAIgAy0AAjoAAiACIAMtAAM6AAMgAiADLQAEOgAEIAIgAy0ABToABSACIAMtAAY6AAYgAiADLQAHOgAHIAJBCGohAiADQQhqIQAgB0EIayIHDQALIANBB2ohAwsgAiADLQAAIA0QAxogASAIaiEBIApBAWsiCg0ACwwCCyANBEAgDEEHcSEQIAAgDkEAIA5BAEoba0EHSSERA0AgASAJLQAAIAsQAyIWIAtqIQIgDCEHIAkhACAQIgEEQANAIAIgACIDLQAAOgAAIAdBAWshByACQQFqIQIgA0EBaiEAIAFBAWsiAQ0ACwsgEUUEQANAIAIgACIBLQAAOgAAIAIgAS0AAToAASACIAEtAAI6AAIgAiABLQADOgADIAIgAS0ABDoABCACIAEtAAU6AAUgAiABLQAGOgAGIAIgAS0ABzoAByACQQhqIQIgAUEIaiEAIAdBCGsiBw0ACyABQQdqIQMLIAIgAy0AACANEAMaIAggFmohASAKQQFrIgoNAAsMAgsgDEEHcSEQIAAgFGtBB0khEQNAIAEgCS0AACALEAMiASALaiECIAwhByAJIQMgECIABEADQCACIAMtAAA6AAAgB0EBayEHIAJBAWohAiADQQFqIQMgAEEBayIADQALCyARRQRAA0AgAiADLQAAOgAAIAIgAy0AAToAASACIAMtAAI6AAIgAiADLQADOgADIAIgAy0ABDoABCACIAMtAAU6AAUgAiADLQAGOgAGIAIgAy0ABzoAByACQQhqIQIgA0EIaiEDIAdBCGsiBw0ACwsgASAIaiEBIApBAWsiCg0ACwwBCyABIAggCmxqIQELIA9FDQAgDEEHcSEKIAQgBmogDmogBCATIAQgE0obQX9zaiAUa0EHSSEQA0AgASECIAsEQCABIAktAAAgCxADIAtqIQILAkAgDEUEQCAJIQMMAQsgDCEHIAkhAyAKIgAEQANAIAIgAy0AADoAACAHQQFrIQcgAkEBaiECIANBAWohAyAAQQFrIgANAAsLIBANAANAIAIgAy0AADoAACACIAMtAAE6AAEgAiADLQACOgACIAIgAy0AAzoAAyACIAMtAAQ6AAQgAiADLQAFOgAFIAIgAy0ABjoABiACIAMtAAc6AAcgAkEIaiECIANBCGohAyAHQQhrIgcNAAsLIA0EQCACIANBAWstAAAgDRADGgsgASAIaiEBIAQgCWohCSAPQQFrIg8NAAsLAkAgF0UNACAJIARrIQkgGEUEQCASQQNxIgIEQANAIBJBAWshEiABIAkgDBAHIAhqIQEgAkEBayICDQALCyAVIAVBf3NqQQNJDQEDQCABIAkgDBAHIAhqIAkgDBAHIAhqIAkgDBAHIAhqIAkgDBAHIAhqIQEgEkEEayISDQALDAELIAxBB3EhBSAEIAZqIA5qIAQgEyAEIBNKG0F/c2ogFGtBB0khBANAIAEhAiALBEAgASAJLQAAIAsQAyALaiECCwJAIAxFBEAgCSEDDAELIAwhByAJIQMgBSIABEADQCACIAMtAAA6AAAgB0EBayEHIAJBAWohAiADQQFqIQMgAEEBayIADQALCyAEDQADQCACIAMtAAA6AAAgAiADLQABOgABIAIgAy0AAjoAAiACIAMtAAM6AAMgAiADLQAEOgAEIAIgAy0ABToABSACIAMtAAY6AAYgAiADLQAHOgAHIAJBCGohAiADQQhqIQMgB0EIayIHDQALCyANBEAgAiADQQFrLQAAIA0QAxoLIAEgCGohASASQQFrIhINAAsLC8ACAQN/Qcz/swYgAXZBAXEhBCABQQN0IgNB5CxqLQAAIQUgA0GkK2otAAAhAwJAQfr1qwUgAXZBAXEEQCACIANBAXRqLgEAIQEgBARAIAEgAiAFQQF0ai4BAGpBAWpBAXUPCyAAKALMASICRQ0BIAAoAgQgAigCBEcNASABIAIgBUEBdGouARxqQQFqQQF1DwsgBARAIAIgBUEBdGouAQAhASAAKALIASICRQ0BIAAoAgQgAigCBEcNASABIAIgA0EBdGouARxqQQFqQQF1DwtBACEBQQEhAgJAIAAoAsgBIgRFDQAgACgCBCAEKAIERw0AIAQgA0EBdGouARwhAUEAIQILIAAoAswBIgNFDQAgACgCBCADKAIERw0AIAMgBUEBdGouARwhACACBEAgAA8LIAAgAWpBAWpBAXUhAQsgAQvyAwEDfyABKAIAIgNB////B0cEQCABKAIEIQQgACACIAJBA3EgAkEQSSICG0ECdCIFQfApaigCAEEQQQggAhsiAmxqIAVBsClqKAIAaiIAIAMgAC0AAGpBwDVqLQAAOgAAIAEoAgghAyAAIAQgAC0AAWpBwDVqLQAAOgABIAEoAgwhBCAAIAMgAC0AAmpBwDVqLQAAOgACIAAgBCAALQADakHANWotAAA6AAMgASgCFCEDIAAgAmoiACABKAIQIAAtAABqQcA1ai0AADoAACABKAIYIQQgACADIAAtAAFqQcA1ai0AADoAASABKAIcIQMgACAEIAAtAAJqQcA1ai0AADoAAiAAIAMgAC0AA2pBwDVqLQAAOgADIAEoAiQhAyAAIAJqIgAgASgCICAALQAAakHANWotAAA6AAAgASgCKCEEIAAgAyAALQABakHANWotAAA6AAEgASgCLCEDIAAgBCAALQACakHANWotAAA6AAIgACADIAAtAANqQcA1ai0AADoAAyABKAI0IQMgACACaiIAIAEoAjAgAC0AAGpBwDVqLQAAOgAAIAEoAjghAiAAIAMgAC0AAWpBwDVqLQAAOgABIAEoAjwhASAAIAIgAC0AAmpBwDVqLQAAOgACIAAgASAALQADakHANWotAAA6AAMLC5ckARR/IwBBgA5rIhUkACADIAVqIhkgAS4BACIOQQJ1aiEDIAQgBmoiGyABLgECIgtBAnVqIQkgAigCCEEEdCEMIAIoAgRBBHQhDSAAIAZBBHRqIAVqIQQCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIA5BA3FBBHQgC0EDcUECdHJBwDtqKAIADg8AAQIDBAUGBwgJCgsMDQ4PCyACKAIA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AjcCACAAIARqIgQgASkCmAI3AgAgACAEaiIEIAEpAqACNwIAIAAgBGoiBCABKQKoAjcCACAAIARqIgQgASkCsAI3AgAgACAEaiABKQK4AjcCACADIAEpAsACNwIAIAAgA2oiAyABKQLIAjcCACAAIANqIgMgASkC0AI3AgAgACADaiIDIAEpAtgCNwIAIAAgA2oiAyABKQLgAjcCACAAIANqIgMgASkC6AI3AgAgACADaiIDIAEpAvACNwIAIAAgA2ogASkC+AI3AgALbwEBfyMAQRBrIgIkACACQQA2AgwgACACQQxqEAIhAAJ/IAECfyACKAIMIgFBf0YEQEGAgICAeCAADQEaQQEMAgtBASAADQEaIAFBAWpBAXYiAEEAIABrIAFBAXEbCzYCAEEACyEAIAJBEGokACAACzYAIAIEQCAAIAEQAg8LQQEhAiABIABBARAUIgA2AgAgAEF/RwR/IAEgAEEBczYCAEEABUEBCwvaBwENfyMAQcADayIRJAAgBkEFaiEJAkACQCACQQBIDQAgAiAJaiAESw0AIANBAEgNACADIAdqQQVqIAVLDQAgBCEJIAMhCgwBCyAAIBEgAiADIAQgBSAJIAdBBWogCRAJIBEhAEEAIQILIAAgCSAKbCACamoiACAJIAhBAXZBAXFBAnJsakEFaiECQRAgBmshDCAJIAZrIQ4gBkECdiESIAhBAXEhFCAAIAlqIRUgByEPA0AgAkEBay0AACEAIAJBAmstAAAhCCACQQNrLQAAIQQgAkEEay0AACEKIAJBBWstAAAhCyASIQ0DQCABIAItAAAiAyALIAQgCGoiBUEEdGogACAKaiILayAFIAtrQQJ0ampBEGpBBXVBwDVqLQAAOgAAIAEgAi0AASIFIAogACAIaiILQQR0aiADIARqIgpraiALIAprQQJ0akEQakEFdUHANWotAAA6AAEgASACLQACIhAgBCAAIANqIgpBBHRqIAUgCGoiBGtqIAogBGtBAnRqQRBqQQV1QcA1ai0AADoAAiABIAItAAMiEyAIIAMgBWoiBEEEdGogACAQaiIIa2ogBCAIa0ECdGpBEGpBBXVBwDVqLQAAOgADIAFBBGohASACQQRqIQIgACELIAMhCiAFIQQgECEIIBMhACANQQFrIg0NAAsgASAMaiEBIAIgDmohAiAPQQFrIg8NAAsg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FwskAgICAwMDAwQEBAYGBwcICAkJCgoLCwwMDQ0ODg8PEBARERISAEHFGAuEAQEAAAEAAAEAAAEAAQEAAQEBAQEBAQEBAQEBAQEBAQIBAQIBAQIBAQIBAgMBAgMCAgMCAgQCAwQCAwQDAwUDBAYDBAYEBQcEBQgEBgkFBwoGCAsGCA0HCg4ICxAJDBIKDRQLDxcNERkAAAAAAAAAAAUAAAD/AAAAAAAAAP8AAAAAAAAA/wBB1BkLFQUAAAAAAAAABwAAAP8AAAAAAAAA/wBB9BkLFQUAAAAEAAAAAAAAAP8AAAAAAAAA/wBBlBoLBQUAAAAEAEGkGgulAQcAAAAEAAAAAgAAAAQAAAABAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAEAAAAEAAAAAwAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAQAAAAQAAAAEAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAABAAAABAAAAAQAAAAEAAAAAwAAAAQAAAAGAAAAAAAAAA0AAAD/AAAAAAAAAP8AAAAAAAAA/wBB1BsLFQ0AAAAAAAAADwAAAP8AAAAAAAAA/wBB9BsLFQ0AAAAEAAAACAAAAP8AAAAAAAAA/wBBlBwLtQsNAAAABAAAAAgAAAAAAAAADwAAAAQAAAAKAAAABAAAAAkAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAACQAAAAQAAAALAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAJAAAABAAAAAwAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAkAAAAEAAAADAAAAAQAAAALAAAABAAAAA4AAAABAAAACgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAKAAAABAAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAAoAAAABAAAACwAAAP8AAAAAAAAA/wAAAAAAAAABAAAACgAAAAEAAAALAAAABAAAAAAAAAAEAAAAAQAAAAEAAAAOAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAA4AAAAEAAAABAAAAP8AAAAAAAAA/wAAAAAAAAABAAAADgAAAAEAAAAPAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAOAAAAAQAAAA8AAAAEAAAABAAAAAQAAAAFAAAABAAAAAIAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAgAAAAQAAAAIAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAACAAAABAAAAAMAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAIAAAAEAAAAAwAAAAQAAAAIAAAABAAAAAkAAAAEAAAABgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAGAAAABAAAAAwAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAYAAAAEAAAABwAAAP8AAAAAAAAA/wAAAAAAAAAEAAAABgAAAAQAAAAHAAAABAAAAAwAAAAEAAAADQAAAAEAAAAOAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAA4AAAD/AAAABAAAAP8AAAAAAAAA/wAAAAAAAAABAAAACwAAAAEAAAAOAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAALAAAAAQAAAA4AAAAEAAAAAQAAAP8AAAAEAAAAAgAAAAoAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAACAAAACgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAAPAAAAAgAAAAoAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAA8AAAACAAAACgAAAAQAAAAFAAAA/wAAAAAAAAAEAAAABgAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAGAAAA/wAAAAwAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAMAAAAEAAAABgAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAwAAAAQAAAAGAAAABAAAAAkAAAD/AAAADAAAAP8AAAACAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAIAAAD/AAAACAAAAP8AAAAAAAAA/wAAAAAAAAAEAAAABwAAAP8AAAACAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAAHAAAA/wAAAAIAAAAEAAAADQAAAP8AAAAIAAAAAwAAAA8AAAD/AAAAAAAAAP8AAAAAAAAA/wAAAAAAAAADAAAADwAAAAAAAAAFAAAA/wAAAAAAAAD/AAAAAAAAAAMAAAAPAAAAAQAAAAoAAAD/AAAAAAAAAP8AAAAAAAAAAwAAAA8AAAABAAAACgAAAAAAAAAFAAAABAAAAAAAAAABAAAACwAAAP8AAAAAAAAA/wAAAAAAAAD/AAAAAAAAAAEAAAALAAAABAAAAAEAAAD/AAAAAAAAAP8AAAAAAAAAAQAAAAsAAAABAAAADgAAAP8AAAAAAAAA/wAAAAAAAAABAAAACwAAAAEAAAAOAAAABAAAAAEAAAAEAAAABAAAAAAAAAAHAAAA/wAAAAAAAAD/AAAAAAAAAP8AQdQnCxUHAAAAAAAAAA0AAAD/AAAAAAAAAP8AQfQnCxUHAAAABAAAAAIAAAD/AAAAAAAAAP8AQZQoC9kBBwAAAAQAAAACAAAAAAAAAA0AAAAEAAAACAAAAAQAAAADAAAA/wAAAAAAAAD/AAAAAAAAAP8AAAAAAAAABAAAAAMAAAAEAAAACQAAAP8AAAAAAAAA/wAAAAAAAAAEAAAAAwAAAAQAAAAGAAAA/wAAAAAAAAD/AAAAAAAAAAQAAAADAAAABAAAAAYAAAAEAAAACQAAAAQAAAAMAAAAAAAAAAQAAAAAAAAABAAAAAgAAAAMAAAACAAAAAwAAAAAAAAABAAAAAAAAAAEAAAACAAAAAwAAAAIAAAADABB+CkLBQQAAAAEAEGIKgtxBAAAAAQAAAAIAAAACAAAAAwAAAAMAAAACAAAAAgAAAAMAAAADAAAAAAAAAABAAAABAAAAAUAAAACAAAAAwAAAAYAAAAHAAAACAAAAAkAAAAMAAAADQAAAAoAAAALAAAADgAAAA8AAAAAAAAAAQAAAAEAQYQrCxEBAAAAAQAAAAEAAAACAAAAAgBBpCsLBQUAAAAEAEG0KwuJBgcAAAAEAAAAAgAAAAQAAAABAAAABAAAAAQAAAAEAAAAAwAAAAQAAAAGAAAAAAAAAA0AAAAEAAAACAAAAAAAAAAPAAAABAAAAAoAAAAEAAAACQAAAAQAAAAMAAAABAAAAAsAAAAEAAAADgAAAAAAAAARAAAABAAAABAAAAAAAAAAEwAAAAQAAAASAAAAAAAAABUAAAAEAAAAFAAAAAAAAAAXAAAABAAAABYAAAABAAAACgAAAAEAAAALAAAABAAAAAAAAAAEAAAAAQAAAAEAAAAOAAAAAQAAAA8AAAAEAAAABAAAAAQAAAAFAAAABAAAAAIAAAAEAAAAAwAAAAQAAAAIAAAABAAAAAkAAAAEAAAABgAAAAQAAAAHAAAABAAAAAwAAAAEAAAADQAAAAEAAAASAAAAAQAAABMAAAAEAAAAEAAAAAQAAAARAAAAAQAAABYAAAABAAAAFwAAAAQAAAAUAAAABAAAABUAAAABAAAACwAAAAEAAAAOAAAABAAAAAEAAAD/AAAABAAAAAEAAAAPAAAAAgAAAAoAAAAEAAAABQAAAP8AAAAAAAAABAAAAAMAAAAEAAAABgAAAAQAAAAJAAAA/wAAAAwAAAAEAAAABwAAAP8AAAACAAAABAAAAA0AAAD/AAAACAAAAAEAAAATAAAAAgAAABIAAAAEAAAAEQAAAP8AAAAQAAAAAQAAABcAAAACAAAAFgAAAAQAAAAVAAAA/wAAABQAAAADAAAADwAAAAEAAAAKAAAAAAAAAAUAAAAEAAAAAAAAAAEAAAALAAAAAQAAAA4AAAAEAAAAAQAAAAQAAAAEAAAAAAAAAAcAAAAEAAAAAgAAAAAAAAANAAAABAAAAAgAAAAEAAAAAwAAAAQAAAAGAAAABAAAAAkAAAAEAAAADAAAAAMAAAATAAAAAQAAABIAAAAAAAAAEQAAAAQAAAAQAAAAAwAAABcAAAABAAAAFgAAAAAAAAAVAAAABAAAABQAAAABAAAAAQAAAAIAAAACAAAAAwAAAAMAAAADAAAAAwBBwTULvAYBAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnp+goaKjpKWmp6ipqqusra6vsLGys7S1tre4ubq7vL2+v8DBwsPExcbHyMnKy8zNzs/Q0dLT1NXW19jZ2tvc3d7f4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb3+Pn6+/z9/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AQYY8Cy4BAQEBAQECAgICAgIDAwMDAwMEBAQEBAQFBQUFBQUGBgYGBgYHBwcHBwcICAgIAEHAPAtFCgAAAA0AAAAQAAAACwAAAA4AAAASAAAADQAAABAAAAAUAAAADgAAABIAAAAXAAAAEAAAABQAAAAZAAAAEgAAABcAAAAdAEGRPQszAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDBAUAAQIDAEHUPQusAgEAAAACAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHQAAAB4AAAAfAAAAIAAAACAAAAAhAAAAIgAAACIAAAAjAAAAIwAAACQAAAAkAAAAJQAAACUAAAAlAAAAJgAAACYAAAAmAAAAJwAAACcAAAAnAAAAJwAAAC8fDwAXGx0eBwsNDicrLS4QAwUKDBMVGhwjJSosAQIECBESFBgGCRYZICEiJCgmKQAQAQIECCADBQoMDy8HCw0OBgkfIyUqLCEiJCgnKy0uERIUGBMVGhwXGx0eFhkmKQBBgcAACwIiUA==",x(h)||(h=CA(h));function IA(I){try{if(I==h&&F)return new Uint8Array(F);var g=U(I);if(g)return g;if(n)return n(I);throw"both async and sync fetching of the wasm failed"}catch(Q){J(Q)}}function YA(){return!F&&(X||d)&&typeof fetch=="function"?fetch(h,{credentials:"same-origin"}).then(function(I){if(!I.ok)throw"failed to load wasm binary file at \'"+h+"\'";return I.arrayBuffer()}).catch(function(){return IA(h)}):Promise.resolve().then(function(){return IA(h)})}function JA(){var I={a:rA};function g(D,o){var s=D.exports;A.asm=s,q=A.asm.c,z(q.buffer),e=A.asm.l,RA(A.asm.d),FA("wasm-instantiate")}HA("wasm-instantiate");function Q(D){g(D.instance)}function C(D){return YA().then(function(o){return WebAssembly.instantiate(o,I)}).then(function(o){return o}).then(D,function(o){H("failed to asynchronously prepare wasm: "+o),J(o)})}function B(){return!F&&typeof WebAssembly.instantiateStreaming=="function"&&!x(h)&&typeof fetch=="function"?fetch(h,{credentials:"same-origin"}).then(function(D){var o=WebAssembly.instantiateStreaming(D,I);return o.then(Q,function(s){return H("wasm streaming compile failed: "+s),H("falling back to ArrayBuffer instantiation"),C(Q)})}):C(Q)}if(A.instantiateWasm)try{var y=A.instantiateWasm(I,g);return y}catch(D){return H("Module.instantiateWasm callback failed with error: "+D),!1}return B().catch(w),{}}function m(I){for(;I.length>0;){var g=I.shift();if(typeof g=="function"){g(A);continue}var Q=g.func;typeof Q=="number"?g.arg===void 0?e.get(Q)():e.get(Q)(g.arg):Q(g.arg===void 0?null:g.arg)}}function cA(I,g,Q){W.copyWithin(I,g,g+Q)}function KA(I){try{return q.grow(I-j.byteLength+65535>>>16),z(q.buffer),1}catch{}}function dA(I){var g=W.length;I=I>>>0;var Q=2147483648;if(I>Q)return!1;for(var C=1;C<=4;C*=2){var B=g*(1+.2/C);B=Math.min(B,I+100663296);var y=Math.min(Q,hA(Math.max(I,B),65536)),D=KA(y);if(D)return!0}return!1}var qA=!1;function UA(I){for(var g=[],Q=0;Q<I.length;Q++){var C=I[Q];C>255&&(qA&&oA(!1,"Character code "+C+" ("+String.fromCharCode(C)+") at offset "+Q+" not in 0x00-0xFF."),C&=255),g.push(String.fromCharCode(C))}return g.join("")}var MA=typeof atob=="function"?atob:function(I){var g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Q="",C,B,y,D,o,s,O,c=0;I=I.replace(/[^A-Za-z0-9\\+\\/\\=]/g,"");do D=g.indexOf(I.charAt(c++)),o=g.indexOf(I.charAt(c++)),s=g.indexOf(I.charAt(c++)),O=g.indexOf(I.charAt(c++)),C=D<<2|o>>4,B=(o&15)<<4|s>>2,y=(s&3)<<6|O,Q=Q+String.fromCharCode(C),s!==64&&(Q=Q+String.fromCharCode(B)),O!==64&&(Q=Q+String.fromCharCode(y));while(c<I.length);return Q};function tA(I){try{for(var g=MA(I),Q=new Uint8Array(g.length),C=0;C<g.length;++C)Q[C]=g.charCodeAt(C);return Q}catch{throw new Error("Converting base64 string to bytes failed.")}}function U(I){if(x(I))return tA(I.slice(AA.length))}var rA={b:cA,a:dA},bA=JA(),nA=A.___wasm_call_ctors=function(){return(nA=A.___wasm_call_ctors=A.asm.d).apply(null,arguments)},pA=A._h264bsdInit=function(){return(pA=A._h264bsdInit=A.asm.e).apply(null,arguments)},WA=A._malloc=function(){return(WA=A._malloc=A.asm.f).apply(null,arguments)},ZA=A._free=function(){return(ZA=A._free=A.asm.g).apply(null,arguments)},eA=A._h264bsdDecode=function(){return(eA=A._h264bsdDecode=A.asm.h).apply(null,arguments)},fA=A._h264bsdShutdown=function(){return(fA=A._h264bsdShutdown=A.asm.i).apply(null,arguments)},xA=A._h264bsdAlloc=function(){return(xA=A._h264bsdAlloc=A.asm.j).apply(null,arguments)},mA=A._h264bsdFree=function(){return(mA=A._h264bsdFree=A.asm.k).apply(null,arguments)};A.getValue=DA;var M;Y=function I(){M||l(),M||(Y=I)};function l(I){if(I=I||N,L>0||(NA(),L>0))return;function g(){M||(M=!0,A.calledRun=!0,!b&&(sA(),E(A),A.onRuntimeInitialized&&A.onRuntimeInitialized(),wA()))}A.setStatus?(A.setStatus("Running..."),setTimeout(function(){setTimeout(function(){A.setStatus("")},1),g()},1)):g()}if(A.run=l,A.preInit)for(typeof A.preInit=="function"&&(A.preInit=[A.preInit]);A.preInit.length>0;)A.preInit.pop()();return l(),A.ready}})(),QA=lA;var t={};function T(){return QA().then(function(S){self.addEventListener("message",function(K){var A=K.data,E=A.renderStateId,w=A.type;switch(w){case"decode":{var G=t[E];G||(G=new gA(S,function(N,k,r){postMessage({type:"pictureReady",width:k,height:r,renderStateId:E,data:N.buffer},[N.buffer])}),t[E]=G),G.decode(new Uint8Array(A.data,A.offset,A.length));break}case"release":{var i=t[E];i&&(i.release(),delete t[E]);break}}}),self.postMessage({type:"decoderReady"})})}T();})();\n'}catch(A){}if(A){var I=new Blob([A],{type:"application/javascript"});YC=new Worker(URL.createObjectURL(I))}else YC=new Worker(new URL("./worker.js",g&&"SCRIPT"===g.tagName.toUpperCase()&&g.src||new URL("index.global.js",document.baseURI).href),{type:"module"});YC.addEventListener("message",function(A){var I,g=A.data;switch(g.type){case"decoderReady":MC=!0;var i,C=D(KC);try{for(C.s();!(i=C.n()).done;){i.value.resolve(new jC(UC)),UC+=1}}catch(A){C.e(A)}finally{C.f()}KC.length=0;break;case"pictureReady":null===(I=JC.get(g.renderStateId))||void 0===I||I(g)}})}if(!MC){var i=new hA;return KC.push(i),i.promise}var C=new jC(UC);return UC+=1,Promise.resolve(C)}FC=new WeakMap,HC=new WeakMap;var _C=function(){};var $C=function(){return d(function A(){var I,g=this,i=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).canvas;n(this,A),mC.add(this),qC.set(this,void 0),bC.set(this,new Mi),xC.set(this,0),TC.set(this,0),WC.set(this,0),OC.set(this,0),PC.set(this,void 0),ZC.set(this,void 0),XC.set(this,void 0),_g(this,qC,i||function(){if("undefined"!=typeof document)return document.createElement("canvas");if("undefined"!=typeof OffscreenCanvas)return new OffscreenCanvas(1,1);throw new Error("no canvas input found nor any canvas can be created")}(),"f"),_g(this,PC,new VA({write:(I=e(k().m(function A(I){var i;return k().w(function(A){for(;;)switch(A.n){case 0:i=I.type,A.n="configuration"===i?1:"data"===i?3:6;break;case 1:return A.n=2,zg(g,mC,"m",VC).call(g,I.data);case 2:return A.a(3,6);case 3:if(zg(g,XC,"f")){A.n=4;break}throw new Error("Decoder not configured");case 4:return A.n=5,zg(g,XC,"f").promise;case 5:return A.v.feed(I.data.slice().buffer),A.a(3,6);case 6:return A.a(2)}},A)})),function(A){return I.apply(this,arguments)})}),"f")},[{key:"renderer",get:function(){return zg(this,qC,"f")}},{key:"sizeChanged",get:function(){return zg(this,bC,"f").event}},{key:"width",get:function(){return zg(this,xC,"f")}},{key:"height",get:function(){return zg(this,TC,"f")}},{key:"framesRendered",get:function(){return zg(this,WC,"f")}},{key:"framesSkipped",get:function(){return zg(this,OC,"f")}},{key:"writable",get:function(){return zg(this,PC,"f")}},{key:"dispose",value:function(){var A;null===(A=zg(this,XC,"f"))||void 0===A||A.promise.then(function(A){return A.dispose()}).catch(_C),_g(this,XC,void 0,"f")}}])}();qC=new WeakMap,bC=new WeakMap,xC=new WeakMap,TC=new WeakMap,WC=new WeakMap,OC=new WeakMap,PC=new WeakMap,ZC=new WeakMap,XC=new WeakMap,mC=new WeakSet,VC=function(){var A=e(k().m(function A(I){var g,i,C,Q,B,e,E,t,o,n,a,r,s,h=this;return k().w(function(A){for(;;)switch(A.n){case 0:return this.dispose(),_g(this,XC,new hA,"f"),zg(this,ZC,"f")||_g(this,ZC,vC.attach(zg(this,qC,"f"),{webGL:!1}),"f"),g=jg(I),i=g.encodedWidth,C=g.encodedHeight,Q=g.croppedWidth,B=g.croppedHeight,e=g.cropLeft,E=g.cropTop,_g(this,xC,Q,"f"),_g(this,TC,B,"f"),zg(this,bC,"f").fire({width:Q,height:B}),t=i/2,o=C/2,n=DC.format({width:i,height:C,chromaWidth:t,chromaHeight:o,cropLeft:e,cropTop:E,cropWidth:Q,cropHeight:B,displayWidth:Q,displayHeight:B}),A.n=1,zC();case 1:a=A.v,zg(this,XC,"f").resolve(a),s=(r=i*C)+t*o,a.onPictureReady(function(A){var I=A.data;_g(h,WC,zg(h,WC,"f")+1,"f");var g=new Uint8Array(I),C=DC.frame(n,DC.lumaPlane(n,g,i,0),DC.chromaPlane(n,g,t,r),DC.chromaPlane(n,g,t,s));zg(h,ZC,"f").drawFrame(C)}),a.feed(I.slice().buffer);case 2:return A.a(2)}},A,this)}));return function(I){return A.apply(this,arguments)}}(),$C.capabilities={h264:{maxProfile:1,maxLevel:2048}};var AQ=function(){return d(function A(I,g){n(this,A),this.program=null,this.texture=null,this.vertexBuffer=null,this.isDisposed=!1,this.canvas=I;var i={alpha:!1,depth:!1,stencil:!1,antialias:!1,preserveDrawingBuffer:!1,powerPreference:null!=g?g:"low-power",failIfMajorPerformanceCaveat:!0},C=I.getContext("webgl2",i)||I.getContext("webgl",i);if(!C)throw new Error("WebGL not supported");this.gl=C,this.initGL()},[{key:"initGL",value:function(){var A=this.gl,I=this.createShader(A.VERTEX_SHADER,"\n attribute vec2 a_pos;\n varying highp vec2 v_texCoord;\n void main() {\n gl_Position = vec4(a_pos, 0.0, 1.0);\n // Map [-1, 1] to [0, 1] and flip Y for texture\n v_texCoord = vec2((a_pos.x + 1.0) * 0.5, (1.0 - a_pos.y) * 0.5);\n }\n "),g=this.createShader(A.FRAGMENT_SHADER,"\n varying highp vec2 v_texCoord;\n uniform sampler2D u_sampler;\n void main() {\n gl_FragColor = texture2D(u_sampler, v_texCoord);\n }\n ");this.program=this.createProgram(I,g),A.useProgram(this.program);var i=new Float32Array([-1,-1,1,-1,-1,1,1,1]);this.vertexBuffer=A.createBuffer(),A.bindBuffer(A.ARRAY_BUFFER,this.vertexBuffer),A.bufferData(A.ARRAY_BUFFER,i,A.STATIC_DRAW);var C=A.getAttribLocation(this.program,"a_pos");A.enableVertexAttribArray(C),A.vertexAttribPointer(C,2,A.FLOAT,!1,0,0),this.texture=A.createTexture(),A.bindTexture(A.TEXTURE_2D,this.texture),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_WRAP_S,A.CLAMP_TO_EDGE),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_WRAP_T,A.CLAMP_TO_EDGE),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MIN_FILTER,A.LINEAR),A.texParameteri(A.TEXTURE_2D,A.TEXTURE_MAG_FILTER,A.LINEAR),A.clearColor(1,1,1,1),A.clear(A.COLOR_BUFFER_BIT)}},{key:"setSize",value:function(A,I){this.canvas.width===A&&this.canvas.height===I||(this.canvas.width=A,this.canvas.height=I)}},{key:"draw",value:function(A){var I=this.gl;I&&this.program&&(I.viewport(0,0,I.drawingBufferWidth,I.drawingBufferHeight),I.activeTexture(I.TEXTURE0),I.bindTexture(I.TEXTURE_2D,this.texture),I.texImage2D(I.TEXTURE_2D,0,I.RGBA,I.RGBA,I.UNSIGNED_BYTE,A),I.drawArrays(I.TRIANGLE_STRIP,0,4))}},{key:"createShader",value:function(A,I){var g=this.gl,i=g.createShader(A);if(g.shaderSource(i,I),g.compileShader(i),!g.getShaderParameter(i,g.COMPILE_STATUS)){var C=g.getShaderInfoLog(i);throw g.deleteShader(i),new Error("Shader compile error: "+C)}return i}},{key:"createProgram",value:function(A,I){var g=this.gl,i=g.createProgram();if(g.attachShader(i,A),g.attachShader(i,I),g.linkProgram(i),!g.getProgramParameter(i,g.LINK_STATUS)){var C=g.getProgramInfoLog(i);throw g.deleteProgram(i),new Error("Program link error: "+C)}return g.detachShader(i,A),g.detachShader(i,I),g.deleteShader(A),g.deleteShader(I),i}},{key:"dispose",value:function(){var A;this.isDisposed=!0;var I=this.gl;this.texture&&I.deleteTexture(this.texture),this.vertexBuffer&&I.deleteBuffer(this.vertexBuffer),this.program&&I.deleteProgram(this.program),null===(A=I.getExtension("WEBGL_lose_context"))||void 0===A||A.loseContext()}}],[{key:"isSupported",get:function(){try{if("undefined"!=typeof OffscreenCanvas){var A=new OffscreenCanvas(1,1);return!(!A.getContext("webgl2")&&!A.getContext("webgl"))}var I=document.createElement("canvas");return!(!I.getContext("webgl2")&&!I.getContext("webgl"))}catch(A){return!1}}}])}(),IQ=function(){return d(function A(I){if(n(this,A),this.canvas=I,this.ctx=null,this.isDisposed=!1,this.ctx=I.getContext("2d",{alpha:!1,desynchronized:!0}),!this.ctx)throw new Error("Canvas 2D not supported")},[{key:"setSize",value:function(A,I){this.canvas.width===A&&this.canvas.height===I||(this.canvas.width=A,this.canvas.height=I)}},{key:"draw",value:function(A){this.ctx&&this.ctx.drawImage(A,0,0,this.canvas.width,this.canvas.height)}},{key:"dispose",value:function(){this.isDisposed=!0,this.ctx=null,this.canvas.width=0,this.canvas.height=0}}])}(),gQ={codec:"opus",sampleRate:48e3,numberOfChannels:2},iQ=function(){return d(function A(){var I,g=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n(this,A),this.writableController=null,this.pendingError=null,this.disposed=!1,this.playbackBasePtsUs=null,this.playbackBaseTimeSec=null,this.lastScheduledEndSec=0,this.onPlaybackStateChange=i.onPlaybackStateChange,this.audioContext=new AudioContext({sampleRate:gQ.sampleRate,latencyHint:"interactive"}),this.gainNode=this.audioContext.createGain(),this.gainNode.connect(this.audioContext.destination),this.decoder=new AudioDecoder({output:function(A){g.handleAudioData(A)},error:function(A){g.setError(A)}}),this.decoder.configure(gQ),this.audioContext.onstatechange=function(){var A;g.disposed||"running"!==g.audioContext.state&&(g.resetTimeline(),null===(A=g.onPlaybackStateChange)||void 0===A||A.call(g,"suspended"))},"running"!==this.audioContext.state&&(null===(I=this.onPlaybackStateChange)||void 0===I||I.call(this,"suspended")),this.writableStream=new WritableStream({start:function(A){g.writableController=A,g.pendingError&&A.error(g.pendingError)},write:function(A){if(g.pendingError)throw g.pendingError;g.handlePacket(A)}})},[{key:"writable",get:function(){return this.writableStream}},{key:"isSuspended",get:function(){return"running"!==this.audioContext.state}},{key:"resume",value:(I=e(k().m(function A(){var I;return k().w(function(A){for(;;)switch(A.n){case 0:if(!this.disposed){A.n=1;break}return A.a(2);case 1:return A.n=2,this.audioContext.resume();case 2:if("running"===this.audioContext.state){A.n=3;break}return null===(I=this.onPlaybackStateChange)||void 0===I||I.call(this,"suspended"),A.a(2);case 3:this.resetTimeline();case 4:return A.a(2)}},A,this)})),function(){return I.apply(this,arguments)})},{key:"dispose",value:function(){this.disposed||(this.disposed=!0,this.audioContext.onstatechange=null,"closed"!==this.decoder.state&&this.decoder.close(),this.gainNode.disconnect(),this.audioContext.close().catch(function(){}))}},{key:"handlePacket",value:function(A){var I;if(!this.disposed){if("configuration"===A.type)return"closed"!==this.decoder.state&&(this.decoder.reset(),this.decoder.configure(gQ)),void this.resetTimeline();var g="bigint"==typeof A.pts?Number(A.pts):null!==(I=A.pts)&&void 0!==I?I:0,i=new EncodedAudioChunk({type:"key",timestamp:g,data:A.data});this.decoder.decode(i)}}},{key:"handleAudioData",value:function(A){try{var I,g;if(this.disposed)return;if("running"!==this.audioContext.state)return this.resetTimeline(),void(null===(g=this.onPlaybackStateChange)||void 0===g||g.call(this,"suspended"));for(var i=this.getStartTime(A.timestamp),C=this.audioContext.createBuffer(A.numberOfChannels,A.numberOfFrames,A.sampleRate),Q=0;Q<A.numberOfChannels;Q+=1){var B=C.getChannelData(Q);A.copyTo(B,{planeIndex:Q,format:"f32-planar"})}var e=this.audioContext.createBufferSource();e.buffer=C,e.connect(this.gainNode),e.start(i);var E=A.duration>0?A.duration/1e6:A.numberOfFrames/A.sampleRate;this.lastScheduledEndSec=i+E,null===(I=this.onPlaybackStateChange)||void 0===I||I.call(this,"playing")}catch(A){this.setError(A)}finally{A.close()}}},{key:"getStartTime",value:function(A){var I=this.audioContext.currentTime;(null===this.playbackBasePtsUs||null===this.playbackBaseTimeSec||A<this.playbackBasePtsUs)&&this.resetTimeline(A);var g=this.playbackBaseTimeSec+(A-this.playbackBasePtsUs)/1e6;(g<I-.2||g>I+1)&&(this.resetTimeline(A),g=this.playbackBaseTimeSec+(A-this.playbackBasePtsUs)/1e6);var i=Math.max(I+.005,this.lastScheduledEndSec);return Math.max(g,i)}},{key:"resetTimeline",value:function(A){this.playbackBasePtsUs=null!=A?A:null,this.playbackBaseTimeSec=void 0===A?null:this.audioContext.currentTime+.05,this.lastScheduledEndSec=this.audioContext.currentTime}},{key:"setError",value:function(A){var I=A instanceof Error?A:new Error(String(A));if(this.pendingError=I,this.writableController)try{this.writableController.error(I)}catch(A){}}}],[{key:"isSupported",get:function(){return void 0!==globalThis.AudioDecoder&&void 0!==globalThis.AudioContext&&void 0!==globalThis.EncodedAudioChunk}},{key:"ensureSupported",value:(A=e(k().m(function A(){return k().w(function(A){for(;;)switch(A.n){case 0:if(this.isSupported){A.n=1;break}throw new Error("WebCodecs AudioDecoder or AudioContext is not supported in this browser");case 1:return A.n=2,AudioDecoder.isConfigSupported(gQ);case 2:if(A.v.supported){A.n=3;break}throw new Error("Opus AudioDecoder config is not supported");case 3:return A.a(2)}},A,this)})),function(){return A.apply(this,arguments)})}]);var A,I}();iQ.decoderConfig=gQ;var CQ=function(){return d(function A(){n(this,A),this.listeners=new Map},[{key:"on",value:function(A,I){this.listeners.has(A)||this.listeners.set(A,new Set),this.listeners.get(A).add(I)}},{key:"once",value:function(A,I){var g=this,i=function(){I.apply(void 0,arguments),g.off(A,i)};this.on(A,i)}},{key:"off",value:function(A,I){var g;null===(g=this.listeners.get(A))||void 0===g||g.delete(I)}},{key:"emit",value:function(A){var I=this.listeners.get(A);if(I){for(var g=arguments.length,i=new Array(g>1?g-1:0),C=1;C<g;C++)i[C-1]=arguments[C];var Q,B=D(I);try{for(B.s();!(Q=B.n()).done;){var e=Q.value;try{e.apply(void 0,i)}catch(I){console.error("EventEmitter '".concat(A,"' listener error"),I)}}}catch(A){B.e(A)}finally{B.f()}}}},{key:"clear",value:function(A){A?this.listeners.delete(A):this.listeners.clear()}}])}(),QQ=function(A){function I(A){var g,i;return n(this,I),(i=t(this,I)).sockets={video:null,audio:null,touch:null},i.subscribers={video:new Set,audio:new Set,touch:new Set},i.deviceId=A.deviceId,i.ip=A.ip,i.ports=null!==(g=A.ports)&&void 0!==g?g:{},i}return G(I,A),d(I,[{key:"getUrl",value:function(A){var I=this.ports[A],g="ws";"undefined"!=typeof window&&window.location&&("https:"===window.location.protocol&&(g="wss"));return"".concat(g,"://").concat(this.ip,":").concat(I)}},{key:"getChannelStatus",value:function(A){var I=this.sockets[A];if(!I)return"disconnected";switch(I.readyState){case WebSocket.CONNECTING:return"connecting";case WebSocket.OPEN:return"connected";case WebSocket.CLOSING:case WebSocket.CLOSED:default:return"disconnected"}}},{key:"getAllChannelsStatus",value:function(){return{video:this.getChannelStatus("video"),audio:this.getChannelStatus("audio"),touch:this.getChannelStatus("touch")}}},{key:"emitChannelStatus",value:function(A,I){var g=this.getAllChannelsStatus();this.emit(I,A,g)}},{key:"ensureChannel",value:function(A){var I=this;if(this.sockets[A]){var g=this.sockets[A].readyState;if(g===WebSocket.OPEN||g===WebSocket.CONNECTING)return;this.sockets[A]=null}var i=new WebSocket(this.getUrl(A));i.binaryType="arraybuffer",i.onopen=function(){console.log("[".concat(I.deviceId,":").concat(A,"] connected")),I.emitChannelStatus(A,"open")},i.onmessage=function(g){try{var i,C=D(I.subscribers[A]);try{for(C.s();!(i=C.n()).done;){(0,i.value)(g.data)}}catch(A){C.e(A)}finally{C.f()}}catch(g){console.error("[".concat(I.deviceId,":").concat(A,"] message error"),g)}},i.onerror=function(g){console.error("[".concat(I.deviceId,":").concat(A,"] error"),g),I.emit("error",A,g)},i.onclose=function(g){console.warn("[".concat(I.deviceId,":").concat(A,"] closed"),g),I.sockets[A]=null,I.emit("close",A,g)},this.sockets[A]=i}},{key:"subscribe",value:function(A,I){this.subscribers[A].add(I),this.sockets[A]||this.ensureChannel(A)}},{key:"unsubscribe",value:function(A,I){if(I?this.subscribers[A].delete(I):this.subscribers[A].clear(),0===this.subscribers[A].size){console.log("[".concat(this.deviceId,":").concat(A,"] no subscribers, closing"));var g=this.sockets[A];g&&(g.onclose=null,g.onerror=null,g.close(),this.sockets[A]=null)}}},{key:"send",value:function(A,I){var g=this.sockets[A];if(g&&g.readyState===WebSocket.OPEN)try{I instanceof ArrayBuffer||I instanceof Uint8Array?g.send(I):g.send(JSON.stringify(I))}catch(I){console.error("[".concat(A,"] send error"),I)}}},{key:"sendTouch",value:function(A){this.send("touch",A)}},{key:"destroy",value:function(){var A=this;["video","audio","touch"].forEach(function(I){console.log("[".concat(A.deviceId,":").concat(I,"] destroying"));var g=A.sockets[I];g&&(g.onopen=null,g.onmessage=null,g.onerror=null,g.onclose=null,g.close(),A.sockets[I]=null),A.subscribers[I].clear()}),this.clear()}}])}(CQ),BQ="focus",eQ="blur",EQ="input",tQ="delete",oQ="enter",nQ="arrow-up",aQ="arrow-down",rQ="arrow-left",sQ="arrow-right",hQ=function(){return d(function A(I){n(this,A),this.emitter=new CQ,this.isComposing=!1,this.el=document.createElement("textarea"),this.el.style.cssText="\n position:absolute;\n top:0;\n left:0;\n pointer-events:none;\n opacity:0.01;\n width:100%;\n max-width:95%;\n height: 40px;\n resize: none;\n overflow: hidden;\n ",this.el.autocomplete="off",I.appendChild(this.el),this.bindEvents()},[{key:"on",value:function(A,I){var g;null===(g=this.emitter)||void 0===g||g.on(A,I)}},{key:"off",value:function(A,I){var g;null===(g=this.emitter)||void 0===g||g.off(A,I)}},{key:"bindEvents",value:function(){var A=this;this.el.addEventListener("focus",function(){var I;return null===(I=A.emitter)||void 0===I?void 0:I.emit(BQ)}),this.el.addEventListener("blur",function(){var I;return null===(I=A.emitter)||void 0===I?void 0:I.emit(eQ)}),this.el.addEventListener("compositionstart",function(){A.isComposing=!0}),this.el.addEventListener("compositionend",function(I){var g;A.isComposing=!1;var i=I.target;null===(g=A.emitter)||void 0===g||g.emit(EQ,i.value),A.el.value=""}),this.el.addEventListener("input",function(I){var g;if(!A.isComposing){var i=I.target;null===(g=A.emitter)||void 0===g||g.emit(EQ,i.value),A.el.value=""}}),this.el.addEventListener("keydown",function(I){var g,i,C,Q,B,e;switch(I.key){case"Backspace":case"Delete":null===(g=A.emitter)||void 0===g||g.emit(tQ);break;case"Enter":null===(i=A.emitter)||void 0===i||i.emit(oQ),A.el.blur();break;case"ArrowUp":null===(C=A.emitter)||void 0===C||C.emit(nQ);break;case"ArrowDown":null===(Q=A.emitter)||void 0===Q||Q.emit(aQ);break;case"ArrowLeft":null===(B=A.emitter)||void 0===B||B.emit(rQ);break;case"ArrowRight":null===(e=A.emitter)||void 0===e||e.emit(sQ)}})}},{key:"focus",value:function(){this.el.focus()}},{key:"blur",value:function(){this.el.blur()}},{key:"moveTo",value:function(A,I,g){this.el.style.left="".concat(A,"px"),this.el.style.top="".concat(I,"px"),g&&(this.el.style.width="".concat(g,"px"))}},{key:"destroy",value:function(){var A;null===(A=this.emitter)||void 0===A||A.clear(),this.emitter=null,this.el.remove()}}])}(),cQ={AndroidHome:3,AndroidBack:4,AndroidCall:5,AndroidEndCall:6,Digit0:7,Digit1:8,Digit2:9,Digit3:10,Digit4:11,Digit5:12,Digit6:13,Digit7:14,Digit8:15,Digit9:16,Star:17,Pound:18,ArrowUp:19,ArrowDown:20,ArrowLeft:21,ArrowRight:22,AndroidDPadCenter:23,VolumeUp:24,VolumeDown:25,Power:26,AndroidCamera:27,Clear:28,KeyA:29,KeyB:30,KeyC:31,KeyD:32,KeyE:33,KeyF:34,KeyG:35,KeyH:36,KeyI:37,KeyJ:38,KeyK:39,KeyL:40,KeyM:41,KeyN:42,KeyO:43,KeyP:44,KeyQ:45,KeyR:46,KeyS:47,KeyT:48,KeyU:49,KeyV:50,KeyW:51,KeyX:52,KeyY:53,KeyZ:54,Comma:55,Period:56,AltLeft:57,AltRight:58,ShiftLeft:59,ShiftRight:60,Tab:61,Space:62,AndroidSymbol:63,AndroidExplorer:64,AndroidEnvelope:65,Enter:66,Backspace:67,Backquote:68,Minus:69,Equal:70,BracketLeft:71,BracketRight:72,Backslash:73,Semicolon:74,Quote:75,Slash:76,At:77,AndroidNum:78,AndroidHeadsetHook:79,AndroidFocus:80,Plus:81,ContextMenu:82,AndroidNotification:83,AndroidSearch:84,PageUp:92,PageDown:93,Escape:111,Delete:112,ControlLeft:113,ControlRight:114,CapsLock:115,ScrollLock:116,MetaLeft:117,MetaRight:118,AndroidFunction:119,PrintScreen:120,Pause:121,Home:122,End:123,Insert:124,AndroidForward:125,F1:131,F2:132,F3:133,F4:134,F5:135,F6:136,F7:137,F8:138,F9:139,F10:140,F11:141,F12:142,NumLock:143,Numpad0:144,Numpad1:145,Numpad2:146,Numpad3:147,Numpad4:148,Numpad5:149,Numpad6:150,Numpad7:151,Numpad8:152,Numpad9:153,NumpadDivide:154,NumpadMultiply:155,NumpadSubtract:156,NumpadAdd:157,NumpadDecimal:158,NumpadComma:159,NumpadEnter:160,NumpadEquals:161,NumpadLeftParen:162,NumpadRightParen:163,VolumeMute:164,AndroidAppSwitch:187,AndroidCut:277,AndroidCopy:278,AndroidPaste:279};Object.fromEntries(Object.entries(cQ).map(function(A){var I=L(A,2),g=I[0];return[I[1],g]}));var dQ,DQ,uQ={Down:0,Up:1},yQ={Down:0,Up:1,Move:2,Cancel:3,Outside:4,PointerDown:5,PointerUp:6,HoverMove:7,Scroll:8,HoverEnter:9,HoverExit:10,ButtonPress:11,ButtonRelease:12},lQ={None:0,Primary:1,Secondary:2,Tertiary:4,Back:8,Forward:16,StylusPrimary:32,StylusSecondary:64};function GQ(A,I,g){return A.setUint16(I,g),I+2}function wQ(A,I,g){return A.setUint32(I,g),I+4}function fQ(A,I,g){return A.setInt32(I,g),I+4}function SQ(A,I,g){var i=Math.round(g/16*32767);return A.setInt16(I,i),I+2}function kQ(A,I,g){return A.setUint8(I,g),I+1}function pQ(A,I,g){return A.setBigInt64(I,g),I+8}!function(A){A[A.injectKeyCode=0]="injectKeyCode",A[A.injectText=1]="injectText",A[A.injectTouchEvent=2]="injectTouchEvent",A[A.injectScrollEvent=3]="injectScrollEvent",A[A.backOrScreenOn=4]="backOrScreenOn",A[A.expandNotificationPanel=5]="expandNotificationPanel",A[A.expandSettingsPanel=6]="expandSettingsPanel",A[A.collapsePanels=7]="collapsePanels",A[A.getClipboard=8]="getClipboard",A[A.setClipboard=9]="setClipboard",A[A.setDisplayPower=10]="setDisplayPower",A[A.rotateDevice=11]="rotateDevice",A[A.uhidCreate=12]="uhidCreate",A[A.uhidInput=13]="uhidInput",A[A.uhidDestroy=14]="uhidDestroy",A[A.openHardKeyboardSettings=15]="openHardKeyboardSettings",A[A.startApp=16]="startApp",A[A.resetVideo=17]="resetVideo"}(dQ||(dQ={})),function(A){A[A.Clipboard=0]="Clipboard",A[A.AckClipboard=1]="AckClipboard",A[A.UhidOutput=2]="UhidOutput"}(DQ||(DQ={}));var RQ=function(){return d(function A(){n(this,A)},null,[{key:"injectKeyCode",value:function(A){var I=A.action,g=A.keyCode,i=A.repeat,C=void 0===i?0:i,Q=A.metaState,B=void 0===Q?0:Q,e=new ArrayBuffer(14),E=new DataView(e),t=0;return t=kQ(E,t,dQ.injectKeyCode),t=fQ(E,t=kQ(E,t,I),g),t=fQ(E,t,C),t=fQ(E,t,B),new Uint8Array(e)}},{key:"injectText",value:function(A){var I=A.text,g=this.encoder.encode(I),i=new ArrayBuffer(5+g.length),C=new DataView(i),Q=0;return Q=wQ(C,Q=kQ(C,Q,dQ.injectText),g.length),new Uint8Array(i,Q).set(g),new Uint8Array(i)}},{key:"injectTouch",value:function(A){var I=A.action,g=A.pointerId,i=A.pointerX,C=A.pointerY,Q=A.screenWidth,B=A.screenHeight,e=A.pressure,E=A.actionButton,t=A.buttons,o=new ArrayBuffer(32),n=new DataView(o),a=0;return a=kQ(n,a,dQ.injectTouchEvent),a=fQ(n,a=pQ(n,a=kQ(n,a,I),BigInt(g)),i),a=GQ(n,a=fQ(n,a,C),Q),a=function(A,I,g){var i=65535*Math.max(0,Math.min(1,g));return A.setUint16(I,i),I+2}(n,a=GQ(n,a,B),e),a=fQ(n,a,E),a=fQ(n,a,t),new Uint8Array(o)}},{key:"injectScroll",value:function(A){var I=A.pointerX,g=A.pointerY,i=A.screenWidth,C=A.screenHeight,Q=A.scrollX,B=A.scrollY,e=A.buttons,E=new ArrayBuffer(21),t=new DataView(E),o=0;return o=fQ(t,o=kQ(t,o,dQ.injectScrollEvent),I),o=GQ(t,o=fQ(t,o,g),i),o=SQ(t,o=GQ(t,o,C),Q),o=fQ(t,o=SQ(t,o,B),e),new Uint8Array(E)}},{key:"setClipboard",value:function(A){var I=A.sequence,g=A.text,i=A.paste,C=void 0!==i&&i,Q=this.encoder.encode(g),B=new ArrayBuffer(14+Q.length),e=new DataView(B),E=0;return E=kQ(e,E,dQ.setClipboard),E=wQ(e,E=kQ(e,E=pQ(e,E,BigInt(I)),C?1:0),Q.length),new Uint8Array(B,E).set(Q),new Uint8Array(B)}},{key:"resetVideo",value:function(){var A=new ArrayBuffer(1);return kQ(new DataView(A),0,dQ.resetVideo),new Uint8Array(A)}}])}();RQ.encoder=new TextEncoder;var NQ=function(){return d(function A(){n(this,A)},null,[{key:"parse",value:function(A){var I=new DataView(A instanceof Uint8Array?A.buffer:A,A instanceof Uint8Array?A.byteOffset:0,A.byteLength);if(I.byteLength<1)return null;var g=function(A,I){return A.getUint8(I)}(I,0);switch(g){case DQ.Clipboard:return this.parseClipboard(I);case DQ.AckClipboard:return this.parseAckClipboard(I);default:return null}}},{key:"parseClipboard",value:function(A){if(A.byteLength<5)return null;var I=function(A,I){return A.getUint32(I)}(A,1);if(A.byteLength<5+I)return null;var g=new Uint8Array(A.buffer,A.byteOffset+5,I),i=this.decoder.decode(g);return{type:DQ.Clipboard,content:i}}},{key:"parseAckClipboard",value:function(A){if(A.byteLength<9)return null;var I=function(A,I){return A.getBigInt64(I)}(A,1);return{type:DQ.AckClipboard,sequence:I}}}])}();function LQ(A,I,g){return Math.max(I,Math.min(g,A))}NQ.decoder=new TextDecoder;var FQ,HQ,YQ={SIZE_CHANGED:"size-changed",ERROR:"error",STARTED:"started",STOPPED:"stopped",CLIPBOARD_CHANGED:"clipboard-changed",CHANNEL_CONNECTED:"channel-connected",GROUP_CONTROL_JOINED:"group-control-joined",GROUP_CONTROL_LEAVE:"group-control-leave",VIDEO_DECODER_STATS:"video-decoder-stats",RECONNECTING:"reconnecting"};function vQ(A){if(A instanceof Error)return A.message||A.toString();if(A instanceof Event)return"".concat(A.type||"unknown");if("string"==typeof A)return A;if(A&&"object"===v(A))return A.message||A.reason||String(A);var I=String(A);return"[object Object]"===I||"[object Event]"===I?"":I}function MQ(A){A.style.width="100%",A.style.height="100%",A.style.outline="none",A.style.userSelect="none",A.style.backgroundColor="transparent",A.style.touchAction="none"}A.VmosEdgeErrorType=void 0,(FQ=A.VmosEdgeErrorType||(A.VmosEdgeErrorType={})).CONNECTION="connection",FQ.VIDEO="video",FQ.AUDIO="audio",FQ.TOUCH="touch",FQ.DECODER="decoder",FQ.RENDERER="renderer",A.VmosEdgeErrorCode=void 0,(HQ=A.VmosEdgeErrorCode||(A.VmosEdgeErrorCode={})).CONNECTION_FAILED="CONNECTION_FAILED",HQ.CONNECTION_TIMEOUT="CONNECTION_TIMEOUT",HQ.CONNECTION_LOST="CONNECTION_LOST",HQ.VIDEO_CHANNEL_CONNECTION_FAILED="VIDEO_CHANNEL_CONNECTION_FAILED",HQ.VIDEO_CHANNEL_CLOSED="VIDEO_CHANNEL_CLOSED",HQ.VIDEO_STREAM_ERROR="VIDEO_STREAM_ERROR",HQ.VIDEO_PIPELINE_ERROR="VIDEO_PIPELINE_ERROR",HQ.AUDIO_CHANNEL_CONNECTION_FAILED="AUDIO_CHANNEL_CONNECTION_FAILED",HQ.AUDIO_STREAM_ERROR="AUDIO_STREAM_ERROR",HQ.TOUCH_CHANNEL_CONNECTION_FAILED="TOUCH_CHANNEL_CONNECTION_FAILED",HQ.TOUCH_MESSAGE_PARSE_ERROR="TOUCH_MESSAGE_PARSE_ERROR",HQ.DECODER_INIT_FAILED="DECODER_INIT_FAILED",HQ.DECODER_ERROR="DECODER_ERROR",HQ.RENDERER_INIT_FAILED="RENDERER_INIT_FAILED",HQ.RENDERER_ERROR="RENDERER_ERROR",HQ.UNKNOWN_ERROR="UNKNOWN_ERROR";var KQ=200,UQ=800,JQ=.001,mQ=function(I){function g(A){var I,i,C,Q,B,e,E,o,a,r;return n(this,g),(r=t(this,g)).canvas=null,r.canvasContainer=null,r.device=null,r.isGroupControl=!1,r.deviceTouchGroupMap=new Map,r.config=null,r.mediaType=1,r.renderer=null,r.videoCodecPreference="no-preference",r.renderPreference="default",r.scrollSpeedRatio=KQ,r.hoverMoveKeep=!1,r.enableRightClickBack=!0,r.enableMiddleClickHome=!0,r.decoder=null,r.audioPlayer=null,r.textareaManager=null,r.videoWidth=0,r.videoHeight=0,r.isRunning=!1,r.rotation=0,r.manualRotation=!1,r.currentRotationAngle=0,r.resizeObserver=null,r.retryCount=0,r.maxRetries=0,r.retryInterval=1e3,r.isVideoRecovering=!1,r.isAudioRecovering=!1,r.isTouchRecovering=!1,r.videoRetryCount=0,r.audioRetryCount=0,r.touchRetryCount=0,r.pendingVideoKeyframeRequest=!1,r.lastChannelStateMap=new Map,r.stopVideoSubscription=null,r.stopAudioSubscription=null,r.stopTouchSubscription=null,r.audioStartPromise=null,r.audioLifecycleVersion=0,r.container=A.container,r.config=A.config,r.mediaType=2===A.mediaType?2:1,r.device=new QQ(r.config),r.maxRetries=null!==(I=A.retryCount)&&void 0!==I?I:0,r.retryInterval=null!==(i=A.retryInterval)&&void 0!==i?i:1e3,r.isGroupControl=null!==(C=A.isGroupControl)&&void 0!==C&&C,r.videoCodecPreference=null!==(Q=A.videoCodecPreference)&&void 0!==Q?Q:"no-preference",r.renderPreference=null!==(B=A.renderPreference)&&void 0!==B?B:"default",r.scrollSpeedRatio=Math.min(UQ,Math.max(JQ,null!==(e=A.scrollSpeedRatio)&&void 0!==e?e:KQ)),r.hoverMoveKeep=null!==(E=A.hoverMoveKeep)&&void 0!==E&&E,r.enableRightClickBack=null===(o=A.enableRightClickBack)||void 0===o||o,r.enableMiddleClickHome=null===(a=A.enableMiddleClickHome)||void 0===a||a,r.onInternalError=A.onInternalError,r.initCanvas(),r.handlePointerEvent=r.handlePointerEvent.bind(r),r.handleWheelEvent=r.handleWheelEvent.bind(r),r.handleContextMenu=r.handleContextMenu.bind(r),r.initTextareaManager(),r.observeContainerResize(),r}return G(g,I),d(g,[{key:"reportInternalError",value:function(A,I){if(this.onInternalError)try{var g=A instanceof Error?A:new Error(String(A));this.onInternalError(g,I)}catch(A){console.warn("[VmosEdgeClient] onInternalError callback threw error:",A)}}},{key:"setupConnectionListener",value:function(){var A,I=this;null===(A=this.device)||void 0===A||A.on("open",function(A,g){I.emitChannelState(A,"connected",void 0,g)})}},{key:"shouldEnableAudio",value:function(){return 2===this.mediaType}},{key:"emitChannelState",value:function(A,I,g,i,C){var Q,B,e="audio"===A?null!=C?C:this.shouldEnableAudio():void 0,E=this.lastChannelStateMap.get(A);(null==E?void 0:E.status)===I&&(null==E?void 0:E.message)===g&&(null==E?void 0:E.enabled)===e||(this.lastChannelStateMap.set(A,{status:I,message:g,enabled:e}),this.emit(YQ.CHANNEL_CONNECTED,{channel:A,status:I,port:null===(Q=this.config)||void 0===Q?void 0:Q.ports[A],enabled:e,message:g,allChannelsStatus:null!=i?i:null===(B=this.device)||void 0===B?void 0:B.getAllChannelsStatus()}))}},{key:"emitAudioError",value:function(I,g){var i,C,Q=arguments.length>2&&void 0!==arguments[2]?arguments[2]:A.VmosEdgeErrorType.AUDIO;this.emitChannelState("audio","error",I),this.emit(YQ.ERROR,{type:Q,code:g,message:I,port:null===(i=this.config)||void 0===i?void 0:i.ports.audio,allChannelsStatus:null===(C=this.device)||void 0===C?void 0:C.getAllChannelsStatus()})}},{key:"updateMediaType",value:function(A){this.mediaType=A}},{key:"setupChannelStatusListener",value:function(){var A,I,g=this,i=new Set;null===(A=this.device)||void 0===A||A.on("close",function(A,I){g.isRunning&&(i.has(A)?i.delete(A):(console.warn("[VmosEdgeClient] Channel ".concat(A," closed unexpectedly"),{code:null==I?void 0:I.code,reason:null==I?void 0:I.reason,wasClean:null==I?void 0:I.wasClean}),g.reportInternalError(new Error("Channel ".concat(A," closed unexpectedly")),{source:"channel_close",channel:A,recovering:g.isRunning,code:null==I?void 0:I.code,reason:null==I?void 0:I.reason,errorMessage:"Channel ".concat(A," closed unexpectedly (Code: ").concat(null==I?void 0:I.code,", Reason: ").concat((null==I?void 0:I.reason)||"none",")")}),g.isRunning&&("video"===A?g.recoverVideoChannel():"audio"===A&&g.shouldEnableAudio()?g.recoverAudioChannel():"touch"===A&&g.recoverTouchChannel())))}),null===(I=this.device)||void 0===I||I.on("error",function(A,I){if(g.isRunning){i.add(A);var C=vQ(I);return C||(C="WebSocket ".concat(A," channel connection failed")),g.isRunning?(console.warn("[VmosEdgeClient] Channel ".concat(A," error (recovering):"),C),g.reportInternalError(I,{source:"channel_error",channel:A,recovering:!0,errorMessage:C}),void("video"===A?g.recoverVideoChannel():"audio"===A&&g.shouldEnableAudio()?g.recoverAudioChannel():"touch"===A&&g.recoverTouchChannel())):void 0}})}},{key:"initCanvas",value:function(){this.canvasContainer=document.createElement("div"),this.canvasContainer.className="vmos-canvas-container",this.container.appendChild(this.canvasContainer),this.canvas=document.createElement("canvas"),MQ(this.canvas),this.canvasContainer.appendChild(this.canvas),this.container.appendChild(this.canvasContainer)}},{key:"replaceCanvas",value:function(){var A;this.canvas&&this.canvasContainer&&this.canvasContainer.removeChild(this.canvas),this.canvas=document.createElement("canvas"),MQ(this.canvas),null===(A=this.canvasContainer)||void 0===A||A.appendChild(this.canvas)}},{key:"initTextareaManager",value:function(){var A=this;this.textareaManager=new hQ(this.container),this.textareaManager.on(EQ,function(I){A.sendText(I)}),this.textareaManager.on(tQ,function(){A.sendKeyCode(cQ.Backspace,uQ.Down),A.sendKeyCode(cQ.Backspace,uQ.Up)}),this.textareaManager.on(oQ,function(){A.sendKeyCode(cQ.Enter,uQ.Down),A.sendKeyCode(cQ.Enter,uQ.Up)}),this.textareaManager.on(nQ,function(){A.sendKeyCode(cQ.ArrowUp,uQ.Down),A.sendKeyCode(cQ.ArrowUp,uQ.Up)}),this.textareaManager.on(aQ,function(){A.sendKeyCode(cQ.ArrowDown,uQ.Down),A.sendKeyCode(cQ.ArrowDown,uQ.Up)}),this.textareaManager.on(rQ,function(){A.sendKeyCode(cQ.ArrowLeft,uQ.Down),A.sendKeyCode(cQ.ArrowLeft,uQ.Up)}),this.textareaManager.on(sQ,function(){A.sendKeyCode(cQ.ArrowRight,uQ.Down),A.sendKeyCode(cQ.ArrowRight,uQ.Up)})}},{key:"observeContainerResize",value:function(){var A=this;"undefined"!=typeof ResizeObserver&&(this.resizeObserver=new ResizeObserver(function(){A.updateCanvasSize()}),this.resizeObserver.observe(this.container))}},{key:"on",value:function(A,I){return F(g,"on",this,3)([A,I]),this}},{key:"once",value:function(A,I){return F(g,"once",this,3)([A,I]),this}},{key:"off",value:function(A,I){return I?F(g,"off",this,3)([A,I]):F(g,"clear",this,3)([A]),this}},{key:"emit",value:function(A){for(var I=arguments.length,i=new Array(I>1?I-1:0),C=1;C<I;C++)i[C-1]=arguments[C];F(g,"emit",this,3)([A].concat(i))}},{key:"start",value:(u=e(k().m(function A(){return k().w(function(A){for(;;)switch(A.p=A.n){case 0:if(!this.isRunning){A.n=1;break}return A.a(2);case 1:return this.isRunning=!0,this.retryCount=0,A.p=2,this.setupConnectionListener(),A.n=3,this.connectWithRetry();case 3:this.setupChannelStatusListener(),this.shouldEnableAudio()&&this.enableAudio().catch(function(){}),A.n=5;break;case 4:A.p=4,A.v;case 5:return A.a(2)}},A,this,[[2,4]])})),function(){return u.apply(this,arguments)})},{key:"connectWithRetry",value:(c=e(k().m(function I(){var g=this;return k().w(function(I){for(;;)if(0===I.n)return I.a(2,new Promise(function(I,i){var C=function(){var Q=e(k().m(function Q(){var B,e,E,t;return k().w(function(Q){for(;;)switch(Q.p=Q.n){case 0:return Q.p=0,Q.n=1,g.internalStart();case 1:I(),Q.n=4;break;case 2:if(Q.p=2,t=Q.v,g.isRunning){Q.n=3;break}return console.log("[VmosEdgeClient] Connection stopped by user during handshake/start."),Q.a(2);case 3:console.error("[VmosEdgeClient] Connection failed (Attempt ".concat(g.retryCount+1,"/").concat(g.maxRetries+1,"):"),t),g.retryCount<g.maxRetries&&g.isRunning?(g.retryCount++,B=vQ(t)||"Connection retry failed",g.reportInternalError(t,{source:"connect_retry",attempt:g.retryCount,recovering:!0,errorMessage:B}),e=Math.min(g.retryInterval*Math.pow(2,g.retryCount-1),1e4),console.log("[VmosEdgeClient] Retrying in ".concat(e,"ms...")),setTimeout(function(){g.isRunning?C():i(new Error("Stopped"))},e)):(E=vQ(t)||"Connection failed",g.reportInternalError(t,{source:"connect_failed",recovering:!1,errorMessage:E}),g.emit(YQ.ERROR,{type:A.VmosEdgeErrorType.CONNECTION,code:A.VmosEdgeErrorCode.CONNECTION_FAILED,message:E}),g.stop(),i(t));case 4:return Q.a(2)}},Q,null,[[0,2]])}));return function(){return Q.apply(this,arguments)}}();C()}))},I)})),function(){return c.apply(this,arguments)})},{key:"internalStart",value:(h=e(k().m(function A(){return k().w(function(A){for(;;)switch(A.n){case 0:return this.canvas&&this.canvasContainer||this.initCanvas(),this.stopTouchSubscription&&(this.stopTouchSubscription(),this.stopTouchSubscription=null),A.n=1,this.setupTouchBlocking();case 1:return this.stopTouchSubscription=A.v,this.flushPendingVideoKeyframeRequest(),A.n=2,this.startVideoPipeline();case 2:this.bindInputEvents(),this.emit(YQ.STARTED);case 3:return A.a(2)}},A,this)})),function(){return h.apply(this,arguments)})},{key:"startVideoPipeline",value:(s=e(k().m(function A(){var I,g,i,C,Q,B,e,E,t=this;return k().w(function(A){for(;;)switch(A.p=A.n){case 0:return this.stopVideoSubscription&&(this.stopVideoSubscription(),this.stopVideoSubscription=null),this.canvas&&this.canvasContainer||this.initCanvas(),I=new lg({sendFrameMeta:!0,sendCodecMeta:!0,sendDeviceMeta:!0}),A.p=1,g=this.createVideoStream(),i=g.videoStream,A.n=2,this.performHandshake(I,i);case 2:if(C=A.v,Q=C.metadata,B=C.stream,this.createRenderer(),this.decoder){try{this.decoder.dispose()}catch(A){console.warn("[VmosEdgeClient] Old decoder dispose error:",A)}this.decoder=null}this.decoder=new hC({codec:Q.codec,renderer:this.renderer,hardwareAcceleration:this.videoCodecPreference,onStats:function(A){t.emit(YQ.VIDEO_DECODER_STATS,A)}}),this.decoder.sizeChanged(function(A){var I=A.width,g=A.height,i=t.videoWidth,C=t.videoHeight;if(I!==i||g!==C){t.videoWidth=I,t.videoHeight=g;var Q=I>g;0!==i&&0!==C&&i>C!==Q&&(t.manualRotation=!1),t.manualRotation||(t.rotation=Q?1:0),t.emitSizeChanged()}}),B.pipeThrough(I.createMediaStreamTransformer()).pipeTo(this.decoder.writable).catch(function(A){var I;t.isRunning?(console.error("[VmosEdgeClient] Video pipeline error (recovering):",A),null===(I=t.stopVideoSubscription)||void 0===I||I.call(t),t.reportInternalError(A,{source:"channel_error",channel:"video",detail:"pipeline_error",recovering:!0,errorMessage:vQ(A)||"Video pipeline error"}),t.recoverVideoChannel()):console.log("[VmosEdgeClient] Video pipeline error: stopped by user during handshake/start.")}),A.n=4;break;case 3:throw A.p=3,E=A.v,null===(e=this.stopVideoSubscription)||void 0===e||e.call(this),E;case 4:return A.a(2)}},A,this,[[1,3]])})),function(){return s.apply(this,arguments)})},{key:"getAudioErrorDetails",value:function(I){var g=vQ(I)||"Audio pipeline error";return g.includes("AudioDecoder")||g.includes("AudioContext")||g.includes("Opus AudioDecoder")?{message:g,code:A.VmosEdgeErrorCode.DECODER_INIT_FAILED,type:A.VmosEdgeErrorType.DECODER}:g.includes("port")?{message:g,code:A.VmosEdgeErrorCode.AUDIO_CHANNEL_CONNECTION_FAILED,type:A.VmosEdgeErrorType.AUDIO}:{message:g,code:A.VmosEdgeErrorCode.AUDIO_STREAM_ERROR,type:A.VmosEdgeErrorType.AUDIO}}},{key:"isAudioLifecycleCurrent",value:function(A){return A===this.audioLifecycleVersion&&this.isRunning&&this.shouldEnableAudio()}},{key:"stopAudioPipelineInternal",value:function(){var A,I=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.audioLifecycleVersion+=1,this.audioStartPromise=null,null===(A=this.stopAudioSubscription)||void 0===A||A.call(this),this.stopAudioSubscription=null,this.audioPlayer&&(this.audioPlayer.dispose(),this.audioPlayer=null),this.audioRetryCount=0,I&&this.emitChannelState("audio","stopped")}},{key:"startAudioPipeline",value:(r=e(k().m(function A(I,g){var i,C,Q,B,e,E,t,o,n,a=this;return k().w(function(A){for(;;)switch(A.p=A.n){case 0:if(this.isRunning&&this.shouldEnableAudio()){A.n=1;break}return A.a(2);case 1:if(null!==(i=this.config)&&void 0!==i&&i.ports.audio){A.n=2;break}throw new Error("Audio port is not configured");case 2:return null===(C=this.stopAudioSubscription)||void 0===C||C.call(this),this.stopAudioSubscription=null,this.audioPlayer&&(this.audioPlayer.dispose(),this.audioPlayer=null),A.n=3,iQ.ensureSupported();case 3:return Q=new lg({sendFrameMeta:!0,sendCodecMeta:!0}),B=this.createAudioStream(I),e=B.audioStream,E=B.stop,A.p=4,A.n=5,this.performAudioHandshake(Q,e);case 5:if(t=A.v,this.isAudioLifecycleCurrent(I)){A.n=6;break}return E(),A.a(2);case 6:if("disabled"!==t.type){A.n=7;break}throw new Error("Audio stream is disabled on server");case 7:if("errored"!==t.type){A.n=8;break}throw new Error("Audio stream initialization failed on server");case 8:if("opus"===t.codec.optionValue){A.n=9;break}throw new Error("Unsupported audio codec: ".concat(t.codec.optionValue));case 9:if(o=new iQ,this.isAudioLifecycleCurrent(I)){A.n=10;break}return o.dispose(),E(),A.a(2);case 10:this.audioPlayer=o,t.stream.pipeThrough(Q.createMediaStreamTransformer()).pipeTo(o.writable).catch(function(A){var g,i;a.isAudioLifecycleCurrent(I)&&(console.error("[VmosEdgeClient] Audio pipeline error (recovering):",A),null===(g=a.stopAudioSubscription)||void 0===g||g.call(a),a.stopAudioSubscription=null,null===(i=a.audioPlayer)||void 0===i||i.dispose(),a.audioPlayer=null,a.reportInternalError(A,{source:"channel_error",channel:"audio",detail:"pipeline_error",recovering:!0,errorMessage:vQ(A)||"Audio pipeline error"}),a.recoverAudioChannel())}),A.n=12;break;case 11:throw A.p=11,n=A.v,E(),this.audioPlayer&&(this.audioPlayer.dispose(),this.audioPlayer=null),n;case 12:return A.a(2)}},A,this,[[4,11]])})),function(A,I){return r.apply(this,arguments)})},{key:"recoverVideoChannel",value:(a=e(k().m(function A(){var I,g;return k().w(function(A){for(;;)switch(A.p=A.n){case 0:if(!this.isVideoRecovering&&this.isRunning){A.n=1;break}return A.a(2);case 1:this.isVideoRecovering=!0,this.videoRetryCount=0,console.log("[VmosEdgeClient] Starting independent video channel recovery..."),this.emitChannelState("video","recovering");case 2:if(!this.isRunning){A.n=8;break}return A.p=3,A.n=4,this.startVideoPipeline();case 4:return console.log("[VmosEdgeClient] Video channel recovered successfully."),this.videoRetryCount=0,A.a(3,8);case 5:if(A.p=5,g=A.v,this.isRunning){A.n=6;break}return A.a(3,8);case 6:return this.videoRetryCount++,I=vQ(g)||"Video recovery failed",console.error("[VmosEdgeClient] Video recovery failed (Attempt ".concat(this.videoRetryCount,"):"),g),this.reportInternalError(g,{source:"video_recovery",attempt:this.videoRetryCount,recovering:!0,errorMessage:I}),this.emit(YQ.RECONNECTING,{channel:"video",attempt:this.videoRetryCount,reason:I}),this.emitChannelState("video","recovering",I),console.log("[VmosEdgeClient] Retrying video in 2000ms..."),A.n=7,new Promise(function(A){return setTimeout(A,2e3)});case 7:A.n=2;break;case 8:this.isVideoRecovering=!1;case 9:return A.a(2)}},A,this,[[3,5]])})),function(){return a.apply(this,arguments)})},{key:"recoverAudioChannel",value:(o=e(k().m(function A(){var I,g,i;return k().w(function(A){for(;;)switch(A.p=A.n){case 0:if(!this.isAudioRecovering&&this.isRunning&&this.shouldEnableAudio()){A.n=1;break}return A.a(2);case 1:this.isAudioRecovering=!0,this.audioRetryCount=0,this.emitChannelState("audio","recovering"),console.log("[VmosEdgeClient] Starting independent audio channel recovery...");case 2:if(!this.isRunning||!this.shouldEnableAudio()){A.n=9;break}return I=++this.audioLifecycleVersion,A.p=3,A.n=4,this.startAudioPipeline(I,!0);case 4:if(this.isAudioLifecycleCurrent(I)){A.n=5;break}return A.a(3,9);case 5:return console.log("[VmosEdgeClient] Audio channel recovered successfully."),this.audioRetryCount=0,A.a(3,9);case 6:if(A.p=6,i=A.v,this.isRunning&&this.shouldEnableAudio()){A.n=7;break}return A.a(3,9);case 7:return this.audioRetryCount+=1,g=vQ(i)||"Audio recovery failed",console.error("[VmosEdgeClient] Audio recovery failed (Attempt ".concat(this.audioRetryCount,"):"),i),this.reportInternalError(i,{source:"audio_recovery",attempt:this.audioRetryCount,recovering:!0,errorMessage:g}),this.emit(YQ.RECONNECTING,{channel:"audio",attempt:this.audioRetryCount,reason:g}),this.emitChannelState("audio","recovering",g),A.n=8,new Promise(function(A){return setTimeout(A,2e3)});case 8:A.n=2;break;case 9:this.isAudioRecovering=!1;case 10:return A.a(2)}},A,this,[[3,6]])})),function(){return o.apply(this,arguments)})},{key:"recoverTouchChannel",value:(E=e(k().m(function A(){var I,g;return k().w(function(A){for(;;)switch(A.p=A.n){case 0:if(!this.isTouchRecovering&&this.isRunning){A.n=1;break}return A.a(2);case 1:this.isTouchRecovering=!0,this.touchRetryCount=0,console.log("[VmosEdgeClient] Starting independent touch channel recovery..."),this.emitChannelState("touch","recovering");case 2:if(!this.isRunning){A.n=8;break}return A.p=3,this.stopTouchSubscription&&(this.stopTouchSubscription(),this.stopTouchSubscription=null),A.n=4,this.setupTouchBlocking();case 4:return this.stopTouchSubscription=A.v,this.flushPendingVideoKeyframeRequest(),console.log("[VmosEdgeClient] Touch channel recovered successfully."),this.touchRetryCount=0,A.a(3,8);case 5:if(A.p=5,g=A.v,this.isRunning){A.n=6;break}return A.a(3,8);case 6:return this.touchRetryCount++,I=vQ(g)||"Touch recovery failed",console.error("[VmosEdgeClient] Touch recovery failed (Attempt ".concat(this.touchRetryCount,"):"),g),this.reportInternalError(g,{source:"touch_recovery",attempt:this.touchRetryCount,recovering:!0,errorMessage:I}),this.emit(YQ.RECONNECTING,{channel:"touch",attempt:this.touchRetryCount,reason:I}),this.emitChannelState("touch","recovering",I),console.log("[VmosEdgeClient] Retrying touch in 2000ms..."),A.n=7,new Promise(function(A){return setTimeout(A,2e3)});case 7:A.n=2;break;case 8:this.isTouchRecovering=!1;case 9:return A.a(2)}},A,this,[[3,5]])})),function(){return E.apply(this,arguments)})},{key:"createVideoStream",value:function(){var A,I,g=this,i=new ReadableStream({start:function(A){I=A},cancel:function(){var A;null===(A=g.stopVideoSubscription)||void 0===A||A.call(g)}}),C=function(A){var i;if(null!==I.desiredSize)try{var C=A instanceof Uint8Array?A:new Uint8Array(A);I.enqueue(C)}catch(A){var Q;return null===(Q=g.stopVideoSubscription)||void 0===Q||Q.call(g),g.isRunning?(console.error("[VmosEdgeClient] Video stream data error (recovering):",A),g.reportInternalError(A,{source:"channel_error",channel:"video",detail:"stream_data_error",recovering:!0,errorMessage:vQ(A)||"Video stream data processing error"}),void g.recoverVideoChannel()):void 0}else null===(i=g.stopVideoSubscription)||void 0===i||i.call(g)};return null===(A=this.device)||void 0===A||A.subscribe("video",C),this.stopVideoSubscription=function(){var A;null===(A=g.device)||void 0===A||A.unsubscribe("video",C),g.stopVideoSubscription=null;try{I&&null!==I.desiredSize&&I.close()}catch(A){if(A instanceof TypeError)return;console.error("[VmosEdgeClient] stopVideoSubscription error:",A)}},{videoStream:i}}},{key:"createAudioStream",value:function(A){var I,g,i=this,C=new ReadableStream({start:function(A){g=A},cancel:function(){i.stopAudioSubscription&&i.stopAudioSubscription()}}),Q=function(A){var I;if(null!==g.desiredSize)try{var C=A instanceof Uint8Array?A:new Uint8Array(A);g.enqueue(C)}catch(A){var Q;null===(Q=i.stopAudioSubscription)||void 0===Q||Q.call(i),i.isRunning&&i.shouldEnableAudio()&&(console.error("[VmosEdgeClient] Audio stream data error (recovering):",A),i.reportInternalError(A,{source:"channel_error",channel:"audio",detail:"stream_data_error",recovering:!0,errorMessage:vQ(A)||"Audio stream data processing error"}),i.recoverAudioChannel())}else null===(I=i.stopAudioSubscription)||void 0===I||I.call(i)};null===(I=this.device)||void 0===I||I.subscribe("audio",Q);var B=function(){var I;null===(I=i.device)||void 0===I||I.unsubscribe("audio",Q),i.stopAudioSubscription&&A===i.audioLifecycleVersion&&(i.stopAudioSubscription=null);try{g&&null!==g.desiredSize&&g.close()}catch(A){if(A instanceof TypeError)return;console.error("[VmosEdgeClient] stopAudioSubscription error:",A)}};return A===this.audioLifecycleVersion&&(this.stopAudioSubscription=B),{audioStream:C,stop:B}}},{key:"setupTouchBlocking",value:(B=e(k().m(function A(){var I=this;return k().w(function(A){for(;;)if(0===A.n)return A.a(2,new Promise(function(A,g){var i,C,Q,B=null,e=!1,E=function(A){try{var g,i=NQ.parse(A);(null==i?void 0:i.type)===DQ.Clipboard&&I.emit(YQ.CLIPBOARD_CHANGED,null!==(g=null==i?void 0:i.content)&&void 0!==g?g:"")}catch(A){console.error("[VmosEdgeClient] Touch channel error:",A)}},t=function(g){var i;"touch"!==g||e||(e=!0,null===(i=B)||void 0===i||i(),A(function(){var A;return null===(A=I.device)||void 0===A?void 0:A.unsubscribe("touch",E)}))},o=function(A,i){var C,Q;"touch"!==A||e||(e=!0,null===(C=B)||void 0===C||C(),null===(Q=I.device)||void 0===Q||Q.unsubscribe("touch",E),g(i||new Error("Touch channel connection failed")))},n=function(A,i){if("touch"===A&&!e){var C,Q;e=!0,null===(C=B)||void 0===C||C(),null===(Q=I.device)||void 0===Q||Q.unsubscribe("touch",E);var t="Touch channel closed during handshake";i&&(void 0!==i.code||i.reason)&&(t+=" (Code: ".concat(i.code||"unknown"),i.reason&&(t+=", Reason: ".concat(i.reason)),t+=")"),g(new Error(t))}};null===(i=I.device)||void 0===i||i.on("open",t),null===(C=I.device)||void 0===C||C.on("error",o),null===(Q=I.device)||void 0===Q||Q.on("close",n),B=function(){var A,g,i;null===(A=I.device)||void 0===A||A.off("open",t),null===(g=I.device)||void 0===g||g.off("error",o),null===(i=I.device)||void 0===i||i.off("close",n)};try{var a;null===(a=I.device)||void 0===a||a.subscribe("touch",E)}catch(A){var r;e||(e=!0,null===(r=B)||void 0===r||r(),g(A))}}))},A)})),function(){return B.apply(this,arguments)})},{key:"performHandshake",value:(Q=e(k().m(function A(I,g){var i,C,Q=this;return k().w(function(A){for(;;)switch(A.p=A.n){case 0:return i=null,C=new Promise(function(A,I){var g,C,B=!1,e=function(A){B||(B=!0,I(A))},E=function(A,I){if(console.error("[VmosEdgeClient] Handshake error on ".concat(A,":"),I),"video"===A){var g=vQ(I)||"Video channel connection failed";e(new Error(g))}},t=function(A,I){if("video"===A){var g="Video channel closed unexpectedly during handshake";I&&(void 0!==I.code||I.reason)&&(g+=" (Code: ".concat(I.code||"unknown"),I.reason&&(g+=", Reason: ".concat(I.reason)),g+=")"),e(new Error(g))}};null===(g=Q.device)||void 0===g||g.on("error",E),null===(C=Q.device)||void 0===C||C.on("close",t),i=function(){var A,I;null===(A=Q.device)||void 0===A||A.off("error",E),null===(I=Q.device)||void 0===I||I.off("close",t)}}),A.p=1,A.n=2,Promise.race([I.parseVideoStreamMetadata(g),C]);case 2:return A.a(2,A.v);case 3:return A.p=3,i&&i(),A.f(3);case 4:return A.a(2)}},A,null,[[1,,3,4]])})),function(A,I){return Q.apply(this,arguments)})},{key:"performAudioHandshake",value:(C=e(k().m(function A(I,g){var i,C,Q=this;return k().w(function(A){for(;;)switch(A.p=A.n){case 0:return i=function(){},C=new Promise(function(A,I){var g,C,B=!1,e=function(A){B||(B=!0,I(A))},E=function(A,I){if(console.error("[VmosEdgeClient] Audio handshake error on ".concat(A,":"),I),"audio"===A){var g=vQ(I)||"Audio channel connection failed";e(new Error(g))}},t=function(A,I){if("audio"===A){var g="Audio channel closed unexpectedly during handshake";I&&(void 0!==I.code||I.reason)&&(g+=" (Code: ".concat(I.code||"unknown"),I.reason&&(g+=", Reason: ".concat(I.reason)),g+=")"),e(new Error(g))}};null===(g=Q.device)||void 0===g||g.on("error",E),null===(C=Q.device)||void 0===C||C.on("close",t),i=function(){var A,I;null===(A=Q.device)||void 0===A||A.off("error",E),null===(I=Q.device)||void 0===I||I.off("close",t)}}),A.p=1,A.n=2,Promise.race([I.parseAudioStreamMetadata(g),C]);case 2:return A.a(2,A.v);case 3:return A.p=3,i(),A.f(3);case 4:return A.a(2)}},A,null,[[1,,3,4]])})),function(A,I){return C.apply(this,arguments)})},{key:"setGroupControlMode",value:function(A){if(this.isGroupControl=A,!A){var I,g=D(this.deviceTouchGroupMap.values());try{for(g.s();!(I=g.n()).done;){I.value.destroy()}}catch(A){g.e(A)}finally{g.f()}this.deviceTouchGroupMap.clear()}}},{key:"joinGroupControl",value:function(A){var I=this;if(this.isGroupControl){console.log("[VmosEdgeClient] joinGroupControl start",A);var g,i=D(A);try{var C=function(){var A=g.value;if(!A.deviceId)return 0;if(I.deviceTouchGroupMap.has(A.deviceId))return 0;var i=new QQ(A);i.subscribe("touch",function(){}),i.on("open",function(){I.emit(YQ.GROUP_CONTROL_JOINED,A)}),i.on("close",function(){i.destroy(),I.deviceTouchGroupMap.delete(A.deviceId),I.emit(YQ.GROUP_CONTROL_LEAVE,A)}),I.deviceTouchGroupMap.set(A.deviceId,i)};for(i.s();!(g=i.n()).done;)C()}catch(A){i.e(A)}finally{i.f()}}}},{key:"leaveGroupControl",value:function(A){if(this.isGroupControl){var I,g=D(A);try{for(g.s();!(I=g.n()).done;){var i,C=I.value;C.deviceId&&(this.deviceTouchGroupMap.has(C.deviceId)&&(null===(i=this.deviceTouchGroupMap.get(C.deviceId))||void 0===i||i.destroy(),this.deviceTouchGroupMap.delete(C.deviceId)))}}catch(A){g.e(A)}finally{g.f()}}}},{key:"stop",value:function(){var A,I,g,i;if(this.isRunning){if(this.isRunning=!1,null===(A=this.stopVideoSubscription)||void 0===A||A.call(this),this.stopAudioPipelineInternal(!1),null===(I=this.stopTouchSubscription)||void 0===I||I.call(this),this.unbindInputEvents(),null===(g=this.textareaManager)||void 0===g||g.destroy(),this.pendingVideoKeyframeRequest=!1,this.emitChannelState("video","stopped"),this.emitChannelState("audio","stopped",void 0,void 0,!1),this.emitChannelState("touch","stopped"),this.emit(YQ.STOPPED),this.isGroupControl){var C,Q=D(this.deviceTouchGroupMap.values());try{for(Q.s();!(C=Q.n()).done;){C.value.destroy()}}catch(A){Q.e(A)}finally{Q.f()}this.deviceTouchGroupMap.clear()}if(this.clear(),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),this.canvasContainer&&this.canvasContainer.parentNode&&(this.canvasContainer.parentNode.removeChild(this.canvasContainer),this.canvasContainer=null,this.canvas=null),null===(i=this.device)||void 0===i||i.destroy(),this.renderer){try{this.renderer.dispose()}catch(A){console.warn("[VmosEdgeClient] Renderer dispose error:",A)}this.renderer=null}if(this.decoder){try{var B,e;null===(B=this.decoder)||void 0===B||null===(e=B.dispose)||void 0===e||e.call(B)}catch(A){console.warn("[VmosEdgeClient] Decoder dispose error:",A)}this.decoder=null}}}},{key:"enableAudio",value:(i=e(k().m(function A(){var I,g,i,C=this;return k().w(function(A){for(;;)switch(A.p=A.n){case 0:if(this.updateMediaType(2),this.isRunning){A.n=1;break}return A.a(2);case 1:if(!this.audioPlayer){A.n=6;break}if(!this.audioPlayer.isSuspended){A.n=5;break}return A.p=2,A.n=3,this.audioPlayer.resume();case 3:A.n=5;break;case 4:A.p=4,i=A.v,console.warn("[VmosEdgeClient] Audio playback is waiting for a user gesture:",vQ(i)||i);case 5:return A.a(2);case 6:if(!this.audioStartPromise){A.n=7;break}return A.a(2,this.audioStartPromise);case 7:return I=++this.audioLifecycleVersion,g=this.startAudioPipeline(I,!1).catch(function(A){if(C.isAudioLifecycleCurrent(I)){var g=C.getAudioErrorDetails(A);throw C.emitAudioError(g.message,g.code,g.type),A}}).finally(function(){C.audioStartPromise===g&&(C.audioStartPromise=null)}),this.audioStartPromise=g,A.a(2,g)}},A,this,[[2,4]])})),function(){return i.apply(this,arguments)})},{key:"disableAudio",value:function(){this.updateMediaType(1),this.stopAudioPipelineInternal()}},{key:"emitSizeChanged",value:function(){var A=this.updateCanvasSize(),I={idealWidth:A.idealWidth,idealHeight:A.idealHeight,videoWidth:A.videoWidth,videoHeight:A.videoHeight,rotation:this.rotation};this.emit(YQ.SIZE_CHANGED,I)}},{key:"mapCoordinates",value:function(A,I){var g,i;switch(this.currentRotationAngle){case 90:g=I*this.videoWidth,i=(1-A)*this.videoHeight;break;case 270:g=(1-I)*this.videoWidth,i=A*this.videoHeight;break;default:g=A*this.videoWidth,i=I*this.videoHeight}return{x:g,y:i}}},{key:"updateCanvasSize",value:function(){if(!this.canvasContainer||!this.videoWidth||!this.videoHeight)return{idealWidth:0,idealHeight:0,videoWidth:0,videoHeight:0};var A,I,g=this.container,i=g.clientWidth,C=g.clientHeight,Q=this.videoWidth,B=this.videoHeight,e=this.rotation,E=i,t=C,o=Math.max(E,t),n=Math.min(E,t);1===e?(A=o,I=n):(A=n,I=o);var a=Math.min(i/A,C/I,1),r=A*a,s=I*a,h=Q>B,c=0,d=90===(c=1===e?h?0:270:h?90:0)||270===c,D=d?B:Q,u=d?Q:B,y=Math.min(r/D,s/u),l=D*y,G=u*y,w=this.canvasContainer.style;w.width="".concat(Math.ceil(l),"px"),w.height="".concat(Math.ceil(G),"px"),w.display="block",w.position="relative",w.transform="none";var f=this.canvas,S=f.style;f.width!==Q&&(f.width=Q),f.height!==B&&(f.height=B);var k=d?G:l,p=d?l:G;S.width="".concat(Math.ceil(k),"px"),S.height="".concat(Math.ceil(p),"px"),S.position="absolute",S.top="50%",S.left="50%",S.transformOrigin="center center",S.transform="translate(-50%, -50%) rotate(".concat(c,"deg)"),this.currentRotationAngle=c;var R=Math.min(A/D,I/u);return{idealWidth:D*R,idealHeight:u*R,videoWidth:Q,videoHeight:B}}},{key:"createRenderer",value:function(){if(!this.renderer||this.renderer.isDisposed||!this.canvas)try{if(!AQ.isSupported)throw new Error("WebGL not supported check");console.log("[VmosEdgeClient] Using WebGLVideoFrameRenderer"),this.renderer=new AQ(this.canvas,this.renderPreference)}catch(A){console.warn("[VmosEdgeClient] WebGL initialization failed, falling back to Canvas2DRenderer:",A),this.replaceCanvas(),this.renderer=new IQ(this.canvas)}}},{key:"bindInputEvents",value:function(){var A,I,g,i,C,Q,B;null===(A=this.canvas)||void 0===A||A.addEventListener("pointerdown",this.handlePointerEvent),null===(I=this.canvas)||void 0===I||I.addEventListener("pointermove",this.handlePointerEvent),null===(g=this.canvas)||void 0===g||g.addEventListener("pointerup",this.handlePointerEvent),null===(i=this.canvas)||void 0===i||i.addEventListener("pointercancel",this.handlePointerEvent),null===(C=this.canvas)||void 0===C||C.addEventListener("pointerleave",this.handlePointerEvent),null===(Q=this.canvas)||void 0===Q||Q.addEventListener("wheel",this.handleWheelEvent,{passive:!1}),null===(B=this.canvas)||void 0===B||B.addEventListener("contextmenu",this.handleContextMenu)}},{key:"unbindInputEvents",value:function(){var A,I,g,i,C,Q,B;null===(A=this.canvas)||void 0===A||A.removeEventListener("pointerdown",this.handlePointerEvent),null===(I=this.canvas)||void 0===I||I.removeEventListener("pointermove",this.handlePointerEvent),null===(g=this.canvas)||void 0===g||g.removeEventListener("pointerup",this.handlePointerEvent),null===(i=this.canvas)||void 0===i||i.removeEventListener("pointercancel",this.handlePointerEvent),null===(C=this.canvas)||void 0===C||C.removeEventListener("pointerleave",this.handlePointerEvent),null===(Q=this.canvas)||void 0===Q||Q.removeEventListener("wheel",this.handleWheelEvent),null===(B=this.canvas)||void 0===B||B.removeEventListener("contextmenu",this.handleContextMenu)}},{key:"handleContextMenu",value:function(A){A.preventDefault(),A.stopPropagation()}},{key:"handlePointerEvent",value:function(A){var I,i;if(this.videoWidth&&this.videoHeight){A.preventDefault(),A.stopPropagation();var C=A.type,Q=A.button,B=A.buttons,e=A.pointerId,E=A.clientX,t=A.clientY,o=!1;if(this.enableRightClickBack)(2===Q||!!(2&B))&&("pointerdown"===C&&this.back(),o=!0);if(!o&&this.enableMiddleClickHome)(1===Q||!!(4&B))&&("pointerdown"===C&&this.home(),o=!0);if(!o){var n,a=this.canvas;switch(C){case"pointerdown":n=yQ.Down,a.setPointerCapture(e),null===(I=this.textareaManager)||void 0===I||I.focus();break;case"pointermove":if(0===B){if(!this.hoverMoveKeep)return;n=yQ.HoverMove}else n=yQ.Move;break;case"pointerup":case"pointercancel":case"pointerleave":n=yQ.Up;break;default:throw new Error("Unsupported event type: ".concat(C))}var r=a.getBoundingClientRect(),s=LQ((E-r.x)/r.width,0,1),h=LQ((t-r.y)/r.height,0,1),c=this.mapCoordinates(s,h),d=c.x,D=c.y,u=RQ.injectTouch({action:n,pointerId:BigInt(e),pointerX:d,pointerY:D,screenWidth:this.videoWidth,screenHeight:this.videoHeight,pressure:0===B?0:1,actionButton:null!==(i=g.PointerEventButtonToAndroidButton[Q])&&void 0!==i?i:lQ.Primary,buttons:B});this.sendTouch(u)}}}},{key:"sendTouch",value:function(A){var I,g=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null===(I=this.device)||void 0===I||I.sendTouch(A),this.isGroupControl&&!g){var i,C=D(this.deviceTouchGroupMap.values());try{for(C.s();!(i=C.n()).done;){i.value.sendTouch(A)}}catch(A){C.e(A)}finally{C.f()}}}},{key:"requestVideoKeyframe",value:function(){var A,I=null===(A=this.device)||void 0===A?void 0:A.getAllChannelsStatus();"connected"===(null==I?void 0:I.touch)?(this.pendingVideoKeyframeRequest=!1,this.sendTouch(RQ.resetVideo(),!0)):this.pendingVideoKeyframeRequest=!0}},{key:"flushPendingVideoKeyframeRequest",value:function(){this.pendingVideoKeyframeRequest&&this.requestVideoKeyframe()}},{key:"handleWheelEvent",value:function(A){if(this.videoWidth&&this.videoHeight&&this.device){A.preventDefault(),A.stopPropagation();var I=this.canvas.getBoundingClientRect(),g=(A.clientX-I.left)/I.width,i=(A.clientY-I.top)/I.height,C=Math.max(0,Math.min(1,g)),Q=Math.max(0,Math.min(1,i)),B=this.mapCoordinates(C,Q),e=B.x,E=B.y,t=-A.deltaX/this.scrollSpeedRatio,o=-A.deltaY/this.scrollSpeedRatio,n={pointerX:e,pointerY:E,screenWidth:this.videoWidth,screenHeight:this.videoHeight,scrollX:t,scrollY:o,buttons:0},a=RQ.injectScroll(n);this.sendTouch(a)}}},{key:"updateScrollSensitivity",value:function(A){this.scrollSpeedRatio=Math.min(UQ,Math.max(JQ,A))}},{key:"setHoverMoveKeep",value:function(A){this.hoverMoveKeep=A}},{key:"sendText",value:function(A){this.device&&this.sendTouch(RQ.injectText({text:A}))}},{key:"sendKeyCode",value:function(A,I){var g=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;this.device&&this.sendTouch(RQ.injectKeyCode({keyCode:A,action:I,repeat:0,metaState:g}))}},{key:"clickKey",value:function(A){var I=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.sendKeyCode(A,uQ.Down,I),this.sendKeyCode(A,uQ.Up,I)}},{key:"volumeUp",value:function(){this.clickKey(cQ.VolumeUp)}},{key:"volumeDown",value:function(){this.clickKey(cQ.VolumeDown)}},{key:"home",value:function(){this.clickKey(cQ.AndroidHome)}},{key:"back",value:function(){this.clickKey(cQ.AndroidBack)}},{key:"menu",value:function(){this.clickKey(cQ.AndroidAppSwitch)}},{key:"setRotation",value:function(A){this.rotation!==A&&(this.manualRotation=!0,this.rotation=A,this.emitSizeChanged())}},{key:"getRotation",value:function(){return this.rotation}},{key:"getRunningState",value:function(){return this.isRunning}},{key:"getVideoSize",value:function(){return{width:this.videoWidth,height:this.videoHeight}}},{key:"getConfig",value:function(){return this.config?S({},this.config):null}},{key:"getScale",value:function(){return this.canvas&&this.videoWidth?this.canvas.getBoundingClientRect().width/this.videoWidth:1}},{key:"setRightClickBackEnabled",value:function(A){this.enableRightClickBack=A}},{key:"setMiddleClickHomeEnabled",value:function(A){this.enableMiddleClickHome=A}}],[{key:"isWebCodecsSupported",value:function(){return"undefined"!=typeof VideoDecoder}}]);var i,C,Q,B,E,o,a,r,s,h,c,u}(CQ);return mQ.PointerEventButtonToAndroidButton=[lQ.Primary,lQ.Tertiary,lQ.Secondary,lQ.Back,lQ.Forward],A.AndroidKeyCode=cQ,A.AndroidKeyEventAction=uQ,A.AndroidMetaState={None:0,AltOn:2,AltLeftOn:16,AltRightOn:32,ShiftOn:1,ShiftLeftOn:64,ShiftRightOn:128,SymOn:4,FunctionOn:8,CtrlOn:4096,CtrlLeftOn:8192,CtrlRightOn:16384,MetaOn:65536,MetaLeftOn:131072,MetaRightOn:262144,CapsLockOn:1048576,NumLockOn:2097152,ScrollLockOn:4194304},A.AndroidMotionEventAction=yQ,A.AndroidMotionEventButton=lQ,A.VmosEdgeClient=mQ,A.VmosEdgeClientEvents=YQ,A}({});
|