easyproctor-hml 2.3.2 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dtos/AlertDTO.d.ts +5 -5
  2. package/dtos/SaveScreenDTO.d.ts +5 -5
  3. package/dtos/SessionDTO.d.ts +10 -10
  4. package/dtos/StartProctoringResponse.d.ts +12 -12
  5. package/dtos/UploadDataDTO.d.ts +5 -5
  6. package/errors/errors.d.ts +18 -19
  7. package/esm/index.js +4435 -9304
  8. package/extension/extensionEasyCatcher.d.ts +11 -0
  9. package/extension/{extension.d.ts → extensionEasyProctor.d.ts} +11 -11
  10. package/index.d.ts +1 -1
  11. package/index.js +2445 -10154
  12. package/interfaces/Devices.d.ts +12 -11
  13. package/interfaces/ParamsConfig.d.ts +34 -34
  14. package/modules/BaseDetection.d.ts +39 -39
  15. package/modules/SpyCam.d.ts +31 -31
  16. package/modules/checkPermissions.d.ts +2 -2
  17. package/modules/enumarateDevices.d.ts +2 -2
  18. package/modules/faceDetection.d.ts +15 -15
  19. package/modules/objectDetection.d.ts +15 -15
  20. package/modules/onChangeDevices.d.ts +12 -9
  21. package/new-flow/backend/BackendService.d.ts +47 -48
  22. package/new-flow/backend/SpyCamBackendService.d.ts +27 -27
  23. package/new-flow/checkers/DeviceCheckerService.d.ts +61 -59
  24. package/new-flow/checkers/DeviceCheckerUI.d.ts +51 -51
  25. package/new-flow/download/IDownloadService.d.ts +4 -4
  26. package/new-flow/download/downloadService.d.ts +9 -9
  27. package/new-flow/proctoring/ProctoringRecorder.d.ts +12 -12
  28. package/new-flow/proctoring/ProctoringSession.d.ts +66 -65
  29. package/new-flow/proctoring/ProctoringUploader.d.ts +14 -14
  30. package/new-flow/recorders/AlertRecorder.d.ts +25 -21
  31. package/new-flow/recorders/AudioRecorder.d.ts +24 -24
  32. package/new-flow/recorders/CameraRecorder.d.ts +69 -69
  33. package/new-flow/recorders/IRecorder.d.ts +12 -12
  34. package/new-flow/recorders/NoiseRecorder.d.ts +46 -46
  35. package/new-flow/recorders/ScreenRecorder.d.ts +34 -30
  36. package/new-flow/recorders/VolumeMeter.d.ts +14 -14
  37. package/new-flow/repository/ISessionRepository.d.ts +11 -11
  38. package/new-flow/repository/IndexDbSessionRepository.d.ts +20 -20
  39. package/new-flow/upload/IUploadService.d.ts +10 -10
  40. package/new-flow/upload/UploadService.d.ts +13 -13
  41. package/new-flow/upload/uploadCalback.d.ts +1 -1
  42. package/package.json +2 -5
  43. package/plugins/insights.d.ts +20 -19
  44. package/plugins/recorder.d.ts +9 -9
  45. package/proctoring/Auth.d.ts +11 -11
  46. package/proctoring/CapturePhoto.d.ts +21 -21
  47. package/proctoring/DeviceChecker.d.ts +57 -57
  48. package/proctoring/SignTerm.d.ts +15 -15
  49. package/proctoring/options/ProctoringOptions.d.ts +19 -15
  50. package/proctoring/options/ProctoringVideoOptions.d.ts +8 -8
  51. package/proctoring/proctoring.d.ts +89 -83
  52. package/proctoring/useProctoring.d.ts +26 -25
  53. package/unpkg/easyproctor.min.js +44 -52
  54. package/utils/browserInformations.d.ts +1 -1
  55. package/utils/geolocation.d.ts +15 -15
  56. package/utils/time.d.ts +3 -3
  57. package/utils/verifyVersion.d.ts +1 -1
  58. package/proctoring/ExternalCameraChecker.d.ts +0 -47
@@ -1,25 +1,18 @@
1
- "use strict";(()=>{var uy=Object.create;var Mc=Object.defineProperty;var dy=Object.getOwnPropertyDescriptor;var py=Object.getOwnPropertyNames;var fy=Object.getPrototypeOf,my=Object.prototype.hasOwnProperty;var pn=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var H=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),gy=(e,t)=>{for(var r in t)Mc(e,r,{get:t[r],enumerable:!0})},yy=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of py(t))!my.call(e,o)&&o!==r&&Mc(e,o,{get:()=>t[o],enumerable:!(n=dy(t,o))||n.enumerable});return e};var Od=(e,t,r)=>(r=e!=null?uy(fy(e)):{},yy(t||!e||!e.__esModule?Mc(r,"default",{value:e,enumerable:!0}):r,e));var zg=H((vA,Hg)=>{Hg.exports=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}});var xr=H(Jr=>{var Wh,S4=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];Jr.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return t*4+17};Jr.getSymbolTotalCodewords=function(t){return S4[t]};Jr.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t};Jr.setToSJISFunction=function(t){if(typeof t!="function")throw new Error('"toSJISFunc" is not a valid function.');Wh=t};Jr.isKanjiModeEnabled=function(){return typeof Wh<"u"};Jr.toSJIS=function(t){return Wh(t)}});var Ra=H(gt=>{gt.L={bit:1};gt.M={bit:0};gt.Q={bit:3};gt.H={bit:2};function E4(e){if(typeof e!="string")throw new Error("Param is not a string");switch(e.toLowerCase()){case"l":case"low":return gt.L;case"m":case"medium":return gt.M;case"q":case"quartile":return gt.Q;case"h":case"high":return gt.H;default:throw new Error("Unknown EC Level: "+e)}}gt.isValid=function(t){return t&&typeof t.bit<"u"&&t.bit>=0&&t.bit<4};gt.from=function(t,r){if(gt.isValid(t))return t;try{return E4(t)}catch{return r}}});var qg=H((EA,Wg)=>{function $g(){this.buffer=[],this.length=0}$g.prototype={get:function(e){let t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)===1},put:function(e,t){for(let r=0;r<t;r++)this.putBit((e>>>t-r-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(e){let t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}};Wg.exports=$g});var Kg=H((kA,Gg)=>{function si(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}si.prototype.set=function(e,t,r,n){let o=e*this.size+t;this.data[o]=r,n&&(this.reservedBit[o]=!0)};si.prototype.get=function(e,t){return this.data[e*this.size+t]};si.prototype.xor=function(e,t,r){this.data[e*this.size+t]^=r};si.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]};Gg.exports=si});var Xg=H(Da=>{var k4=xr().getSymbolSize;Da.getRowColCoords=function(t){if(t===1)return[];let r=Math.floor(t/7)+2,n=k4(t),o=n===145?26:Math.ceil((n-13)/(2*r-2))*2,i=[n-7];for(let s=1;s<r-1;s++)i[s]=i[s-1]-o;return i.push(6),i.reverse()};Da.getPositions=function(t){let r=[],n=Da.getRowColCoords(t),o=n.length;for(let i=0;i<o;i++)for(let s=0;s<o;s++)i===0&&s===0||i===0&&s===o-1||i===o-1&&s===0||r.push([n[i],n[s]]);return r}});var Qg=H(Yg=>{var C4=xr().getSymbolSize,Jg=7;Yg.getPositions=function(t){let r=C4(t);return[[0,0],[r-Jg,0],[0,r-Jg]]}});var Zg=H(X=>{X.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var Yr={N1:3,N2:3,N3:40,N4:10};X.isValid=function(t){return t!=null&&t!==""&&!isNaN(t)&&t>=0&&t<=7};X.from=function(t){return X.isValid(t)?parseInt(t,10):void 0};X.getPenaltyN1=function(t){let r=t.size,n=0,o=0,i=0,s=null,a=null;for(let c=0;c<r;c++){o=i=0,s=a=null;for(let l=0;l<r;l++){let h=t.get(c,l);h===s?o++:(o>=5&&(n+=Yr.N1+(o-5)),s=h,o=1),h=t.get(l,c),h===a?i++:(i>=5&&(n+=Yr.N1+(i-5)),a=h,i=1)}o>=5&&(n+=Yr.N1+(o-5)),i>=5&&(n+=Yr.N1+(i-5))}return n};X.getPenaltyN2=function(t){let r=t.size,n=0;for(let o=0;o<r-1;o++)for(let i=0;i<r-1;i++){let s=t.get(o,i)+t.get(o,i+1)+t.get(o+1,i)+t.get(o+1,i+1);(s===4||s===0)&&n++}return n*Yr.N2};X.getPenaltyN3=function(t){let r=t.size,n=0,o=0,i=0;for(let s=0;s<r;s++){o=i=0;for(let a=0;a<r;a++)o=o<<1&2047|t.get(s,a),a>=10&&(o===1488||o===93)&&n++,i=i<<1&2047|t.get(a,s),a>=10&&(i===1488||i===93)&&n++}return n*Yr.N3};X.getPenaltyN4=function(t){let r=0,n=t.data.length;for(let i=0;i<n;i++)r+=t.data[i];return Math.abs(Math.ceil(r*100/n/5)-10)*Yr.N4};function A4(e,t,r){switch(e){case X.Patterns.PATTERN000:return(t+r)%2===0;case X.Patterns.PATTERN001:return t%2===0;case X.Patterns.PATTERN010:return r%3===0;case X.Patterns.PATTERN011:return(t+r)%3===0;case X.Patterns.PATTERN100:return(Math.floor(t/2)+Math.floor(r/3))%2===0;case X.Patterns.PATTERN101:return t*r%2+t*r%3===0;case X.Patterns.PATTERN110:return(t*r%2+t*r%3)%2===0;case X.Patterns.PATTERN111:return(t*r%3+(t+r)%2)%2===0;default:throw new Error("bad maskPattern:"+e)}}X.applyMask=function(t,r){let n=r.size;for(let o=0;o<n;o++)for(let i=0;i<n;i++)r.isReserved(i,o)||r.xor(i,o,A4(t,i,o))};X.getBestMask=function(t,r){let n=Object.keys(X.Patterns).length,o=0,i=1/0;for(let s=0;s<n;s++){r(s),X.applyMask(s,t);let a=X.getPenaltyN1(t)+X.getPenaltyN2(t)+X.getPenaltyN3(t)+X.getPenaltyN4(t);X.applyMask(s,t),a<i&&(i=a,o=s)}return o}});var Gh=H(qh=>{var Tr=Ra(),Oa=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],Ba=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];qh.getBlocksCount=function(t,r){switch(r){case Tr.L:return Oa[(t-1)*4+0];case Tr.M:return Oa[(t-1)*4+1];case Tr.Q:return Oa[(t-1)*4+2];case Tr.H:return Oa[(t-1)*4+3];default:return}};qh.getTotalCodewordsCount=function(t,r){switch(r){case Tr.L:return Ba[(t-1)*4+0];case Tr.M:return Ba[(t-1)*4+1];case Tr.Q:return Ba[(t-1)*4+2];case Tr.H:return Ba[(t-1)*4+3];default:return}}});var e1=H(La=>{var ai=new Uint8Array(512),Ma=new Uint8Array(256);(function(){let t=1;for(let r=0;r<255;r++)ai[r]=t,Ma[t]=r,t<<=1,t&256&&(t^=285);for(let r=255;r<512;r++)ai[r]=ai[r-255]})();La.log=function(t){if(t<1)throw new Error("log("+t+")");return Ma[t]};La.exp=function(t){return ai[t]};La.mul=function(t,r){return t===0||r===0?0:ai[Ma[t]+Ma[r]]}});var t1=H(ci=>{var Kh=e1();ci.mul=function(t,r){let n=new Uint8Array(t.length+r.length-1);for(let o=0;o<t.length;o++)for(let i=0;i<r.length;i++)n[o+i]^=Kh.mul(t[o],r[i]);return n};ci.mod=function(t,r){let n=new Uint8Array(t);for(;n.length-r.length>=0;){let o=n[0];for(let s=0;s<r.length;s++)n[s]^=Kh.mul(r[s],o);let i=0;for(;i<n.length&&n[i]===0;)i++;n=n.slice(i)}return n};ci.generateECPolynomial=function(t){let r=new Uint8Array([1]);for(let n=0;n<t;n++)r=ci.mul(r,new Uint8Array([1,Kh.exp(n)]));return r}});var o1=H((RA,n1)=>{var r1=t1();function Xh(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}Xh.prototype.initialize=function(t){this.degree=t,this.genPoly=r1.generateECPolynomial(this.degree)};Xh.prototype.encode=function(t){if(!this.genPoly)throw new Error("Encoder not initialized");let r=new Uint8Array(t.length+this.degree);r.set(t);let n=r1.mod(r,this.genPoly),o=this.degree-n.length;if(o>0){let i=new Uint8Array(this.degree);return i.set(n,o),i}return n};n1.exports=Xh});var Jh=H(i1=>{i1.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}});var Yh=H(ar=>{var s1="[0-9]+",x4="[A-Z $%*+\\-./:]+",li="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";li=li.replace(/u/g,"\\u");var T4="(?:(?![A-Z0-9 $%*+\\-./:]|"+li+`)(?:.|[\r
2
- ]))+`;ar.KANJI=new RegExp(li,"g");ar.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g");ar.BYTE=new RegExp(T4,"g");ar.NUMERIC=new RegExp(s1,"g");ar.ALPHANUMERIC=new RegExp(x4,"g");var I4=new RegExp("^"+li+"$"),P4=new RegExp("^"+s1+"$"),R4=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");ar.testKanji=function(t){return I4.test(t)};ar.testNumeric=function(t){return P4.test(t)};ar.testAlphanumeric=function(t){return R4.test(t)}});var Ir=H(ve=>{var D4=Jh(),Qh=Yh();ve.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]};ve.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]};ve.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]};ve.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]};ve.MIXED={bit:-1};ve.getCharCountIndicator=function(t,r){if(!t.ccBits)throw new Error("Invalid mode: "+t);if(!D4.isValid(r))throw new Error("Invalid version: "+r);return r>=1&&r<10?t.ccBits[0]:r<27?t.ccBits[1]:t.ccBits[2]};ve.getBestModeForData=function(t){return Qh.testNumeric(t)?ve.NUMERIC:Qh.testAlphanumeric(t)?ve.ALPHANUMERIC:Qh.testKanji(t)?ve.KANJI:ve.BYTE};ve.toString=function(t){if(t&&t.id)return t.id;throw new Error("Invalid mode")};ve.isValid=function(t){return t&&t.bit&&t.ccBits};function O4(e){if(typeof e!="string")throw new Error("Param is not a string");switch(e.toLowerCase()){case"numeric":return ve.NUMERIC;case"alphanumeric":return ve.ALPHANUMERIC;case"kanji":return ve.KANJI;case"byte":return ve.BYTE;default:throw new Error("Unknown mode: "+e)}}ve.from=function(t,r){if(ve.isValid(t))return t;try{return O4(t)}catch{return r}}});var u1=H(Qr=>{var Ua=xr(),B4=Gh(),a1=Ra(),Pr=Ir(),Zh=Jh(),l1=7973,c1=Ua.getBCHDigit(l1);function M4(e,t,r){for(let n=1;n<=40;n++)if(t<=Qr.getCapacity(n,r,e))return n}function h1(e,t){return Pr.getCharCountIndicator(e,t)+4}function L4(e,t){let r=0;return e.forEach(function(n){let o=h1(n.mode,t);r+=o+n.getBitsLength()}),r}function U4(e,t){for(let r=1;r<=40;r++)if(L4(e,r)<=Qr.getCapacity(r,t,Pr.MIXED))return r}Qr.from=function(t,r){return Zh.isValid(t)?parseInt(t,10):r};Qr.getCapacity=function(t,r,n){if(!Zh.isValid(t))throw new Error("Invalid QR Code version");typeof n>"u"&&(n=Pr.BYTE);let o=Ua.getSymbolTotalCodewords(t),i=B4.getTotalCodewordsCount(t,r),s=(o-i)*8;if(n===Pr.MIXED)return s;let a=s-h1(n,t);switch(n){case Pr.NUMERIC:return Math.floor(a/10*3);case Pr.ALPHANUMERIC:return Math.floor(a/11*2);case Pr.KANJI:return Math.floor(a/13);case Pr.BYTE:default:return Math.floor(a/8)}};Qr.getBestVersionForData=function(t,r){let n,o=a1.from(r,a1.M);if(Array.isArray(t)){if(t.length>1)return U4(t,o);if(t.length===0)return 1;n=t[0]}else n=t;return M4(n.mode,n.getLength(),o)};Qr.getEncodedBits=function(t){if(!Zh.isValid(t)||t<7)throw new Error("Invalid QR Code version");let r=t<<12;for(;Ua.getBCHDigit(r)-c1>=0;)r^=l1<<Ua.getBCHDigit(r)-c1;return t<<12|r}});var m1=H(f1=>{var eu=xr(),p1=1335,F4=21522,d1=eu.getBCHDigit(p1);f1.getEncodedBits=function(t,r){let n=t.bit<<3|r,o=n<<10;for(;eu.getBCHDigit(o)-d1>=0;)o^=p1<<eu.getBCHDigit(o)-d1;return(n<<10|o)^F4}});var y1=H((UA,g1)=>{var N4=Ir();function Zn(e){this.mode=N4.NUMERIC,this.data=e.toString()}Zn.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)};Zn.prototype.getLength=function(){return this.data.length};Zn.prototype.getBitsLength=function(){return Zn.getBitsLength(this.data.length)};Zn.prototype.write=function(t){let r,n,o;for(r=0;r+3<=this.data.length;r+=3)n=this.data.substr(r,3),o=parseInt(n,10),t.put(o,10);let i=this.data.length-r;i>0&&(n=this.data.substr(r),o=parseInt(n,10),t.put(o,i*3+1))};g1.exports=Zn});var w1=H((FA,b1)=>{var j4=Ir(),tu=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function eo(e){this.mode=j4.ALPHANUMERIC,this.data=e}eo.getBitsLength=function(t){return 11*Math.floor(t/2)+6*(t%2)};eo.prototype.getLength=function(){return this.data.length};eo.prototype.getBitsLength=function(){return eo.getBitsLength(this.data.length)};eo.prototype.write=function(t){let r;for(r=0;r+2<=this.data.length;r+=2){let n=tu.indexOf(this.data[r])*45;n+=tu.indexOf(this.data[r+1]),t.put(n,11)}this.data.length%2&&t.put(tu.indexOf(this.data[r]),6)};b1.exports=eo});var _1=H((NA,v1)=>{var V4=Ir();function to(e){this.mode=V4.BYTE,typeof e=="string"?this.data=new TextEncoder().encode(e):this.data=new Uint8Array(e)}to.getBitsLength=function(t){return t*8};to.prototype.getLength=function(){return this.data.length};to.prototype.getBitsLength=function(){return to.getBitsLength(this.data.length)};to.prototype.write=function(e){for(let t=0,r=this.data.length;t<r;t++)e.put(this.data[t],8)};v1.exports=to});var E1=H((jA,S1)=>{var H4=Ir(),z4=xr();function ro(e){this.mode=H4.KANJI,this.data=e}ro.getBitsLength=function(t){return t*13};ro.prototype.getLength=function(){return this.data.length};ro.prototype.getBitsLength=function(){return ro.getBitsLength(this.data.length)};ro.prototype.write=function(e){let t;for(t=0;t<this.data.length;t++){let r=z4.toSJIS(this.data[t]);if(r>=33088&&r<=40956)r-=33088;else if(r>=57408&&r<=60351)r-=49472;else throw new Error("Invalid SJIS character: "+this.data[t]+`
3
- Make sure your charset is UTF-8`);r=(r>>>8&255)*192+(r&255),e.put(r,13)}};S1.exports=ro});var k1=H((VA,ru)=>{"use strict";var hi={single_source_shortest_paths:function(e,t,r){var n={},o={};o[t]=0;var i=hi.PriorityQueue.make();i.push(t,0);for(var s,a,c,l,h,u,p,g,m;!i.empty();){s=i.pop(),a=s.value,l=s.cost,h=e[a]||{};for(c in h)h.hasOwnProperty(c)&&(u=h[c],p=l+u,g=o[c],m=typeof o[c]>"u",(m||g>p)&&(o[c]=p,i.push(c,p),n[c]=a))}if(typeof r<"u"&&typeof o[r]>"u"){var y=["Could not find a path from ",t," to ",r,"."].join("");throw new Error(y)}return n},extract_shortest_path_from_predecessor_list:function(e,t){for(var r=[],n=t,o;n;)r.push(n),o=e[n],n=e[n];return r.reverse(),r},find_path:function(e,t,r){var n=hi.single_source_shortest_paths(e,t,r);return hi.extract_shortest_path_from_predecessor_list(n,r)},PriorityQueue:{make:function(e){var t=hi.PriorityQueue,r={},n;e=e||{};for(n in t)t.hasOwnProperty(n)&&(r[n]=t[n]);return r.queue=[],r.sorter=e.sorter||t.default_sorter,r},default_sorter:function(e,t){return e.cost-t.cost},push:function(e,t){var r={value:e,cost:t};this.queue.push(r),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};typeof ru<"u"&&(ru.exports=hi)});var D1=H(no=>{var V=Ir(),x1=y1(),T1=w1(),I1=_1(),P1=E1(),ui=Yh(),Fa=xr(),$4=k1();function C1(e){return unescape(encodeURIComponent(e)).length}function di(e,t,r){let n=[],o;for(;(o=e.exec(r))!==null;)n.push({data:o[0],index:o.index,mode:t,length:o[0].length});return n}function R1(e){let t=di(ui.NUMERIC,V.NUMERIC,e),r=di(ui.ALPHANUMERIC,V.ALPHANUMERIC,e),n,o;return Fa.isKanjiModeEnabled()?(n=di(ui.BYTE,V.BYTE,e),o=di(ui.KANJI,V.KANJI,e)):(n=di(ui.BYTE_KANJI,V.BYTE,e),o=[]),t.concat(r,n,o).sort(function(s,a){return s.index-a.index}).map(function(s){return{data:s.data,mode:s.mode,length:s.length}})}function nu(e,t){switch(t){case V.NUMERIC:return x1.getBitsLength(e);case V.ALPHANUMERIC:return T1.getBitsLength(e);case V.KANJI:return P1.getBitsLength(e);case V.BYTE:return I1.getBitsLength(e)}}function W4(e){return e.reduce(function(t,r){let n=t.length-1>=0?t[t.length-1]:null;return n&&n.mode===r.mode?(t[t.length-1].data+=r.data,t):(t.push(r),t)},[])}function q4(e){let t=[];for(let r=0;r<e.length;r++){let n=e[r];switch(n.mode){case V.NUMERIC:t.push([n,{data:n.data,mode:V.ALPHANUMERIC,length:n.length},{data:n.data,mode:V.BYTE,length:n.length}]);break;case V.ALPHANUMERIC:t.push([n,{data:n.data,mode:V.BYTE,length:n.length}]);break;case V.KANJI:t.push([n,{data:n.data,mode:V.BYTE,length:C1(n.data)}]);break;case V.BYTE:t.push([{data:n.data,mode:V.BYTE,length:C1(n.data)}])}}return t}function G4(e,t){let r={},n={start:{}},o=["start"];for(let i=0;i<e.length;i++){let s=e[i],a=[];for(let c=0;c<s.length;c++){let l=s[c],h=""+i+c;a.push(h),r[h]={node:l,lastCount:0},n[h]={};for(let u=0;u<o.length;u++){let p=o[u];r[p]&&r[p].node.mode===l.mode?(n[p][h]=nu(r[p].lastCount+l.length,l.mode)-nu(r[p].lastCount,l.mode),r[p].lastCount+=l.length):(r[p]&&(r[p].lastCount=l.length),n[p][h]=nu(l.length,l.mode)+4+V.getCharCountIndicator(l.mode,t))}}o=a}for(let i=0;i<o.length;i++)n[o[i]].end=0;return{map:n,table:r}}function A1(e,t){let r,n=V.getBestModeForData(e);if(r=V.from(t,n),r!==V.BYTE&&r.bit<n.bit)throw new Error('"'+e+'" cannot be encoded with mode '+V.toString(r)+`.
4
- Suggested mode is: `+V.toString(n));switch(r===V.KANJI&&!Fa.isKanjiModeEnabled()&&(r=V.BYTE),r){case V.NUMERIC:return new x1(e);case V.ALPHANUMERIC:return new T1(e);case V.KANJI:return new P1(e);case V.BYTE:return new I1(e)}}no.fromArray=function(t){return t.reduce(function(r,n){return typeof n=="string"?r.push(A1(n,null)):n.data&&r.push(A1(n.data,n.mode)),r},[])};no.fromString=function(t,r){let n=R1(t,Fa.isKanjiModeEnabled()),o=q4(n),i=G4(o,r),s=$4.find_path(i.map,"start","end"),a=[];for(let c=1;c<s.length-1;c++)a.push(i.table[s[c]].node);return no.fromArray(W4(a))};no.rawSplit=function(t){return no.fromArray(R1(t,Fa.isKanjiModeEnabled()))}});var B1=H(O1=>{var ja=xr(),ou=Ra(),K4=qg(),X4=Kg(),J4=Xg(),Y4=Qg(),au=Zg(),cu=Gh(),Q4=o1(),Na=u1(),Z4=m1(),ew=Ir(),iu=D1();function tw(e,t){let r=e.size,n=Y4.getPositions(t);for(let o=0;o<n.length;o++){let i=n[o][0],s=n[o][1];for(let a=-1;a<=7;a++)if(!(i+a<=-1||r<=i+a))for(let c=-1;c<=7;c++)s+c<=-1||r<=s+c||(a>=0&&a<=6&&(c===0||c===6)||c>=0&&c<=6&&(a===0||a===6)||a>=2&&a<=4&&c>=2&&c<=4?e.set(i+a,s+c,!0,!0):e.set(i+a,s+c,!1,!0))}}function rw(e){let t=e.size;for(let r=8;r<t-8;r++){let n=r%2===0;e.set(r,6,n,!0),e.set(6,r,n,!0)}}function nw(e,t){let r=J4.getPositions(t);for(let n=0;n<r.length;n++){let o=r[n][0],i=r[n][1];for(let s=-2;s<=2;s++)for(let a=-2;a<=2;a++)s===-2||s===2||a===-2||a===2||s===0&&a===0?e.set(o+s,i+a,!0,!0):e.set(o+s,i+a,!1,!0)}}function ow(e,t){let r=e.size,n=Na.getEncodedBits(t),o,i,s;for(let a=0;a<18;a++)o=Math.floor(a/3),i=a%3+r-8-3,s=(n>>a&1)===1,e.set(o,i,s,!0),e.set(i,o,s,!0)}function su(e,t,r){let n=e.size,o=Z4.getEncodedBits(t,r),i,s;for(i=0;i<15;i++)s=(o>>i&1)===1,i<6?e.set(i,8,s,!0):i<8?e.set(i+1,8,s,!0):e.set(n-15+i,8,s,!0),i<8?e.set(8,n-i-1,s,!0):i<9?e.set(8,15-i-1+1,s,!0):e.set(8,15-i-1,s,!0);e.set(n-8,8,1,!0)}function iw(e,t){let r=e.size,n=-1,o=r-1,i=7,s=0;for(let a=r-1;a>0;a-=2)for(a===6&&a--;;){for(let c=0;c<2;c++)if(!e.isReserved(o,a-c)){let l=!1;s<t.length&&(l=(t[s]>>>i&1)===1),e.set(o,a-c,l),i--,i===-1&&(s++,i=7)}if(o+=n,o<0||r<=o){o-=n,n=-n;break}}}function sw(e,t,r){let n=new K4;r.forEach(function(c){n.put(c.mode.bit,4),n.put(c.getLength(),ew.getCharCountIndicator(c.mode,e)),c.write(n)});let o=ja.getSymbolTotalCodewords(e),i=cu.getTotalCodewordsCount(e,t),s=(o-i)*8;for(n.getLengthInBits()+4<=s&&n.put(0,4);n.getLengthInBits()%8!==0;)n.putBit(0);let a=(s-n.getLengthInBits())/8;for(let c=0;c<a;c++)n.put(c%2?17:236,8);return aw(n,e,t)}function aw(e,t,r){let n=ja.getSymbolTotalCodewords(t),o=cu.getTotalCodewordsCount(t,r),i=n-o,s=cu.getBlocksCount(t,r),a=n%s,c=s-a,l=Math.floor(n/s),h=Math.floor(i/s),u=h+1,p=l-h,g=new Q4(p),m=0,y=new Array(s),b=new Array(s),w=0,S=new Uint8Array(e.buffer);for(let de=0;de<s;de++){let se=de<c?h:u;y[de]=S.slice(m,m+se),b[de]=g.encode(y[de]),m+=se,w=Math.max(w,se)}let A=new Uint8Array(n),B=0,O,R;for(O=0;O<w;O++)for(R=0;R<s;R++)O<y[R].length&&(A[B++]=y[R][O]);for(O=0;O<p;O++)for(R=0;R<s;R++)A[B++]=b[R][O];return A}function cw(e,t,r,n){let o;if(Array.isArray(e))o=iu.fromArray(e);else if(typeof e=="string"){let l=t;if(!l){let h=iu.rawSplit(e);l=Na.getBestVersionForData(h,r)}o=iu.fromString(e,l||40)}else throw new Error("Invalid data");let i=Na.getBestVersionForData(o,r);if(!i)throw new Error("The amount of data is too big to be stored in a QR Code");if(!t)t=i;else if(t<i)throw new Error(`
5
- The chosen QR Code version cannot contain this amount of data.
6
- Minimum version required to store current data is: `+i+`.
7
- `);let s=sw(t,r,o),a=ja.getSymbolSize(t),c=new X4(a);return tw(c,t),rw(c),nw(c,t),su(c,r,0),t>=7&&ow(c,t),iw(c,s),isNaN(n)&&(n=au.getBestMask(c,su.bind(null,c,r))),au.applyMask(n,c),su(c,r,n),{modules:c,version:t,errorCorrectionLevel:r,maskPattern:n,segments:o}}O1.create=function(t,r){if(typeof t>"u"||t==="")throw new Error("No input text");let n=ou.M,o,i;return typeof r<"u"&&(n=ou.from(r.errorCorrectionLevel,ou.M),o=Na.from(r.version),i=au.from(r.maskPattern),r.toSJISFunc&&ja.setToSJISFunction(r.toSJISFunc)),cw(t,o,n,i)}});var lu=H(Zr=>{function M1(e){if(typeof e=="number"&&(e=e.toString()),typeof e!="string")throw new Error("Color should be defined as hex string");let t=e.slice().replace("#","").split("");if(t.length<3||t.length===5||t.length>8)throw new Error("Invalid hex color: "+e);(t.length===3||t.length===4)&&(t=Array.prototype.concat.apply([],t.map(function(n){return[n,n]}))),t.length===6&&t.push("F","F");let r=parseInt(t.join(""),16);return{r:r>>24&255,g:r>>16&255,b:r>>8&255,a:r&255,hex:"#"+t.slice(0,6).join("")}}Zr.getOptions=function(t){t||(t={}),t.color||(t.color={});let r=typeof t.margin>"u"||t.margin===null||t.margin<0?4:t.margin,n=t.width&&t.width>=21?t.width:void 0,o=t.scale||4;return{width:n,scale:n?4:o,margin:r,color:{dark:M1(t.color.dark||"#000000ff"),light:M1(t.color.light||"#ffffffff")},type:t.type,rendererOpts:t.rendererOpts||{}}};Zr.getScale=function(t,r){return r.width&&r.width>=t+r.margin*2?r.width/(t+r.margin*2):r.scale};Zr.getImageWidth=function(t,r){let n=Zr.getScale(t,r);return Math.floor((t+r.margin*2)*n)};Zr.qrToImageData=function(t,r,n){let o=r.modules.size,i=r.modules.data,s=Zr.getScale(o,n),a=Math.floor((o+n.margin*2)*s),c=n.margin*s,l=[n.color.light,n.color.dark];for(let h=0;h<a;h++)for(let u=0;u<a;u++){let p=(h*a+u)*4,g=n.color.light;if(h>=c&&u>=c&&h<a-c&&u<a-c){let m=Math.floor((h-c)/s),y=Math.floor((u-c)/s);g=l[i[m*o+y]?1:0]}t[p++]=g.r,t[p++]=g.g,t[p++]=g.b,t[p]=g.a}}});var L1=H(Va=>{var hu=lu();function lw(e,t,r){e.clearRect(0,0,t.width,t.height),t.style||(t.style={}),t.height=r,t.width=r,t.style.height=r+"px",t.style.width=r+"px"}function hw(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}Va.render=function(t,r,n){let o=n,i=r;typeof o>"u"&&(!r||!r.getContext)&&(o=r,r=void 0),r||(i=hw()),o=hu.getOptions(o);let s=hu.getImageWidth(t.modules.size,o),a=i.getContext("2d"),c=a.createImageData(s,s);return hu.qrToImageData(c.data,t,o),lw(a,i,s),a.putImageData(c,0,0),i};Va.renderToDataURL=function(t,r,n){let o=n;typeof o>"u"&&(!r||!r.getContext)&&(o=r,r=void 0),o||(o={});let i=Va.render(t,r,o),s=o.type||"image/png",a=o.rendererOpts||{};return i.toDataURL(s,a.quality)}});var N1=H(F1=>{var uw=lu();function U1(e,t){let r=e.a/255,n=t+'="'+e.hex+'"';return r<1?n+" "+t+'-opacity="'+r.toFixed(2).slice(1)+'"':n}function uu(e,t,r){let n=e+t;return typeof r<"u"&&(n+=" "+r),n}function dw(e,t,r){let n="",o=0,i=!1,s=0;for(let a=0;a<e.length;a++){let c=Math.floor(a%t),l=Math.floor(a/t);!c&&!i&&(i=!0),e[a]?(s++,a>0&&c>0&&e[a-1]||(n+=i?uu("M",c+r,.5+l+r):uu("m",o,0),o=0,i=!1),c+1<t&&e[a+1]||(n+=uu("h",s),s=0)):o++}return n}F1.render=function(t,r,n){let o=uw.getOptions(r),i=t.modules.size,s=t.modules.data,a=i+o.margin*2,c=o.color.light.a?"<path "+U1(o.color.light,"fill")+' d="M0 0h'+a+"v"+a+'H0z"/>':"",l="<path "+U1(o.color.dark,"stroke")+' d="'+dw(s,i,o.margin)+'"/>',h='viewBox="0 0 '+a+" "+a+'"',p='<svg xmlns="http://www.w3.org/2000/svg" '+(o.width?'width="'+o.width+'" height="'+o.width+'" ':"")+h+' shape-rendering="crispEdges">'+c+l+`</svg>
8
- `;return typeof n=="function"&&n(null,p),p}});var V1=H(pi=>{var pw=zg(),du=B1(),j1=L1(),fw=N1();function pu(e,t,r,n,o){let i=[].slice.call(arguments,1),s=i.length,a=typeof i[s-1]=="function";if(!a&&!pw())throw new Error("Callback required as last argument");if(a){if(s<2)throw new Error("Too few arguments provided");s===2?(o=r,r=t,t=n=void 0):s===3&&(t.getContext&&typeof o>"u"?(o=n,n=void 0):(o=n,n=r,r=t,t=void 0))}else{if(s<1)throw new Error("Too few arguments provided");return s===1?(r=t,t=n=void 0):s===2&&!t.getContext&&(n=r,r=t,t=void 0),new Promise(function(c,l){try{let h=du.create(r,n);c(e(h,t,n))}catch(h){l(h)}})}try{let c=du.create(r,n);o(null,e(c,t,n))}catch(c){o(c)}}pi.create=du.create;pi.toCanvas=pu.bind(null,j1.render);pi.toDataURL=pu.bind(null,j1.renderToDataURL);pi.toString=pu.bind(null,function(e,t,r){return fw.render(e,r)})});var $1=H((fu,mu)=>{(function(e,t){typeof define=="function"&&define.amd?define([],t):typeof fu<"u"?t():(t(),e.FileSaver={})})(fu,function(){"use strict";function e(a,c){return typeof c>"u"?c={autoBom:!1}:typeof c!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),c={autoBom:!c}),c.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a.type)?new Blob(["\uFEFF",a],{type:a.type}):a}function t(a,c,l){var h=new XMLHttpRequest;h.open("GET",a),h.responseType="blob",h.onload=function(){s(h.response,c,l)},h.onerror=function(){console.error("could not download file")},h.send()}function r(a){var c=new XMLHttpRequest;c.open("HEAD",a,!1);try{c.send()}catch{}return 200<=c.status&&299>=c.status}function n(a){try{a.dispatchEvent(new MouseEvent("click"))}catch{var c=document.createEvent("MouseEvents");c.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(c)}}var o=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:void 0,i=o.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),s=o.saveAs||(typeof window!="object"||window!==o?function(){}:"download"in HTMLAnchorElement.prototype&&!i?function(a,c,l){var h=o.URL||o.webkitURL,u=document.createElement("a");c=c||a.name||"download",u.download=c,u.rel="noopener",typeof a=="string"?(u.href=a,u.origin===location.origin?n(u):r(u.href)?t(a,c,l):n(u,u.target="_blank")):(u.href=h.createObjectURL(a),setTimeout(function(){h.revokeObjectURL(u.href)},4e4),setTimeout(function(){n(u)},0))}:"msSaveOrOpenBlob"in navigator?function(a,c,l){if(c=c||a.name||"download",typeof a!="string")navigator.msSaveOrOpenBlob(e(a,l),c);else if(r(a))t(a,c,l);else{var h=document.createElement("a");h.href=a,h.target="_blank",setTimeout(function(){n(h)})}}:function(a,c,l,h){if(h=h||open("","_blank"),h&&(h.document.title=h.document.body.innerText="downloading..."),typeof a=="string")return t(a,c,l);var u=a.type==="application/octet-stream",p=/constructor/i.test(o.HTMLElement)||o.safari,g=/CriOS\/[\d]+/.test(navigator.userAgent);if((g||u&&p||i)&&typeof FileReader<"u"){var m=new FileReader;m.onloadend=function(){var w=m.result;w=g?w:w.replace(/^data:[^;]*;/,"data:attachment/file;"),h?h.location.href=w:location=w,h=null},m.readAsDataURL(a)}else{var y=o.URL||o.webkitURL,b=y.createObjectURL(a);h?h.location=b:location.href=b,h=null,setTimeout(function(){y.revokeObjectURL(b)},4e4)}});o.saveAs=s.saveAs=s,typeof mu<"u"&&(mu.exports=s)})});async function zi(){try{let e={audio:!0,video:!0};return(await navigator.mediaDevices.getUserMedia(e)).getTracks().forEach(r=>{r.stop()}),!0}catch{return!1}}async function $i(){return new Promise((e,t)=>{let r=window.screen.isExtended;if(r)e(r);else if(navigator.userAgent.indexOf("Firefox")>-1)e(!1);else{let o=[];window.getScreenDetails().then(function(i){o=i,e(o.screens.length>=2)})}})}async function St(){let e=["OBS","ManyCam","Snap Camera","Virtual"],r=(await navigator.mediaDevices.enumerateDevices()).filter(o=>!e.some(i=>o.deviceId.includes(i)||o.label.includes(i)));return{cameras:r.filter(o=>o.kind=="videoinput"&&o.deviceId).map(o=>({label:o.label||"Generic Device",id:o.deviceId})),microphones:r.filter(o=>o.kind=="audioinput"&&o.deviceId).map(o=>({label:o.label||"Generic Device",id:o.deviceId}))}}var zr=typeof self<"u"?self:{};function Nr(){throw Error("Invalid UTF8")}function Bd(e,t){return t=String.fromCharCode.apply(null,t),e==null?t:e+t}var Wi,Lc,by=typeof TextDecoder<"u",wy,vy=typeof TextEncoder<"u";function qp(e){if(vy)e=(wy||=new TextEncoder).encode(e);else{let r=0,n=new Uint8Array(3*e.length);for(let o=0;o<e.length;o++){var t=e.charCodeAt(o);if(t<128)n[r++]=t;else{if(t<2048)n[r++]=t>>6|192;else{if(t>=55296&&t<=57343){if(t<=56319&&o<e.length){let i=e.charCodeAt(++o);if(i>=56320&&i<=57343){t=1024*(t-55296)+i-56320+65536,n[r++]=t>>18|240,n[r++]=t>>12&63|128,n[r++]=t>>6&63|128,n[r++]=63&t|128;continue}o--}t=65533}n[r++]=t>>12|224,n[r++]=t>>6&63|128}n[r++]=63&t|128}}e=r===n.length?n:n.subarray(0,r)}return e}var ml,os;e:{for(Uc=["CLOSURE_FLAGS"],qi=zr,Gi=0;Gi<Uc.length;Gi++)if((qi=qi[Uc[Gi]])==null){os=null;break e}os=qi}var Uc,qi,Gi,Oo,Md=os&&os[610401301];ml=Md!=null&&Md;var Ld=zr.navigator;function Xc(e){return!!ml&&!!Oo&&Oo.brands.some((({brand:t})=>t&&t.indexOf(e)!=-1))}function at(e){var t;return(t=zr.navigator)&&(t=t.userAgent)||(t=""),t.indexOf(e)!=-1}function pr(){return!!ml&&!!Oo&&Oo.brands.length>0}function Fc(){return pr()?Xc("Chromium"):(at("Chrome")||at("CriOS"))&&!(!pr()&&at("Edge"))||at("Silk")}function gl(e){return gl[" "](e),e}Oo=Ld&&Ld.userAgentData||null,gl[" "]=function(){};var _y=!pr()&&(at("Trident")||at("MSIE"));!at("Android")||Fc(),Fc(),at("Safari")&&(Fc()||!pr()&&at("Coast")||!pr()&&at("Opera")||!pr()&&at("Edge")||(pr()?Xc("Microsoft Edge"):at("Edg/"))||pr()&&Xc("Opera"));var Gp={},xo=null;function Sy(e){let t=e.length,r=3*t/4;r%3?r=Math.floor(r):"=.".indexOf(e[t-1])!=-1&&(r="=.".indexOf(e[t-2])!=-1?r-2:r-1);let n=new Uint8Array(r),o=0;return(function(i,s){function a(l){for(;c<i.length;){let h=i.charAt(c++),u=xo[h];if(u!=null)return u;if(!/^[\s\xa0]*$/.test(h))throw Error("Unknown base64 encoding at char: "+h)}return l}Kp();let c=0;for(;;){let l=a(-1),h=a(0),u=a(64),p=a(64);if(p===64&&l===-1)break;s(l<<2|h>>4),u!=64&&(s(h<<4&240|u>>2),p!=64&&s(u<<6&192|p))}})(e,(function(i){n[o++]=i})),o!==r?n.subarray(0,o):n}function Kp(){if(!xo){xo={};var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),t=["+/=","+/","-_=","-_.","-_"];for(let r=0;r<5;r++){let n=e.concat(t[r].split(""));Gp[r]=n;for(let o=0;o<n.length;o++){let i=n[o];xo[i]===void 0&&(xo[i]=o)}}}}var Xp=typeof Uint8Array<"u",Jp=!_y&&typeof btoa=="function";function Ud(e){if(!Jp){var t;t===void 0&&(t=0),Kp(),t=Gp[t];var r=Array(Math.floor(e.length/3)),n=t[64]||"";let c=0,l=0;for(;c<e.length-2;c+=3){var o=e[c],i=e[c+1],s=e[c+2],a=t[o>>2];o=t[(3&o)<<4|i>>4],i=t[(15&i)<<2|s>>6],s=t[63&s],r[l++]=a+o+i+s}switch(a=0,s=n,e.length-c){case 2:s=t[(15&(a=e[c+1]))<<2]||n;case 1:e=e[c],r[l]=t[e>>2]+t[(3&e)<<4|a>>4]+s+n}return r.join("")}for(t="",r=0,n=e.length-10240;r<n;)t+=String.fromCharCode.apply(null,e.subarray(r,r+=10240));return t+=String.fromCharCode.apply(null,r?e.subarray(r):e),btoa(t)}var Fd=/[-_.]/g,Ey={"-":"+",_:"/",".":"="};function ky(e){return Ey[e]||""}function Yp(e){if(!Jp)return Sy(e);Fd.test(e)&&(e=e.replace(Fd,ky)),e=atob(e);let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}function Fo(e){return Xp&&e!=null&&e instanceof Uint8Array}var Sn={};function $r(){return Cy||=new er(null,Sn)}function yl(e){Qp(Sn);var t=e.g;return(t=t==null||Fo(t)?t:typeof t=="string"?Yp(t):null)==null?t:e.g=t}var er=class{h(){return new Uint8Array(yl(this)||0)}constructor(e,t){if(Qp(t),this.g=e,e!=null&&e.length===0)throw Error("ByteString should be constructed with non-empty values")}},Cy,Ay;function Qp(e){if(e!==Sn)throw Error("illegal external caller")}function Zp(e,t){e.__closure__error__context__984382||(e.__closure__error__context__984382={}),e.__closure__error__context__984382.severity=t}function Jc(e){return Zp(e=Error(e),"warning"),e}var fs=typeof Symbol=="function"&&typeof Symbol()=="symbol",xy=new Set;function No(e,t,r=!1,n=!1){return e=typeof Symbol=="function"&&typeof Symbol()=="symbol"?n&&Symbol.for&&e?Symbol.for(e):e!=null?Symbol(e):Symbol():t,r&&xy.add(e),e}var Ty=No("jas",void 0,!0,!0),Nd=No(void 0,"0di"),Nc=No(void 0,"2ex"),ko=No(void 0,"1oa",!0),En=No(void 0,Symbol(),!0),C=fs?Ty:"Ga",ef={Ga:{value:0,configurable:!0,writable:!0,enumerable:!1}},tf=Object.defineProperties;function ms(e,t){fs||C in e||tf(e,ef),e[C]|=t}function ge(e,t){fs||C in e||tf(e,ef),e[C]=t}function Dn(e){return ms(e,34),e}function Iy(e,t){ge(t,-30975&(0|e))}function Yc(e,t){ge(t,-30941&(34|e))}function bl(){return typeof BigInt=="function"}function Ve(e){return Array.prototype.slice.call(e)}var wl,jo={},rf={};function jd(e){return!(!e||typeof e!="object"||e.Ia!==rf)}function vl(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)&&e.constructor===Object}function _l(e,t){if(e!=null){if(typeof e=="string")e=e?new er(e,Sn):$r();else if(e.constructor!==er)if(Fo(e))e=e.length?new er(new Uint8Array(e),Sn):$r();else{if(!t)throw Error();e=void 0}}return e}function is(e){return!(!Array.isArray(e)||e.length)&&!!(1&(0|e[C]))}var Vd=[];function vr(e){if(2&e)throw Error()}ge(Vd,55),wl=Object.freeze(Vd);var ss=class e{constructor(t,r,n){this.l=0,this.g=t,this.h=r,this.m=n}next(){if(this.l<this.g.length){let t=this.g[this.l++];return{done:!1,value:this.h?this.h.call(this.m,t):t}}return{done:!0,value:void 0}}[Symbol.iterator](){return new e(this.g,this.h,this.m)}};function Sl(e){return En?e[En]:void 0}var Py=Object.freeze({});function gs(e){return e.Qa=!0,e}var Ry=gs((e=>typeof e=="number")),Hd=gs((e=>typeof e=="string")),Dy=gs((e=>typeof e=="boolean")),ys=typeof zr.BigInt=="function"&&typeof zr.BigInt(0)=="bigint",Qc=gs((e=>ys?e>=By&&e<=Ly:e[0]==="-"?zd(e,Oy):zd(e,My))),Oy=Number.MIN_SAFE_INTEGER.toString(),By=ys?BigInt(Number.MIN_SAFE_INTEGER):void 0,My=Number.MAX_SAFE_INTEGER.toString(),Ly=ys?BigInt(Number.MAX_SAFE_INTEGER):void 0;function zd(e,t){if(e.length>t.length)return!1;if(e.length<t.length||e===t)return!0;for(let r=0;r<e.length;r++){let n=e[r],o=t[r];if(n>o)return!1;if(n<o)return!0}}var Uy=typeof Uint8Array.prototype.slice=="function",nf,W=0,ce=0;function $d(e){let t=e>>>0;W=t,ce=(e-t)/4294967296>>>0}function kn(e){if(e<0){$d(-e);let[t,r]=Al(W,ce);W=t>>>0,ce=r>>>0}else $d(e)}function El(e){let t=nf||=new DataView(new ArrayBuffer(8));t.setFloat32(0,+e,!0),ce=0,W=t.getUint32(0,!0)}function kl(e,t){let r=4294967296*t+(e>>>0);return Number.isSafeInteger(r)?r:Bo(e,t)}function Cl(e,t){let r=2147483648&t;return r&&(t=~t>>>0,(e=1+~e>>>0)==0&&(t=t+1>>>0)),typeof(e=kl(e,t))=="number"?r?-e:e:r?"-"+e:e}function Bo(e,t){if(e>>>=0,(t>>>=0)<=2097151)var r=""+(4294967296*t+e);else bl()?r=""+(BigInt(t)<<BigInt(32)|BigInt(e)):(e=(16777215&e)+6777216*(r=16777215&(e>>>24|t<<8))+6710656*(t=t>>16&65535),r+=8147497*t,t*=2,e>=1e7&&(r+=e/1e7>>>0,e%=1e7),r>=1e7&&(t+=r/1e7>>>0,r%=1e7),r=t+Wd(r)+Wd(e));return r}function Wd(e){return e=String(e),"0000000".slice(e.length)+e}function bs(e){if(e.length<16)kn(Number(e));else if(bl())e=BigInt(e),W=Number(e&BigInt(4294967295))>>>0,ce=Number(e>>BigInt(32)&BigInt(4294967295));else{let t=+(e[0]==="-");ce=W=0;let r=e.length;for(let n=t,o=(r-t)%6+t;o<=r;n=o,o+=6){let i=Number(e.slice(n,o));ce*=1e6,W=1e6*W+i,W>=4294967296&&(ce+=Math.trunc(W/4294967296),ce>>>=0,W>>>=0)}if(t){let[n,o]=Al(W,ce);W=n,ce=o}}}function Al(e,t){return t=~t,e?e=1+~e:t+=1,[e,t]}var xl=typeof BigInt=="function"?BigInt.asIntN:void 0,Fy=typeof BigInt=="function"?BigInt.asUintN:void 0,yn=Number.isSafeInteger,ws=Number.isFinite,as=Math.trunc;function _r(e){return e==null||typeof e=="number"?e:e==="NaN"||e==="Infinity"||e==="-Infinity"?Number(e):void 0}function of(e){return e==null||typeof e=="boolean"?e:typeof e=="number"?!!e:void 0}var Ny=/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;function vs(e){switch(typeof e){case"bigint":return!0;case"number":return ws(e);case"string":return Ny.test(e);default:return!1}}function On(e){if(e==null)return e;if(typeof e=="string"&&e)e=+e;else if(typeof e!="number")return;return ws(e)?0|e:void 0}function sf(e){if(e==null)return e;if(typeof e=="string"&&e)e=+e;else if(typeof e!="number")return;return ws(e)?e>>>0:void 0}function qd(e){if(e[0]==="-")return!1;let t=e.length;return t<20||t===20&&Number(e.substring(0,6))<184467}function Tl(e){return e=as(e),yn(e)||(kn(e),e=Cl(W,ce)),e}function Il(e){var t=as(Number(e));if(yn(t))return String(t);if((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),t=e.length,!(e[0]==="-"?t<20||t===20&&Number(e.substring(0,7))>-922337:t<19||t===19&&Number(e.substring(0,6))<922337))if(bs(e),e=W,2147483648&(t=ce))if(bl())e=""+(BigInt(0|t)<<BigInt(32)|BigInt(e>>>0));else{let[r,n]=Al(e,t);e="-"+Bo(r,n)}else e=Bo(e,t);return e}function cs(e){return e==null?e:typeof e=="bigint"?(Qc(e)?e=Number(e):(e=xl(64,e),e=Qc(e)?Number(e):String(e)),e):vs(e)?typeof e=="number"?Tl(e):Il(e):void 0}function jy(e){if(e==null)return e;var t=typeof e;if(t==="bigint")return String(Fy(64,e));if(vs(e)){if(t==="string")return t=as(Number(e)),yn(t)&&t>=0?e=String(t):((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),qd(e)||(bs(e),e=Bo(W,ce))),e;if(t==="number")return(e=as(e))>=0&&yn(e)?e:(function(r){if(r<0){kn(r);var n=Bo(W,ce);return r=Number(n),yn(r)?r:n}return qd(n=String(r))?n:(kn(r),kl(W,ce))})(e)}}function af(e){if(typeof e!="string")throw Error();return e}function Bn(e){if(e!=null&&typeof e!="string")throw Error();return e}function Cn(e){return e==null||typeof e=="string"?e:void 0}function Pl(e,t,r,n){if(e!=null&&typeof e=="object"&&e.W===jo)return e;if(!Array.isArray(e))return r?2&n?((e=t[Nd])||(Dn((e=new t).u),e=t[Nd]=e),t=e):t=new t:t=void 0,t;let o=r=0|e[C];return o===0&&(o|=32&n),o|=2&n,o!==r&&ge(e,o),new t(e)}function Vy(e,t,r){if(t)e:{if(!vs(t=e))throw Jc("int64");switch(typeof t){case"string":t=Il(t);break e;case"bigint":if(e=t=xl(64,t),Hd(e)){if(!/^\s*(?:-?[1-9]\d*|0)?\s*$/.test(e))throw Error(String(e))}else if(Ry(e)&&!Number.isSafeInteger(e))throw Error(String(e));t=ys?BigInt(t):Dy(t)?t?"1":"0":Hd(t)?t.trim()||"0":String(t);break e;default:t=Tl(t)}}else t=cs(e);return typeof(r=(e=t)==null?r?0:void 0:e)=="string"&&yn(t=+r)?t:r}var Hy={},zy=(function(){try{return gl(new class extends Map{constructor(){super()}}),!1}catch{return!0}})(),Io=class{constructor(){this.g=new Map}get(t){return this.g.get(t)}set(t,r){return this.g.set(t,r),this.size=this.g.size,this}delete(t){return t=this.g.delete(t),this.size=this.g.size,t}clear(){this.g.clear(),this.size=this.g.size}has(t){return this.g.has(t)}entries(){return this.g.entries()}keys(){return this.g.keys()}values(){return this.g.values()}forEach(t,r){return this.g.forEach(t,r)}[Symbol.iterator](){return this.entries()}},$y=zy?(Object.setPrototypeOf(Io.prototype,Map.prototype),Object.defineProperties(Io.prototype,{size:{value:0,configurable:!0,enumerable:!0,writable:!0}}),Io):class extends Map{constructor(){super()}};function Gd(e){return e}function jc(e){if(2&e.L)throw Error("Cannot mutate an immutable Map")}var lt=class extends $y{constructor(e,t,r=Gd,n=Gd){super();let o=0|e[C];o|=64,ge(e,o),this.L=o,this.S=t,this.R=r,this.Y=this.S?Wy:n;for(let i=0;i<e.length;i++){let s=e[i],a=r(s[0],!1,!0),c=s[1];t?c===void 0&&(c=null):c=n(s[1],!1,!0,void 0,void 0,o),super.set(a,c)}}na(e=Kd){if(this.size!==0)return this.X(e)}X(e=Kd){let t=[],r=super.entries();for(var n;!(n=r.next()).done;)(n=n.value)[0]=e(n[0]),n[1]=e(n[1]),t.push(n);return t}clear(){jc(this),super.clear()}delete(e){return jc(this),super.delete(this.R(e,!0,!1))}entries(){var e=this.ma();return new ss(e,qy,this)}keys(){return this.Ha()}values(){var e=this.ma();return new ss(e,lt.prototype.get,this)}forEach(e,t){super.forEach(((r,n)=>{e.call(t,this.get(n),n,this)}))}set(e,t){return jc(this),(e=this.R(e,!0,!1))==null?this:t==null?(super.delete(e),this):super.set(e,this.Y(t,!0,!0,this.S,!1,this.L))}Na(e){let t=this.R(e[0],!1,!0);e=e[1],e=this.S?e===void 0?null:e:this.Y(e,!1,!0,void 0,!1,this.L),super.set(t,e)}has(e){return super.has(this.R(e,!1,!1))}get(e){e=this.R(e,!1,!1);let t=super.get(e);if(t!==void 0){var r=this.S;return r?((r=this.Y(t,!1,!0,r,this.ra,this.L))!==t&&super.set(e,r),r):t}}ma(){return Array.from(super.keys())}Ha(){return super.keys()}[Symbol.iterator](){return this.entries()}};function Wy(e,t,r,n,o,i){return e=Pl(e,n,r,i),o&&(e=Ss(e)),e}function Kd(e){return e}function qy(e){return[e,this.get(e)]}var Gy,cf,Ky;function Xd(){return Gy||=new lt(Dn([]),void 0,void 0,void 0,Hy)}function Rl(e,t,r,n,o){if(e!=null){if(Array.isArray(e))e=is(e)?void 0:o&&2&(0|e[C])?e:Dl(e,t,r,n!==void 0,o);else if(vl(e)){let i={};for(let s in e)i[s]=Rl(e[s],t,r,n,o);e=i}else e=t(e,n);return e}}function Dl(e,t,r,n,o){let i=n||r?0|e[C]:0,s=n?!!(32&i):void 0;n=Ve(e);for(let a=0;a<n.length;a++)n[a]=Rl(n[a],t,r,s,o);return r&&((e=Sl(e))&&(n[En]=Ve(e)),r(i,n)),n}function Xy(e){return Rl(e,lf,void 0,void 0,!1)}function lf(e){return e.W===jo?e.toJSON():e instanceof lt?e.na(Xy):(function(t){switch(typeof t){case"number":return isFinite(t)?t:String(t);case"bigint":return Qc(t)?Number(t):String(t);case"boolean":return t?1:0;case"object":if(t)if(Array.isArray(t)){if(is(t))return}else{if(Fo(t))return Ud(t);if(t instanceof er){let r=t.g;return r==null?"":typeof r=="string"?r:t.g=Ud(r)}if(t instanceof lt)return t.na()}}return t})(e)}function hf(e){return Dl(e,lf,void 0,void 0,!1)}function mr(e,t,r){return e=uf(e,t[0],t[1],r?1:2),t!==cf&&r&&ms(e,16384),e}function uf(e,t,r,n){if(e==null){var o=96;r?(e=[r],o|=512):e=[],t&&(o=-33521665&o|(1023&t)<<15)}else{if(!Array.isArray(e))throw Error("narr");if(2048&(o=0|e[C]))throw Error("farr");if(64&o)return e;if(n===1||n===2||(o|=64),r&&(o|=512,r!==e[0]))throw Error("mid");e:{if(n=(r=e).length){let i=n-1;if(vl(r[i])){if((t=i-(512&(o|=256)?0:-1))>=1024)throw Error("pvtlmt");o=-33521665&o|(1023&t)<<15;break e}}if(t){if((t=Math.max(t,n-(512&o?0:-1)))>1024)throw Error("spvt");o=-33521665&o|(1023&t)<<15}}}return ge(e,o),e}function Zc(e,t,r=Yc){if(e!=null){if(Xp&&e instanceof Uint8Array)return t?e:new Uint8Array(e);if(Array.isArray(e)){var n=0|e[C];return 2&n?e:(t&&=n===0||!!(32&n)&&!(64&n||!(16&n)),t?(ge(e,-12293&(34|n)),e):Dl(e,Zc,4&n?Yc:r,!0,!0))}return e.W===jo?e=2&(n=0|(r=e.u)[C])?e:new e.constructor(_s(r,n,!0)):e instanceof lt&&!(2&e.L)&&(r=Dn(e.X(Zc)),e=new lt(r,e.S,e.R,e.Y)),e}}function _s(e,t,r){let n=r||2&t?Yc:Iy,o=!!(32&t);return e=(function(i,s,a){let c=Ve(i);var l=c.length;let h=256&s?c[l-1]:void 0;for(l+=h?-1:0,s=512&s?1:0;s<l;s++)c[s]=a(c[s]);if(h){s=c[s]={};for(let u in h)s[u]=a(h[u])}return(i=Sl(i))&&(c[En]=Ve(i)),c})(e,t,(i=>Zc(i,o,n))),ms(e,32|(r?2:0)),e}function Ss(e){let t=e.u,r=0|t[C];return 2&r?new e.constructor(_s(t,r,!1)):e}function An(e,t){return or(e=e.u,0|e[C],t)}function or(e,t,r,n){if(r===-1)return null;var o=r+(512&t?0:-1);let i=e.length-1;return o>=i&&256&t?e[i][r]:n&&256&t&&(t=e[i][r])!=null?(e[o]!=null&&Nc!=null&&((o=(e=Ay??={})[Nc]||0)>=4||(e[Nc]=o+1,Zp(e=Error(),"incident"),(function(s){zr.setTimeout((()=>{throw s}),0)})(e))),t):o<=i?e[o]:void 0}function G(e,t,r){let n=e.u,o=0|n[C];return vr(o),ne(n,o,t,r),e}function ne(e,t,r,n){let o=512&t?0:-1,i=r+o;var s=e.length-1;return i>=s&&256&t?(e[s][r]=n,t):i<=s?(e[i]=n,256&t&&r in(e=e[s])&&delete e[r],t):(n!==void 0&&(r>=(s=t>>15&1023||536870912)?n!=null&&(e[s+o]={[r]:n},ge(e,t|=256)):e[i]=n),t)}function Qi(e,t){let r=0|(e=e.u)[C],n=or(e,r,t),o=_r(n);return o!=null&&o!==n&&ne(e,r,t,o),o}function df(e){let t=0|(e=e.u)[C],r=or(e,t,1),n=_l(r,!0);return n!=null&&n!==r&&ne(e,t,1,n),n}function jr(){return Py===void 0?2:4}function Vr(e,t,r,n,o){let i=e.u,s=2&(e=0|i[C])?1:n;o=!!o;let a=0|(n=Ol(i,e,t))[C];if(!(4&a)){4&a&&(n=Ve(n),a=tr(a,e),e=ne(i,e,t,n));let c=0,l=0;for(;c<n.length;c++){let h=r(n[c]);h!=null&&(n[l++]=h)}l<c&&(n.length=l),a=Bl(a,e),r=-4097&(20|a),a=r&=-8193,ge(n,a),2&a&&Object.freeze(n)}return s===1||s===4&&32&a?Zt(a)||(o=a,a|=2,a!==o&&ge(n,a),Object.freeze(n)):(s===2&&Zt(a)&&(n=Ve(n),a=tr(a,e),a=gr(a,e,o),ge(n,a),e=ne(i,e,t,n)),Zt(a)||(t=a,a=gr(a,e,o),a!==t&&ge(n,a))),n}function Ol(e,t,r,n){return e=or(e,t,r,n),Array.isArray(e)?e:wl}function Bl(e,t){return e===0&&(e=tr(e,t)),1|e}function Zt(e){return!!(2&e)&&!!(4&e)||!!(2048&e)}function pf(e){e=Ve(e);for(let t=0;t<e.length;t++){let r=e[t]=Ve(e[t]);Array.isArray(r[1])&&(r[1]=Dn(r[1]))}return e}function el(e,t,r,n){let o=0|(e=e.u)[C];vr(o),ne(e,o,t,(n==="0"?Number(r)===0:r===n)?void 0:r)}function Mn(e,t,r,n,o){vr(t);var i=!(!(64&t)&&16384&t);let s=(o=Ol(e,t,r,o))!==wl;if(i||!s){let a=i=s?0|o[C]:0;(!s||2&a||Zt(a)||4&a&&!(32&a))&&(o=Ve(o),a=tr(a,t),t=ne(e,t,r,o)),a=-13&Bl(a,t),a=gr(n?-17&a:16|a,t,!0),a!==i&&ge(o,a)}return o}function Vc(e,t){var r=rm;return Ll(Ml(e=e.u),e,0|e[C],r)===t?t:-1}function Ml(e){if(fs)return e[ko]??(e[ko]=new Map);if(ko in e)return e[ko];let t=new Map;return Object.defineProperty(e,ko,{value:t}),t}function ff(e,t,r,n){let o=Ml(e),i=Ll(o,e,t,r);return i!==n&&(i&&(t=ne(e,t,i)),o.set(r,n)),t}function Ll(e,t,r,n){let o=e.get(n);if(o!=null)return o;o=0;for(let i=0;i<n.length;i++){let s=n[i];or(t,r,s)!=null&&(o!==0&&(r=ne(t,r,o)),o=s)}return e.set(n,o),o}function Ul(e,t,r,n){let o,i=0|e[C];if((n=or(e,i,r,n))!=null&&n.W===jo)return(t=Ss(n))!==n&&ne(e,i,r,t),t.u;if(Array.isArray(n)){let s=0|n[C];o=2&s?mr(_s(n,s,!1),t,!0):64&s?n:mr(o,t,!0)}else o=mr(void 0,t,!0);return o!==n&&ne(e,i,r,o),o}function mf(e,t,r,n){let o=0|(e=e.u)[C];return(t=Pl(n=or(e,o,r,n),t,!1,o))!==n&&t!=null&&ne(e,o,r,t),t}function U(e,t,r,n=!1){if((t=mf(e,t,r,n))==null)return t;if(!(2&(n=0|(e=e.u)[C]))){let o=Ss(t);o!==t&&ne(e,n,r,t=o)}return t}function gf(e,t,r,n,o,i,s){e=e.u;var a=!!(2&t);let c=a?1:o;i=!!i,s&&=!a;var l=0|(o=Ol(e,t,n))[C];if(!(a=!!(4&l))){var h=o,u=t;let p=!!(2&(l=Bl(l,t)));p&&(u|=2);let g=!p,m=!0,y=0,b=0;for(;y<h.length;y++){let w=Pl(h[y],r,!1,u);if(w instanceof r){if(!p){let S=!!(2&(0|w.u[C]));g&&=!S,m&&=S}h[b++]=w}}b<y&&(h.length=b),l|=4,l=m?16|l:-17&l,ge(h,l=g?8|l:-9&l),p&&Object.freeze(h)}if(s&&!(8&l||!o.length&&(c===1||c===4&&32&l))){for(Zt(l)&&(o=Ve(o),l=tr(l,t),t=ne(e,t,n,o)),r=o,s=l,h=0;h<r.length;h++)(l=r[h])!==(u=Ss(l))&&(r[h]=u);s|=8,ge(r,s=r.length?-17&s:16|s),l=s}return c===1||c===4&&32&l?Zt(l)||(t=l,(l|=!o.length||16&l&&(!a||32&l)?2:2048)!==t&&ge(o,l),Object.freeze(o)):(c===2&&Zt(l)&&(ge(o=Ve(o),l=gr(l=tr(l,t),t,i)),t=ne(e,t,n,o)),Zt(l)||(n=l,(l=gr(l,t,i))!==n&&ge(o,l))),o}function rr(e,t,r){let n=0|e.u[C];return gf(e,n,t,r,jr(),!1,!(2&n))}function x(e,t,r,n){return n==null&&(n=void 0),G(e,r,n)}function Po(e,t,r,n){n==null&&(n=void 0);e:{let o=0|(e=e.u)[C];if(vr(o),n==null){let i=Ml(e);if(Ll(i,e,o,r)!==t)break e;i.set(r,0)}else o=ff(e,o,r,t);ne(e,o,t,n)}}function tr(e,t){return-2049&(e=32|(2&t?2|e:-3&e))}function gr(e,t,r){return 32&t&&r||(e&=-33),e}function ls(e,t,r,n){let o=0|e.u[C];vr(o),e=gf(e,o,r,t,2,!0),n=n??new r,e.push(n),e[C]=2&(0|n.u[C])?-9&e[C]:-17&e[C]}function ct(e,t){return On(An(e,t))}function ht(e,t){return Cn(An(e,t))}function pe(e,t){return Qi(e,t)??0}function Mo(e,t,r){if(r!=null&&typeof r!="boolean")throw e=typeof r,Error(`Expected boolean but got ${e!="object"?e:r?Array.isArray(r)?"array":e:"null"}: ${r}`);G(e,t,r)}function jt(e,t,r){if(r!=null){if(typeof r!="number"||!ws(r))throw Jc("int32");r|=0}G(e,t,r)}function E(e,t,r){if(r!=null&&typeof r!="number")throw Error(`Value of float/double field must be a number, found ${typeof r}: ${r}`);G(e,t,r)}function hs(e,t,r){{let s=e.u,a=0|s[C];if(vr(a),r==null)ne(s,a,t);else{var n=e=0|r[C],o=Zt(e),i=o||Object.isFrozen(r);for(o||(e=0),i||(r=Ve(r),n=0,e=gr(e=tr(e,a),a,!0),i=!1),e|=21,o=0;o<r.length;o++){let c=r[o],l=af(c);Object.is(c,l)||(i&&(r=Ve(r),n=0,e=gr(e=tr(e,a),a,!0),i=!1),r[o]=l)}e!==n&&(i&&(r=Ve(r),e=gr(e=tr(e,a),a,!0)),ge(r,e)),ne(s,a,t,r)}}}function Es(e,t,r){vr(0|e.u[C]),Vr(e,t,Cn,2,!0).push(af(r))}function yf(e,t){return Error(`Invalid wire type: ${e} (at position ${t})`)}function Fl(){return Error("Failed to read varint, encoding is invalid.")}function bf(e,t){return Error(`Tried to read past the end of the data ${t} > ${e}`)}function Nl(e){if(typeof e=="string")return{buffer:Yp(e),N:!1};if(Array.isArray(e))return{buffer:new Uint8Array(e),N:!1};if(e.constructor===Uint8Array)return{buffer:e,N:!1};if(e.constructor===ArrayBuffer)return{buffer:new Uint8Array(e),N:!1};if(e.constructor===er)return{buffer:yl(e)||new Uint8Array(0),N:!0};if(e instanceof Uint8Array)return{buffer:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),N:!1};throw Error("Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers")}function jl(e,t){let r,n=0,o=0,i=0,s=e.h,a=e.g;do r=s[a++],n|=(127&r)<<i,i+=7;while(i<32&&128&r);for(i>32&&(o|=(127&r)>>4),i=3;i<32&&128&r;i+=7)r=s[a++],o|=(127&r)<<i;if(Hr(e,a),r<128)return t(n>>>0,o>>>0);throw Fl()}function Vl(e){let t=0,r=e.g,n=r+10,o=e.h;for(;r<n;){let i=o[r++];if(t|=i,(128&i)==0)return Hr(e,r),!!(127&t)}throw Fl()}function yr(e){let t=e.h,r=e.g,n=t[r++],o=127&n;if(128&n&&(n=t[r++],o|=(127&n)<<7,128&n&&(n=t[r++],o|=(127&n)<<14,128&n&&(n=t[r++],o|=(127&n)<<21,128&n&&(n=t[r++],o|=n<<28,128&n&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++])))))throw Fl();return Hr(e,r),o}function nr(e){return yr(e)>>>0}function tl(e){var t=e.h;let r=e.g,n=t[r],o=t[r+1],i=t[r+2];return t=t[r+3],Hr(e,e.g+4),(n<<0|o<<8|i<<16|t<<24)>>>0}function rl(e){var t=tl(e);e=2*(t>>31)+1;let r=t>>>23&255;return t&=8388607,r==255?t?NaN:e*(1/0):r==0?1401298464324817e-60*e*t:e*Math.pow(2,r-150)*(t+8388608)}function Jy(e){return yr(e)}function Hc(e,t,{ba:r=!1}={}){e.ba=r,t&&(t=Nl(t),e.h=t.buffer,e.m=t.N,e.j=0,e.l=e.h.length,e.g=e.j)}function Hr(e,t){if(e.g=t,t>e.l)throw bf(e.l,t)}function wf(e,t){if(t<0)throw Error(`Tried to read a negative byte length: ${t}`);let r=e.g,n=r+t;if(n>e.l)throw bf(t,e.l-r);return e.g=n,r}function vf(e,t){if(t==0)return $r();var r=wf(e,t);return e.ba&&e.m?r=e.h.subarray(r,r+t):(e=e.h,r=r===(t=r+t)?new Uint8Array(0):Uy?e.slice(r,t):new Uint8Array(e.subarray(r,t))),r.length==0?$r():new er(r,Sn)}lt.prototype.toJSON=void 0,lt.prototype.Ia=rf;var Jd=[];function _f(e){var t=e.g;if(t.g==t.l)return!1;e.l=e.g.g;var r=nr(e.g);if(t=r>>>3,!((r&=7)>=0&&r<=5))throw yf(r,e.l);if(t<1)throw Error(`Invalid field number: ${t} (at position ${e.l})`);return e.m=t,e.h=r,!0}function Zi(e){switch(e.h){case 0:e.h!=0?Zi(e):Vl(e.g);break;case 1:Hr(e=e.g,e.g+8);break;case 2:if(e.h!=2)Zi(e);else{var t=nr(e.g);Hr(e=e.g,e.g+t)}break;case 5:Hr(e=e.g,e.g+4);break;case 3:for(t=e.m;;){if(!_f(e))throw Error("Unmatched start-group tag: stream EOF");if(e.h==4){if(e.m!=t)throw Error("Unmatched end-group tag");break}Zi(e)}break;default:throw yf(e.h,e.l)}}function Vo(e,t,r){let n=e.g.l,o=nr(e.g),i=e.g.g+o,s=i-n;if(s<=0&&(e.g.l=i,r(t,e,void 0,void 0,void 0),s=i-e.g.g),s)throw Error(`Message parsing ended unexpectedly. Expected to read ${o} bytes, instead read ${o-s} bytes, either the data ended unexpectedly or the message misreported its own length`);return e.g.g=i,e.g.l=n,t}function Hl(e){var t=nr(e.g),r=wf(e=e.g,t);if(e=e.h,by){var n,o=e;(n=Lc)||(n=Lc=new TextDecoder("utf-8",{fatal:!0})),t=r+t,o=r===0&&t===o.length?o:o.subarray(r,t);try{var i=n.decode(o)}catch(a){if(Wi===void 0){try{n.decode(new Uint8Array([128]))}catch{}try{n.decode(new Uint8Array([97])),Wi=!0}catch{Wi=!1}}throw!Wi&&(Lc=void 0),a}}else{t=(i=r)+t,r=[];let a,c=null;for(;i<t;){var s=e[i++];s<128?r.push(s):s<224?i>=t?Nr():(a=e[i++],s<194||(192&a)!=128?(i--,Nr()):r.push((31&s)<<6|63&a)):s<240?i>=t-1?Nr():(a=e[i++],(192&a)!=128||s===224&&a<160||s===237&&a>=160||(192&(n=e[i++]))!=128?(i--,Nr()):r.push((15&s)<<12|(63&a)<<6|63&n)):s<=244?i>=t-2?Nr():(a=e[i++],(192&a)!=128||a-144+(s<<28)>>30!=0||(192&(n=e[i++]))!=128||(192&(o=e[i++]))!=128?(i--,Nr()):(s=(7&s)<<18|(63&a)<<12|(63&n)<<6|63&o,s-=65536,r.push(55296+(s>>10&1023),56320+(1023&s)))):Nr(),r.length>=8192&&(c=Bd(c,r),r.length=0)}i=Bd(c,r)}return i}function Sf(e){let t=nr(e.g);return vf(e.g,t)}function ks(e,t,r){var n=nr(e.g);for(n=e.g.g+n;e.g.g<n;)r.push(t(e.g))}var Ki=[];function Yy(e){return e}var bn;function Et(e,t,r){t.g?t.m(e,t.g,t.h,r):t.m(e,t.h,r)}var _=class{constructor(e,t){this.u=uf(e,t)}toJSON(){let e=!bn;try{return e&&(bn=hf),Ef(this)}finally{e&&(bn=void 0)}}l(){var e=D3;return e.g?e.l(this,e.g,e.h,!0):e.l(this,e.h,e.defaultValue,!0)}clone(){let e=this.u;return new this.constructor(_s(e,0|e[C],!1))}N(){return!!(2&(0|this.u[C]))}};function Ef(e){var t=e.u;{t=(e=bn(t))!==t;let l=e.length;if(l){var r=e[l-1],n=vl(r);n?l--:r=void 0;var o=e;if(n){e:{var i,s=r,a=!1;if(s)for(let h in s)isNaN(+h)?(i??={})[h]=s[h]:(n=s[h],Array.isArray(n)&&(is(n)||jd(n)&&n.size===0)&&(n=null),n==null&&(a=!0),n!=null&&((i??={})[h]=n));if(a||(i=s),i)for(let h in i){a=i;break e}a=null}s=a==null?r!=null:a!==r}for(;l>0&&((i=o[l-1])==null||is(i)||jd(i)&&i.size===0);l--)var c=!0;(o!==e||s||c)&&(t?(c||s||a)&&(o.length=l):o=Array.prototype.slice.call(o,0,l),a&&o.push(a)),c=o}else c=e}return c}function Yd(e){return e?/^\d+$/.test(e)?(bs(e),new nl(W,ce)):null:Qy||=new nl(0,0)}_.prototype.W=jo,_.prototype.toString=function(){try{return bn=Yy,Ef(this).toString()}finally{bn=void 0}};var nl=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}},Qy;function Qd(e){return e?/^-?\d+$/.test(e)?(bs(e),new ol(W,ce)):null:Zy||=new ol(0,0)}var ol=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}},Zy;function wn(e,t,r){for(;r>0||t>127;)e.g.push(127&t|128),t=(t>>>7|r<<25)>>>0,r>>>=7;e.g.push(t)}function Ln(e,t){for(;t>127;)e.g.push(127&t|128),t>>>=7;e.g.push(t)}function Cs(e,t){if(t>=0)Ln(e,t);else{for(let r=0;r<9;r++)e.g.push(127&t|128),t>>=7;e.g.push(1)}}function Lo(e,t){e.g.push(t>>>0&255),e.g.push(t>>>8&255),e.g.push(t>>>16&255),e.g.push(t>>>24&255)}function xn(e,t){t.length!==0&&(e.l.push(t),e.h+=t.length)}function Ye(e,t,r){Ln(e.g,8*t+r)}function zl(e,t){return Ye(e,t,2),t=e.g.end(),xn(e,t),t.push(e.h),t}function $l(e,t){var r=t.pop();for(r=e.h+e.g.length()-r;r>127;)t.push(127&r|128),r>>>=7,e.h++;t.push(r),e.h++}function As(e,t,r){Ye(e,t,2),Ln(e.g,r.length),xn(e,e.g.end()),xn(e,r)}function us(e,t,r,n){r!=null&&(t=zl(e,t),n(r,e),$l(e,t))}function kt(){let e=class{constructor(){throw Error()}};return Object.setPrototypeOf(e,e.prototype),e}var Wl=kt(),kf=kt(),ql=kt(),Gl=kt(),Cf=kt(),Af=kt(),Kl=kt(),xf=kt(),Tf=kt(),Un=class{constructor(e,t,r){this.g=e,this.h=t,e=Wl,this.l=!!e&&r===e||!1}};function xs(e,t){return new Un(e,t,Wl)}function If(e,t,r,n,o){us(e,r,Of(t,n),o)}var e3=xs((function(e,t,r,n,o){return e.h===2&&(Vo(e,Ul(t,n,r),o),!0)}),If),t3=xs((function(e,t,r,n,o){return e.h===2&&(Vo(e,Ul(t,n,r,!0),o),!0)}),If),Ts=Symbol(),Xl=Symbol(),Zd=Symbol(),ep=Symbol(),Pf,Rf;function Wr(e,t,r,n){var o=n[e];if(o)return o;(o={}).Pa=n,o.V=(function(u){switch(typeof u){case"boolean":return cf||=[0,void 0,!0];case"number":return u>0?void 0:u===0?Ky||=[0,void 0]:[-u,void 0];case"string":return[0,u];case"object":return u}})(n[0]);var i=n[1];let s=1;i&&i.constructor===Object&&(o.ga=i,typeof(i=n[++s])=="function"&&(o.la=!0,Pf??=i,Rf??=n[s+1],i=n[s+=2]));let a={};for(;i&&Array.isArray(i)&&i.length&&typeof i[0]=="number"&&i[0]>0;){for(var c=0;c<i.length;c++)a[i[c]]=i;i=n[++s]}for(c=1;i!==void 0;){let u;typeof i=="number"&&(c+=i,i=n[++s]);var l=void 0;if(i instanceof Un?u=i:(u=e3,s--),u?.l){i=n[++s],l=n;var h=s;typeof i=="function"&&(i=i(),l[h]=i),l=i}for(h=c+1,typeof(i=n[++s])=="number"&&i<0&&(h-=i,i=n[++s]);c<h;c++){let p=a[c];l?r(o,c,u,l,p):t(o,c,u,p)}}return n[e]=o}function Df(e){return Array.isArray(e)?e[0]instanceof Un?e:[t3,e]:[e,void 0]}function Of(e,t){return e instanceof _?e.u:Array.isArray(e)?mr(e,t,!1):void 0}function Jl(e,t,r,n){let o=r.g;e[t]=n?(i,s,a)=>o(i,s,a,n):o}function Yl(e,t,r,n,o){let i=r.g,s,a;e[t]=(c,l,h)=>i(c,l,h,a||=Wr(Xl,Jl,Yl,n).V,s||=Ql(n),o)}function Ql(e){let t=e[Zd];if(t!=null)return t;let r=Wr(Xl,Jl,Yl,e);return t=r.la?(n,o)=>Pf(n,o,r):(n,o)=>{let i=0|n[C];for(;_f(o)&&o.h!=4;){var s=o.m,a=r[s];if(a==null){var c=r.ga;c&&(c=c[s])&&(c=r3(c))!=null&&(a=r[s]=c)}a!=null&&a(o,n,s)||(s=(a=o).l,Zi(a),a.fa?a=void 0:(c=a.g.g-s,a.g.g=s,a=vf(a.g,c)),s=n,a&&((c=s[En])?c.push(a):s[En]=[a]))}return 16384&i&&Dn(n),!0},e[Zd]=t}function r3(e){let t=(e=Df(e))[0].g;if(e=e[1]){let r=Ql(e),n=Wr(Xl,Jl,Yl,e).V;return(o,i,s)=>t(o,i,s,n,r)}return t}function Is(e,t,r){e[t]=r.h}function Ps(e,t,r,n){let o,i,s=r.h;e[t]=(a,c,l)=>s(a,c,l,i||=Wr(Ts,Is,Ps,n).V,o||=Bf(n))}function Bf(e){let t=e[ep];if(!t){let r=Wr(Ts,Is,Ps,e);t=(n,o)=>Mf(n,o,r),e[ep]=t}return t}function Mf(e,t,r){for(var n=0|e[C],o=512&n?0:-1,i=e.length,s=512&n?1:0,a=i+(256&n?-1:0);s<a;s++){let c=e[s];if(c==null)continue;let l=s-o,h=tp(r,l);h&&h(t,c,l)}if(256&n){n=e[i-1];for(let c in n)o=+c,Number.isNaN(o)||(i=n[o])!=null&&(a=tp(r,o))&&a(t,i,o)}if(e=Sl(e))for(xn(t,t.g.end()),r=0;r<e.length;r++)xn(t,yl(e[r])||new Uint8Array(0))}function tp(e,t){var r=e[t];if(r)return r;if((r=e.ga)&&(r=r[t])){var n=(r=Df(r))[0].h;if(r=r[1]){let o=Bf(r),i=Wr(Ts,Is,Ps,r).V;r=e.la?Rf(i,o):(s,a,c)=>n(s,a,c,i,o)}else r=n;return e[t]=r}}function Fn(e,t){if(Array.isArray(t)){var r=0|t[C];if(4&r)return t;for(var n=0,o=0;n<t.length;n++){let i=e(t[n]);i!=null&&(t[o++]=i)}return o<n&&(t.length=o),ge(t,-12289&(5|r)),2&r&&Object.freeze(t),t}}function Oe(e,t,r){return new Un(e,t,r)}function Nn(e,t,r){return new Un(e,t,r)}function Be(e,t,r){ne(e,0|e[C],t,r)}var n3=xs((function(e,t,r,n,o){return e.h===2&&(e=Vo(e,mr([void 0,void 0],n,!0),o),vr(n=0|t[C]),(o=or(t,n,r))instanceof lt?(2&o.L)!=0?((o=o.X()).push(e),ne(t,n,r,o)):o.Na(e):Array.isArray(o)?(2&(0|o[C])&&ne(t,n,r,o=pf(o)),o.push(e)):ne(t,n,r,[e]),!0)}),(function(e,t,r,n,o){if(t instanceof lt)t.forEach(((i,s)=>{us(e,r,mr([s,i],n,!1),o)}));else if(Array.isArray(t))for(let i=0;i<t.length;i++){let s=t[i];Array.isArray(s)&&us(e,r,mr(s,n,!1),o)}}));function Lf(e,t,r){if(t=(function(n){if(n==null)return n;let o=typeof n;if(o==="bigint")return String(xl(64,n));if(vs(n)){if(o==="string")return Il(n);if(o==="number")return Tl(n)}})(t),t!=null&&(typeof t=="string"&&Qd(t),t!=null))switch(Ye(e,r,0),typeof t){case"number":e=e.g,kn(t),wn(e,W,ce);break;case"bigint":r=BigInt.asUintN(64,t),r=new ol(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),wn(e.g,r.h,r.g);break;default:r=Qd(t),wn(e.g,r.h,r.g)}}function Uf(e,t,r){(t=On(t))!=null&&t!=null&&(Ye(e,r,0),Cs(e.g,t))}function Ff(e,t,r){(t=of(t))!=null&&(Ye(e,r,0),e.g.g.push(t?1:0))}function Nf(e,t,r){(t=Cn(t))!=null&&As(e,r,qp(t))}function jf(e,t,r,n,o){us(e,r,Of(t,n),o)}function Vf(e,t,r){(t=t==null||typeof t=="string"||Fo(t)||t instanceof er?t:void 0)!=null&&As(e,r,Nl(t).buffer)}function Hf(e,t,r){return(e.h===5||e.h===2)&&(t=Mn(t,0|t[C],r,!1,!1),e.h==2?ks(e,rl,t):t.push(rl(e.g)),!0)}var Yt=Oe((function(e,t,r){if(e.h!==1)return!1;var n=e.g;e=tl(n);let o=tl(n);n=2*(o>>31)+1;let i=o>>>20&2047;return e=4294967296*(1048575&o)+e,Be(t,r,i==2047?e?NaN:n*(1/0):i==0?5e-324*n*e:n*Math.pow(2,i-1075)*(e+4503599627370496)),!0}),(function(e,t,r){(t=_r(t))!=null&&(Ye(e,r,1),e=e.g,(r=nf||=new DataView(new ArrayBuffer(8))).setFloat64(0,+t,!0),W=r.getUint32(0,!0),ce=r.getUint32(4,!0),Lo(e,W),Lo(e,ce))}),kt()),ye=Oe((function(e,t,r){return e.h===5&&(Be(t,r,rl(e.g)),!0)}),(function(e,t,r){(t=_r(t))!=null&&(Ye(e,r,5),e=e.g,El(t),Lo(e,W))}),Kl),o3=Nn(Hf,(function(e,t,r){if((t=Fn(_r,t))!=null)for(let s=0;s<t.length;s++){var n=e,o=r,i=t[s];i!=null&&(Ye(n,o,5),n=n.g,El(i),Lo(n,W))}}),Kl),Zl=Nn(Hf,(function(e,t,r){if((t=Fn(_r,t))!=null&&t.length){Ye(e,r,2),Ln(e.g,4*t.length);for(let n=0;n<t.length;n++)r=e.g,El(t[n]),Lo(r,W)}}),Kl),br=Oe((function(e,t,r){return e.h===0&&(Be(t,r,jl(e.g,Cl)),!0)}),Lf,Af),zc=Oe((function(e,t,r){return e.h===0&&(Be(t,r,(e=jl(e.g,Cl))===0?void 0:e),!0)}),Lf,Af),i3=Oe((function(e,t,r){return e.h===0&&(Be(t,r,jl(e.g,kl)),!0)}),(function(e,t,r){if((t=jy(t))!=null&&(typeof t=="string"&&Yd(t),t!=null))switch(Ye(e,r,0),typeof t){case"number":e=e.g,kn(t),wn(e,W,ce);break;case"bigint":r=BigInt.asUintN(64,t),r=new nl(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),wn(e.g,r.h,r.g);break;default:r=Yd(t),wn(e.g,r.h,r.g)}}),kt()),le=Oe((function(e,t,r){return e.h===0&&(Be(t,r,yr(e.g)),!0)}),Uf,Gl),Rs=Nn((function(e,t,r){return(e.h===0||e.h===2)&&(t=Mn(t,0|t[C],r,!1,!1),e.h==2?ks(e,yr,t):t.push(yr(e.g)),!0)}),(function(e,t,r){if((t=Fn(On,t))!=null&&t.length){r=zl(e,r);for(let n=0;n<t.length;n++)Cs(e.g,t[n]);$l(e,r)}}),Gl),gn=Oe((function(e,t,r){return e.h===0&&(Be(t,r,(e=yr(e.g))===0?void 0:e),!0)}),Uf,Gl),Z=Oe((function(e,t,r){return e.h===0&&(Be(t,r,Vl(e.g)),!0)}),Ff,kf),vn=Oe((function(e,t,r){return e.h===0&&(Be(t,r,(e=Vl(e.g))===!1?void 0:e),!0)}),Ff,kf),Pe=Nn((function(e,t,r){return e.h===2&&(e=Hl(e),Mn(t,0|t[C],r,!1).push(e),!0)}),(function(e,t,r){if((t=Fn(Cn,t))!=null)for(let s=0;s<t.length;s++){var n=e,o=r,i=t[s];i!=null&&As(n,o,qp(i))}}),ql),fr=Oe((function(e,t,r){return e.h===2&&(Be(t,r,(e=Hl(e))===""?void 0:e),!0)}),Nf,ql),j=Oe((function(e,t,r){return e.h===2&&(Be(t,r,Hl(e)),!0)}),Nf,ql),Se=(function(e,t,r=Wl){return new Un(e,t,r)})((function(e,t,r,n,o){return e.h===2&&(n=mr(void 0,n,!0),Mn(t,0|t[C],r,!0).push(n),Vo(e,n,o),!0)}),(function(e,t,r,n,o){if(Array.isArray(t))for(let i=0;i<t.length;i++)jf(e,t[i],r,n,o)})),z=xs((function(e,t,r,n,o,i){return e.h===2&&(ff(t,0|t[C],i,r),Vo(e,t=Ul(t,n,r),o),!0)}),jf),zf=Oe((function(e,t,r){return e.h===2&&(Be(t,r,Sf(e)),!0)}),Vf,xf),s3=Nn((function(e,t,r){return(e.h===0||e.h===2)&&(t=Mn(t,0|t[C],r,!1,!1),e.h==2?ks(e,nr,t):t.push(nr(e.g)),!0)}),(function(e,t,r){if((t=Fn(sf,t))!=null)for(let s=0;s<t.length;s++){var n=e,o=r,i=t[s];i!=null&&(Ye(n,o,0),Ln(n.g,i))}}),Cf),a3=Oe((function(e,t,r){return e.h===0&&(Be(t,r,(e=nr(e.g))===0?void 0:e),!0)}),(function(e,t,r){(t=sf(t))!=null&&t!=null&&(Ye(e,r,0),Ln(e.g,t))}),Cf),ut=Oe((function(e,t,r){return e.h===0&&(Be(t,r,yr(e.g)),!0)}),(function(e,t,r){(t=On(t))!=null&&(t=parseInt(t,10),Ye(e,r,0),Cs(e.g,t))}),Tf),il=class{constructor(t,r){this.h=t,this.g=r,this.l=U,this.m=x,this.defaultValue=void 0}};function Ct(e,t){return new il(e,t)}function Sr(e,t){return(r,n)=>{if(Ki.length){let i=Ki.pop();i.o(n),Hc(i.g,r,n),r=i}else r=new class{constructor(i,s){if(Jd.length){let a=Jd.pop();Hc(a,i,s),i=a}else i=new class{constructor(a,c){this.h=null,this.m=!1,this.g=this.l=this.j=0,Hc(this,a,c)}clear(){this.h=null,this.m=!1,this.g=this.l=this.j=0,this.ba=!1}}(i,s);this.g=i,this.l=this.g.g,this.h=this.m=-1,this.o(s)}o({fa:i=!1}={}){this.fa=i}}(r,n);try{let i=new e,s=i.u;Ql(t)(s,r);var o=i}finally{r.g.clear(),r.m=-1,r.h=-1,Ki.length<100&&Ki.push(r)}return o}}function Ds(e){return function(){let t=new class{constructor(){this.l=[],this.h=0,this.g=new class{constructor(){this.g=[]}length(){return this.g.length}end(){let s=this.g;return this.g=[],s}}}};Mf(this.u,t,Wr(Ts,Is,Ps,e)),xn(t,t.g.end());let r=new Uint8Array(t.h),n=t.l,o=n.length,i=0;for(let s=0;s<o;s++){let a=n[s];r.set(a,i),i+=a.length}return t.l=[r],r}}var rp=class extends _{constructor(e){super(e)}},np=[0,fr,Oe((function(e,t,r){return e.h===2&&(Be(t,r,(e=Sf(e))===$r()?void 0:e),!0)}),(function(e,t,r){if(t!=null){if(t instanceof _){let n=t.Ra;return void(n&&(t=n(t),t!=null&&As(e,r,Nl(t).buffer)))}if(Array.isArray(t))return}Vf(e,t,r)}),xf)],$c,op=globalThis.trustedTypes;function ip(e){$c===void 0&&($c=(function(){let r=null;if(!op)return r;try{let n=o=>o;r=op.createPolicy("goog#html",{createHTML:n,createScript:n,createScriptURL:n})}catch{}return r})());var t=$c;return new class{constructor(r){this.g=r}toString(){return this.g+""}}(t?t.createScriptURL(e):e)}function c3(e,...t){if(t.length===0)return ip(e[0]);let r=e[0];for(let n=0;n<t.length;n++)r+=encodeURIComponent(t[n])+e[n+1];return ip(r)}var $f=[0,le,ut,Z,-1,Rs,ut,-1],l3=class extends _{constructor(e){super(e)}},Wf=[0,Z,j,Z,ut,-1,Nn((function(e,t,r){return(e.h===0||e.h===2)&&(t=Mn(t,0|t[C],r,!1,!1),e.h==2?ks(e,Jy,t):t.push(yr(e.g)),!0)}),(function(e,t,r){if((t=Fn(On,t))!=null&&t.length){r=zl(e,r);for(let n=0;n<t.length;n++)Cs(e.g,t[n]);$l(e,r)}}),Tf),j,-1,[0,Z,-1],ut,Z,-1],qf=[0,j,-2],sp=class extends _{constructor(e){super(e)}},Gf=[0],Kf=[0,le,Z,1,Z,-3],Je=class extends _{constructor(e){super(e,2)}},be={};be[336783863]=[0,j,Z,-1,le,[0,[1,2,3,4,5,6,7,8],z,Gf,z,Wf,z,qf,z,Kf,z,$f,z,[0,j,-2],z,[0,j,ut],z,[0,ut,j]],[0,j],Z,[0,[1,3],[2,4],z,[0,Rs],-1,z,[0,Pe],-1,Se,[0,j,-1]],j];var ap=[0,zc,-1,vn,-3,zc,Rs,fr,gn,zc,-1,vn,gn,vn,-2,fr];function Qe(e,t){el(e,2,Bn(t),"")}function K(e,t){Es(e,3,t)}function L(e,t){Es(e,4,t)}var De=class extends _{constructor(e){super(e,500)}o(e){return x(this,0,7,e)}},Ro=[-1,{}],cp=[0,j,1,Ro],lp=[0,j,Pe,Ro];function Ze(e,t){ls(e,1,De,t)}function Y(e,t){Es(e,10,t)}function F(e,t){Es(e,15,t)}var ze=class extends _{constructor(e){super(e,500)}o(e){return x(this,0,1001,e)}},Xf=[-500,Se,[-500,fr,-1,Pe,-3,[-2,be,Z],Se,np,gn,-1,cp,lp,Se,[0,fr,vn],fr,ap,gn,Pe,987,Pe],4,Se,[-500,j,-1,[-1,{}],998,j],Se,[-500,j,Pe,-1,[-2,{},Z],997,Pe,-1],gn,Se,[-500,j,Pe,Ro,998,Pe],Pe,gn,cp,lp,Se,[0,fr,-1,Ro],Pe,-2,ap,fr,-1,vn,[0,vn,a3],978,Ro,Se,np];ze.prototype.g=Ds(Xf);var h3=Sr(ze,Xf),u3=class extends _{constructor(e){super(e)}},Jf=class extends _{constructor(e){super(e)}g(){return rr(this,u3,1)}},Yf=[0,Se,[0,le,ye,j,-1]],Os=Sr(Jf,Yf),d3=class extends _{constructor(e){super(e)}},p3=class extends _{constructor(e){super(e)}},Wc=class extends _{constructor(e){super(e)}h(){return U(this,d3,2)}g(){return rr(this,p3,5)}},Qf=Sr(class extends _{constructor(e){super(e)}},[0,Pe,Rs,Zl,[0,ut,[0,le,-3],[0,ye,-3],[0,le,-1,[0,Se,[0,le,-2]]],Se,[0,ye,-1,j,ye]],j,-1,br,Se,[0,le,ye],Pe,br]),Zf=class extends _{constructor(e){super(e)}},_n=Sr(class extends _{constructor(e){super(e)}},[0,Se,[0,ye,-4]]),em=class extends _{constructor(e){super(e)}},Ho=Sr(class extends _{constructor(e){super(e)}},[0,Se,[0,ye,-4]]),f3=class extends _{constructor(e){super(e)}},m3=[0,le,-1,Zl,ut],tm=class extends _{constructor(e){super(e)}};tm.prototype.g=Ds([0,ye,-4,br]);var g3=class extends _{constructor(e){super(e)}},y3=Sr(class extends _{constructor(e){super(e)}},[0,Se,[0,1,le,j,Yf],br]),hp=class extends _{constructor(e){super(e)}},b3=class extends _{constructor(e){super(e)}oa(){let e=df(this);return e??$r()}},w3=class extends _{constructor(e){super(e)}},rm=[1,2],v3=Sr(class extends _{constructor(e){super(e)}},[0,Se,[0,rm,z,[0,Zl],z,[0,zf],le,j],br]),eh=class extends _{constructor(e){super(e)}},nm=[0,j,le,ye,Pe,-1],up=class extends _{constructor(e){super(e)}},_3=[0,Z,-1],dp=class extends _{constructor(e){super(e)}},es=[1,2,3,4,5],ds=class extends _{constructor(e){super(e)}g(){return df(this)!=null}h(){return ht(this,2)!=null}},ee=class extends _{constructor(e){super(e)}g(){return of(An(this,2))??!1}},om=[0,zf,j,[0,le,br,-1],[0,i3,br]],fe=[0,om,Z,[0,es,z,Kf,z,Wf,z,$f,z,Gf,z,qf],ut],Bs=class extends _{constructor(e){super(e)}},th=[0,fe,ye,-1,le],S3=Ct(502141897,Bs);be[502141897]=th;var E3=Sr(class extends _{constructor(e){super(e)}},[0,[0,ut,-1,o3,s3],m3]),im=class extends _{constructor(e){super(e)}},sm=class extends _{constructor(e){super(e)}},rh=[0,fe,ye,[0,fe],Z],am=[0,fe,th,rh,ye,[0,[0,om]]],k3=Ct(508968150,sm);be[508968150]=am,be[508968149]=rh;var cm=class extends _{constructor(e){super(e)}},C3=Ct(513916220,cm);be[513916220]=[0,fe,am,le];var fn=class extends _{constructor(e){super(e)}h(){return U(this,eh,2)}g(){G(this,2)}},lm=[0,fe,nm];be[478825465]=lm;var A3=class extends _{constructor(e){super(e)}},hm=class extends _{constructor(e){super(e)}},nh=class extends _{constructor(e){super(e)}},oh=class extends _{constructor(e){super(e)}},um=class extends _{constructor(e){super(e)}},pp=[0,fe,[0,fe],lm,-1],dm=[0,fe,ye,le],ih=[0,fe,ye],pm=[0,fe,dm,ih,ye],x3=Ct(479097054,um);be[479097054]=[0,fe,pm,pp],be[463370452]=pp,be[464864288]=dm;var T3=Ct(462713202,oh);be[462713202]=pm,be[474472470]=ih;var I3=class extends _{constructor(e){super(e)}},fm=class extends _{constructor(e){super(e)}},mm=class extends _{constructor(e){super(e)}},gm=class extends _{constructor(e){super(e)}},sh=[0,fe,ye,-1,le],sl=[0,fe,ye,Z];gm.prototype.g=Ds([0,fe,ih,[0,fe],th,rh,sh,sl]);var ym=class extends _{constructor(e){super(e)}},P3=Ct(456383383,ym);be[456383383]=[0,fe,nm];var bm=class extends _{constructor(e){super(e)}},R3=Ct(476348187,bm);be[476348187]=[0,fe,_3];var wm=class extends _{constructor(e){super(e)}},fp=class extends _{constructor(e){super(e)}},vm=[0,ut,-1],D3=Ct(458105876,class extends _{constructor(e){super(e)}g(){var e=this.u;let t=0|e[C],r=2&t;return e=(function(n,o,i){var s=fp;let a=2&o,c=!1;if(i==null){if(a)return Xd();i=[]}else if(i.constructor===lt){if((2&i.L)==0||a)return i;i=i.X()}else Array.isArray(i)?c=!!(2&(0|i[C])):i=[];if(a){if(!i.length)return Xd();c||(c=!0,Dn(i))}else c&&(c=!1,i=pf(i));return c||(64&(0|i[C])?i[C]&=-33:32&o&&ms(i,32)),ne(n,o,2,s=new lt(i,s,Vy,void 0)),s})(e,t,or(e,t,2)),!r&&fp&&(e.ra=!0),e}});be[458105876]=[0,vm,n3,[!0,br,[0,j,-1,Pe]]];var ah=class extends _{constructor(e){super(e)}},_m=Ct(458105758,ah);be[458105758]=[0,fe,j,vm];var Sm=class extends _{constructor(e){super(e)}},O3=Ct(443442058,Sm);be[443442058]=[0,fe,j,le,ye,Pe,-1,Z,ye],be[514774813]=sh;var Em=class extends _{constructor(e){super(e)}},B3=Ct(516587230,Em);function al(e,t){return t=t?t.clone():new eh,e.displayNamesLocale!==void 0?G(t,1,Bn(e.displayNamesLocale)):e.displayNamesLocale===void 0&&G(t,1),e.maxResults!==void 0?jt(t,2,e.maxResults):"maxResults"in e&&G(t,2),e.scoreThreshold!==void 0?E(t,3,e.scoreThreshold):"scoreThreshold"in e&&G(t,3),e.categoryAllowlist!==void 0?hs(t,4,e.categoryAllowlist):"categoryAllowlist"in e&&G(t,4),e.categoryDenylist!==void 0?hs(t,5,e.categoryDenylist):"categoryDenylist"in e&&G(t,5),t}function ch(e,t=-1,r=""){return{categories:e.map((n=>({index:ct(n,1)??0??-1,score:pe(n,2)??0,categoryName:ht(n,3)??""??"",displayName:ht(n,4)??""??""}))),headIndex:t,headName:r}}function km(e){var t=Vr(e,3,_r,jr()),r=Vr(e,2,On,jr()),n=Vr(e,1,Cn,jr()),o=Vr(e,9,Cn,jr());let i={categories:[],keypoints:[]};for(let s=0;s<t.length;s++)i.categories.push({score:t[s],index:r[s]??-1,categoryName:n[s]??"",displayName:o[s]??""});if((t=U(e,Wc,4)?.h())&&(i.boundingBox={originX:ct(t,1)??0,originY:ct(t,2)??0,width:ct(t,3)??0,height:ct(t,4)??0,angle:0}),U(e,Wc,4)?.g().length)for(let s of U(e,Wc,4).g())i.keypoints.push({x:Qi(s,1)??0,y:Qi(s,2)??0,score:Qi(s,4)??0,label:ht(s,3)??""});return i}function Ms(e){let t=[];for(let r of rr(e,em,1))t.push({x:pe(r,1)??0,y:pe(r,2)??0,z:pe(r,3)??0,visibility:pe(r,4)??0});return t}function Do(e){let t=[];for(let r of rr(e,Zf,1))t.push({x:pe(r,1)??0,y:pe(r,2)??0,z:pe(r,3)??0,visibility:pe(r,4)??0});return t}function mp(e){return Array.from(e,(t=>t>127?t-256:t))}function gp(e,t){if(e.length!==t.length)throw Error(`Cannot compute cosine similarity between embeddings of different sizes (${e.length} vs. ${t.length}).`);let r=0,n=0,o=0;for(let i=0;i<e.length;i++)r+=e[i]*t[i],n+=e[i]*e[i],o+=t[i]*t[i];if(n<=0||o<=0)throw Error("Cannot compute cosine similarity on embedding with 0 norm.");return r/Math.sqrt(n*o)}var Xi;be[516587230]=[0,fe,sh,sl,ye],be[518928384]=sl;var M3=new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]);async function Cm(){if(Xi===void 0)try{await WebAssembly.instantiate(M3),Xi=!0}catch{Xi=!1}return Xi}async function Co(e,t=c3``){let r=await Cm()?"wasm_internal":"wasm_nosimd_internal";return{wasmLoaderPath:`${t}/${e}_${r}.js`,wasmBinaryPath:`${t}/${e}_${r}.wasm`}}var dr=class{};function Am(){var e=navigator;return typeof OffscreenCanvas<"u"&&(!(function(t=navigator){return(t=t.userAgent).includes("Safari")&&!t.includes("Chrome")})(e)||!!((e=e.userAgent.match(/Version\/([\d]+).*Safari/))&&e.length>=1&&Number(e[1])>=17))}async function yp(e){if(typeof importScripts!="function"){let t=document.createElement("script");return t.src=e.toString(),t.crossOrigin="anonymous",new Promise(((r,n)=>{t.addEventListener("load",(()=>{r()}),!1),t.addEventListener("error",(o=>{n(o)}),!1),document.body.appendChild(t)}))}importScripts(e.toString())}function xm(e){return e.videoWidth!==void 0?[e.videoWidth,e.videoHeight]:e.naturalWidth!==void 0?[e.naturalWidth,e.naturalHeight]:e.displayWidth!==void 0?[e.displayWidth,e.displayHeight]:[e.width,e.height]}function k(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target"),r(t=e.i.stringToNewUTF8(t)),e.i._free(t)}function bp(e,t,r){if(!e.i.canvas)throw Error("No OpenGL canvas configured.");if(r?e.i._bindTextureToStream(r):e.i._bindTextureToCanvas(),!(r=e.i.canvas.getContext("webgl2")||e.i.canvas.getContext("webgl")))throw Error("Failed to obtain WebGL context from the provided canvas. `getContext()` should only be invoked with `webgl` or `webgl2`.");e.i.gpuOriginForWebTexturesIsBottomLeft&&r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!0),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,t),e.i.gpuOriginForWebTexturesIsBottomLeft&&r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1);let[n,o]=xm(t);return!e.l||n===e.i.canvas.width&&o===e.i.canvas.height||(e.i.canvas.width=n,e.i.canvas.height=o),[n,o]}function wp(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target");let n=new Uint32Array(t.length);for(let o=0;o<t.length;o++)n[o]=e.i.stringToNewUTF8(t[o]);t=e.i._malloc(4*n.length),e.i.HEAPU32.set(n,t>>2),r(t);for(let o of n)e.i._free(o);e.i._free(t)}function Lt(e,t,r){e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=r}function ur(e,t,r){let n=[];e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=(o,i,s)=>{i?(r(n,s),n=[]):n.push(o)}}dr.forVisionTasks=function(e){return Co("vision",e)},dr.forTextTasks=function(e){return Co("text",e)},dr.forGenAiExperimentalTasks=function(e){return Co("genai_experimental",e)},dr.forGenAiTasks=function(e){return Co("genai",e)},dr.forAudioTasks=function(e){return Co("audio",e)},dr.isSimdSupported=function(){return Cm()};async function L3(e,t,r,n){return e=await(async(o,i,s,a,c)=>{if(i&&await yp(i),!self.ModuleFactory||s&&(await yp(s),!self.ModuleFactory))throw Error("ModuleFactory not set.");return self.Module&&c&&((i=self.Module).locateFile=c.locateFile,c.mainScriptUrlOrBlob&&(i.mainScriptUrlOrBlob=c.mainScriptUrlOrBlob)),c=await self.ModuleFactory(self.Module||c),self.ModuleFactory=self.Module=void 0,new o(c,a)})(e,r.wasmLoaderPath,r.assetLoaderPath,t,{locateFile:o=>o.endsWith(".wasm")?r.wasmBinaryPath.toString():r.assetBinaryPath&&o.endsWith(".data")?r.assetBinaryPath.toString():o}),await e.o(n),e}function qc(e,t){let r=U(e.baseOptions,ds,1)||new ds;typeof t=="string"?(G(r,2,Bn(t)),G(r,1)):t instanceof Uint8Array&&(G(r,1,_l(t,!1)),G(r,2)),x(e.baseOptions,0,1,r)}function vp(e){try{let t=e.G.length;if(t===1)throw Error(e.G[0].message);if(t>1)throw Error("Encountered multiple errors: "+e.G.map((r=>r.message)).join(", "))}finally{e.G=[]}}function v(e,t){e.B=Math.max(e.B,t)}function Ls(e,t){e.A=new De,Qe(e.A,"PassThroughCalculator"),K(e.A,"free_memory"),L(e.A,"free_memory_unused_out"),Y(t,"free_memory"),Ze(t,e.A)}function Tn(e,t){K(e.A,t),L(e.A,t+"_unused_out")}function Us(e){e.g.addBoolToStream(!0,"free_memory",e.B)}var ts=class{constructor(e){this.g=e,this.G=[],this.B=0,this.g.setAutoRenderToScreen(!1)}l(e,t=!0){if(t){let r=e.baseOptions||{};if(e.baseOptions?.modelAssetBuffer&&e.baseOptions?.modelAssetPath)throw Error("Cannot set both baseOptions.modelAssetPath and baseOptions.modelAssetBuffer");if(!(U(this.baseOptions,ds,1)?.g()||U(this.baseOptions,ds,1)?.h()||e.baseOptions?.modelAssetBuffer||e.baseOptions?.modelAssetPath))throw Error("Either baseOptions.modelAssetPath or baseOptions.modelAssetBuffer must be set");if((function(n,o){let i=U(n.baseOptions,dp,3);if(!i){var s=i=new dp,a=new sp;Po(s,4,es,a)}"delegate"in o&&(o.delegate==="GPU"?(o=i,s=new l3,Po(o,2,es,s)):(o=i,s=new sp,Po(o,4,es,s))),x(n.baseOptions,0,3,i)})(this,r),r.modelAssetPath)return fetch(r.modelAssetPath.toString()).then((n=>{if(n.ok)return n.arrayBuffer();throw Error(`Failed to fetch model: ${r.modelAssetPath} (${n.status})`)})).then((n=>{try{this.g.i.FS_unlink("/model.dat")}catch{}this.g.i.FS_createDataFile("/","model.dat",new Uint8Array(n),!0,!1,!1),qc(this,"/model.dat"),this.m(),this.I()}));if(r.modelAssetBuffer instanceof Uint8Array)qc(this,r.modelAssetBuffer);else if(r.modelAssetBuffer)return(async function(n){let o=[];for(var i=0;;){let{done:s,value:a}=await n.read();if(s)break;o.push(a),i+=a.length}if(o.length===0)return new Uint8Array(0);if(o.length===1)return o[0];n=new Uint8Array(i),i=0;for(let s of o)n.set(s,i),i+=s.length;return n})(r.modelAssetBuffer).then((n=>{qc(this,n),this.m(),this.I()}))}return this.m(),this.I(),Promise.resolve()}I(){}da(){let e;if(this.g.da((t=>{e=h3(t)})),!e)throw Error("Failed to retrieve CalculatorGraphConfig");return e}setGraph(e,t){this.g.attachErrorListener(((r,n)=>{this.G.push(Error(n))})),this.g.La(),this.g.setGraph(e,t),this.A=void 0,vp(this)}finishProcessing(){this.g.finishProcessing(),vp(this)}close(){this.A=void 0,this.g.closeGraph()}};function Re(e,t){if(!e)throw Error(`Unable to obtain required WebGL resource: ${t}`);return e}ts.prototype.close=ts.prototype.close,(function(e,t){e=e.split(".");var r,n=zr;for((e[0]in n)||n.execScript===void 0||n.execScript("var "+e[0]);e.length&&(r=e.shift());)e.length||t===void 0?n=n[r]&&n[r]!==Object.prototype[r]?n[r]:n[r]={}:n[r]=t})("TaskRunner",ts);var cl=class{constructor(t,r,n,o){this.g=t,this.h=r,this.m=n,this.l=o}bind(){this.g.bindVertexArray(this.h)}close(){this.g.deleteVertexArray(this.h),this.g.deleteBuffer(this.m),this.g.deleteBuffer(this.l)}};function _p(e,t,r){let n=e.g;if(r=Re(n.createShader(r),"Failed to create WebGL shader"),n.shaderSource(r,t),n.compileShader(r),!n.getShaderParameter(r,n.COMPILE_STATUS))throw Error(`Could not compile WebGL shader: ${n.getShaderInfoLog(r)}`);return n.attachShader(e.h,r),r}function Sp(e,t){let r=e.g,n=Re(r.createVertexArray(),"Failed to create vertex array");r.bindVertexArray(n);let o=Re(r.createBuffer(),"Failed to create buffer");r.bindBuffer(r.ARRAY_BUFFER,o),r.enableVertexAttribArray(e.O),r.vertexAttribPointer(e.O,2,r.FLOAT,!1,0,0),r.bufferData(r.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),r.STATIC_DRAW);let i=Re(r.createBuffer(),"Failed to create buffer");return r.bindBuffer(r.ARRAY_BUFFER,i),r.enableVertexAttribArray(e.I),r.vertexAttribPointer(e.I,2,r.FLOAT,!1,0,0),r.bufferData(r.ARRAY_BUFFER,new Float32Array(t?[0,1,0,0,1,0,1,1]:[0,0,0,1,1,1,1,0]),r.STATIC_DRAW),r.bindBuffer(r.ARRAY_BUFFER,null),r.bindVertexArray(null),new cl(r,n,o,i)}function lh(e,t){if(e.g){if(t!==e.g)throw Error("Cannot change GL context once initialized")}else e.g=t}function zo(e,t,r,n){return lh(e,t),e.h||(e.m(),e.C()),r?(e.s||(e.s=Sp(e,!0)),r=e.s):(e.v||(e.v=Sp(e,!1)),r=e.v),t.useProgram(e.h),r.bind(),e.l(),e=n(),r.g.bindVertexArray(null),e}function wr(e,t,r){return lh(e,t),e=Re(t.createTexture(),"Failed to create texture"),t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,r??t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,r??t.LINEAR),t.bindTexture(t.TEXTURE_2D,null),e}function Fs(e,t,r){lh(e,t),e.A||(e.A=Re(t.createFramebuffer(),"Failed to create framebuffe.")),t.bindFramebuffer(t.FRAMEBUFFER,e.A),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,r,0)}function hh(e){e.g?.bindFramebuffer(e.g.FRAMEBUFFER,null)}var jn=class{G(){return`
1
+ "use strict";(()=>{var o1=Object.create;var la=Object.defineProperty;var s1=Object.getOwnPropertyDescriptor;var a1=Object.getOwnPropertyNames;var c1=Object.getPrototypeOf,l1=Object.prototype.hasOwnProperty;var d1=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),u1=(e,t)=>{for(var r in t)la(e,r,{get:t[r],enumerable:!0})},h1=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of a1(t))!l1.call(e,n)&&n!==r&&la(e,n,{get:()=>t[n],enumerable:!(i=s1(t,n))||i.enumerable});return e};var p1=(e,t,r)=>(r=e!=null?o1(c1(e)):{},h1(t||!e||!e.__esModule?la(r,"default",{value:e,enumerable:!0}):r,e));var Um=d1((bl,vl)=>{(function(e,t){typeof define=="function"&&define.amd?define([],t):typeof bl<"u"?t():(t(),e.FileSaver={})})(bl,function(){"use strict";function e(a,c){return typeof c>"u"?c={autoBom:!1}:typeof c!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),c={autoBom:!c}),c.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a.type)?new Blob(["\uFEFF",a],{type:a.type}):a}function t(a,c,l){var d=new XMLHttpRequest;d.open("GET",a),d.responseType="blob",d.onload=function(){s(d.response,c,l)},d.onerror=function(){console.error("could not download file")},d.send()}function r(a){var c=new XMLHttpRequest;c.open("HEAD",a,!1);try{c.send()}catch{}return 200<=c.status&&299>=c.status}function i(a){try{a.dispatchEvent(new MouseEvent("click"))}catch{var c=document.createEvent("MouseEvents");c.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(c)}}var n=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof global=="object"&&global.global===global?global:void 0,o=n.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),s=n.saveAs||(typeof window!="object"||window!==n?function(){}:"download"in HTMLAnchorElement.prototype&&!o?function(a,c,l){var d=n.URL||n.webkitURL,u=document.createElement("a");c=c||a.name||"download",u.download=c,u.rel="noopener",typeof a=="string"?(u.href=a,u.origin===location.origin?i(u):r(u.href)?t(a,c,l):i(u,u.target="_blank")):(u.href=d.createObjectURL(a),setTimeout(function(){d.revokeObjectURL(u.href)},4e4),setTimeout(function(){i(u)},0))}:"msSaveOrOpenBlob"in navigator?function(a,c,l){if(c=c||a.name||"download",typeof a!="string")navigator.msSaveOrOpenBlob(e(a,l),c);else if(r(a))t(a,c,l);else{var d=document.createElement("a");d.href=a,d.target="_blank",setTimeout(function(){i(d)})}}:function(a,c,l,d){if(d=d||open("","_blank"),d&&(d.document.title=d.document.body.innerText="downloading..."),typeof a=="string")return t(a,c,l);var u=a.type==="application/octet-stream",m=/constructor/i.test(n.HTMLElement)||n.safari,y=/CriOS\/[\d]+/.test(navigator.userAgent);if((y||u&&m||o)&&typeof FileReader<"u"){var p=new FileReader;p.onloadend=function(){var b=p.result;b=y?b:b.replace(/^data:[^;]*;/,"data:attachment/file;"),d?d.location.href=b:location=b,d=null},p.readAsDataURL(a)}else{var f=n.URL||n.webkitURL,g=f.createObjectURL(a);d?d.location=g:location.href=g,d=null,setTimeout(function(){f.revokeObjectURL(g)},4e4)}});n.saveAs=s.saveAs=s,typeof vl<"u"&&(vl.exports=s)})});async function Jn(){try{let e={audio:!0,video:!0};return(await navigator.mediaDevices.getUserMedia(e)).getTracks().forEach(r=>{r.stop()}),!0}catch{return!1}}async function Yn(){return new Promise((e,t)=>{let r=window.screen.isExtended;if(r)e(r);else if(navigator.userAgent.indexOf("Firefox")>-1)e(!1);else{let n=[];window.getScreenDetails().then(function(o){n=o,e(n.screens.length>=2)})}})}async function st(){let e=["OBS","ManyCam","Snap Camera","Virtual"],r=(await navigator.mediaDevices.enumerateDevices()).filter(n=>!e.some(o=>n.deviceId.includes(o)||n.label.includes(o)));return{cameras:r.filter(n=>n.kind=="videoinput"&&n.deviceId).map(n=>({label:n.label||"Generic Device",id:n.deviceId})),microphones:r.filter(n=>n.kind=="audioinput"&&n.deviceId).map(n=>({label:n.label||"Generic Device",id:n.deviceId}))}}var vr=typeof self<"u"?self:{};function fr(){throw Error("Invalid UTF8")}function Ld(e,t){return t=String.fromCharCode.apply(null,t),e==null?t:e+t}var Zn,da,m1=typeof TextDecoder<"u",f1,g1=typeof TextEncoder<"u";function Xu(e){if(g1)e=(f1||=new TextEncoder).encode(e);else{let r=0,i=new Uint8Array(3*e.length);for(let n=0;n<e.length;n++){var t=e.charCodeAt(n);if(t<128)i[r++]=t;else{if(t<2048)i[r++]=t>>6|192;else{if(t>=55296&&t<=57343){if(t<=56319&&n<e.length){let o=e.charCodeAt(++n);if(o>=56320&&o<=57343){t=1024*(t-55296)+o-56320+65536,i[r++]=t>>18|240,i[r++]=t>>12&63|128,i[r++]=t>>6&63|128,i[r++]=63&t|128;continue}n--}t=65533}i[r++]=t>>12|224,i[r++]=t>>6&63|128}i[r++]=63&t|128}}e=r===i.length?i:i.subarray(0,r)}return e}var Ga,ho;e:{for(ua=["CLOSURE_FLAGS"],Qn=vr,eo=0;eo<ua.length;eo++)if((Qn=Qn[ua[eo]])==null){ho=null;break e}ho=Qn}var ua,Qn,eo,qi,Ud=ho&&ho[610401301];Ga=Ud!=null&&Ud;var Md=vr.navigator;function Ea(e){return!!Ga&&!!qi&&qi.brands.some(({brand:t})=>t&&t.indexOf(e)!=-1)}function $e(e){var t;return(t=vr.navigator)&&(t=t.userAgent)||(t=""),t.indexOf(e)!=-1}function Xt(){return!!Ga&&!!qi&&qi.brands.length>0}function ha(){return Xt()?Ea("Chromium"):($e("Chrome")||$e("CriOS"))&&!(!Xt()&&$e("Edge"))||$e("Silk")}function Ha(e){return Ha[" "](e),e}qi=Md&&Md.userAgentData||null,Ha[" "]=function(){};var y1=!Xt()&&($e("Trident")||$e("MSIE"));!$e("Android")||ha(),ha(),$e("Safari")&&(ha()||!Xt()&&$e("Coast")||!Xt()&&$e("Opera")||!Xt()&&$e("Edge")||(Xt()?Ea("Microsoft Edge"):$e("Edg/"))||Xt()&&Ea("Opera"));var Ku={},ji=null;function b1(e){let t=e.length,r=3*t/4;r%3?r=Math.floor(r):"=.".indexOf(e[t-1])!=-1&&(r="=.".indexOf(e[t-2])!=-1?r-2:r-1);let i=new Uint8Array(r),n=0;return function(o,s){function a(l){for(;c<o.length;){let d=o.charAt(c++),u=ji[d];if(u!=null)return u;if(!/^[\s\xa0]*$/.test(d))throw Error("Unknown base64 encoding at char: "+d)}return l}Ju();let c=0;for(;;){let l=a(-1),d=a(0),u=a(64),m=a(64);if(m===64&&l===-1)break;s(l<<2|d>>4),u!=64&&(s(d<<4&240|u>>2),m!=64&&s(u<<6&192|m))}}(e,function(o){i[n++]=o}),n!==r?i.subarray(0,n):i}function Ju(){if(!ji){ji={};var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),t=["+/=","+/","-_=","-_.","-_"];for(let r=0;r<5;r++){let i=e.concat(t[r].split(""));Ku[r]=i;for(let n=0;n<i.length;n++){let o=i[n];ji[o]===void 0&&(ji[o]=n)}}}}var Yu=typeof Uint8Array<"u",Zu=!y1&&typeof btoa=="function";function Nd(e){if(!Zu){var t;t===void 0&&(t=0),Ju(),t=Ku[t];var r=Array(Math.floor(e.length/3)),i=t[64]||"";let c=0,l=0;for(;c<e.length-2;c+=3){var n=e[c],o=e[c+1],s=e[c+2],a=t[n>>2];n=t[(3&n)<<4|o>>4],o=t[(15&o)<<2|s>>6],s=t[63&s],r[l++]=a+n+o+s}switch(a=0,s=i,e.length-c){case 2:s=t[(15&(a=e[c+1]))<<2]||i;case 1:e=e[c],r[l]=t[e>>2]+t[(3&e)<<4|a>>4]+s+i}return r.join("")}for(t="",r=0,i=e.length-10240;r<i;)t+=String.fromCharCode.apply(null,e.subarray(r,r+=10240));return t+=String.fromCharCode.apply(null,r?e.subarray(r):e),btoa(t)}var jd=/[-_.]/g,v1={"-":"+",_:"/",".":"="};function w1(e){return v1[e]||""}function Qu(e){if(!Zu)return b1(e);jd.test(e)&&(e=e.replace(jd,w1)),e=atob(e);let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}function Yi(e){return Yu&&e!=null&&e instanceof Uint8Array}var Wr={};function wr(){return S1||=new Ft(null,Wr)}function Wa(e){eh(Wr);var t=e.g;return(t=t==null||Yi(t)?t:typeof t=="string"?Qu(t):null)==null?t:e.g=t}var Ft=class{h(){return new Uint8Array(Wa(this)||0)}constructor(e,t){if(eh(t),this.g=e,e!=null&&e.length===0)throw Error("ByteString should be constructed with non-empty values")}},S1,k1;function eh(e){if(e!==Wr)throw Error("illegal external caller")}function th(e,t){e.__closure__error__context__984382||(e.__closure__error__context__984382={}),e.__closure__error__context__984382.severity=t}function _a(e){return th(e=Error(e),"warning"),e}var So=typeof Symbol=="function"&&typeof Symbol()=="symbol",E1=new Set;function Zi(e,t,r=!1,i=!1){return e=typeof Symbol=="function"&&typeof Symbol()=="symbol"?i&&Symbol.for&&e?Symbol.for(e):e!=null?Symbol(e):Symbol():t,r&&E1.add(e),e}var _1=Zi("jas",void 0,!0,!0),Vd=Zi(void 0,"0di"),pa=Zi(void 0,"2ex"),Ui=Zi(void 0,"1oa",!0),qr=Zi(void 0,Symbol(),!0),_=So?_1:"Ga",rh={Ga:{value:0,configurable:!0,writable:!0,enumerable:!1}},ih=Object.defineProperties;function ko(e,t){So||_ in e||ih(e,rh),e[_]|=t}function ne(e,t){So||_ in e||ih(e,rh),e[_]=t}function ri(e){return ko(e,34),e}function A1(e,t){ne(t,-30975&(0|e))}function Aa(e,t){ne(t,-30941&(34|e))}function qa(){return typeof BigInt=="function"}function Re(e){return Array.prototype.slice.call(e)}var $a,Qi={},nh={};function zd(e){return!(!e||typeof e!="object"||e.Ia!==nh)}function Xa(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)&&e.constructor===Object}function Ka(e,t){if(e!=null){if(typeof e=="string")e=e?new Ft(e,Wr):wr();else if(e.constructor!==Ft)if(Yi(e))e=e.length?new Ft(new Uint8Array(e),Wr):wr();else{if(!t)throw Error();e=void 0}}return e}function po(e){return!(!Array.isArray(e)||e.length)&&!!(1&(0|e[_]))}var Gd=[];function tr(e){if(2&e)throw Error()}ne(Gd,55),$a=Object.freeze(Gd);var $r=class{constructor(t,r,i){this.l=0,this.g=t,this.h=r,this.m=i}next(){if(this.l<this.g.length){let t=this.g[this.l++];return{done:!1,value:this.h?this.h.call(this.m,t):t}}return{done:!0,value:void 0}}[Symbol.iterator](){return new $r(this.g,this.h,this.m)}};function Ja(e){return qr?e[qr]:void 0}var x1=Object.freeze({});function Eo(e){return e.Qa=!0,e}var C1=Eo(e=>typeof e=="number"),Hd=Eo(e=>typeof e=="string"),T1=Eo(e=>typeof e=="boolean"),_o=typeof vr.BigInt=="function"&&typeof vr.BigInt(0)=="bigint",xa=Eo(e=>_o?e>=P1&&e<=D1:e[0]==="-"?Wd(e,R1):Wd(e,I1)),R1=Number.MIN_SAFE_INTEGER.toString(),P1=_o?BigInt(Number.MIN_SAFE_INTEGER):void 0,I1=Number.MAX_SAFE_INTEGER.toString(),D1=_o?BigInt(Number.MAX_SAFE_INTEGER):void 0;function Wd(e,t){if(e.length>t.length)return!1;if(e.length<t.length||e===t)return!0;for(let r=0;r<e.length;r++){let i=e[r],n=t[r];if(i>n)return!1;if(i<n)return!0}}var O1=typeof Uint8Array.prototype.slice=="function",oh,j=0,Z=0;function qd(e){let t=e>>>0;j=t,Z=(e-t)/4294967296>>>0}function Xr(e){if(e<0){qd(-e);let[t,r]=ec(j,Z);j=t>>>0,Z=r>>>0}else qd(e)}function Ya(e){let t=oh||=new DataView(new ArrayBuffer(8));t.setFloat32(0,+e,!0),Z=0,j=t.getUint32(0,!0)}function Za(e,t){let r=4294967296*t+(e>>>0);return Number.isSafeInteger(r)?r:$i(e,t)}function Qa(e,t){let r=2147483648&t;return r&&(t=~t>>>0,(e=1+~e>>>0)==0&&(t=t+1>>>0)),typeof(e=Za(e,t))=="number"?r?-e:e:r?"-"+e:e}function $i(e,t){if(e>>>=0,(t>>>=0)<=2097151)var r=""+(4294967296*t+e);else qa()?r=""+(BigInt(t)<<BigInt(32)|BigInt(e)):(e=(16777215&e)+6777216*(r=16777215&(e>>>24|t<<8))+6710656*(t=t>>16&65535),r+=8147497*t,t*=2,e>=1e7&&(r+=e/1e7>>>0,e%=1e7),r>=1e7&&(t+=r/1e7>>>0,r%=1e7),r=t+$d(r)+$d(e));return r}function $d(e){return e=String(e),"0000000".slice(e.length)+e}function Ao(e){if(e.length<16)Xr(Number(e));else if(qa())e=BigInt(e),j=Number(e&BigInt(4294967295))>>>0,Z=Number(e>>BigInt(32)&BigInt(4294967295));else{let t=+(e[0]==="-");Z=j=0;let r=e.length;for(let i=t,n=(r-t)%6+t;n<=r;i=n,n+=6){let o=Number(e.slice(i,n));Z*=1e6,j=1e6*j+o,j>=4294967296&&(Z+=Math.trunc(j/4294967296),Z>>>=0,j>>>=0)}if(t){let[i,n]=ec(j,Z);j=i,Z=n}}}function ec(e,t){return t=~t,e?e=1+~e:t+=1,[e,t]}var tc=typeof BigInt=="function"?BigInt.asIntN:void 0,B1=typeof BigInt=="function"?BigInt.asUintN:void 0,jr=Number.isSafeInteger,xo=Number.isFinite,mo=Math.trunc;function rr(e){return e==null||typeof e=="number"?e:e==="NaN"||e==="Infinity"||e==="-Infinity"?Number(e):void 0}function sh(e){return e==null||typeof e=="boolean"?e:typeof e=="number"?!!e:void 0}var F1=/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;function Co(e){switch(typeof e){case"bigint":return!0;case"number":return xo(e);case"string":return F1.test(e);default:return!1}}function ii(e){if(e==null)return e;if(typeof e=="string"&&e)e=+e;else if(typeof e!="number")return;return xo(e)?0|e:void 0}function ah(e){if(e==null)return e;if(typeof e=="string"&&e)e=+e;else if(typeof e!="number")return;return xo(e)?e>>>0:void 0}function Xd(e){if(e[0]==="-")return!1;let t=e.length;return t<20||t===20&&Number(e.substring(0,6))<184467}function rc(e){return e=mo(e),jr(e)||(Xr(e),e=Qa(j,Z)),e}function ic(e){var t=mo(Number(e));if(jr(t))return String(t);if((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),t=e.length,!(e[0]==="-"?t<20||t===20&&Number(e.substring(0,7))>-922337:t<19||t===19&&Number(e.substring(0,6))<922337))if(Ao(e),e=j,2147483648&(t=Z))if(qa())e=""+(BigInt(0|t)<<BigInt(32)|BigInt(e>>>0));else{let[r,i]=ec(e,t);e="-"+$i(r,i)}else e=$i(e,t);return e}function fo(e){return e==null?e:typeof e=="bigint"?(xa(e)?e=Number(e):(e=tc(64,e),e=xa(e)?Number(e):String(e)),e):Co(e)?typeof e=="number"?rc(e):ic(e):void 0}function L1(e){if(e==null)return e;var t=typeof e;if(t==="bigint")return String(B1(64,e));if(Co(e)){if(t==="string")return t=mo(Number(e)),jr(t)&&t>=0?e=String(t):((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),Xd(e)||(Ao(e),e=$i(j,Z))),e;if(t==="number")return(e=mo(e))>=0&&jr(e)?e:function(r){if(r<0){Xr(r);var i=$i(j,Z);return r=Number(i),jr(r)?r:i}return Xd(i=String(r))?i:(Xr(r),Za(j,Z))}(e)}}function ch(e){if(typeof e!="string")throw Error();return e}function ni(e){if(e!=null&&typeof e!="string")throw Error();return e}function Kr(e){return e==null||typeof e=="string"?e:void 0}function nc(e,t,r,i){if(e!=null&&typeof e=="object"&&e.W===Qi)return e;if(!Array.isArray(e))return r?2&i?((e=t[Vd])||(ri((e=new t).u),e=t[Vd]=e),t=e):t=new t:t=void 0,t;let n=r=0|e[_];return n===0&&(n|=32&i),n|=2&i,n!==r&&ne(e,n),new t(e)}function U1(e,t,r){if(t)e:{if(!Co(t=e))throw _a("int64");switch(typeof t){case"string":t=ic(t);break e;case"bigint":if(e=t=tc(64,t),Hd(e)){if(!/^\s*(?:-?[1-9]\d*|0)?\s*$/.test(e))throw Error(String(e))}else if(C1(e)&&!Number.isSafeInteger(e))throw Error(String(e));t=_o?BigInt(t):T1(t)?t?"1":"0":Hd(t)?t.trim()||"0":String(t);break e;default:t=rc(t)}}else t=fo(e);return typeof(r=(e=t)==null?r?0:void 0:e)=="string"&&jr(t=+r)?t:r}var M1={},N1=function(){try{return Ha(new class extends Map{constructor(){super()}}),!1}catch{return!0}}(),zi=class{constructor(){this.g=new Map}get(t){return this.g.get(t)}set(t,r){return this.g.set(t,r),this.size=this.g.size,this}delete(t){return t=this.g.delete(t),this.size=this.g.size,t}clear(){this.g.clear(),this.size=this.g.size}has(t){return this.g.has(t)}entries(){return this.g.entries()}keys(){return this.g.keys()}values(){return this.g.values()}forEach(t,r){return this.g.forEach(t,r)}[Symbol.iterator](){return this.entries()}},j1=N1?(Object.setPrototypeOf(zi.prototype,Map.prototype),Object.defineProperties(zi.prototype,{size:{value:0,configurable:!0,enumerable:!0,writable:!0}}),zi):class extends Map{constructor(){super()}};function Kd(e){return e}function ma(e){if(2&e.L)throw Error("Cannot mutate an immutable Map")}var Ke=class extends j1{constructor(e,t,r=Kd,i=Kd){super();let n=0|e[_];n|=64,ne(e,n),this.L=n,this.S=t,this.R=r,this.Y=this.S?V1:i;for(let o=0;o<e.length;o++){let s=e[o],a=r(s[0],!1,!0),c=s[1];t?c===void 0&&(c=null):c=i(s[1],!1,!0,void 0,void 0,n),super.set(a,c)}}na(e=Jd){if(this.size!==0)return this.X(e)}X(e=Jd){let t=[],r=super.entries();for(var i;!(i=r.next()).done;)(i=i.value)[0]=e(i[0]),i[1]=e(i[1]),t.push(i);return t}clear(){ma(this),super.clear()}delete(e){return ma(this),super.delete(this.R(e,!0,!1))}entries(){var e=this.ma();return new $r(e,z1,this)}keys(){return this.Ha()}values(){var e=this.ma();return new $r(e,Ke.prototype.get,this)}forEach(e,t){super.forEach((r,i)=>{e.call(t,this.get(i),i,this)})}set(e,t){return ma(this),(e=this.R(e,!0,!1))==null?this:t==null?(super.delete(e),this):super.set(e,this.Y(t,!0,!0,this.S,!1,this.L))}Na(e){let t=this.R(e[0],!1,!0);e=e[1],e=this.S?e===void 0?null:e:this.Y(e,!1,!0,void 0,!1,this.L),super.set(t,e)}has(e){return super.has(this.R(e,!1,!1))}get(e){e=this.R(e,!1,!1);let t=super.get(e);if(t!==void 0){var r=this.S;return r?((r=this.Y(t,!1,!0,r,this.ra,this.L))!==t&&super.set(e,r),r):t}}ma(){return Array.from(super.keys())}Ha(){return super.keys()}[Symbol.iterator](){return this.entries()}};function V1(e,t,r,i,n,o){return e=nc(e,i,r,o),n&&(e=Ro(e)),e}function Jd(e){return e}function z1(e){return[e,this.get(e)]}var G1,lh,H1;function Yd(){return G1||=new Ke(ri([]),void 0,void 0,void 0,M1)}function oc(e,t,r,i,n){if(e!=null){if(Array.isArray(e))e=po(e)?void 0:n&&2&(0|e[_])?e:sc(e,t,r,i!==void 0,n);else if(Xa(e)){let o={};for(let s in e)o[s]=oc(e[s],t,r,i,n);e=o}else e=t(e,i);return e}}function sc(e,t,r,i,n){let o=i||r?0|e[_]:0,s=i?!!(32&o):void 0;i=Re(e);for(let a=0;a<i.length;a++)i[a]=oc(i[a],t,r,s,n);return r&&((e=Ja(e))&&(i[qr]=Re(e)),r(o,i)),i}function W1(e){return oc(e,dh,void 0,void 0,!1)}function dh(e){return e.W===Qi?e.toJSON():e instanceof Ke?e.na(W1):function(t){switch(typeof t){case"number":return isFinite(t)?t:String(t);case"bigint":return xa(t)?Number(t):String(t);case"boolean":return t?1:0;case"object":if(t)if(Array.isArray(t)){if(po(t))return}else{if(Yi(t))return Nd(t);if(t instanceof Ft){let r=t.g;return r==null?"":typeof r=="string"?r:t.g=Nd(r)}if(t instanceof Ke)return t.na()}}return t}(e)}function uh(e){return sc(e,dh,void 0,void 0,!1)}function Jt(e,t,r){return e=hh(e,t[0],t[1],r?1:2),t!==lh&&r&&ko(e,16384),e}function hh(e,t,r,i){if(e==null){var n=96;r?(e=[r],n|=512):e=[],t&&(n=-33521665&n|(1023&t)<<15)}else{if(!Array.isArray(e))throw Error("narr");if(2048&(n=0|e[_]))throw Error("farr");if(64&n)return e;if(i===1||i===2||(n|=64),r&&(n|=512,r!==e[0]))throw Error("mid");e:{if(i=(r=e).length){let o=i-1;if(Xa(r[o])){if((t=o-(512&(n|=256)?0:-1))>=1024)throw Error("pvtlmt");n=-33521665&n|(1023&t)<<15;break e}}if(t){if((t=Math.max(t,i-(512&n?0:-1)))>1024)throw Error("spvt");n=-33521665&n|(1023&t)<<15}}}return ne(e,n),e}function Ca(e,t,r=Aa){if(e!=null){if(Yu&&e instanceof Uint8Array)return t?e:new Uint8Array(e);if(Array.isArray(e)){var i=0|e[_];return 2&i?e:(t&&=i===0||!!(32&i)&&!(64&i||!(16&i)),t?(ne(e,-12293&(34|i)),e):sc(e,Ca,4&i?Aa:r,!0,!0))}return e.W===Qi?e=2&(i=0|(r=e.u)[_])?e:new e.constructor(To(r,i,!0)):e instanceof Ke&&!(2&e.L)&&(r=ri(e.X(Ca)),e=new Ke(r,e.S,e.R,e.Y)),e}}function To(e,t,r){let i=r||2&t?Aa:A1,n=!!(32&t);return e=function(o,s,a){let c=Re(o);var l=c.length;let d=256&s?c[l-1]:void 0;for(l+=d?-1:0,s=512&s?1:0;s<l;s++)c[s]=a(c[s]);if(d){s=c[s]={};for(let u in d)s[u]=a(d[u])}return(o=Ja(o))&&(c[qr]=Re(o)),c}(e,t,o=>Ca(o,n,i)),ko(e,32|(r?2:0)),e}function Ro(e){let t=e.u,r=0|t[_];return 2&r?new e.constructor(To(t,r,!1)):e}function Jr(e,t){return Nt(e=e.u,0|e[_],t)}function Nt(e,t,r,i){if(r===-1)return null;var n=r+(512&t?0:-1);let o=e.length-1;return n>=o&&256&t?e[o][r]:i&&256&t&&(t=e[o][r])!=null?(e[n]!=null&&pa!=null&&((n=(e=k1??={})[pa]||0)>=4||(e[pa]=n+1,th(e=Error(),"incident"),function(s){vr.setTimeout(()=>{throw s},0)}(e))),t):n<=o?e[n]:void 0}function V(e,t,r){let i=e.u,n=0|i[_];return tr(n),K(i,n,t,r),e}function K(e,t,r,i){let n=512&t?0:-1,o=r+n;var s=e.length-1;return o>=s&&256&t?(e[s][r]=i,t):o<=s?(e[o]=i,256&t&&r in(e=e[s])&&delete e[r],t):(i!==void 0&&(r>=(s=t>>15&1023||536870912)?i!=null&&(e[s+n]={[r]:i},ne(e,t|=256)):e[o]=i),t)}function oo(e,t){let r=0|(e=e.u)[_],i=Nt(e,r,t),n=rr(i);return n!=null&&n!==i&&K(e,r,t,n),n}function ph(e){let t=0|(e=e.u)[_],r=Nt(e,t,1),i=Ka(r,!0);return i!=null&&i!==r&&K(e,t,1,i),i}function gr(){return x1===void 0?2:4}function yr(e,t,r,i,n){let o=e.u,s=2&(e=0|o[_])?1:i;n=!!n;let a=0|(i=ac(o,e,t))[_];if(!(4&a)){4&a&&(i=Re(i),a=Lt(a,e),e=K(o,e,t,i));let c=0,l=0;for(;c<i.length;c++){let d=r(i[c]);d!=null&&(i[l++]=d)}l<c&&(i.length=l),a=cc(a,e),r=-4097&(20|a),a=r&=-8193,ne(i,a),2&a&&Object.freeze(i)}return s===1||s===4&&32&a?Bt(a)||(n=a,a|=2,a!==n&&ne(i,a),Object.freeze(i)):(s===2&&Bt(a)&&(i=Re(i),a=Lt(a,e),a=Yt(a,e,n),ne(i,a),e=K(o,e,t,i)),Bt(a)||(t=a,a=Yt(a,e,n),a!==t&&ne(i,a))),i}function ac(e,t,r,i){return e=Nt(e,t,r,i),Array.isArray(e)?e:$a}function cc(e,t){return e===0&&(e=Lt(e,t)),1|e}function Bt(e){return!!(2&e)&&!!(4&e)||!!(2048&e)}function mh(e){e=Re(e);for(let t=0;t<e.length;t++){let r=e[t]=Re(e[t]);Array.isArray(r[1])&&(r[1]=ri(r[1]))}return e}function Ta(e,t,r,i){let n=0|(e=e.u)[_];tr(n),K(e,n,t,(i==="0"?Number(r)===0:r===i)?void 0:r)}function oi(e,t,r,i,n){tr(t);var o=!(!(64&t)&&16384&t);let s=(n=ac(e,t,r,n))!==$a;if(o||!s){let a=o=s?0|n[_]:0;(!s||2&a||Bt(a)||4&a&&!(32&a))&&(n=Re(n),a=Lt(a,t),t=K(e,t,r,n)),a=-13&cc(a,t),a=Yt(i?-17&a:16|a,t,!0),a!==o&&ne(n,a)}return n}function fa(e,t){var r=ip;return dc(lc(e=e.u),e,0|e[_],r)===t?t:-1}function lc(e){if(So)return e[Ui]??(e[Ui]=new Map);if(Ui in e)return e[Ui];let t=new Map;return Object.defineProperty(e,Ui,{value:t}),t}function fh(e,t,r,i){let n=lc(e),o=dc(n,e,t,r);return o!==i&&(o&&(t=K(e,t,o)),n.set(r,i)),t}function dc(e,t,r,i){let n=e.get(i);if(n!=null)return n;n=0;for(let o=0;o<i.length;o++){let s=i[o];Nt(t,r,s)!=null&&(n!==0&&(r=K(t,r,n)),n=s)}return e.set(i,n),n}function uc(e,t,r,i){let n,o=0|e[_];if((i=Nt(e,o,r,i))!=null&&i.W===Qi)return(t=Ro(i))!==i&&K(e,o,r,t),t.u;if(Array.isArray(i)){let s=0|i[_];n=2&s?Jt(To(i,s,!1),t,!0):64&s?i:Jt(n,t,!0)}else n=Jt(void 0,t,!0);return n!==i&&K(e,o,r,n),n}function gh(e,t,r,i){let n=0|(e=e.u)[_];return(t=nc(i=Nt(e,n,r,i),t,!1,n))!==i&&t!=null&&K(e,n,r,t),t}function L(e,t,r,i=!1){if((t=gh(e,t,r,i))==null)return t;if(!(2&(i=0|(e=e.u)[_]))){let n=Ro(t);n!==t&&K(e,i,r,t=n)}return t}function yh(e,t,r,i,n,o,s){e=e.u;var a=!!(2&t);let c=a?1:n;o=!!o,s&&=!a;var l=0|(n=ac(e,t,i))[_];if(!(a=!!(4&l))){var d=n,u=t;let m=!!(2&(l=cc(l,t)));m&&(u|=2);let y=!m,p=!0,f=0,g=0;for(;f<d.length;f++){let b=nc(d[f],r,!1,u);if(b instanceof r){if(!m){let k=!!(2&(0|b.u[_]));y&&=!k,p&&=k}d[g++]=b}}g<f&&(d.length=g),l|=4,l=p?16|l:-17&l,ne(d,l=y?8|l:-9&l),m&&Object.freeze(d)}if(s&&!(8&l||!n.length&&(c===1||c===4&&32&l))){for(Bt(l)&&(n=Re(n),l=Lt(l,t),t=K(e,t,i,n)),r=n,s=l,d=0;d<r.length;d++)(l=r[d])!==(u=Ro(l))&&(r[d]=u);s|=8,ne(r,s=r.length?-17&s:16|s),l=s}return c===1||c===4&&32&l?Bt(l)||(t=l,(l|=!n.length||16&l&&(!a||32&l)?2:2048)!==t&&ne(n,l),Object.freeze(n)):(c===2&&Bt(l)&&(ne(n=Re(n),l=Yt(l=Lt(l,t),t,o)),t=K(e,t,i,n)),Bt(l)||(i=l,(l=Yt(l,t,o))!==i&&ne(n,l))),n}function Ut(e,t,r){let i=0|e.u[_];return yh(e,i,t,r,gr(),!1,!(2&i))}function A(e,t,r,i){return i==null&&(i=void 0),V(e,r,i)}function Gi(e,t,r,i){i==null&&(i=void 0);e:{let n=0|(e=e.u)[_];if(tr(n),i==null){let o=lc(e);if(dc(o,e,n,r)!==t)break e;o.set(r,0)}else n=fh(e,n,r,t);K(e,n,t,i)}}function Lt(e,t){return-2049&(e=32|(2&t?2|e:-3&e))}function Yt(e,t,r){return 32&t&&r||(e&=-33),e}function go(e,t,r,i){let n=0|e.u[_];tr(n),e=yh(e,n,r,t,2,!0),i=i??new r,e.push(i),e[_]=2&(0|i.u[_])?-9&e[_]:-17&e[_]}function Xe(e,t){return ii(Jr(e,t))}function Je(e,t){return Kr(Jr(e,t))}function te(e,t){return oo(e,t)??0}function Xi(e,t,r){if(r!=null&&typeof r!="boolean")throw e=typeof r,Error(`Expected boolean but got ${e!="object"?e:r?Array.isArray(r)?"array":e:"null"}: ${r}`);V(e,t,r)}function kt(e,t,r){if(r!=null){if(typeof r!="number"||!xo(r))throw _a("int32");r|=0}V(e,t,r)}function S(e,t,r){if(r!=null&&typeof r!="number")throw Error(`Value of float/double field must be a number, found ${typeof r}: ${r}`);V(e,t,r)}function yo(e,t,r){{let s=e.u,a=0|s[_];if(tr(a),r==null)K(s,a,t);else{var i=e=0|r[_],n=Bt(e),o=n||Object.isFrozen(r);for(n||(e=0),o||(r=Re(r),i=0,e=Yt(e=Lt(e,a),a,!0),o=!1),e|=21,n=0;n<r.length;n++){let c=r[n],l=ch(c);Object.is(c,l)||(o&&(r=Re(r),i=0,e=Yt(e=Lt(e,a),a,!0),o=!1),r[n]=l)}e!==i&&(o&&(r=Re(r),e=Yt(e=Lt(e,a),a,!0)),ne(r,e)),K(s,a,t,r)}}}function Po(e,t,r){tr(0|e.u[_]),yr(e,t,Kr,2,!0).push(ch(r))}function bh(e,t){return Error(`Invalid wire type: ${e} (at position ${t})`)}function hc(){return Error("Failed to read varint, encoding is invalid.")}function vh(e,t){return Error(`Tried to read past the end of the data ${t} > ${e}`)}function pc(e){if(typeof e=="string")return{buffer:Qu(e),N:!1};if(Array.isArray(e))return{buffer:new Uint8Array(e),N:!1};if(e.constructor===Uint8Array)return{buffer:e,N:!1};if(e.constructor===ArrayBuffer)return{buffer:new Uint8Array(e),N:!1};if(e.constructor===Ft)return{buffer:Wa(e)||new Uint8Array(0),N:!0};if(e instanceof Uint8Array)return{buffer:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),N:!1};throw Error("Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers")}function mc(e,t){let r,i=0,n=0,o=0,s=e.h,a=e.g;do r=s[a++],i|=(127&r)<<o,o+=7;while(o<32&&128&r);for(o>32&&(n|=(127&r)>>4),o=3;o<32&&128&r;o+=7)r=s[a++],n|=(127&r)<<o;if(br(e,a),r<128)return t(i>>>0,n>>>0);throw hc()}function fc(e){let t=0,r=e.g,i=r+10,n=e.h;for(;r<i;){let o=n[r++];if(t|=o,(128&o)==0)return br(e,r),!!(127&t)}throw hc()}function Zt(e){let t=e.h,r=e.g,i=t[r++],n=127&i;if(128&i&&(i=t[r++],n|=(127&i)<<7,128&i&&(i=t[r++],n|=(127&i)<<14,128&i&&(i=t[r++],n|=(127&i)<<21,128&i&&(i=t[r++],n|=i<<28,128&i&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++])))))throw hc();return br(e,r),n}function Mt(e){return Zt(e)>>>0}function Ra(e){var t=e.h;let r=e.g,i=t[r],n=t[r+1],o=t[r+2];return t=t[r+3],br(e,e.g+4),(i<<0|n<<8|o<<16|t<<24)>>>0}function Pa(e){var t=Ra(e);e=2*(t>>31)+1;let r=t>>>23&255;return t&=8388607,r==255?t?NaN:e*(1/0):r==0?1401298464324817e-60*e*t:e*Math.pow(2,r-150)*(t+8388608)}function q1(e){return Zt(e)}function ga(e,t,{ba:r=!1}={}){e.ba=r,t&&(t=pc(t),e.h=t.buffer,e.m=t.N,e.j=0,e.l=e.h.length,e.g=e.j)}function br(e,t){if(e.g=t,t>e.l)throw vh(e.l,t)}function wh(e,t){if(t<0)throw Error(`Tried to read a negative byte length: ${t}`);let r=e.g,i=r+t;if(i>e.l)throw vh(t,e.l-r);return e.g=i,r}function Sh(e,t){if(t==0)return wr();var r=wh(e,t);return e.ba&&e.m?r=e.h.subarray(r,r+t):(e=e.h,r=r===(t=r+t)?new Uint8Array(0):O1?e.slice(r,t):new Uint8Array(e.subarray(r,t))),r.length==0?wr():new Ft(r,Wr)}Ke.prototype.toJSON=void 0,Ke.prototype.Ia=nh;var Zd=[];function kh(e){var t=e.g;if(t.g==t.l)return!1;e.l=e.g.g;var r=Mt(e.g);if(t=r>>>3,!((r&=7)>=0&&r<=5))throw bh(r,e.l);if(t<1)throw Error(`Invalid field number: ${t} (at position ${e.l})`);return e.m=t,e.h=r,!0}function so(e){switch(e.h){case 0:e.h!=0?so(e):fc(e.g);break;case 1:br(e=e.g,e.g+8);break;case 2:if(e.h!=2)so(e);else{var t=Mt(e.g);br(e=e.g,e.g+t)}break;case 5:br(e=e.g,e.g+4);break;case 3:for(t=e.m;;){if(!kh(e))throw Error("Unmatched start-group tag: stream EOF");if(e.h==4){if(e.m!=t)throw Error("Unmatched end-group tag");break}so(e)}break;default:throw bh(e.h,e.l)}}function en(e,t,r){let i=e.g.l,n=Mt(e.g),o=e.g.g+n,s=o-i;if(s<=0&&(e.g.l=o,r(t,e,void 0,void 0,void 0),s=o-e.g.g),s)throw Error(`Message parsing ended unexpectedly. Expected to read ${n} bytes, instead read ${n-s} bytes, either the data ended unexpectedly or the message misreported its own length`);return e.g.g=o,e.g.l=i,t}function gc(e){var t=Mt(e.g),r=wh(e=e.g,t);if(e=e.h,m1){var i,n=e;(i=da)||(i=da=new TextDecoder("utf-8",{fatal:!0})),t=r+t,n=r===0&&t===n.length?n:n.subarray(r,t);try{var o=i.decode(n)}catch(a){if(Zn===void 0){try{i.decode(new Uint8Array([128]))}catch{}try{i.decode(new Uint8Array([97])),Zn=!0}catch{Zn=!1}}throw!Zn&&(da=void 0),a}}else{t=(o=r)+t,r=[];let a,c=null;for(;o<t;){var s=e[o++];s<128?r.push(s):s<224?o>=t?fr():(a=e[o++],s<194||(192&a)!=128?(o--,fr()):r.push((31&s)<<6|63&a)):s<240?o>=t-1?fr():(a=e[o++],(192&a)!=128||s===224&&a<160||s===237&&a>=160||(192&(i=e[o++]))!=128?(o--,fr()):r.push((15&s)<<12|(63&a)<<6|63&i)):s<=244?o>=t-2?fr():(a=e[o++],(192&a)!=128||a-144+(s<<28)>>30!=0||(192&(i=e[o++]))!=128||(192&(n=e[o++]))!=128?(o--,fr()):(s=(7&s)<<18|(63&a)<<12|(63&i)<<6|63&n,s-=65536,r.push(55296+(s>>10&1023),56320+(1023&s)))):fr(),r.length>=8192&&(c=Ld(c,r),r.length=0)}o=Ld(c,r)}return o}function Eh(e){let t=Mt(e.g);return Sh(e.g,t)}function Io(e,t,r){var i=Mt(e.g);for(i=e.g.g+i;e.g.g<i;)r.push(t(e.g))}var to=[];function $1(e){return e}var Vr;function at(e,t,r){t.g?t.m(e,t.g,t.h,r):t.m(e,t.h,r)}var w=class{constructor(e,t){this.u=hh(e,t)}toJSON(){let e=!Vr;try{return e&&(Vr=uh),_h(this)}finally{e&&(Vr=void 0)}}l(){var e=T2;return e.g?e.l(this,e.g,e.h,!0):e.l(this,e.h,e.defaultValue,!0)}clone(){let e=this.u;return new this.constructor(To(e,0|e[_],!1))}N(){return!!(2&(0|this.u[_]))}};function _h(e){var t=e.u;{t=(e=Vr(t))!==t;let l=e.length;if(l){var r=e[l-1],i=Xa(r);i?l--:r=void 0;var n=e;if(i){e:{var o,s=r,a=!1;if(s)for(let d in s)isNaN(+d)?(o??={})[d]=s[d]:(i=s[d],Array.isArray(i)&&(po(i)||zd(i)&&i.size===0)&&(i=null),i==null&&(a=!0),i!=null&&((o??={})[d]=i));if(a||(o=s),o)for(let d in o){a=o;break e}a=null}s=a==null?r!=null:a!==r}for(;l>0&&((o=n[l-1])==null||po(o)||zd(o)&&o.size===0);l--)var c=!0;(n!==e||s||c)&&(t?(c||s||a)&&(n.length=l):n=Array.prototype.slice.call(n,0,l),a&&n.push(a)),c=n}else c=e}return c}function Qd(e){return e?/^\d+$/.test(e)?(Ao(e),new Ia(j,Z)):null:X1||=new Ia(0,0)}w.prototype.W=Qi,w.prototype.toString=function(){try{return Vr=$1,_h(this).toString()}finally{Vr=void 0}};var Ia=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}},X1;function eu(e){return e?/^-?\d+$/.test(e)?(Ao(e),new Da(j,Z)):null:K1||=new Da(0,0)}var Da=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}},K1;function zr(e,t,r){for(;r>0||t>127;)e.g.push(127&t|128),t=(t>>>7|r<<25)>>>0,r>>>=7;e.g.push(t)}function si(e,t){for(;t>127;)e.g.push(127&t|128),t>>>=7;e.g.push(t)}function Do(e,t){if(t>=0)si(e,t);else{for(let r=0;r<9;r++)e.g.push(127&t|128),t>>=7;e.g.push(1)}}function Ki(e,t){e.g.push(t>>>0&255),e.g.push(t>>>8&255),e.g.push(t>>>16&255),e.g.push(t>>>24&255)}function Yr(e,t){t.length!==0&&(e.l.push(t),e.h+=t.length)}function Ve(e,t,r){si(e.g,8*t+r)}function yc(e,t){return Ve(e,t,2),t=e.g.end(),Yr(e,t),t.push(e.h),t}function bc(e,t){var r=t.pop();for(r=e.h+e.g.length()-r;r>127;)t.push(127&r|128),r>>>=7,e.h++;t.push(r),e.h++}function Oo(e,t,r){Ve(e,t,2),si(e.g,r.length),Yr(e,e.g.end()),Yr(e,r)}function bo(e,t,r,i){r!=null&&(t=yc(e,t),i(r,e),bc(e,t))}function ct(){let e=class{constructor(){throw Error()}};return Object.setPrototypeOf(e,e.prototype),e}var vc=ct(),Ah=ct(),wc=ct(),Sc=ct(),xh=ct(),Ch=ct(),kc=ct(),Th=ct(),Rh=ct(),ai=class{constructor(e,t,r){this.g=e,this.h=t,e=vc,this.l=!!e&&r===e||!1}};function Bo(e,t){return new ai(e,t,vc)}function Ph(e,t,r,i,n){bo(e,r,Bh(t,i),n)}var J1=Bo(function(e,t,r,i,n){return e.h===2&&(en(e,uc(t,i,r),n),!0)},Ph),Y1=Bo(function(e,t,r,i,n){return e.h===2&&(en(e,uc(t,i,r,!0),n),!0)},Ph),Fo=Symbol(),Ec=Symbol(),tu=Symbol(),ru=Symbol(),Ih,Dh;function Sr(e,t,r,i){var n=i[e];if(n)return n;(n={}).Pa=i,n.V=function(u){switch(typeof u){case"boolean":return lh||=[0,void 0,!0];case"number":return u>0?void 0:u===0?H1||=[0,void 0]:[-u,void 0];case"string":return[0,u];case"object":return u}}(i[0]);var o=i[1];let s=1;o&&o.constructor===Object&&(n.ga=o,typeof(o=i[++s])=="function"&&(n.la=!0,Ih??=o,Dh??=i[s+1],o=i[s+=2]));let a={};for(;o&&Array.isArray(o)&&o.length&&typeof o[0]=="number"&&o[0]>0;){for(var c=0;c<o.length;c++)a[o[c]]=o;o=i[++s]}for(c=1;o!==void 0;){let u;typeof o=="number"&&(c+=o,o=i[++s]);var l=void 0;if(o instanceof ai?u=o:(u=J1,s--),u?.l){o=i[++s],l=i;var d=s;typeof o=="function"&&(o=o(),l[d]=o),l=o}for(d=c+1,typeof(o=i[++s])=="number"&&o<0&&(d-=o,o=i[++s]);c<d;c++){let m=a[c];l?r(n,c,u,l,m):t(n,c,u,m)}}return i[e]=n}function Oh(e){return Array.isArray(e)?e[0]instanceof ai?e:[Y1,e]:[e,void 0]}function Bh(e,t){return e instanceof w?e.u:Array.isArray(e)?Jt(e,t,!1):void 0}function _c(e,t,r,i){let n=r.g;e[t]=i?(o,s,a)=>n(o,s,a,i):n}function Ac(e,t,r,i,n){let o=r.g,s,a;e[t]=(c,l,d)=>o(c,l,d,a||=Sr(Ec,_c,Ac,i).V,s||=xc(i),n)}function xc(e){let t=e[tu];if(t!=null)return t;let r=Sr(Ec,_c,Ac,e);return t=r.la?(i,n)=>Ih(i,n,r):(i,n)=>{let o=0|i[_];for(;kh(n)&&n.h!=4;){var s=n.m,a=r[s];if(a==null){var c=r.ga;c&&(c=c[s])&&(c=Z1(c))!=null&&(a=r[s]=c)}a!=null&&a(n,i,s)||(s=(a=n).l,so(a),a.fa?a=void 0:(c=a.g.g-s,a.g.g=s,a=Sh(a.g,c)),s=i,a&&((c=s[qr])?c.push(a):s[qr]=[a]))}return 16384&o&&ri(i),!0},e[tu]=t}function Z1(e){let t=(e=Oh(e))[0].g;if(e=e[1]){let r=xc(e),i=Sr(Ec,_c,Ac,e).V;return(n,o,s)=>t(n,o,s,i,r)}return t}function Lo(e,t,r){e[t]=r.h}function Uo(e,t,r,i){let n,o,s=r.h;e[t]=(a,c,l)=>s(a,c,l,o||=Sr(Fo,Lo,Uo,i).V,n||=Fh(i))}function Fh(e){let t=e[ru];if(!t){let r=Sr(Fo,Lo,Uo,e);t=(i,n)=>Lh(i,n,r),e[ru]=t}return t}function Lh(e,t,r){for(var i=0|e[_],n=512&i?0:-1,o=e.length,s=512&i?1:0,a=o+(256&i?-1:0);s<a;s++){let c=e[s];if(c==null)continue;let l=s-n,d=iu(r,l);d&&d(t,c,l)}if(256&i){i=e[o-1];for(let c in i)n=+c,Number.isNaN(n)||(o=i[n])!=null&&(a=iu(r,n))&&a(t,o,n)}if(e=Ja(e))for(Yr(t,t.g.end()),r=0;r<e.length;r++)Yr(t,Wa(e[r])||new Uint8Array(0))}function iu(e,t){var r=e[t];if(r)return r;if((r=e.ga)&&(r=r[t])){var i=(r=Oh(r))[0].h;if(r=r[1]){let n=Fh(r),o=Sr(Fo,Lo,Uo,r).V;r=e.la?Dh(o,n):(s,a,c)=>i(s,a,c,o,n)}else r=i;return e[t]=r}}function ci(e,t){if(Array.isArray(t)){var r=0|t[_];if(4&r)return t;for(var i=0,n=0;i<t.length;i++){let o=e(t[i]);o!=null&&(t[n++]=o)}return n<i&&(t.length=n),ne(t,-12289&(5|r)),2&r&&Object.freeze(t),t}}function we(e,t,r){return new ai(e,t,r)}function li(e,t,r){return new ai(e,t,r)}function Se(e,t,r){K(e,0|e[_],t,r)}var Q1=Bo(function(e,t,r,i,n){return e.h===2&&(e=en(e,Jt([void 0,void 0],i,!0),n),tr(i=0|t[_]),(n=Nt(t,i,r))instanceof Ke?(2&n.L)!=0?((n=n.X()).push(e),K(t,i,r,n)):n.Na(e):Array.isArray(n)?(2&(0|n[_])&&K(t,i,r,n=mh(n)),n.push(e)):K(t,i,r,[e]),!0)},function(e,t,r,i,n){if(t instanceof Ke)t.forEach((o,s)=>{bo(e,r,Jt([s,o],i,!1),n)});else if(Array.isArray(t))for(let o=0;o<t.length;o++){let s=t[o];Array.isArray(s)&&bo(e,r,Jt(s,i,!1),n)}});function Uh(e,t,r){if(t=function(i){if(i==null)return i;let n=typeof i;if(n==="bigint")return String(tc(64,i));if(Co(i)){if(n==="string")return ic(i);if(n==="number")return rc(i)}}(t),t!=null&&(typeof t=="string"&&eu(t),t!=null))switch(Ve(e,r,0),typeof t){case"number":e=e.g,Xr(t),zr(e,j,Z);break;case"bigint":r=BigInt.asUintN(64,t),r=new Da(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),zr(e.g,r.h,r.g);break;default:r=eu(t),zr(e.g,r.h,r.g)}}function Mh(e,t,r){(t=ii(t))!=null&&t!=null&&(Ve(e,r,0),Do(e.g,t))}function Nh(e,t,r){(t=sh(t))!=null&&(Ve(e,r,0),e.g.g.push(t?1:0))}function jh(e,t,r){(t=Kr(t))!=null&&Oo(e,r,Xu(t))}function Vh(e,t,r,i,n){bo(e,r,Bh(t,i),n)}function zh(e,t,r){(t=t==null||typeof t=="string"||Yi(t)||t instanceof Ft?t:void 0)!=null&&Oo(e,r,pc(t).buffer)}function Gh(e,t,r){return(e.h===5||e.h===2)&&(t=oi(t,0|t[_],r,!1,!1),e.h==2?Io(e,Pa,t):t.push(Pa(e.g)),!0)}var Dt=we(function(e,t,r){if(e.h!==1)return!1;var i=e.g;e=Ra(i);let n=Ra(i);i=2*(n>>31)+1;let o=n>>>20&2047;return e=4294967296*(1048575&n)+e,Se(t,r,o==2047?e?NaN:i*(1/0):o==0?5e-324*i*e:i*Math.pow(2,o-1075)*(e+4503599627370496)),!0},function(e,t,r){(t=rr(t))!=null&&(Ve(e,r,1),e=e.g,(r=oh||=new DataView(new ArrayBuffer(8))).setFloat64(0,+t,!0),j=r.getUint32(0,!0),Z=r.getUint32(4,!0),Ki(e,j),Ki(e,Z))},ct()),oe=we(function(e,t,r){return e.h===5&&(Se(t,r,Pa(e.g)),!0)},function(e,t,r){(t=rr(t))!=null&&(Ve(e,r,5),e=e.g,Ya(t),Ki(e,j))},kc),e2=li(Gh,function(e,t,r){if((t=ci(rr,t))!=null)for(let s=0;s<t.length;s++){var i=e,n=r,o=t[s];o!=null&&(Ve(i,n,5),i=i.g,Ya(o),Ki(i,j))}},kc),Cc=li(Gh,function(e,t,r){if((t=ci(rr,t))!=null&&t.length){Ve(e,r,2),si(e.g,4*t.length);for(let i=0;i<t.length;i++)r=e.g,Ya(t[i]),Ki(r,j)}},kc),Qt=we(function(e,t,r){return e.h===0&&(Se(t,r,mc(e.g,Qa)),!0)},Uh,Ch),ya=we(function(e,t,r){return e.h===0&&(Se(t,r,(e=mc(e.g,Qa))===0?void 0:e),!0)},Uh,Ch),t2=we(function(e,t,r){return e.h===0&&(Se(t,r,mc(e.g,Za)),!0)},function(e,t,r){if((t=L1(t))!=null&&(typeof t=="string"&&Qd(t),t!=null))switch(Ve(e,r,0),typeof t){case"number":e=e.g,Xr(t),zr(e,j,Z);break;case"bigint":r=BigInt.asUintN(64,t),r=new Ia(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),zr(e.g,r.h,r.g);break;default:r=Qd(t),zr(e.g,r.h,r.g)}},ct()),Q=we(function(e,t,r){return e.h===0&&(Se(t,r,Zt(e.g)),!0)},Mh,Sc),Mo=li(function(e,t,r){return(e.h===0||e.h===2)&&(t=oi(t,0|t[_],r,!1,!1),e.h==2?Io(e,Zt,t):t.push(Zt(e.g)),!0)},function(e,t,r){if((t=ci(ii,t))!=null&&t.length){r=yc(e,r);for(let i=0;i<t.length;i++)Do(e.g,t[i]);bc(e,r)}},Sc),Nr=we(function(e,t,r){return e.h===0&&(Se(t,r,(e=Zt(e.g))===0?void 0:e),!0)},Mh,Sc),q=we(function(e,t,r){return e.h===0&&(Se(t,r,fc(e.g)),!0)},Nh,Ah),Gr=we(function(e,t,r){return e.h===0&&(Se(t,r,(e=fc(e.g))===!1?void 0:e),!0)},Nh,Ah),ye=li(function(e,t,r){return e.h===2&&(e=gc(e),oi(t,0|t[_],r,!1).push(e),!0)},function(e,t,r){if((t=ci(Kr,t))!=null)for(let s=0;s<t.length;s++){var i=e,n=r,o=t[s];o!=null&&Oo(i,n,Xu(o))}},wc),Kt=we(function(e,t,r){return e.h===2&&(Se(t,r,(e=gc(e))===""?void 0:e),!0)},jh,wc),M=we(function(e,t,r){return e.h===2&&(Se(t,r,gc(e)),!0)},jh,wc),le=function(e,t,r=vc){return new ai(e,t,r)}(function(e,t,r,i,n){return e.h===2&&(i=Jt(void 0,i,!0),oi(t,0|t[_],r,!0).push(i),en(e,i,n),!0)},function(e,t,r,i,n){if(Array.isArray(t))for(let o=0;o<t.length;o++)Vh(e,t[o],r,i,n)}),N=Bo(function(e,t,r,i,n,o){return e.h===2&&(fh(t,0|t[_],o,r),en(e,t=uc(t,i,r),n),!0)},Vh),Hh=we(function(e,t,r){return e.h===2&&(Se(t,r,Eh(e)),!0)},zh,Th),r2=li(function(e,t,r){return(e.h===0||e.h===2)&&(t=oi(t,0|t[_],r,!1,!1),e.h==2?Io(e,Mt,t):t.push(Mt(e.g)),!0)},function(e,t,r){if((t=ci(ah,t))!=null)for(let s=0;s<t.length;s++){var i=e,n=r,o=t[s];o!=null&&(Ve(i,n,0),si(i.g,o))}},xh),i2=we(function(e,t,r){return e.h===0&&(Se(t,r,(e=Mt(e.g))===0?void 0:e),!0)},function(e,t,r){(t=ah(t))!=null&&t!=null&&(Ve(e,r,0),si(e.g,t))},xh),Ye=we(function(e,t,r){return e.h===0&&(Se(t,r,Zt(e.g)),!0)},function(e,t,r){(t=ii(t))!=null&&(t=parseInt(t,10),Ve(e,r,0),Do(e.g,t))},Rh),Oa=class{constructor(t,r){this.h=t,this.g=r,this.l=L,this.m=A,this.defaultValue=void 0}};function lt(e,t){return new Oa(e,t)}function ir(e,t){return(r,i)=>{if(to.length){let o=to.pop();o.o(i),ga(o.g,r,i),r=o}else r=new class{constructor(o,s){if(Zd.length){let a=Zd.pop();ga(a,o,s),o=a}else o=new class{constructor(a,c){this.h=null,this.m=!1,this.g=this.l=this.j=0,ga(this,a,c)}clear(){this.h=null,this.m=!1,this.g=this.l=this.j=0,this.ba=!1}}(o,s);this.g=o,this.l=this.g.g,this.h=this.m=-1,this.o(s)}o({fa:o=!1}={}){this.fa=o}}(r,i);try{let o=new e,s=o.u;xc(t)(s,r);var n=o}finally{r.g.clear(),r.m=-1,r.h=-1,to.length<100&&to.push(r)}return n}}function No(e){return function(){let t=new class{constructor(){this.l=[],this.h=0,this.g=new class{constructor(){this.g=[]}length(){return this.g.length}end(){let s=this.g;return this.g=[],s}}}};Lh(this.u,t,Sr(Fo,Lo,Uo,e)),Yr(t,t.g.end());let r=new Uint8Array(t.h),i=t.l,n=i.length,o=0;for(let s=0;s<n;s++){let a=i[s];r.set(a,o),o+=a.length}return t.l=[r],r}}var nu=class extends w{constructor(e){super(e)}},ou=[0,Kt,we(function(e,t,r){return e.h===2&&(Se(t,r,(e=Eh(e))===wr()?void 0:e),!0)},function(e,t,r){if(t!=null){if(t instanceof w){let i=t.Ra;return void(i&&(t=i(t),t!=null&&Oo(e,r,pc(t).buffer)))}if(Array.isArray(t))return}zh(e,t,r)},Th)],ba,su=globalThis.trustedTypes;function au(e){ba===void 0&&(ba=function(){let r=null;if(!su)return r;try{let i=n=>n;r=su.createPolicy("goog#html",{createHTML:i,createScript:i,createScriptURL:i})}catch{}return r}());var t=ba;return new class{constructor(r){this.g=r}toString(){return this.g+""}}(t?t.createScriptURL(e):e)}function n2(e,...t){if(t.length===0)return au(e[0]);let r=e[0];for(let i=0;i<t.length;i++)r+=encodeURIComponent(t[i])+e[i+1];return au(r)}var Wh=[0,Q,Ye,q,-1,Mo,Ye,-1],o2=class extends w{constructor(e){super(e)}},qh=[0,q,M,q,Ye,-1,li(function(e,t,r){return(e.h===0||e.h===2)&&(t=oi(t,0|t[_],r,!1,!1),e.h==2?Io(e,q1,t):t.push(Zt(e.g)),!0)},function(e,t,r){if((t=ci(ii,t))!=null&&t.length){r=yc(e,r);for(let i=0;i<t.length;i++)Do(e.g,t[i]);bc(e,r)}},Rh),M,-1,[0,q,-1],Ye,q,-1],$h=[0,M,-2],cu=class extends w{constructor(e){super(e)}},Xh=[0],Kh=[0,Q,q,1,q,-3],je=class extends w{constructor(e){super(e,2)}},se={};se[336783863]=[0,M,q,-1,Q,[0,[1,2,3,4,5,6,7,8],N,Xh,N,qh,N,$h,N,Kh,N,Wh,N,[0,M,-2],N,[0,M,Ye],N,[0,Ye,M]],[0,M],q,[0,[1,3],[2,4],N,[0,Mo],-1,N,[0,ye],-1,le,[0,M,-1]],M];var lu=[0,ya,-1,Gr,-3,ya,Mo,Kt,Nr,ya,-1,Gr,Nr,Gr,-2,Kt];function ze(e,t){Ta(e,2,ni(t),"")}function z(e,t){Po(e,3,t)}function B(e,t){Po(e,4,t)}var ve=class extends w{constructor(e){super(e,500)}o(e){return A(this,0,7,e)}},Hi=[-1,{}],du=[0,M,1,Hi],uu=[0,M,ye,Hi];function Ge(e,t){go(e,1,ve,t)}function H(e,t){Po(e,10,t)}function U(e,t){Po(e,15,t)}var Ie=class extends w{constructor(e){super(e,500)}o(e){return A(this,0,1001,e)}},Jh=[-500,le,[-500,Kt,-1,ye,-3,[-2,se,q],le,ou,Nr,-1,du,uu,le,[0,Kt,Gr],Kt,lu,Nr,ye,987,ye],4,le,[-500,M,-1,[-1,{}],998,M],le,[-500,M,ye,-1,[-2,{},q],997,ye,-1],Nr,le,[-500,M,ye,Hi,998,ye],ye,Nr,du,uu,le,[0,Kt,-1,Hi],ye,-2,lu,Kt,-1,Gr,[0,Gr,i2],978,Hi,le,ou];Ie.prototype.g=No(Jh);var s2=ir(Ie,Jh),a2=class extends w{constructor(e){super(e)}},Yh=class extends w{constructor(e){super(e)}g(){return Ut(this,a2,1)}},Zh=[0,le,[0,Q,oe,M,-1]],jo=ir(Yh,Zh),c2=class extends w{constructor(e){super(e)}},l2=class extends w{constructor(e){super(e)}},va=class extends w{constructor(e){super(e)}h(){return L(this,c2,2)}g(){return Ut(this,l2,5)}},Qh=ir(class extends w{constructor(e){super(e)}},[0,ye,Mo,Cc,[0,Ye,[0,Q,-3],[0,oe,-3],[0,Q,-1,[0,le,[0,Q,-2]]],le,[0,oe,-1,M,oe]],M,-1,Qt,le,[0,Q,oe],ye,Qt]),ep=class extends w{constructor(e){super(e)}},Hr=ir(class extends w{constructor(e){super(e)}},[0,le,[0,oe,-4]]),tp=class extends w{constructor(e){super(e)}},tn=ir(class extends w{constructor(e){super(e)}},[0,le,[0,oe,-4]]),d2=class extends w{constructor(e){super(e)}},u2=[0,Q,-1,Cc,Ye],rp=class extends w{constructor(e){super(e)}};rp.prototype.g=No([0,oe,-4,Qt]);var h2=class extends w{constructor(e){super(e)}},p2=ir(class extends w{constructor(e){super(e)}},[0,le,[0,1,Q,M,Zh],Qt]),hu=class extends w{constructor(e){super(e)}},m2=class extends w{constructor(e){super(e)}oa(){let e=ph(this);return e??wr()}},f2=class extends w{constructor(e){super(e)}},ip=[1,2],g2=ir(class extends w{constructor(e){super(e)}},[0,le,[0,ip,N,[0,Cc],N,[0,Hh],Q,M],Qt]),Tc=class extends w{constructor(e){super(e)}},np=[0,M,Q,oe,ye,-1],pu=class extends w{constructor(e){super(e)}},y2=[0,q,-1],mu=class extends w{constructor(e){super(e)}},ao=[1,2,3,4,5],vo=class extends w{constructor(e){super(e)}g(){return ph(this)!=null}h(){return Je(this,2)!=null}},$=class extends w{constructor(e){super(e)}g(){return sh(Jr(this,2))??!1}},op=[0,Hh,M,[0,Q,Qt,-1],[0,t2,Qt]],re=[0,op,q,[0,ao,N,Kh,N,qh,N,Wh,N,Xh,N,$h],Ye],Vo=class extends w{constructor(e){super(e)}},Rc=[0,re,oe,-1,Q],b2=lt(502141897,Vo);se[502141897]=Rc;var v2=ir(class extends w{constructor(e){super(e)}},[0,[0,Ye,-1,e2,r2],u2]),sp=class extends w{constructor(e){super(e)}},ap=class extends w{constructor(e){super(e)}},Pc=[0,re,oe,[0,re],q],cp=[0,re,Rc,Pc,oe,[0,[0,op]]],w2=lt(508968150,ap);se[508968150]=cp,se[508968149]=Pc;var lp=class extends w{constructor(e){super(e)}},S2=lt(513916220,lp);se[513916220]=[0,re,cp,Q];var Ur=class extends w{constructor(e){super(e)}h(){return L(this,Tc,2)}g(){V(this,2)}},dp=[0,re,np];se[478825465]=dp;var k2=class extends w{constructor(e){super(e)}},up=class extends w{constructor(e){super(e)}},Ic=class extends w{constructor(e){super(e)}},Dc=class extends w{constructor(e){super(e)}},hp=class extends w{constructor(e){super(e)}},fu=[0,re,[0,re],dp,-1],pp=[0,re,oe,Q],Oc=[0,re,oe],mp=[0,re,pp,Oc,oe],E2=lt(479097054,hp);se[479097054]=[0,re,mp,fu],se[463370452]=fu,se[464864288]=pp;var _2=lt(462713202,Dc);se[462713202]=mp,se[474472470]=Oc;var A2=class extends w{constructor(e){super(e)}},fp=class extends w{constructor(e){super(e)}},gp=class extends w{constructor(e){super(e)}},yp=class extends w{constructor(e){super(e)}},Bc=[0,re,oe,-1,Q],Ba=[0,re,oe,q];yp.prototype.g=No([0,re,Oc,[0,re],Rc,Pc,Bc,Ba]);var bp=class extends w{constructor(e){super(e)}},x2=lt(456383383,bp);se[456383383]=[0,re,np];var vp=class extends w{constructor(e){super(e)}},C2=lt(476348187,vp);se[476348187]=[0,re,y2];var wp=class extends w{constructor(e){super(e)}},gu=class extends w{constructor(e){super(e)}},Sp=[0,Ye,-1],T2=lt(458105876,class extends w{constructor(e){super(e)}g(){var e=this.u;let t=0|e[_],r=2&t;return e=function(i,n,o){var s=gu;let a=2&n,c=!1;if(o==null){if(a)return Yd();o=[]}else if(o.constructor===Ke){if((2&o.L)==0||a)return o;o=o.X()}else Array.isArray(o)?c=!!(2&(0|o[_])):o=[];if(a){if(!o.length)return Yd();c||(c=!0,ri(o))}else c&&(c=!1,o=mh(o));return c||(64&(0|o[_])?o[_]&=-33:32&n&&ko(o,32)),K(i,n,2,s=new Ke(o,s,U1,void 0)),s}(e,t,Nt(e,t,2)),!r&&gu&&(e.ra=!0),e}});se[458105876]=[0,Sp,Q1,[!0,Qt,[0,M,-1,ye]]];var Fc=class extends w{constructor(e){super(e)}},kp=lt(458105758,Fc);se[458105758]=[0,re,M,Sp];var Ep=class extends w{constructor(e){super(e)}},R2=lt(443442058,Ep);se[443442058]=[0,re,M,Q,oe,ye,-1,q,oe],se[514774813]=Bc;var _p=class extends w{constructor(e){super(e)}},P2=lt(516587230,_p);function Fa(e,t){return t=t?t.clone():new Tc,e.displayNamesLocale!==void 0?V(t,1,ni(e.displayNamesLocale)):e.displayNamesLocale===void 0&&V(t,1),e.maxResults!==void 0?kt(t,2,e.maxResults):"maxResults"in e&&V(t,2),e.scoreThreshold!==void 0?S(t,3,e.scoreThreshold):"scoreThreshold"in e&&V(t,3),e.categoryAllowlist!==void 0?yo(t,4,e.categoryAllowlist):"categoryAllowlist"in e&&V(t,4),e.categoryDenylist!==void 0?yo(t,5,e.categoryDenylist):"categoryDenylist"in e&&V(t,5),t}function Lc(e,t=-1,r=""){return{categories:e.map(i=>({index:Xe(i,1)??0??-1,score:te(i,2)??0,categoryName:Je(i,3)??""??"",displayName:Je(i,4)??""??""})),headIndex:t,headName:r}}function Ap(e){var t=yr(e,3,rr,gr()),r=yr(e,2,ii,gr()),i=yr(e,1,Kr,gr()),n=yr(e,9,Kr,gr());let o={categories:[],keypoints:[]};for(let s=0;s<t.length;s++)o.categories.push({score:t[s],index:r[s]??-1,categoryName:i[s]??"",displayName:n[s]??""});if((t=L(e,va,4)?.h())&&(o.boundingBox={originX:Xe(t,1)??0,originY:Xe(t,2)??0,width:Xe(t,3)??0,height:Xe(t,4)??0,angle:0}),L(e,va,4)?.g().length)for(let s of L(e,va,4).g())o.keypoints.push({x:oo(s,1)??0,y:oo(s,2)??0,score:oo(s,4)??0,label:Je(s,3)??""});return o}function zo(e){let t=[];for(let r of Ut(e,tp,1))t.push({x:te(r,1)??0,y:te(r,2)??0,z:te(r,3)??0,visibility:te(r,4)??0});return t}function Wi(e){let t=[];for(let r of Ut(e,ep,1))t.push({x:te(r,1)??0,y:te(r,2)??0,z:te(r,3)??0,visibility:te(r,4)??0});return t}function yu(e){return Array.from(e,t=>t>127?t-256:t)}function bu(e,t){if(e.length!==t.length)throw Error(`Cannot compute cosine similarity between embeddings of different sizes (${e.length} vs. ${t.length}).`);let r=0,i=0,n=0;for(let o=0;o<e.length;o++)r+=e[o]*t[o],i+=e[o]*e[o],n+=t[o]*t[o];if(i<=0||n<=0)throw Error("Cannot compute cosine similarity on embedding with 0 norm.");return r/Math.sqrt(i*n)}var ro;se[516587230]=[0,re,Bc,Ba,oe],se[518928384]=Ba;var I2=new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]);async function xp(){if(ro===void 0)try{await WebAssembly.instantiate(I2),ro=!0}catch{ro=!1}return ro}async function Mi(e,t=n2``){let r=await xp()?"wasm_internal":"wasm_nosimd_internal";return{wasmLoaderPath:`${t}/${e}_${r}.js`,wasmBinaryPath:`${t}/${e}_${r}.wasm`}}var $t=class{};function Cp(){var e=navigator;return typeof OffscreenCanvas<"u"&&(!function(t=navigator){return(t=t.userAgent).includes("Safari")&&!t.includes("Chrome")}(e)||!!((e=e.userAgent.match(/Version\/([\d]+).*Safari/))&&e.length>=1&&Number(e[1])>=17))}async function vu(e){if(typeof importScripts!="function"){let t=document.createElement("script");return t.src=e.toString(),t.crossOrigin="anonymous",new Promise((r,i)=>{t.addEventListener("load",()=>{r()},!1),t.addEventListener("error",n=>{i(n)},!1),document.body.appendChild(t)})}importScripts(e.toString())}function Tp(e){return e.videoWidth!==void 0?[e.videoWidth,e.videoHeight]:e.naturalWidth!==void 0?[e.naturalWidth,e.naturalHeight]:e.displayWidth!==void 0?[e.displayWidth,e.displayHeight]:[e.width,e.height]}function E(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target"),r(t=e.i.stringToNewUTF8(t)),e.i._free(t)}function wu(e,t,r){if(!e.i.canvas)throw Error("No OpenGL canvas configured.");if(r?e.i._bindTextureToStream(r):e.i._bindTextureToCanvas(),!(r=e.i.canvas.getContext("webgl2")||e.i.canvas.getContext("webgl")))throw Error("Failed to obtain WebGL context from the provided canvas. `getContext()` should only be invoked with `webgl` or `webgl2`.");e.i.gpuOriginForWebTexturesIsBottomLeft&&r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!0),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,t),e.i.gpuOriginForWebTexturesIsBottomLeft&&r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1);let[i,n]=Tp(t);return!e.l||i===e.i.canvas.width&&n===e.i.canvas.height||(e.i.canvas.width=i,e.i.canvas.height=n),[i,n]}function Su(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target");let i=new Uint32Array(t.length);for(let n=0;n<t.length;n++)i[n]=e.i.stringToNewUTF8(t[n]);t=e.i._malloc(4*i.length),e.i.HEAPU32.set(i,t>>2),r(t);for(let n of i)e.i._free(n);e.i._free(t)}function bt(e,t,r){e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=r}function qt(e,t,r){let i=[];e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=(n,o,s)=>{o?(r(i,s),i=[]):i.push(n)}}$t.forVisionTasks=function(e){return Mi("vision",e)},$t.forTextTasks=function(e){return Mi("text",e)},$t.forGenAiExperimentalTasks=function(e){return Mi("genai_experimental",e)},$t.forGenAiTasks=function(e){return Mi("genai",e)},$t.forAudioTasks=function(e){return Mi("audio",e)},$t.isSimdSupported=function(){return xp()};async function D2(e,t,r,i){return e=await(async(n,o,s,a,c)=>{if(o&&await vu(o),!self.ModuleFactory||s&&(await vu(s),!self.ModuleFactory))throw Error("ModuleFactory not set.");return self.Module&&c&&((o=self.Module).locateFile=c.locateFile,c.mainScriptUrlOrBlob&&(o.mainScriptUrlOrBlob=c.mainScriptUrlOrBlob)),c=await self.ModuleFactory(self.Module||c),self.ModuleFactory=self.Module=void 0,new n(c,a)})(e,r.wasmLoaderPath,r.assetLoaderPath,t,{locateFile:n=>n.endsWith(".wasm")?r.wasmBinaryPath.toString():r.assetBinaryPath&&n.endsWith(".data")?r.assetBinaryPath.toString():n}),await e.o(i),e}function wa(e,t){let r=L(e.baseOptions,vo,1)||new vo;typeof t=="string"?(V(r,2,ni(t)),V(r,1)):t instanceof Uint8Array&&(V(r,1,Ka(t,!1)),V(r,2)),A(e.baseOptions,0,1,r)}function ku(e){try{let t=e.G.length;if(t===1)throw Error(e.G[0].message);if(t>1)throw Error("Encountered multiple errors: "+e.G.map(r=>r.message).join(", "))}finally{e.G=[]}}function v(e,t){e.B=Math.max(e.B,t)}function Go(e,t){e.A=new ve,ze(e.A,"PassThroughCalculator"),z(e.A,"free_memory"),B(e.A,"free_memory_unused_out"),H(t,"free_memory"),Ge(t,e.A)}function Zr(e,t){z(e.A,t),B(e.A,t+"_unused_out")}function Ho(e){e.g.addBoolToStream(!0,"free_memory",e.B)}var co=class{constructor(e){this.g=e,this.G=[],this.B=0,this.g.setAutoRenderToScreen(!1)}l(e,t=!0){if(t){let r=e.baseOptions||{};if(e.baseOptions?.modelAssetBuffer&&e.baseOptions?.modelAssetPath)throw Error("Cannot set both baseOptions.modelAssetPath and baseOptions.modelAssetBuffer");if(!(L(this.baseOptions,vo,1)?.g()||L(this.baseOptions,vo,1)?.h()||e.baseOptions?.modelAssetBuffer||e.baseOptions?.modelAssetPath))throw Error("Either baseOptions.modelAssetPath or baseOptions.modelAssetBuffer must be set");if(function(i,n){let o=L(i.baseOptions,mu,3);if(!o){var s=o=new mu,a=new cu;Gi(s,4,ao,a)}"delegate"in n&&(n.delegate==="GPU"?(n=o,s=new o2,Gi(n,2,ao,s)):(n=o,s=new cu,Gi(n,4,ao,s))),A(i.baseOptions,0,3,o)}(this,r),r.modelAssetPath)return fetch(r.modelAssetPath.toString()).then(i=>{if(i.ok)return i.arrayBuffer();throw Error(`Failed to fetch model: ${r.modelAssetPath} (${i.status})`)}).then(i=>{try{this.g.i.FS_unlink("/model.dat")}catch{}this.g.i.FS_createDataFile("/","model.dat",new Uint8Array(i),!0,!1,!1),wa(this,"/model.dat"),this.m(),this.I()});if(r.modelAssetBuffer instanceof Uint8Array)wa(this,r.modelAssetBuffer);else if(r.modelAssetBuffer)return async function(i){let n=[];for(var o=0;;){let{done:s,value:a}=await i.read();if(s)break;n.push(a),o+=a.length}if(n.length===0)return new Uint8Array(0);if(n.length===1)return n[0];i=new Uint8Array(o),o=0;for(let s of n)i.set(s,o),o+=s.length;return i}(r.modelAssetBuffer).then(i=>{wa(this,i),this.m(),this.I()})}return this.m(),this.I(),Promise.resolve()}I(){}da(){let e;if(this.g.da(t=>{e=s2(t)}),!e)throw Error("Failed to retrieve CalculatorGraphConfig");return e}setGraph(e,t){this.g.attachErrorListener((r,i)=>{this.G.push(Error(i))}),this.g.La(),this.g.setGraph(e,t),this.A=void 0,ku(this)}finishProcessing(){this.g.finishProcessing(),ku(this)}close(){this.A=void 0,this.g.closeGraph()}};function be(e,t){if(!e)throw Error(`Unable to obtain required WebGL resource: ${t}`);return e}co.prototype.close=co.prototype.close,function(e,t){e=e.split(".");var r,i=vr;for((e[0]in i)||i.execScript===void 0||i.execScript("var "+e[0]);e.length&&(r=e.shift());)e.length||t===void 0?i=i[r]&&i[r]!==Object.prototype[r]?i[r]:i[r]={}:i[r]=t}("TaskRunner",co);var La=class{constructor(t,r,i,n){this.g=t,this.h=r,this.m=i,this.l=n}bind(){this.g.bindVertexArray(this.h)}close(){this.g.deleteVertexArray(this.h),this.g.deleteBuffer(this.m),this.g.deleteBuffer(this.l)}};function Eu(e,t,r){let i=e.g;if(r=be(i.createShader(r),"Failed to create WebGL shader"),i.shaderSource(r,t),i.compileShader(r),!i.getShaderParameter(r,i.COMPILE_STATUS))throw Error(`Could not compile WebGL shader: ${i.getShaderInfoLog(r)}`);return i.attachShader(e.h,r),r}function _u(e,t){let r=e.g,i=be(r.createVertexArray(),"Failed to create vertex array");r.bindVertexArray(i);let n=be(r.createBuffer(),"Failed to create buffer");r.bindBuffer(r.ARRAY_BUFFER,n),r.enableVertexAttribArray(e.O),r.vertexAttribPointer(e.O,2,r.FLOAT,!1,0,0),r.bufferData(r.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),r.STATIC_DRAW);let o=be(r.createBuffer(),"Failed to create buffer");return r.bindBuffer(r.ARRAY_BUFFER,o),r.enableVertexAttribArray(e.I),r.vertexAttribPointer(e.I,2,r.FLOAT,!1,0,0),r.bufferData(r.ARRAY_BUFFER,new Float32Array(t?[0,1,0,0,1,0,1,1]:[0,0,0,1,1,1,1,0]),r.STATIC_DRAW),r.bindBuffer(r.ARRAY_BUFFER,null),r.bindVertexArray(null),new La(r,i,n,o)}function Uc(e,t){if(e.g){if(t!==e.g)throw Error("Cannot change GL context once initialized")}else e.g=t}function rn(e,t,r,i){return Uc(e,t),e.h||(e.m(),e.C()),r?(e.s||(e.s=_u(e,!0)),r=e.s):(e.v||(e.v=_u(e,!1)),r=e.v),t.useProgram(e.h),r.bind(),e.l(),e=i(),r.g.bindVertexArray(null),e}function er(e,t,r){return Uc(e,t),e=be(t.createTexture(),"Failed to create texture"),t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,r??t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,r??t.LINEAR),t.bindTexture(t.TEXTURE_2D,null),e}function Wo(e,t,r){Uc(e,t),e.A||(e.A=be(t.createFramebuffer(),"Failed to create framebuffe.")),t.bindFramebuffer(t.FRAMEBUFFER,e.A),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,r,0)}function Mc(e){e.g?.bindFramebuffer(e.g.FRAMEBUFFER,null)}var di=class{G(){return`
9
2
  precision mediump float;
10
3
  varying vec2 vTex;
11
4
  uniform sampler2D inputTexture;
12
5
  void main() {
13
6
  gl_FragColor = texture2D(inputTexture, vTex);
14
7
  }
15
- `}m(){let e=this.g;if(this.h=Re(e.createProgram(),"Failed to create WebGL program"),this.aa=_p(this,`
8
+ `}m(){let e=this.g;if(this.h=be(e.createProgram(),"Failed to create WebGL program"),this.aa=Eu(this,`
16
9
  attribute vec2 aVertex;
17
10
  attribute vec2 aTex;
18
11
  varying vec2 vTex;
19
12
  void main(void) {
20
13
  gl_Position = vec4(aVertex, 0.0, 1.0);
21
14
  vTex = aTex;
22
- }`,e.VERTEX_SHADER),this.Z=_p(this,this.G(),e.FRAGMENT_SHADER),e.linkProgram(this.h),!e.getProgramParameter(this.h,e.LINK_STATUS))throw Error(`Error during program linking: ${e.getProgramInfoLog(this.h)}`);this.O=e.getAttribLocation(this.h,"aVertex"),this.I=e.getAttribLocation(this.h,"aTex")}C(){}l(){}close(){if(this.h){let e=this.g;e.deleteProgram(this.h),e.deleteShader(this.aa),e.deleteShader(this.Z)}this.A&&this.g.deleteFramebuffer(this.A),this.v&&this.v.close(),this.s&&this.s.close()}},U3=class extends jn{G(){return`
15
+ }`,e.VERTEX_SHADER),this.Z=Eu(this,this.G(),e.FRAGMENT_SHADER),e.linkProgram(this.h),!e.getProgramParameter(this.h,e.LINK_STATUS))throw Error(`Error during program linking: ${e.getProgramInfoLog(this.h)}`);this.O=e.getAttribLocation(this.h,"aVertex"),this.I=e.getAttribLocation(this.h,"aTex")}C(){}l(){}close(){if(this.h){let e=this.g;e.deleteProgram(this.h),e.deleteShader(this.aa),e.deleteShader(this.Z)}this.A&&this.g.deleteFramebuffer(this.A),this.v&&this.v.close(),this.s&&this.s.close()}},O2=class extends di{G(){return`
23
16
  precision mediump float;
24
17
  uniform sampler2D backgroundTexture;
25
18
  uniform sampler2D maskTexture;
@@ -31,7 +24,7 @@ Minimum version required to store current data is: `+i+`.
31
24
  vec4 categoryColor = texture2D(colorMappingTexture, vec2(category, 0.0));
32
25
  gl_FragColor = mix(backgroundColor, categoryColor, categoryColor.a);
33
26
  }
34
- `}C(){let e=this.g;e.activeTexture(e.TEXTURE1),this.B=wr(this,e,e.LINEAR),e.activeTexture(e.TEXTURE2),this.j=wr(this,e,e.NEAREST)}m(){super.m();let e=this.g;this.K=Re(e.getUniformLocation(this.h,"backgroundTexture"),"Uniform location"),this.T=Re(e.getUniformLocation(this.h,"colorMappingTexture"),"Uniform location"),this.J=Re(e.getUniformLocation(this.h,"maskTexture"),"Uniform location")}l(){super.l();let e=this.g;e.uniform1i(this.J,0),e.uniform1i(this.K,1),e.uniform1i(this.T,2)}close(){this.B&&this.g.deleteTexture(this.B),this.j&&this.g.deleteTexture(this.j),super.close()}},F3=class extends jn{G(){return`
27
+ `}C(){let e=this.g;e.activeTexture(e.TEXTURE1),this.B=er(this,e,e.LINEAR),e.activeTexture(e.TEXTURE2),this.j=er(this,e,e.NEAREST)}m(){super.m();let e=this.g;this.K=be(e.getUniformLocation(this.h,"backgroundTexture"),"Uniform location"),this.T=be(e.getUniformLocation(this.h,"colorMappingTexture"),"Uniform location"),this.J=be(e.getUniformLocation(this.h,"maskTexture"),"Uniform location")}l(){super.l();let e=this.g;e.uniform1i(this.J,0),e.uniform1i(this.K,1),e.uniform1i(this.T,2)}close(){this.B&&this.g.deleteTexture(this.B),this.j&&this.g.deleteTexture(this.j),super.close()}},B2=class extends di{G(){return`
35
28
  precision mediump float;
36
29
  uniform sampler2D maskTexture;
37
30
  uniform sampler2D defaultTexture;
@@ -45,13 +38,13 @@ Minimum version required to store current data is: `+i+`.
45
38
  overlayColor = mix(defaultColor, overlayColor, overlayColor.a);
46
39
  gl_FragColor = mix(defaultColor, overlayColor, confidence);
47
40
  }
48
- `}C(){let e=this.g;e.activeTexture(e.TEXTURE1),this.j=wr(this,e),e.activeTexture(e.TEXTURE2),this.B=wr(this,e)}m(){super.m();let e=this.g;this.J=Re(e.getUniformLocation(this.h,"defaultTexture"),"Uniform location"),this.K=Re(e.getUniformLocation(this.h,"overlayTexture"),"Uniform location"),this.H=Re(e.getUniformLocation(this.h,"maskTexture"),"Uniform location")}l(){super.l();let e=this.g;e.uniform1i(this.H,0),e.uniform1i(this.J,1),e.uniform1i(this.K,2)}close(){this.j&&this.g.deleteTexture(this.j),this.B&&this.g.deleteTexture(this.B),super.close()}};function Qt(e,t){switch(t){case 0:return e.g.find((r=>r instanceof Uint8Array));case 1:return e.g.find((r=>r instanceof Float32Array));case 2:return e.g.find((r=>typeof WebGLTexture<"u"&&r instanceof WebGLTexture));default:throw Error(`Type is not supported: ${t}`)}}function ll(e){var t=Qt(e,1);if(!t){if(t=Qt(e,0))t=new Float32Array(t).map((n=>n/255));else{t=new Float32Array(e.width*e.height);let n=In(e);var r=uh(e);if(Fs(r,n,Tm(e)),"iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod".split(";").includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"document"in self&&"ontouchend"in self.document){r=new Float32Array(e.width*e.height*4),n.readPixels(0,0,e.width,e.height,n.RGBA,n.FLOAT,r);for(let o=0,i=0;o<t.length;++o,i+=4)t[o]=r[i]}else n.readPixels(0,0,e.width,e.height,n.RED,n.FLOAT,t)}e.g.push(t)}return t}function Tm(e){let t=Qt(e,2);if(!t){let r=In(e);t=Pm(e);let n=ll(e),o=Im(e);r.texImage2D(r.TEXTURE_2D,0,o,e.width,e.height,0,r.RED,r.FLOAT,n),hl(e)}return t}function In(e){if(!e.canvas)throw Error("Conversion to different image formats require that a canvas is passed when initializing the image.");return e.h||(e.h=Re(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function Im(e){if(e=In(e),!Ji)if(e.getExtension("EXT_color_buffer_float")&&e.getExtension("OES_texture_float_linear")&&e.getExtension("EXT_float_blend"))Ji=e.R32F;else{if(!e.getExtension("EXT_color_buffer_half_float"))throw Error("GPU does not fully support 4-channel float32 or float16 formats");Ji=e.R16F}return Ji}function uh(e){return e.l||(e.l=new jn),e.l}function Pm(e){let t=In(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let r=Qt(e,2);return r||(r=wr(uh(e),t,e.m?t.LINEAR:t.NEAREST),e.g.push(r),e.j=!0),t.bindTexture(t.TEXTURE_2D,r),r}function hl(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}var Ji,_e=class{constructor(e,t,r,n,o,i,s){this.g=e,this.m=t,this.j=r,this.canvas=n,this.l=o,this.width=i,this.height=s,this.j&&--Ep===0&&console.error("You seem to be creating MPMask instances without invoking .close(). This leaks resources.")}Fa(){return!!Qt(this,0)}ja(){return!!Qt(this,1)}P(){return!!Qt(this,2)}ia(){return(t=Qt(e=this,0))||(t=ll(e),t=new Uint8Array(t.map((r=>255*r))),e.g.push(t)),t;var e,t}ha(){return ll(this)}M(){return Tm(this)}clone(){let e=[];for(let t of this.g){let r;if(t instanceof Uint8Array)r=new Uint8Array(t);else if(t instanceof Float32Array)r=new Float32Array(t);else{if(!(t instanceof WebGLTexture))throw Error(`Type is not supported: ${t}`);{let n=In(this),o=uh(this);n.activeTexture(n.TEXTURE1),r=wr(o,n,this.m?n.LINEAR:n.NEAREST),n.bindTexture(n.TEXTURE_2D,r);let i=Im(this);n.texImage2D(n.TEXTURE_2D,0,i,this.width,this.height,0,n.RED,n.FLOAT,null),n.bindTexture(n.TEXTURE_2D,null),Fs(o,n,r),zo(o,n,!1,(()=>{Pm(this),n.clearColor(0,0,0,0),n.clear(n.COLOR_BUFFER_BIT),n.drawArrays(n.TRIANGLE_FAN,0,4),hl(this)})),hh(o),hl(this)}}e.push(r)}return new _e(e,this.m,this.P(),this.canvas,this.l,this.width,this.height)}close(){this.j&&In(this).deleteTexture(Qt(this,2)),Ep=-1}};_e.prototype.close=_e.prototype.close,_e.prototype.clone=_e.prototype.clone,_e.prototype.getAsWebGLTexture=_e.prototype.M,_e.prototype.getAsFloat32Array=_e.prototype.ha,_e.prototype.getAsUint8Array=_e.prototype.ia,_e.prototype.hasWebGLTexture=_e.prototype.P,_e.prototype.hasFloat32Array=_e.prototype.ja,_e.prototype.hasUint8Array=_e.prototype.Fa;var Ep=250,N3={color:"white",lineWidth:4,radius:6};function Gc(e){return{...N3,fillColor:(e=e||{}).color,...e}}function Jt(e,t){return e instanceof Function?e(t):e}function kp(e,t,r){return Math.max(Math.min(t,r),Math.min(Math.max(t,r),e))}function Ao(e){if(!e.l)throw Error("CPU rendering requested but CanvasRenderingContext2D not provided.");return e.l}function Uo(e){if(!e.j)throw Error("GPU rendering requested but WebGL2RenderingContext not provided.");return e.j}function Cp(e,t,r){if(t.P())r(t.M());else{let n=t.ja()?t.ha():t.ia();e.m=e.m??new jn;let o=Uo(e);r((e=new _e([n],t.m,!1,o.canvas,e.m,t.width,t.height)).M()),e.close()}}function Ap(e,t,r,n){let o=(function(a){return a.g||(a.g=new U3),a.g})(e),i=Uo(e),s=Array.isArray(r)?new ImageData(new Uint8ClampedArray(r),1,1):r;zo(o,i,!0,(()=>{(function(c,l,h,u){let p=c.g;if(p.activeTexture(p.TEXTURE0),p.bindTexture(p.TEXTURE_2D,l),p.activeTexture(p.TEXTURE1),p.bindTexture(p.TEXTURE_2D,c.B),p.texImage2D(p.TEXTURE_2D,0,p.RGBA,p.RGBA,p.UNSIGNED_BYTE,h),c.H&&(function(g,m){if(g!==m)return!1;g=g.entries(),m=m.entries();for(let[b,w]of g){g=b;let S=w;var y=m.next();if(y.done)return!1;let[A,B]=y.value;if(y=B,g!==A||S[0]!==y[0]||S[1]!==y[1]||S[2]!==y[2]||S[3]!==y[3])return!1}return!!m.next().done})(c.H,u))p.activeTexture(p.TEXTURE2),p.bindTexture(p.TEXTURE_2D,c.j);else{c.H=u;let g=Array(1024).fill(0);u.forEach(((m,y)=>{if(m.length!==4)throw Error(`Color at index ${y} is not a four-channel value.`);g[4*y]=m[0],g[4*y+1]=m[1],g[4*y+2]=m[2],g[4*y+3]=m[3]})),p.activeTexture(p.TEXTURE2),p.bindTexture(p.TEXTURE_2D,c.j),p.texImage2D(p.TEXTURE_2D,0,p.RGBA,256,1,0,p.RGBA,p.UNSIGNED_BYTE,new Uint8Array(g))}})(o,t,s,n),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT),i.drawArrays(i.TRIANGLE_FAN,0,4);let a=o.g;a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,null),a.activeTexture(a.TEXTURE1),a.bindTexture(a.TEXTURE_2D,null),a.activeTexture(a.TEXTURE2),a.bindTexture(a.TEXTURE_2D,null)}))}function xp(e,t,r,n){let o=Uo(e),i=(function(c){return c.h||(c.h=new F3),c.h})(e),s=Array.isArray(r)?new ImageData(new Uint8ClampedArray(r),1,1):r,a=Array.isArray(n)?new ImageData(new Uint8ClampedArray(n),1,1):n;zo(i,o,!0,(()=>{var c=i.g;c.activeTexture(c.TEXTURE0),c.bindTexture(c.TEXTURE_2D,t),c.activeTexture(c.TEXTURE1),c.bindTexture(c.TEXTURE_2D,i.j),c.texImage2D(c.TEXTURE_2D,0,c.RGBA,c.RGBA,c.UNSIGNED_BYTE,s),c.activeTexture(c.TEXTURE2),c.bindTexture(c.TEXTURE_2D,i.B),c.texImage2D(c.TEXTURE_2D,0,c.RGBA,c.RGBA,c.UNSIGNED_BYTE,a),o.clearColor(0,0,0,0),o.clear(o.COLOR_BUFFER_BIT),o.drawArrays(o.TRIANGLE_FAN,0,4),o.bindTexture(o.TEXTURE_2D,null),(c=i.g).activeTexture(c.TEXTURE0),c.bindTexture(c.TEXTURE_2D,null),c.activeTexture(c.TEXTURE1),c.bindTexture(c.TEXTURE_2D,null),c.activeTexture(c.TEXTURE2),c.bindTexture(c.TEXTURE_2D,null)}))}var Ue=class{constructor(e,t){e instanceof CanvasRenderingContext2D||e instanceof OffscreenCanvasRenderingContext2D?(this.l=e,this.j=t):this.j=e}ya(e,t){if(e){var r=Ao(this);t=Gc(t),r.save();var n=r.canvas,o=0;for(let i of e)r.fillStyle=Jt(t.fillColor,{index:o,from:i}),r.strokeStyle=Jt(t.color,{index:o,from:i}),r.lineWidth=Jt(t.lineWidth,{index:o,from:i}),(e=new Path2D).arc(i.x*n.width,i.y*n.height,Jt(t.radius,{index:o,from:i}),0,2*Math.PI),r.fill(e),r.stroke(e),++o;r.restore()}}xa(e,t,r){if(e&&t){var n=Ao(this);r=Gc(r),n.save();var o=n.canvas,i=0;for(let s of t){n.beginPath(),t=e[s.start];let a=e[s.end];t&&a&&(n.strokeStyle=Jt(r.color,{index:i,from:t,to:a}),n.lineWidth=Jt(r.lineWidth,{index:i,from:t,to:a}),n.moveTo(t.x*o.width,t.y*o.height),n.lineTo(a.x*o.width,a.y*o.height)),++i,n.stroke()}n.restore()}}ua(e,t){let r=Ao(this);t=Gc(t),r.save(),r.beginPath(),r.lineWidth=Jt(t.lineWidth,{}),r.strokeStyle=Jt(t.color,{}),r.fillStyle=Jt(t.fillColor,{}),r.moveTo(e.originX,e.originY),r.lineTo(e.originX+e.width,e.originY),r.lineTo(e.originX+e.width,e.originY+e.height),r.lineTo(e.originX,e.originY+e.height),r.lineTo(e.originX,e.originY),r.stroke(),r.fill(),r.restore()}va(e,t,r=[0,0,0,255]){this.l?(function(n,o,i,s){let a=Uo(n);Cp(n,o,(c=>{Ap(n,c,i,s),(c=Ao(n)).drawImage(a.canvas,0,0,c.canvas.width,c.canvas.height)}))})(this,e,r,t):Ap(this,e.M(),r,t)}wa(e,t,r){this.l?(function(n,o,i,s){let a=Uo(n);Cp(n,o,(c=>{xp(n,c,i,s),(c=Ao(n)).drawImage(a.canvas,0,0,c.canvas.width,c.canvas.height)}))})(this,e,t,r):xp(this,e.M(),t,r)}close(){this.g?.close(),this.g=void 0,this.h?.close(),this.h=void 0,this.m?.close(),this.m=void 0}};function Nt(e,t){switch(t){case 0:return e.g.find((r=>r instanceof ImageData));case 1:return e.g.find((r=>typeof ImageBitmap<"u"&&r instanceof ImageBitmap));case 2:return e.g.find((r=>typeof WebGLTexture<"u"&&r instanceof WebGLTexture));default:throw Error(`Type is not supported: ${t}`)}}function Rm(e){var t=Nt(e,0);if(!t){t=Pn(e);let r=Ns(e),n=new Uint8Array(e.width*e.height*4);Fs(r,t,rs(e)),t.readPixels(0,0,e.width,e.height,t.RGBA,t.UNSIGNED_BYTE,n),hh(r),t=new ImageData(new Uint8ClampedArray(n.buffer),e.width,e.height),e.g.push(t)}return t}function rs(e){let t=Nt(e,2);if(!t){let r=Pn(e);t=ns(e);let n=Nt(e,1)||Rm(e);r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,n),To(e)}return t}function Pn(e){if(!e.canvas)throw Error("Conversion to different image formats require that a canvas is passed when initializing the image.");return e.h||(e.h=Re(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function Ns(e){return e.l||(e.l=new jn),e.l}function ns(e){let t=Pn(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let r=Nt(e,2);return r||(r=wr(Ns(e),t),e.g.push(r),e.m=!0),t.bindTexture(t.TEXTURE_2D,r),r}function To(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}function Tp(e){let t=Pn(e);return zo(Ns(e),t,!0,(()=>(function(r,n){let o=r.canvas;if(o.width===r.width&&o.height===r.height)return n();let i=o.width,s=o.height;return o.width=r.width,o.height=r.height,r=n(),o.width=i,o.height=s,r})(e,(()=>{if(t.bindFramebuffer(t.FRAMEBUFFER,null),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),t.drawArrays(t.TRIANGLE_FAN,0,4),!(e.canvas instanceof OffscreenCanvas))throw Error("Conversion to ImageBitmap requires that the MediaPipe Tasks is initialized with an OffscreenCanvas");return e.canvas.transferToImageBitmap()}))))}Ue.prototype.close=Ue.prototype.close,Ue.prototype.drawConfidenceMask=Ue.prototype.wa,Ue.prototype.drawCategoryMask=Ue.prototype.va,Ue.prototype.drawBoundingBox=Ue.prototype.ua,Ue.prototype.drawConnectors=Ue.prototype.xa,Ue.prototype.drawLandmarks=Ue.prototype.ya,Ue.lerp=function(e,t,r,n,o){return kp(n*(1-(e-t)/(r-t))+o*(1-(r-e)/(r-t)),n,o)},Ue.clamp=kp;var Ae=class{constructor(e,t,r,n,o,i,s){this.g=e,this.j=t,this.m=r,this.canvas=n,this.l=o,this.width=i,this.height=s,(this.j||this.m)&&--Ip===0&&console.error("You seem to be creating MPImage instances without invoking .close(). This leaks resources.")}Ea(){return!!Nt(this,0)}ka(){return!!Nt(this,1)}P(){return!!Nt(this,2)}Ca(){return Rm(this)}Ba(){var e=Nt(this,1);return e||(rs(this),ns(this),e=Tp(this),To(this),this.g.push(e),this.j=!0),e}M(){return rs(this)}clone(){let e=[];for(let t of this.g){let r;if(t instanceof ImageData)r=new ImageData(t.data,this.width,this.height);else if(t instanceof WebGLTexture){let n=Pn(this),o=Ns(this);n.activeTexture(n.TEXTURE1),r=wr(o,n),n.bindTexture(n.TEXTURE_2D,r),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,this.width,this.height,0,n.RGBA,n.UNSIGNED_BYTE,null),n.bindTexture(n.TEXTURE_2D,null),Fs(o,n,r),zo(o,n,!1,(()=>{ns(this),n.clearColor(0,0,0,0),n.clear(n.COLOR_BUFFER_BIT),n.drawArrays(n.TRIANGLE_FAN,0,4),To(this)})),hh(o),To(this)}else{if(!(t instanceof ImageBitmap))throw Error(`Type is not supported: ${t}`);rs(this),ns(this),r=Tp(this),To(this)}e.push(r)}return new Ae(e,this.ka(),this.P(),this.canvas,this.l,this.width,this.height)}close(){this.j&&Nt(this,1).close(),this.m&&Pn(this).deleteTexture(Nt(this,2)),Ip=-1}};Ae.prototype.close=Ae.prototype.close,Ae.prototype.clone=Ae.prototype.clone,Ae.prototype.getAsWebGLTexture=Ae.prototype.M,Ae.prototype.getAsImageBitmap=Ae.prototype.Ba,Ae.prototype.getAsImageData=Ae.prototype.Ca,Ae.prototype.hasWebGLTexture=Ae.prototype.P,Ae.prototype.hasImageBitmap=Ae.prototype.ka,Ae.prototype.hasImageData=Ae.prototype.Ea;var Ip=250;function At(...e){return e.map((([t,r])=>({start:t,end:r})))}var j3=(function(e){return class extends e{La(){this.i._registerModelResourcesGraphService()}}})((Pp=class{constructor(e,t){this.l=!0,this.i=e,this.g=null,this.h=0,this.m=typeof this.i._addIntToInputStream=="function",t!==void 0?this.i.canvas=t:Am()?this.i.canvas=new OffscreenCanvas(1,1):(console.warn("OffscreenCanvas not supported and GraphRunner constructor glCanvas parameter is undefined. Creating backup canvas."),this.i.canvas=document.createElement("canvas"))}async initializeGraph(e){let t=await(await fetch(e)).arrayBuffer();e=!(e.endsWith(".pbtxt")||e.endsWith(".textproto")),this.setGraph(new Uint8Array(t),e)}setGraphFromString(e){this.setGraph(new TextEncoder().encode(e),!1)}setGraph(e,t){let r=e.length,n=this.i._malloc(r);this.i.HEAPU8.set(e,n),t?this.i._changeBinaryGraph(r,n):this.i._changeTextGraph(r,n),this.i._free(n)}configureAudio(e,t,r,n,o){this.i._configureAudio||console.warn('Attempting to use configureAudio without support for input audio. Is build dep ":gl_graph_runner_audio" missing?'),k(this,n||"input_audio",(i=>{k(this,o=o||"audio_header",(s=>{this.i._configureAudio(i,s,e,t??0,r)}))}))}setAutoResizeCanvas(e){this.l=e}setAutoRenderToScreen(e){this.i._setAutoRenderToScreen(e)}setGpuBufferVerticalFlip(e){this.i.gpuOriginForWebTexturesIsBottomLeft=e}da(e){Lt(this,"__graph_config__",(t=>{e(t)})),k(this,"__graph_config__",(t=>{this.i._getGraphConfig(t,void 0)})),delete this.i.simpleListeners.__graph_config__}attachErrorListener(e){this.i.errorListener=e}attachEmptyPacketListener(e,t){this.i.emptyPacketListeners=this.i.emptyPacketListeners||{},this.i.emptyPacketListeners[e]=t}addAudioToStream(e,t,r){this.addAudioToStreamWithShape(e,0,0,t,r)}addAudioToStreamWithShape(e,t,r,n,o){let i=4*e.length;this.h!==i&&(this.g&&this.i._free(this.g),this.g=this.i._malloc(i),this.h=i),this.i.HEAPF32.set(e,this.g/4),k(this,n,(s=>{this.i._addAudioToInputStream(this.g,t,r,s,o)}))}addGpuBufferToStream(e,t,r){k(this,t,(n=>{let[o,i]=bp(this,e,n);this.i._addBoundTextureToStream(n,o,i,r)}))}addBoolToStream(e,t,r){k(this,t,(n=>{this.i._addBoolToInputStream(e,n,r)}))}addDoubleToStream(e,t,r){k(this,t,(n=>{this.i._addDoubleToInputStream(e,n,r)}))}addFloatToStream(e,t,r){k(this,t,(n=>{this.i._addFloatToInputStream(e,n,r)}))}addIntToStream(e,t,r){k(this,t,(n=>{this.i._addIntToInputStream(e,n,r)}))}addUintToStream(e,t,r){k(this,t,(n=>{this.i._addUintToInputStream(e,n,r)}))}addStringToStream(e,t,r){k(this,t,(n=>{k(this,e,(o=>{this.i._addStringToInputStream(o,n,r)}))}))}addStringRecordToStream(e,t,r){k(this,t,(n=>{wp(this,Object.keys(e),(o=>{wp(this,Object.values(e),(i=>{this.i._addFlatHashMapToInputStream(o,i,Object.keys(e).length,n,r)}))}))}))}addProtoToStream(e,t,r,n){k(this,r,(o=>{k(this,t,(i=>{let s=this.i._malloc(e.length);this.i.HEAPU8.set(e,s),this.i._addProtoToInputStream(s,e.length,i,o,n),this.i._free(s)}))}))}addEmptyPacketToStream(e,t){k(this,e,(r=>{this.i._addEmptyPacketToInputStream(r,t)}))}addBoolVectorToStream(e,t,r){k(this,t,(n=>{let o=this.i._allocateBoolVector(e.length);if(!o)throw Error("Unable to allocate new bool vector on heap.");for(let i of e)this.i._addBoolVectorEntry(o,i);this.i._addBoolVectorToInputStream(o,n,r)}))}addDoubleVectorToStream(e,t,r){k(this,t,(n=>{let o=this.i._allocateDoubleVector(e.length);if(!o)throw Error("Unable to allocate new double vector on heap.");for(let i of e)this.i._addDoubleVectorEntry(o,i);this.i._addDoubleVectorToInputStream(o,n,r)}))}addFloatVectorToStream(e,t,r){k(this,t,(n=>{let o=this.i._allocateFloatVector(e.length);if(!o)throw Error("Unable to allocate new float vector on heap.");for(let i of e)this.i._addFloatVectorEntry(o,i);this.i._addFloatVectorToInputStream(o,n,r)}))}addIntVectorToStream(e,t,r){k(this,t,(n=>{let o=this.i._allocateIntVector(e.length);if(!o)throw Error("Unable to allocate new int vector on heap.");for(let i of e)this.i._addIntVectorEntry(o,i);this.i._addIntVectorToInputStream(o,n,r)}))}addUintVectorToStream(e,t,r){k(this,t,(n=>{let o=this.i._allocateUintVector(e.length);if(!o)throw Error("Unable to allocate new unsigned int vector on heap.");for(let i of e)this.i._addUintVectorEntry(o,i);this.i._addUintVectorToInputStream(o,n,r)}))}addStringVectorToStream(e,t,r){k(this,t,(n=>{let o=this.i._allocateStringVector(e.length);if(!o)throw Error("Unable to allocate new string vector on heap.");for(let i of e)k(this,i,(s=>{this.i._addStringVectorEntry(o,s)}));this.i._addStringVectorToInputStream(o,n,r)}))}addBoolToInputSidePacket(e,t){k(this,t,(r=>{this.i._addBoolToInputSidePacket(e,r)}))}addDoubleToInputSidePacket(e,t){k(this,t,(r=>{this.i._addDoubleToInputSidePacket(e,r)}))}addFloatToInputSidePacket(e,t){k(this,t,(r=>{this.i._addFloatToInputSidePacket(e,r)}))}addIntToInputSidePacket(e,t){k(this,t,(r=>{this.i._addIntToInputSidePacket(e,r)}))}addUintToInputSidePacket(e,t){k(this,t,(r=>{this.i._addUintToInputSidePacket(e,r)}))}addStringToInputSidePacket(e,t){k(this,t,(r=>{k(this,e,(n=>{this.i._addStringToInputSidePacket(n,r)}))}))}addProtoToInputSidePacket(e,t,r){k(this,r,(n=>{k(this,t,(o=>{let i=this.i._malloc(e.length);this.i.HEAPU8.set(e,i),this.i._addProtoToInputSidePacket(i,e.length,o,n),this.i._free(i)}))}))}addBoolVectorToInputSidePacket(e,t){k(this,t,(r=>{let n=this.i._allocateBoolVector(e.length);if(!n)throw Error("Unable to allocate new bool vector on heap.");for(let o of e)this.i._addBoolVectorEntry(n,o);this.i._addBoolVectorToInputSidePacket(n,r)}))}addDoubleVectorToInputSidePacket(e,t){k(this,t,(r=>{let n=this.i._allocateDoubleVector(e.length);if(!n)throw Error("Unable to allocate new double vector on heap.");for(let o of e)this.i._addDoubleVectorEntry(n,o);this.i._addDoubleVectorToInputSidePacket(n,r)}))}addFloatVectorToInputSidePacket(e,t){k(this,t,(r=>{let n=this.i._allocateFloatVector(e.length);if(!n)throw Error("Unable to allocate new float vector on heap.");for(let o of e)this.i._addFloatVectorEntry(n,o);this.i._addFloatVectorToInputSidePacket(n,r)}))}addIntVectorToInputSidePacket(e,t){k(this,t,(r=>{let n=this.i._allocateIntVector(e.length);if(!n)throw Error("Unable to allocate new int vector on heap.");for(let o of e)this.i._addIntVectorEntry(n,o);this.i._addIntVectorToInputSidePacket(n,r)}))}addUintVectorToInputSidePacket(e,t){k(this,t,(r=>{let n=this.i._allocateUintVector(e.length);if(!n)throw Error("Unable to allocate new unsigned int vector on heap.");for(let o of e)this.i._addUintVectorEntry(n,o);this.i._addUintVectorToInputSidePacket(n,r)}))}addStringVectorToInputSidePacket(e,t){k(this,t,(r=>{let n=this.i._allocateStringVector(e.length);if(!n)throw Error("Unable to allocate new string vector on heap.");for(let o of e)k(this,o,(i=>{this.i._addStringVectorEntry(n,i)}));this.i._addStringVectorToInputSidePacket(n,r)}))}attachBoolListener(e,t){Lt(this,e,t),k(this,e,(r=>{this.i._attachBoolListener(r)}))}attachBoolVectorListener(e,t){ur(this,e,t),k(this,e,(r=>{this.i._attachBoolVectorListener(r)}))}attachIntListener(e,t){Lt(this,e,t),k(this,e,(r=>{this.i._attachIntListener(r)}))}attachIntVectorListener(e,t){ur(this,e,t),k(this,e,(r=>{this.i._attachIntVectorListener(r)}))}attachUintListener(e,t){Lt(this,e,t),k(this,e,(r=>{this.i._attachUintListener(r)}))}attachUintVectorListener(e,t){ur(this,e,t),k(this,e,(r=>{this.i._attachUintVectorListener(r)}))}attachDoubleListener(e,t){Lt(this,e,t),k(this,e,(r=>{this.i._attachDoubleListener(r)}))}attachDoubleVectorListener(e,t){ur(this,e,t),k(this,e,(r=>{this.i._attachDoubleVectorListener(r)}))}attachFloatListener(e,t){Lt(this,e,t),k(this,e,(r=>{this.i._attachFloatListener(r)}))}attachFloatVectorListener(e,t){ur(this,e,t),k(this,e,(r=>{this.i._attachFloatVectorListener(r)}))}attachStringListener(e,t){Lt(this,e,t),k(this,e,(r=>{this.i._attachStringListener(r)}))}attachStringVectorListener(e,t){ur(this,e,t),k(this,e,(r=>{this.i._attachStringVectorListener(r)}))}attachProtoListener(e,t,r){Lt(this,e,t),k(this,e,(n=>{this.i._attachProtoListener(n,r||!1)}))}attachProtoVectorListener(e,t,r){ur(this,e,t),k(this,e,(n=>{this.i._attachProtoVectorListener(n,r||!1)}))}attachAudioListener(e,t,r){this.i._attachAudioListener||console.warn('Attempting to use attachAudioListener without support for output audio. Is build dep ":gl_graph_runner_audio_out" missing?'),Lt(this,e,((n,o)=>{n=new Float32Array(n.buffer,n.byteOffset,n.length/4),t(n,o)})),k(this,e,(n=>{this.i._attachAudioListener(n,r||!1)}))}finishProcessing(){this.i._waitUntilIdle()}closeGraph(){this.i._closeGraph(),this.i.simpleListeners=void 0,this.i.emptyPacketListeners=void 0}},class extends Pp{get ea(){return this.i}qa(e,t,r){k(this,t,(n=>{let[o,i]=bp(this,e,n);this.ea._addBoundTextureAsImageToStream(n,o,i,r)}))}U(e,t){Lt(this,e,t),k(this,e,(r=>{this.ea._attachImageListener(r)}))}ca(e,t){ur(this,e,t),k(this,e,(r=>{this.ea._attachImageVectorListener(r)}))}})),Pp,dt=class extends j3{};async function M(e,t,r){return(async function(n,o,i,s){return L3(n,o,i,s)})(e,r.canvas??(Am()?void 0:document.createElement("canvas")),t,r)}function Dm(e,t,r,n){if(e.T){let i=new tm;if(r?.regionOfInterest){if(!e.pa)throw Error("This task doesn't support region-of-interest.");var o=r.regionOfInterest;if(o.left>=o.right||o.top>=o.bottom)throw Error("Expected RectF with left < right and top < bottom.");if(o.left<0||o.top<0||o.right>1||o.bottom>1)throw Error("Expected RectF values to be in [0,1].");E(i,1,(o.left+o.right)/2),E(i,2,(o.top+o.bottom)/2),E(i,4,o.right-o.left),E(i,3,o.bottom-o.top)}else E(i,1,.5),E(i,2,.5),E(i,4,1),E(i,3,1);if(r?.rotationDegrees){if(r?.rotationDegrees%90!=0)throw Error("Expected rotation to be a multiple of 90\xB0.");if(E(i,5,-Math.PI*r.rotationDegrees/180),r?.rotationDegrees%180!=0){let[s,a]=xm(t);r=pe(i,3)*a/s,o=pe(i,4)*s/a,E(i,4,r),E(i,3,o)}}e.g.addProtoToStream(i.g(),"mediapipe.NormalizedRect",e.T,n)}e.g.qa(t,e.aa,n??performance.now()),e.finishProcessing()}function pt(e,t,r){if(e.baseOptions?.g())throw Error("Task is not initialized with image mode. 'runningMode' must be set to 'IMAGE'.");Dm(e,t,r,e.B+1)}function Vt(e,t,r,n){if(!e.baseOptions?.g())throw Error("Task is not initialized with video mode. 'runningMode' must be set to 'VIDEO'.");Dm(e,t,r,n)}function Rn(e,t,r,n){var o=t.data;let i=t.width,s=i*(t=t.height);if((o instanceof Uint8Array||o instanceof Float32Array)&&o.length!==s)throw Error("Unsupported channel count: "+o.length/s);return e=new _e([o],r,!1,e.g.i.canvas,e.O,i,t),n?e.clone():e}var He=class extends ts{constructor(e,t,r,n){super(e),this.g=e,this.aa=t,this.T=r,this.pa=n,this.O=new jn}l(e,t=!0){if("runningMode"in e&&Mo(this.baseOptions,2,!!e.runningMode&&e.runningMode!=="IMAGE"),e.canvas!==void 0&&this.g.i.canvas!==e.canvas)throw Error("You must create a new task to reset the canvas.");return super.l(e,t)}close(){this.O.close(),super.close()}};He.prototype.close=He.prototype.close;var Ne=class extends He{constructor(e,t){super(new dt(e,t),"image_in","norm_rect_in",!1),this.j={detections:[]},x(e=this.h=new Bs,0,1,t=new ee),E(this.h,2,.5),E(this.h,3,.3)}get baseOptions(){return U(this.h,ee,1)}set baseOptions(e){x(this.h,0,1,e)}o(e){return"minDetectionConfidence"in e&&E(this.h,2,e.minDetectionConfidence??.5),"minSuppressionThreshold"in e&&E(this.h,3,e.minSuppressionThreshold??.3),this.l(e)}D(e,t){return this.j={detections:[]},pt(this,e,t),this.j}F(e,t,r){return this.j={detections:[]},Vt(this,e,r,t),this.j}m(){var e=new ze;Y(e,"image_in"),Y(e,"norm_rect_in"),F(e,"detections");let t=new Je;Et(t,S3,this.h);let r=new De;Qe(r,"mediapipe.tasks.vision.face_detector.FaceDetectorGraph"),K(r,"IMAGE:image_in"),K(r,"NORM_RECT:norm_rect_in"),L(r,"DETECTIONS:detections"),r.o(t),Ze(e,r),this.g.attachProtoVectorListener("detections",((n,o)=>{for(let i of n)n=Qf(i),this.j.detections.push(km(n));v(this,o)})),this.g.attachEmptyPacketListener("detections",(n=>{v(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ne.prototype.detectForVideo=Ne.prototype.F,Ne.prototype.detect=Ne.prototype.D,Ne.prototype.setOptions=Ne.prototype.o,Ne.createFromModelPath=async function(e,t){return M(Ne,e,{baseOptions:{modelAssetPath:t}})},Ne.createFromModelBuffer=function(e,t){return M(Ne,e,{baseOptions:{modelAssetBuffer:t}})},Ne.createFromOptions=function(e,t){return M(Ne,e,t)};var dh=At([61,146],[146,91],[91,181],[181,84],[84,17],[17,314],[314,405],[405,321],[321,375],[375,291],[61,185],[185,40],[40,39],[39,37],[37,0],[0,267],[267,269],[269,270],[270,409],[409,291],[78,95],[95,88],[88,178],[178,87],[87,14],[14,317],[317,402],[402,318],[318,324],[324,308],[78,191],[191,80],[80,81],[81,82],[82,13],[13,312],[312,311],[311,310],[310,415],[415,308]),ph=At([263,249],[249,390],[390,373],[373,374],[374,380],[380,381],[381,382],[382,362],[263,466],[466,388],[388,387],[387,386],[386,385],[385,384],[384,398],[398,362]),fh=At([276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]),Om=At([474,475],[475,476],[476,477],[477,474]),mh=At([33,7],[7,163],[163,144],[144,145],[145,153],[153,154],[154,155],[155,133],[33,246],[246,161],[161,160],[160,159],[159,158],[158,157],[157,173],[173,133]),gh=At([46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]),Bm=At([469,470],[470,471],[471,472],[472,469]),yh=At([10,338],[338,297],[297,332],[332,284],[284,251],[251,389],[389,356],[356,454],[454,323],[323,361],[361,288],[288,397],[397,365],[365,379],[379,378],[378,400],[400,377],[377,152],[152,148],[148,176],[176,149],[149,150],[150,136],[136,172],[172,58],[58,132],[132,93],[93,234],[234,127],[127,162],[162,21],[21,54],[54,103],[103,67],[67,109],[109,10]),Mm=[...dh,...ph,...fh,...mh,...gh,...yh],Lm=At([127,34],[34,139],[139,127],[11,0],[0,37],[37,11],[232,231],[231,120],[120,232],[72,37],[37,39],[39,72],[128,121],[121,47],[47,128],[232,121],[121,128],[128,232],[104,69],[69,67],[67,104],[175,171],[171,148],[148,175],[118,50],[50,101],[101,118],[73,39],[39,40],[40,73],[9,151],[151,108],[108,9],[48,115],[115,131],[131,48],[194,204],[204,211],[211,194],[74,40],[40,185],[185,74],[80,42],[42,183],[183,80],[40,92],[92,186],[186,40],[230,229],[229,118],[118,230],[202,212],[212,214],[214,202],[83,18],[18,17],[17,83],[76,61],[61,146],[146,76],[160,29],[29,30],[30,160],[56,157],[157,173],[173,56],[106,204],[204,194],[194,106],[135,214],[214,192],[192,135],[203,165],[165,98],[98,203],[21,71],[71,68],[68,21],[51,45],[45,4],[4,51],[144,24],[24,23],[23,144],[77,146],[146,91],[91,77],[205,50],[50,187],[187,205],[201,200],[200,18],[18,201],[91,106],[106,182],[182,91],[90,91],[91,181],[181,90],[85,84],[84,17],[17,85],[206,203],[203,36],[36,206],[148,171],[171,140],[140,148],[92,40],[40,39],[39,92],[193,189],[189,244],[244,193],[159,158],[158,28],[28,159],[247,246],[246,161],[161,247],[236,3],[3,196],[196,236],[54,68],[68,104],[104,54],[193,168],[168,8],[8,193],[117,228],[228,31],[31,117],[189,193],[193,55],[55,189],[98,97],[97,99],[99,98],[126,47],[47,100],[100,126],[166,79],[79,218],[218,166],[155,154],[154,26],[26,155],[209,49],[49,131],[131,209],[135,136],[136,150],[150,135],[47,126],[126,217],[217,47],[223,52],[52,53],[53,223],[45,51],[51,134],[134,45],[211,170],[170,140],[140,211],[67,69],[69,108],[108,67],[43,106],[106,91],[91,43],[230,119],[119,120],[120,230],[226,130],[130,247],[247,226],[63,53],[53,52],[52,63],[238,20],[20,242],[242,238],[46,70],[70,156],[156,46],[78,62],[62,96],[96,78],[46,53],[53,63],[63,46],[143,34],[34,227],[227,143],[123,117],[117,111],[111,123],[44,125],[125,19],[19,44],[236,134],[134,51],[51,236],[216,206],[206,205],[205,216],[154,153],[153,22],[22,154],[39,37],[37,167],[167,39],[200,201],[201,208],[208,200],[36,142],[142,100],[100,36],[57,212],[212,202],[202,57],[20,60],[60,99],[99,20],[28,158],[158,157],[157,28],[35,226],[226,113],[113,35],[160,159],[159,27],[27,160],[204,202],[202,210],[210,204],[113,225],[225,46],[46,113],[43,202],[202,204],[204,43],[62,76],[76,77],[77,62],[137,123],[123,116],[116,137],[41,38],[38,72],[72,41],[203,129],[129,142],[142,203],[64,98],[98,240],[240,64],[49,102],[102,64],[64,49],[41,73],[73,74],[74,41],[212,216],[216,207],[207,212],[42,74],[74,184],[184,42],[169,170],[170,211],[211,169],[170,149],[149,176],[176,170],[105,66],[66,69],[69,105],[122,6],[6,168],[168,122],[123,147],[147,187],[187,123],[96,77],[77,90],[90,96],[65,55],[55,107],[107,65],[89,90],[90,180],[180,89],[101,100],[100,120],[120,101],[63,105],[105,104],[104,63],[93,137],[137,227],[227,93],[15,86],[86,85],[85,15],[129,102],[102,49],[49,129],[14,87],[87,86],[86,14],[55,8],[8,9],[9,55],[100,47],[47,121],[121,100],[145,23],[23,22],[22,145],[88,89],[89,179],[179,88],[6,122],[122,196],[196,6],[88,95],[95,96],[96,88],[138,172],[172,136],[136,138],[215,58],[58,172],[172,215],[115,48],[48,219],[219,115],[42,80],[80,81],[81,42],[195,3],[3,51],[51,195],[43,146],[146,61],[61,43],[171,175],[175,199],[199,171],[81,82],[82,38],[38,81],[53,46],[46,225],[225,53],[144,163],[163,110],[110,144],[52,65],[65,66],[66,52],[229,228],[228,117],[117,229],[34,127],[127,234],[234,34],[107,108],[108,69],[69,107],[109,108],[108,151],[151,109],[48,64],[64,235],[235,48],[62,78],[78,191],[191,62],[129,209],[209,126],[126,129],[111,35],[35,143],[143,111],[117,123],[123,50],[50,117],[222,65],[65,52],[52,222],[19,125],[125,141],[141,19],[221,55],[55,65],[65,221],[3,195],[195,197],[197,3],[25,7],[7,33],[33,25],[220,237],[237,44],[44,220],[70,71],[71,139],[139,70],[122,193],[193,245],[245,122],[247,130],[130,33],[33,247],[71,21],[21,162],[162,71],[170,169],[169,150],[150,170],[188,174],[174,196],[196,188],[216,186],[186,92],[92,216],[2,97],[97,167],[167,2],[141,125],[125,241],[241,141],[164,167],[167,37],[37,164],[72,38],[38,12],[12,72],[38,82],[82,13],[13,38],[63,68],[68,71],[71,63],[226,35],[35,111],[111,226],[101,50],[50,205],[205,101],[206,92],[92,165],[165,206],[209,198],[198,217],[217,209],[165,167],[167,97],[97,165],[220,115],[115,218],[218,220],[133,112],[112,243],[243,133],[239,238],[238,241],[241,239],[214,135],[135,169],[169,214],[190,173],[173,133],[133,190],[171,208],[208,32],[32,171],[125,44],[44,237],[237,125],[86,87],[87,178],[178,86],[85,86],[86,179],[179,85],[84,85],[85,180],[180,84],[83,84],[84,181],[181,83],[201,83],[83,182],[182,201],[137,93],[93,132],[132,137],[76,62],[62,183],[183,76],[61,76],[76,184],[184,61],[57,61],[61,185],[185,57],[212,57],[57,186],[186,212],[214,207],[207,187],[187,214],[34,143],[143,156],[156,34],[79,239],[239,237],[237,79],[123,137],[137,177],[177,123],[44,1],[1,4],[4,44],[201,194],[194,32],[32,201],[64,102],[102,129],[129,64],[213,215],[215,138],[138,213],[59,166],[166,219],[219,59],[242,99],[99,97],[97,242],[2,94],[94,141],[141,2],[75,59],[59,235],[235,75],[24,110],[110,228],[228,24],[25,130],[130,226],[226,25],[23,24],[24,229],[229,23],[22,23],[23,230],[230,22],[26,22],[22,231],[231,26],[112,26],[26,232],[232,112],[189,190],[190,243],[243,189],[221,56],[56,190],[190,221],[28,56],[56,221],[221,28],[27,28],[28,222],[222,27],[29,27],[27,223],[223,29],[30,29],[29,224],[224,30],[247,30],[30,225],[225,247],[238,79],[79,20],[20,238],[166,59],[59,75],[75,166],[60,75],[75,240],[240,60],[147,177],[177,215],[215,147],[20,79],[79,166],[166,20],[187,147],[147,213],[213,187],[112,233],[233,244],[244,112],[233,128],[128,245],[245,233],[128,114],[114,188],[188,128],[114,217],[217,174],[174,114],[131,115],[115,220],[220,131],[217,198],[198,236],[236,217],[198,131],[131,134],[134,198],[177,132],[132,58],[58,177],[143,35],[35,124],[124,143],[110,163],[163,7],[7,110],[228,110],[110,25],[25,228],[356,389],[389,368],[368,356],[11,302],[302,267],[267,11],[452,350],[350,349],[349,452],[302,303],[303,269],[269,302],[357,343],[343,277],[277,357],[452,453],[453,357],[357,452],[333,332],[332,297],[297,333],[175,152],[152,377],[377,175],[347,348],[348,330],[330,347],[303,304],[304,270],[270,303],[9,336],[336,337],[337,9],[278,279],[279,360],[360,278],[418,262],[262,431],[431,418],[304,408],[408,409],[409,304],[310,415],[415,407],[407,310],[270,409],[409,410],[410,270],[450,348],[348,347],[347,450],[422,430],[430,434],[434,422],[313,314],[314,17],[17,313],[306,307],[307,375],[375,306],[387,388],[388,260],[260,387],[286,414],[414,398],[398,286],[335,406],[406,418],[418,335],[364,367],[367,416],[416,364],[423,358],[358,327],[327,423],[251,284],[284,298],[298,251],[281,5],[5,4],[4,281],[373,374],[374,253],[253,373],[307,320],[320,321],[321,307],[425,427],[427,411],[411,425],[421,313],[313,18],[18,421],[321,405],[405,406],[406,321],[320,404],[404,405],[405,320],[315,16],[16,17],[17,315],[426,425],[425,266],[266,426],[377,400],[400,369],[369,377],[322,391],[391,269],[269,322],[417,465],[465,464],[464,417],[386,257],[257,258],[258,386],[466,260],[260,388],[388,466],[456,399],[399,419],[419,456],[284,332],[332,333],[333,284],[417,285],[285,8],[8,417],[346,340],[340,261],[261,346],[413,441],[441,285],[285,413],[327,460],[460,328],[328,327],[355,371],[371,329],[329,355],[392,439],[439,438],[438,392],[382,341],[341,256],[256,382],[429,420],[420,360],[360,429],[364,394],[394,379],[379,364],[277,343],[343,437],[437,277],[443,444],[444,283],[283,443],[275,440],[440,363],[363,275],[431,262],[262,369],[369,431],[297,338],[338,337],[337,297],[273,375],[375,321],[321,273],[450,451],[451,349],[349,450],[446,342],[342,467],[467,446],[293,334],[334,282],[282,293],[458,461],[461,462],[462,458],[276,353],[353,383],[383,276],[308,324],[324,325],[325,308],[276,300],[300,293],[293,276],[372,345],[345,447],[447,372],[352,345],[345,340],[340,352],[274,1],[1,19],[19,274],[456,248],[248,281],[281,456],[436,427],[427,425],[425,436],[381,256],[256,252],[252,381],[269,391],[391,393],[393,269],[200,199],[199,428],[428,200],[266,330],[330,329],[329,266],[287,273],[273,422],[422,287],[250,462],[462,328],[328,250],[258,286],[286,384],[384,258],[265,353],[353,342],[342,265],[387,259],[259,257],[257,387],[424,431],[431,430],[430,424],[342,353],[353,276],[276,342],[273,335],[335,424],[424,273],[292,325],[325,307],[307,292],[366,447],[447,345],[345,366],[271,303],[303,302],[302,271],[423,266],[266,371],[371,423],[294,455],[455,460],[460,294],[279,278],[278,294],[294,279],[271,272],[272,304],[304,271],[432,434],[434,427],[427,432],[272,407],[407,408],[408,272],[394,430],[430,431],[431,394],[395,369],[369,400],[400,395],[334,333],[333,299],[299,334],[351,417],[417,168],[168,351],[352,280],[280,411],[411,352],[325,319],[319,320],[320,325],[295,296],[296,336],[336,295],[319,403],[403,404],[404,319],[330,348],[348,349],[349,330],[293,298],[298,333],[333,293],[323,454],[454,447],[447,323],[15,16],[16,315],[315,15],[358,429],[429,279],[279,358],[14,15],[15,316],[316,14],[285,336],[336,9],[9,285],[329,349],[349,350],[350,329],[374,380],[380,252],[252,374],[318,402],[402,403],[403,318],[6,197],[197,419],[419,6],[318,319],[319,325],[325,318],[367,364],[364,365],[365,367],[435,367],[367,397],[397,435],[344,438],[438,439],[439,344],[272,271],[271,311],[311,272],[195,5],[5,281],[281,195],[273,287],[287,291],[291,273],[396,428],[428,199],[199,396],[311,271],[271,268],[268,311],[283,444],[444,445],[445,283],[373,254],[254,339],[339,373],[282,334],[334,296],[296,282],[449,347],[347,346],[346,449],[264,447],[447,454],[454,264],[336,296],[296,299],[299,336],[338,10],[10,151],[151,338],[278,439],[439,455],[455,278],[292,407],[407,415],[415,292],[358,371],[371,355],[355,358],[340,345],[345,372],[372,340],[346,347],[347,280],[280,346],[442,443],[443,282],[282,442],[19,94],[94,370],[370,19],[441,442],[442,295],[295,441],[248,419],[419,197],[197,248],[263,255],[255,359],[359,263],[440,275],[275,274],[274,440],[300,383],[383,368],[368,300],[351,412],[412,465],[465,351],[263,467],[467,466],[466,263],[301,368],[368,389],[389,301],[395,378],[378,379],[379,395],[412,351],[351,419],[419,412],[436,426],[426,322],[322,436],[2,164],[164,393],[393,2],[370,462],[462,461],[461,370],[164,0],[0,267],[267,164],[302,11],[11,12],[12,302],[268,12],[12,13],[13,268],[293,300],[300,301],[301,293],[446,261],[261,340],[340,446],[330,266],[266,425],[425,330],[426,423],[423,391],[391,426],[429,355],[355,437],[437,429],[391,327],[327,326],[326,391],[440,457],[457,438],[438,440],[341,382],[382,362],[362,341],[459,457],[457,461],[461,459],[434,430],[430,394],[394,434],[414,463],[463,362],[362,414],[396,369],[369,262],[262,396],[354,461],[461,457],[457,354],[316,403],[403,402],[402,316],[315,404],[404,403],[403,315],[314,405],[405,404],[404,314],[313,406],[406,405],[405,313],[421,418],[418,406],[406,421],[366,401],[401,361],[361,366],[306,408],[408,407],[407,306],[291,409],[409,408],[408,291],[287,410],[410,409],[409,287],[432,436],[436,410],[410,432],[434,416],[416,411],[411,434],[264,368],[368,383],[383,264],[309,438],[438,457],[457,309],[352,376],[376,401],[401,352],[274,275],[275,4],[4,274],[421,428],[428,262],[262,421],[294,327],[327,358],[358,294],[433,416],[416,367],[367,433],[289,455],[455,439],[439,289],[462,370],[370,326],[326,462],[2,326],[326,370],[370,2],[305,460],[460,455],[455,305],[254,449],[449,448],[448,254],[255,261],[261,446],[446,255],[253,450],[450,449],[449,253],[252,451],[451,450],[450,252],[256,452],[452,451],[451,256],[341,453],[453,452],[452,341],[413,464],[464,463],[463,413],[441,413],[413,414],[414,441],[258,442],[442,441],[441,258],[257,443],[443,442],[442,257],[259,444],[444,443],[443,259],[260,445],[445,444],[444,260],[467,342],[342,445],[445,467],[459,458],[458,250],[250,459],[289,392],[392,290],[290,289],[290,328],[328,460],[460,290],[376,433],[433,435],[435,376],[250,290],[290,392],[392,250],[411,416],[416,433],[433,411],[341,463],[463,464],[464,341],[453,464],[464,465],[465,453],[357,465],[465,412],[412,357],[343,412],[412,399],[399,343],[360,363],[363,440],[440,360],[437,399],[399,456],[456,437],[420,456],[456,363],[363,420],[401,435],[435,288],[288,401],[372,383],[383,353],[353,372],[339,255],[255,249],[249,339],[448,261],[261,255],[255,448],[133,243],[243,190],[190,133],[133,155],[155,112],[112,133],[33,246],[246,247],[247,33],[33,130],[130,25],[25,33],[398,384],[384,286],[286,398],[362,398],[398,414],[414,362],[362,463],[463,341],[341,362],[263,359],[359,467],[467,263],[263,249],[249,255],[255,263],[466,467],[467,260],[260,466],[75,60],[60,166],[166,75],[238,239],[239,79],[79,238],[162,127],[127,139],[139,162],[72,11],[11,37],[37,72],[121,232],[232,120],[120,121],[73,72],[72,39],[39,73],[114,128],[128,47],[47,114],[233,232],[232,128],[128,233],[103,104],[104,67],[67,103],[152,175],[175,148],[148,152],[119,118],[118,101],[101,119],[74,73],[73,40],[40,74],[107,9],[9,108],[108,107],[49,48],[48,131],[131,49],[32,194],[194,211],[211,32],[184,74],[74,185],[185,184],[191,80],[80,183],[183,191],[185,40],[40,186],[186,185],[119,230],[230,118],[118,119],[210,202],[202,214],[214,210],[84,83],[83,17],[17,84],[77,76],[76,146],[146,77],[161,160],[160,30],[30,161],[190,56],[56,173],[173,190],[182,106],[106,194],[194,182],[138,135],[135,192],[192,138],[129,203],[203,98],[98,129],[54,21],[21,68],[68,54],[5,51],[51,4],[4,5],[145,144],[144,23],[23,145],[90,77],[77,91],[91,90],[207,205],[205,187],[187,207],[83,201],[201,18],[18,83],[181,91],[91,182],[182,181],[180,90],[90,181],[181,180],[16,85],[85,17],[17,16],[205,206],[206,36],[36,205],[176,148],[148,140],[140,176],[165,92],[92,39],[39,165],[245,193],[193,244],[244,245],[27,159],[159,28],[28,27],[30,247],[247,161],[161,30],[174,236],[236,196],[196,174],[103,54],[54,104],[104,103],[55,193],[193,8],[8,55],[111,117],[117,31],[31,111],[221,189],[189,55],[55,221],[240,98],[98,99],[99,240],[142,126],[126,100],[100,142],[219,166],[166,218],[218,219],[112,155],[155,26],[26,112],[198,209],[209,131],[131,198],[169,135],[135,150],[150,169],[114,47],[47,217],[217,114],[224,223],[223,53],[53,224],[220,45],[45,134],[134,220],[32,211],[211,140],[140,32],[109,67],[67,108],[108,109],[146,43],[43,91],[91,146],[231,230],[230,120],[120,231],[113,226],[226,247],[247,113],[105,63],[63,52],[52,105],[241,238],[238,242],[242,241],[124,46],[46,156],[156,124],[95,78],[78,96],[96,95],[70,46],[46,63],[63,70],[116,143],[143,227],[227,116],[116,123],[123,111],[111,116],[1,44],[44,19],[19,1],[3,236],[236,51],[51,3],[207,216],[216,205],[205,207],[26,154],[154,22],[22,26],[165,39],[39,167],[167,165],[199,200],[200,208],[208,199],[101,36],[36,100],[100,101],[43,57],[57,202],[202,43],[242,20],[20,99],[99,242],[56,28],[28,157],[157,56],[124,35],[35,113],[113,124],[29,160],[160,27],[27,29],[211,204],[204,210],[210,211],[124,113],[113,46],[46,124],[106,43],[43,204],[204,106],[96,62],[62,77],[77,96],[227,137],[137,116],[116,227],[73,41],[41,72],[72,73],[36,203],[203,142],[142,36],[235,64],[64,240],[240,235],[48,49],[49,64],[64,48],[42,41],[41,74],[74,42],[214,212],[212,207],[207,214],[183,42],[42,184],[184,183],[210,169],[169,211],[211,210],[140,170],[170,176],[176,140],[104,105],[105,69],[69,104],[193,122],[122,168],[168,193],[50,123],[123,187],[187,50],[89,96],[96,90],[90,89],[66,65],[65,107],[107,66],[179,89],[89,180],[180,179],[119,101],[101,120],[120,119],[68,63],[63,104],[104,68],[234,93],[93,227],[227,234],[16,15],[15,85],[85,16],[209,129],[129,49],[49,209],[15,14],[14,86],[86,15],[107,55],[55,9],[9,107],[120,100],[100,121],[121,120],[153,145],[145,22],[22,153],[178,88],[88,179],[179,178],[197,6],[6,196],[196,197],[89,88],[88,96],[96,89],[135,138],[138,136],[136,135],[138,215],[215,172],[172,138],[218,115],[115,219],[219,218],[41,42],[42,81],[81,41],[5,195],[195,51],[51,5],[57,43],[43,61],[61,57],[208,171],[171,199],[199,208],[41,81],[81,38],[38,41],[224,53],[53,225],[225,224],[24,144],[144,110],[110,24],[105,52],[52,66],[66,105],[118,229],[229,117],[117,118],[227,34],[34,234],[234,227],[66,107],[107,69],[69,66],[10,109],[109,151],[151,10],[219,48],[48,235],[235,219],[183,62],[62,191],[191,183],[142,129],[129,126],[126,142],[116,111],[111,143],[143,116],[118,117],[117,50],[50,118],[223,222],[222,52],[52,223],[94,19],[19,141],[141,94],[222,221],[221,65],[65,222],[196,3],[3,197],[197,196],[45,220],[220,44],[44,45],[156,70],[70,139],[139,156],[188,122],[122,245],[245,188],[139,71],[71,162],[162,139],[149,170],[170,150],[150,149],[122,188],[188,196],[196,122],[206,216],[216,92],[92,206],[164,2],[2,167],[167,164],[242,141],[141,241],[241,242],[0,164],[164,37],[37,0],[11,72],[72,12],[12,11],[12,38],[38,13],[13,12],[70,63],[63,71],[71,70],[31,226],[226,111],[111,31],[36,101],[101,205],[205,36],[203,206],[206,165],[165,203],[126,209],[209,217],[217,126],[98,165],[165,97],[97,98],[237,220],[220,218],[218,237],[237,239],[239,241],[241,237],[210,214],[214,169],[169,210],[140,171],[171,32],[32,140],[241,125],[125,237],[237,241],[179,86],[86,178],[178,179],[180,85],[85,179],[179,180],[181,84],[84,180],[180,181],[182,83],[83,181],[181,182],[194,201],[201,182],[182,194],[177,137],[137,132],[132,177],[184,76],[76,183],[183,184],[185,61],[61,184],[184,185],[186,57],[57,185],[185,186],[216,212],[212,186],[186,216],[192,214],[214,187],[187,192],[139,34],[34,156],[156,139],[218,79],[79,237],[237,218],[147,123],[123,177],[177,147],[45,44],[44,4],[4,45],[208,201],[201,32],[32,208],[98,64],[64,129],[129,98],[192,213],[213,138],[138,192],[235,59],[59,219],[219,235],[141,242],[242,97],[97,141],[97,2],[2,141],[141,97],[240,75],[75,235],[235,240],[229,24],[24,228],[228,229],[31,25],[25,226],[226,31],[230,23],[23,229],[229,230],[231,22],[22,230],[230,231],[232,26],[26,231],[231,232],[233,112],[112,232],[232,233],[244,189],[189,243],[243,244],[189,221],[221,190],[190,189],[222,28],[28,221],[221,222],[223,27],[27,222],[222,223],[224,29],[29,223],[223,224],[225,30],[30,224],[224,225],[113,247],[247,225],[225,113],[99,60],[60,240],[240,99],[213,147],[147,215],[215,213],[60,20],[20,166],[166,60],[192,187],[187,213],[213,192],[243,112],[112,244],[244,243],[244,233],[233,245],[245,244],[245,128],[128,188],[188,245],[188,114],[114,174],[174,188],[134,131],[131,220],[220,134],[174,217],[217,236],[236,174],[236,198],[198,134],[134,236],[215,177],[177,58],[58,215],[156,143],[143,124],[124,156],[25,110],[110,7],[7,25],[31,228],[228,25],[25,31],[264,356],[356,368],[368,264],[0,11],[11,267],[267,0],[451,452],[452,349],[349,451],[267,302],[302,269],[269,267],[350,357],[357,277],[277,350],[350,452],[452,357],[357,350],[299,333],[333,297],[297,299],[396,175],[175,377],[377,396],[280,347],[347,330],[330,280],[269,303],[303,270],[270,269],[151,9],[9,337],[337,151],[344,278],[278,360],[360,344],[424,418],[418,431],[431,424],[270,304],[304,409],[409,270],[272,310],[310,407],[407,272],[322,270],[270,410],[410,322],[449,450],[450,347],[347,449],[432,422],[422,434],[434,432],[18,313],[313,17],[17,18],[291,306],[306,375],[375,291],[259,387],[387,260],[260,259],[424,335],[335,418],[418,424],[434,364],[364,416],[416,434],[391,423],[423,327],[327,391],[301,251],[251,298],[298,301],[275,281],[281,4],[4,275],[254,373],[373,253],[253,254],[375,307],[307,321],[321,375],[280,425],[425,411],[411,280],[200,421],[421,18],[18,200],[335,321],[321,406],[406,335],[321,320],[320,405],[405,321],[314,315],[315,17],[17,314],[423,426],[426,266],[266,423],[396,377],[377,369],[369,396],[270,322],[322,269],[269,270],[413,417],[417,464],[464,413],[385,386],[386,258],[258,385],[248,456],[456,419],[419,248],[298,284],[284,333],[333,298],[168,417],[417,8],[8,168],[448,346],[346,261],[261,448],[417,413],[413,285],[285,417],[326,327],[327,328],[328,326],[277,355],[355,329],[329,277],[309,392],[392,438],[438,309],[381,382],[382,256],[256,381],[279,429],[429,360],[360,279],[365,364],[364,379],[379,365],[355,277],[277,437],[437,355],[282,443],[443,283],[283,282],[281,275],[275,363],[363,281],[395,431],[431,369],[369,395],[299,297],[297,337],[337,299],[335,273],[273,321],[321,335],[348,450],[450,349],[349,348],[359,446],[446,467],[467,359],[283,293],[293,282],[282,283],[250,458],[458,462],[462,250],[300,276],[276,383],[383,300],[292,308],[308,325],[325,292],[283,276],[276,293],[293,283],[264,372],[372,447],[447,264],[346,352],[352,340],[340,346],[354,274],[274,19],[19,354],[363,456],[456,281],[281,363],[426,436],[436,425],[425,426],[380,381],[381,252],[252,380],[267,269],[269,393],[393,267],[421,200],[200,428],[428,421],[371,266],[266,329],[329,371],[432,287],[287,422],[422,432],[290,250],[250,328],[328,290],[385,258],[258,384],[384,385],[446,265],[265,342],[342,446],[386,387],[387,257],[257,386],[422,424],[424,430],[430,422],[445,342],[342,276],[276,445],[422,273],[273,424],[424,422],[306,292],[292,307],[307,306],[352,366],[366,345],[345,352],[268,271],[271,302],[302,268],[358,423],[423,371],[371,358],[327,294],[294,460],[460,327],[331,279],[279,294],[294,331],[303,271],[271,304],[304,303],[436,432],[432,427],[427,436],[304,272],[272,408],[408,304],[395,394],[394,431],[431,395],[378,395],[395,400],[400,378],[296,334],[334,299],[299,296],[6,351],[351,168],[168,6],[376,352],[352,411],[411,376],[307,325],[325,320],[320,307],[285,295],[295,336],[336,285],[320,319],[319,404],[404,320],[329,330],[330,349],[349,329],[334,293],[293,333],[333,334],[366,323],[323,447],[447,366],[316,15],[15,315],[315,316],[331,358],[358,279],[279,331],[317,14],[14,316],[316,317],[8,285],[285,9],[9,8],[277,329],[329,350],[350,277],[253,374],[374,252],[252,253],[319,318],[318,403],[403,319],[351,6],[6,419],[419,351],[324,318],[318,325],[325,324],[397,367],[367,365],[365,397],[288,435],[435,397],[397,288],[278,344],[344,439],[439,278],[310,272],[272,311],[311,310],[248,195],[195,281],[281,248],[375,273],[273,291],[291,375],[175,396],[396,199],[199,175],[312,311],[311,268],[268,312],[276,283],[283,445],[445,276],[390,373],[373,339],[339,390],[295,282],[282,296],[296,295],[448,449],[449,346],[346,448],[356,264],[264,454],[454,356],[337,336],[336,299],[299,337],[337,338],[338,151],[151,337],[294,278],[278,455],[455,294],[308,292],[292,415],[415,308],[429,358],[358,355],[355,429],[265,340],[340,372],[372,265],[352,346],[346,280],[280,352],[295,442],[442,282],[282,295],[354,19],[19,370],[370,354],[285,441],[441,295],[295,285],[195,248],[248,197],[197,195],[457,440],[440,274],[274,457],[301,300],[300,368],[368,301],[417,351],[351,465],[465,417],[251,301],[301,389],[389,251],[394,395],[395,379],[379,394],[399,412],[412,419],[419,399],[410,436],[436,322],[322,410],[326,2],[2,393],[393,326],[354,370],[370,461],[461,354],[393,164],[164,267],[267,393],[268,302],[302,12],[12,268],[312,268],[268,13],[13,312],[298,293],[293,301],[301,298],[265,446],[446,340],[340,265],[280,330],[330,425],[425,280],[322,426],[426,391],[391,322],[420,429],[429,437],[437,420],[393,391],[391,326],[326,393],[344,440],[440,438],[438,344],[458,459],[459,461],[461,458],[364,434],[434,394],[394,364],[428,396],[396,262],[262,428],[274,354],[354,457],[457,274],[317,316],[316,402],[402,317],[316,315],[315,403],[403,316],[315,314],[314,404],[404,315],[314,313],[313,405],[405,314],[313,421],[421,406],[406,313],[323,366],[366,361],[361,323],[292,306],[306,407],[407,292],[306,291],[291,408],[408,306],[291,287],[287,409],[409,291],[287,432],[432,410],[410,287],[427,434],[434,411],[411,427],[372,264],[264,383],[383,372],[459,309],[309,457],[457,459],[366,352],[352,401],[401,366],[1,274],[274,4],[4,1],[418,421],[421,262],[262,418],[331,294],[294,358],[358,331],[435,433],[433,367],[367,435],[392,289],[289,439],[439,392],[328,462],[462,326],[326,328],[94,2],[2,370],[370,94],[289,305],[305,455],[455,289],[339,254],[254,448],[448,339],[359,255],[255,446],[446,359],[254,253],[253,449],[449,254],[253,252],[252,450],[450,253],[252,256],[256,451],[451,252],[256,341],[341,452],[452,256],[414,413],[413,463],[463,414],[286,441],[441,414],[414,286],[286,258],[258,441],[441,286],[258,257],[257,442],[442,258],[257,259],[259,443],[443,257],[259,260],[260,444],[444,259],[260,467],[467,445],[445,260],[309,459],[459,250],[250,309],[305,289],[289,290],[290,305],[305,290],[290,460],[460,305],[401,376],[376,435],[435,401],[309,250],[250,392],[392,309],[376,411],[411,433],[433,376],[453,341],[341,464],[464,453],[357,453],[453,465],[465,357],[343,357],[357,412],[412,343],[437,343],[343,399],[399,437],[344,360],[360,440],[440,344],[420,437],[437,456],[456,420],[360,420],[420,363],[363,360],[361,401],[401,288],[288,361],[265,372],[372,353],[353,265],[390,339],[339,249],[249,390],[339,448],[448,255],[255,339]);function Rp(e){e.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]}}var ae=class extends He{constructor(e,t){super(new dt(e,t),"image_in","norm_rect",!1),this.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]},this.outputFacialTransformationMatrixes=this.outputFaceBlendshapes=!1,x(e=this.h=new sm,0,1,t=new ee),this.v=new im,x(this.h,0,3,this.v),this.s=new Bs,x(this.h,0,2,this.s),jt(this.s,4,1),E(this.s,2,.5),E(this.v,2,.5),E(this.h,4,.5)}get baseOptions(){return U(this.h,ee,1)}set baseOptions(e){x(this.h,0,1,e)}o(e){return"numFaces"in e&&jt(this.s,4,e.numFaces??1),"minFaceDetectionConfidence"in e&&E(this.s,2,e.minFaceDetectionConfidence??.5),"minTrackingConfidence"in e&&E(this.h,4,e.minTrackingConfidence??.5),"minFacePresenceConfidence"in e&&E(this.v,2,e.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"outputFacialTransformationMatrixes"in e&&(this.outputFacialTransformationMatrixes=!!e.outputFacialTransformationMatrixes),this.l(e)}D(e,t){return Rp(this),pt(this,e,t),this.j}F(e,t,r){return Rp(this),Vt(this,e,r,t),this.j}m(){var e=new ze;Y(e,"image_in"),Y(e,"norm_rect"),F(e,"face_landmarks");let t=new Je;Et(t,k3,this.h);let r=new De;Qe(r,"mediapipe.tasks.vision.face_landmarker.FaceLandmarkerGraph"),K(r,"IMAGE:image_in"),K(r,"NORM_RECT:norm_rect"),L(r,"NORM_LANDMARKS:face_landmarks"),r.o(t),Ze(e,r),this.g.attachProtoVectorListener("face_landmarks",((n,o)=>{for(let i of n)n=Ho(i),this.j.faceLandmarks.push(Ms(n));v(this,o)})),this.g.attachEmptyPacketListener("face_landmarks",(n=>{v(this,n)})),this.outputFaceBlendshapes&&(F(e,"blendshapes"),L(r,"BLENDSHAPES:blendshapes"),this.g.attachProtoVectorListener("blendshapes",((n,o)=>{if(this.outputFaceBlendshapes)for(let i of n)n=Os(i),this.j.faceBlendshapes.push(ch(n.g()??[]));v(this,o)})),this.g.attachEmptyPacketListener("blendshapes",(n=>{v(this,n)}))),this.outputFacialTransformationMatrixes&&(F(e,"face_geometry"),L(r,"FACE_GEOMETRY:face_geometry"),this.g.attachProtoVectorListener("face_geometry",((n,o)=>{if(this.outputFacialTransformationMatrixes)for(let i of n)(n=U(E3(i),f3,2))&&this.j.facialTransformationMatrixes.push({rows:ct(n,1)??0??0,columns:ct(n,2)??0??0,data:Vr(n,3,_r,jr()).slice()??[]});v(this,o)})),this.g.attachEmptyPacketListener("face_geometry",(n=>{v(this,n)}))),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};ae.prototype.detectForVideo=ae.prototype.F,ae.prototype.detect=ae.prototype.D,ae.prototype.setOptions=ae.prototype.o,ae.createFromModelPath=function(e,t){return M(ae,e,{baseOptions:{modelAssetPath:t}})},ae.createFromModelBuffer=function(e,t){return M(ae,e,{baseOptions:{modelAssetBuffer:t}})},ae.createFromOptions=function(e,t){return M(ae,e,t)},ae.FACE_LANDMARKS_LIPS=dh,ae.FACE_LANDMARKS_LEFT_EYE=ph,ae.FACE_LANDMARKS_LEFT_EYEBROW=fh,ae.FACE_LANDMARKS_LEFT_IRIS=Om,ae.FACE_LANDMARKS_RIGHT_EYE=mh,ae.FACE_LANDMARKS_RIGHT_EYEBROW=gh,ae.FACE_LANDMARKS_RIGHT_IRIS=Bm,ae.FACE_LANDMARKS_FACE_OVAL=yh,ae.FACE_LANDMARKS_CONTOURS=Mm,ae.FACE_LANDMARKS_TESSELATION=Lm;var Ut=class extends He{constructor(e,t){super(new dt(e,t),"image_in","norm_rect",!0),x(e=this.j=new cm,0,1,t=new ee)}get baseOptions(){return U(this.j,ee,1)}set baseOptions(e){x(this.j,0,1,e)}o(e){return super.l(e)}Oa(e,t,r){let n=typeof t!="function"?t:{};if(this.h=typeof t=="function"?t:r,pt(this,e,n??{}),!this.h)return this.s}m(){var e=new ze;Y(e,"image_in"),Y(e,"norm_rect"),F(e,"stylized_image");let t=new Je;Et(t,C3,this.j);let r=new De;Qe(r,"mediapipe.tasks.vision.face_stylizer.FaceStylizerGraph"),K(r,"IMAGE:image_in"),K(r,"NORM_RECT:norm_rect"),L(r,"STYLIZED_IMAGE:stylized_image"),r.o(t),Ze(e,r),this.g.U("stylized_image",((n,o)=>{var i=!this.h,s=n.data,a=n.width;let c=a*(n=n.height);if(s instanceof Uint8Array)if(s.length===3*c){let l=new Uint8ClampedArray(4*c);for(let h=0;h<c;++h)l[4*h]=s[3*h],l[4*h+1]=s[3*h+1],l[4*h+2]=s[3*h+2],l[4*h+3]=255;s=new ImageData(l,a,n)}else{if(s.length!==4*c)throw Error("Unsupported channel count: "+s.length/c);s=new ImageData(new Uint8ClampedArray(s.buffer,s.byteOffset,s.length),a,n)}else if(!(s instanceof WebGLTexture))throw Error(`Unsupported format: ${s.constructor.name}`);a=new Ae([s],!1,!1,this.g.i.canvas,this.O,a,n),this.s=i=i?a.clone():a,this.h&&this.h(i),v(this,o)})),this.g.attachEmptyPacketListener("stylized_image",(n=>{this.s=null,this.h&&this.h(null),v(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ut.prototype.stylize=Ut.prototype.Oa,Ut.prototype.setOptions=Ut.prototype.o,Ut.createFromModelPath=function(e,t){return M(Ut,e,{baseOptions:{modelAssetPath:t}})},Ut.createFromModelBuffer=function(e,t){return M(Ut,e,{baseOptions:{modelAssetBuffer:t}})},Ut.createFromOptions=function(e,t){return M(Ut,e,t)};var bh=At([0,1],[1,2],[2,3],[3,4],[0,5],[5,6],[6,7],[7,8],[5,9],[9,10],[10,11],[11,12],[9,13],[13,14],[14,15],[15,16],[13,17],[0,17],[17,18],[18,19],[19,20]);function Dp(e){e.gestures=[],e.landmarks=[],e.worldLandmarks=[],e.handedness=[]}function Op(e){return e.gestures.length===0?{gestures:[],landmarks:[],worldLandmarks:[],handedness:[],handednesses:[]}:{gestures:e.gestures,landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handedness:e.handedness,handednesses:e.handedness}}function Bp(e,t=!0){let r=[];for(let o of e){var n=Os(o);e=[];for(let i of n.g())n=t&&ct(i,1)!=null?ct(i,1)??0:-1,e.push({score:pe(i,2)??0,index:n,categoryName:ht(i,3)??""??"",displayName:ht(i,4)??""??""});r.push(e)}return r}var qe=class extends He{constructor(e,t){super(new dt(e,t),"image_in","norm_rect",!1),this.gestures=[],this.landmarks=[],this.worldLandmarks=[],this.handedness=[],x(e=this.j=new um,0,1,t=new ee),this.s=new oh,x(this.j,0,2,this.s),this.C=new nh,x(this.s,0,3,this.C),this.v=new hm,x(this.s,0,2,this.v),this.h=new A3,x(this.j,0,3,this.h),E(this.v,2,.5),E(this.s,4,.5),E(this.C,2,.5)}get baseOptions(){return U(this.j,ee,1)}set baseOptions(e){x(this.j,0,1,e)}o(e){if(jt(this.v,3,e.numHands??1),"minHandDetectionConfidence"in e&&E(this.v,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&E(this.s,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&E(this.C,2,e.minHandPresenceConfidence??.5),e.cannedGesturesClassifierOptions){var t=new fn,r=t,n=al(e.cannedGesturesClassifierOptions,U(this.h,fn,3)?.h());x(r,0,2,n),x(this.h,0,3,t)}else e.cannedGesturesClassifierOptions===void 0&&U(this.h,fn,3)?.g();return e.customGesturesClassifierOptions?(x(r=t=new fn,0,2,n=al(e.customGesturesClassifierOptions,U(this.h,fn,4)?.h())),x(this.h,0,4,t)):e.customGesturesClassifierOptions===void 0&&U(this.h,fn,4)?.g(),this.l(e)}Ja(e,t){return Dp(this),pt(this,e,t),Op(this)}Ka(e,t,r){return Dp(this),Vt(this,e,r,t),Op(this)}m(){var e=new ze;Y(e,"image_in"),Y(e,"norm_rect"),F(e,"hand_gestures"),F(e,"hand_landmarks"),F(e,"world_hand_landmarks"),F(e,"handedness");let t=new Je;Et(t,x3,this.j);let r=new De;Qe(r,"mediapipe.tasks.vision.gesture_recognizer.GestureRecognizerGraph"),K(r,"IMAGE:image_in"),K(r,"NORM_RECT:norm_rect"),L(r,"HAND_GESTURES:hand_gestures"),L(r,"LANDMARKS:hand_landmarks"),L(r,"WORLD_LANDMARKS:world_hand_landmarks"),L(r,"HANDEDNESS:handedness"),r.o(t),Ze(e,r),this.g.attachProtoVectorListener("hand_landmarks",((n,o)=>{for(let i of n){n=Ho(i);let s=[];for(let a of rr(n,em,1))s.push({x:pe(a,1)??0,y:pe(a,2)??0,z:pe(a,3)??0,visibility:pe(a,4)??0});this.landmarks.push(s)}v(this,o)})),this.g.attachEmptyPacketListener("hand_landmarks",(n=>{v(this,n)})),this.g.attachProtoVectorListener("world_hand_landmarks",((n,o)=>{for(let i of n){n=_n(i);let s=[];for(let a of rr(n,Zf,1))s.push({x:pe(a,1)??0,y:pe(a,2)??0,z:pe(a,3)??0,visibility:pe(a,4)??0});this.worldLandmarks.push(s)}v(this,o)})),this.g.attachEmptyPacketListener("world_hand_landmarks",(n=>{v(this,n)})),this.g.attachProtoVectorListener("hand_gestures",((n,o)=>{this.gestures.push(...Bp(n,!1)),v(this,o)})),this.g.attachEmptyPacketListener("hand_gestures",(n=>{v(this,n)})),this.g.attachProtoVectorListener("handedness",((n,o)=>{this.handedness.push(...Bp(n)),v(this,o)})),this.g.attachEmptyPacketListener("handedness",(n=>{v(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function Mp(e){return{landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handednesses:e.handedness,handedness:e.handedness}}qe.prototype.recognizeForVideo=qe.prototype.Ka,qe.prototype.recognize=qe.prototype.Ja,qe.prototype.setOptions=qe.prototype.o,qe.createFromModelPath=function(e,t){return M(qe,e,{baseOptions:{modelAssetPath:t}})},qe.createFromModelBuffer=function(e,t){return M(qe,e,{baseOptions:{modelAssetBuffer:t}})},qe.createFromOptions=function(e,t){return M(qe,e,t)},qe.HAND_CONNECTIONS=bh;var Ge=class extends He{constructor(e,t){super(new dt(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.handedness=[],x(e=this.h=new oh,0,1,t=new ee),this.s=new nh,x(this.h,0,3,this.s),this.j=new hm,x(this.h,0,2,this.j),jt(this.j,3,1),E(this.j,2,.5),E(this.s,2,.5),E(this.h,4,.5)}get baseOptions(){return U(this.h,ee,1)}set baseOptions(e){x(this.h,0,1,e)}o(e){return"numHands"in e&&jt(this.j,3,e.numHands??1),"minHandDetectionConfidence"in e&&E(this.j,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&E(this.h,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&E(this.s,2,e.minHandPresenceConfidence??.5),this.l(e)}D(e,t){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],pt(this,e,t),Mp(this)}F(e,t,r){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],Vt(this,e,r,t),Mp(this)}m(){var e=new ze;Y(e,"image_in"),Y(e,"norm_rect"),F(e,"hand_landmarks"),F(e,"world_hand_landmarks"),F(e,"handedness");let t=new Je;Et(t,T3,this.h);let r=new De;Qe(r,"mediapipe.tasks.vision.hand_landmarker.HandLandmarkerGraph"),K(r,"IMAGE:image_in"),K(r,"NORM_RECT:norm_rect"),L(r,"LANDMARKS:hand_landmarks"),L(r,"WORLD_LANDMARKS:world_hand_landmarks"),L(r,"HANDEDNESS:handedness"),r.o(t),Ze(e,r),this.g.attachProtoVectorListener("hand_landmarks",((n,o)=>{for(let i of n)n=Ho(i),this.landmarks.push(Ms(n));v(this,o)})),this.g.attachEmptyPacketListener("hand_landmarks",(n=>{v(this,n)})),this.g.attachProtoVectorListener("world_hand_landmarks",((n,o)=>{for(let i of n)n=_n(i),this.worldLandmarks.push(Do(n));v(this,o)})),this.g.attachEmptyPacketListener("world_hand_landmarks",(n=>{v(this,n)})),this.g.attachProtoVectorListener("handedness",((n,o)=>{var i=this.handedness,s=i.push;let a=[];for(let c of n){n=Os(c);let l=[];for(let h of n.g())l.push({score:pe(h,2)??0,index:ct(h,1)??0??-1,categoryName:ht(h,3)??""??"",displayName:ht(h,4)??""??""});a.push(l)}s.call(i,...a),v(this,o)})),this.g.attachEmptyPacketListener("handedness",(n=>{v(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ge.prototype.detectForVideo=Ge.prototype.F,Ge.prototype.detect=Ge.prototype.D,Ge.prototype.setOptions=Ge.prototype.o,Ge.createFromModelPath=function(e,t){return M(Ge,e,{baseOptions:{modelAssetPath:t}})},Ge.createFromModelBuffer=function(e,t){return M(Ge,e,{baseOptions:{modelAssetBuffer:t}})},Ge.createFromOptions=function(e,t){return M(Ge,e,t)},Ge.HAND_CONNECTIONS=bh;var Um=At([0,1],[1,2],[2,3],[3,7],[0,4],[4,5],[5,6],[6,8],[9,10],[11,12],[11,13],[13,15],[15,17],[15,19],[15,21],[17,19],[12,14],[14,16],[16,18],[16,20],[16,22],[18,20],[11,23],[12,24],[23,24],[23,25],[24,26],[25,27],[26,28],[27,29],[28,30],[29,31],[30,32],[27,31],[28,32]);function Lp(e){e.h={faceLandmarks:[],faceBlendshapes:[],poseLandmarks:[],poseWorldLandmarks:[],poseSegmentationMasks:[],leftHandLandmarks:[],leftHandWorldLandmarks:[],rightHandLandmarks:[],rightHandWorldLandmarks:[]}}function Up(e){try{if(!e.C)return e.h;e.C(e.h)}finally{Us(e)}}function Yi(e,t){e=Ho(e),t.push(Ms(e))}var Q=class extends He{constructor(e,t){super(new dt(e,t),"input_frames_image",null,!1),this.h={faceLandmarks:[],faceBlendshapes:[],poseLandmarks:[],poseWorldLandmarks:[],poseSegmentationMasks:[],leftHandLandmarks:[],leftHandWorldLandmarks:[],rightHandLandmarks:[],rightHandWorldLandmarks:[]},this.outputPoseSegmentationMasks=this.outputFaceBlendshapes=!1,x(e=this.j=new gm,0,1,t=new ee),this.J=new nh,x(this.j,0,2,this.J),this.Z=new I3,x(this.j,0,3,this.Z),this.s=new Bs,x(this.j,0,4,this.s),this.H=new im,x(this.j,0,5,this.H),this.v=new fm,x(this.j,0,6,this.v),this.K=new mm,x(this.j,0,7,this.K),E(this.s,2,.5),E(this.s,3,.3),E(this.H,2,.5),E(this.v,2,.5),E(this.v,3,.3),E(this.K,2,.5),E(this.J,2,.5)}get baseOptions(){return U(this.j,ee,1)}set baseOptions(e){x(this.j,0,1,e)}o(e){return"minFaceDetectionConfidence"in e&&E(this.s,2,e.minFaceDetectionConfidence??.5),"minFaceSuppressionThreshold"in e&&E(this.s,3,e.minFaceSuppressionThreshold??.3),"minFacePresenceConfidence"in e&&E(this.H,2,e.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"minPoseDetectionConfidence"in e&&E(this.v,2,e.minPoseDetectionConfidence??.5),"minPoseSuppressionThreshold"in e&&E(this.v,3,e.minPoseSuppressionThreshold??.3),"minPosePresenceConfidence"in e&&E(this.K,2,e.minPosePresenceConfidence??.5),"outputPoseSegmentationMasks"in e&&(this.outputPoseSegmentationMasks=!!e.outputPoseSegmentationMasks),"minHandLandmarksConfidence"in e&&E(this.J,2,e.minHandLandmarksConfidence??.5),this.l(e)}D(e,t,r){let n=typeof t!="function"?t:{};return this.C=typeof t=="function"?t:r,Lp(this),pt(this,e,n),Up(this)}F(e,t,r,n){let o=typeof r!="function"?r:{};return this.C=typeof r=="function"?r:n,Lp(this),Vt(this,e,o,t),Up(this)}m(){var e=new ze;Y(e,"input_frames_image"),F(e,"pose_landmarks"),F(e,"pose_world_landmarks"),F(e,"face_landmarks"),F(e,"left_hand_landmarks"),F(e,"left_hand_world_landmarks"),F(e,"right_hand_landmarks"),F(e,"right_hand_world_landmarks");let t=new Je,r=new rp;el(r,1,Bn("type.googleapis.com/mediapipe.tasks.vision.holistic_landmarker.proto.HolisticLandmarkerGraphOptions"),""),(function(o,i){if(i!=null)if(Array.isArray(i))G(o,2,hf(i));else{if(!(typeof i=="string"||i instanceof er||Fo(i)))throw Error("invalid value in Any.value field: "+i+" expected a ByteString, a base64 encoded string, a Uint8Array or a jspb array");el(o,2,_l(i,!1),$r())}})(r,this.j.g());let n=new De;Qe(n,"mediapipe.tasks.vision.holistic_landmarker.HolisticLandmarkerGraph"),ls(n,8,rp,r),K(n,"IMAGE:input_frames_image"),L(n,"POSE_LANDMARKS:pose_landmarks"),L(n,"POSE_WORLD_LANDMARKS:pose_world_landmarks"),L(n,"FACE_LANDMARKS:face_landmarks"),L(n,"LEFT_HAND_LANDMARKS:left_hand_landmarks"),L(n,"LEFT_HAND_WORLD_LANDMARKS:left_hand_world_landmarks"),L(n,"RIGHT_HAND_LANDMARKS:right_hand_landmarks"),L(n,"RIGHT_HAND_WORLD_LANDMARKS:right_hand_world_landmarks"),n.o(t),Ze(e,n),Ls(this,e),this.g.attachProtoListener("pose_landmarks",((o,i)=>{Yi(o,this.h.poseLandmarks),v(this,i)})),this.g.attachEmptyPacketListener("pose_landmarks",(o=>{v(this,o)})),this.g.attachProtoListener("pose_world_landmarks",((o,i)=>{var s=this.h.poseWorldLandmarks;o=_n(o),s.push(Do(o)),v(this,i)})),this.g.attachEmptyPacketListener("pose_world_landmarks",(o=>{v(this,o)})),this.outputPoseSegmentationMasks&&(L(n,"POSE_SEGMENTATION_MASK:pose_segmentation_mask"),Tn(this,"pose_segmentation_mask"),this.g.U("pose_segmentation_mask",((o,i)=>{this.h.poseSegmentationMasks=[Rn(this,o,!0,!this.C)],v(this,i)})),this.g.attachEmptyPacketListener("pose_segmentation_mask",(o=>{this.h.poseSegmentationMasks=[],v(this,o)}))),this.g.attachProtoListener("face_landmarks",((o,i)=>{Yi(o,this.h.faceLandmarks),v(this,i)})),this.g.attachEmptyPacketListener("face_landmarks",(o=>{v(this,o)})),this.outputFaceBlendshapes&&(F(e,"extra_blendshapes"),L(n,"FACE_BLENDSHAPES:extra_blendshapes"),this.g.attachProtoListener("extra_blendshapes",((o,i)=>{var s=this.h.faceBlendshapes;this.outputFaceBlendshapes&&(o=Os(o),s.push(ch(o.g()??[]))),v(this,i)})),this.g.attachEmptyPacketListener("extra_blendshapes",(o=>{v(this,o)}))),this.g.attachProtoListener("left_hand_landmarks",((o,i)=>{Yi(o,this.h.leftHandLandmarks),v(this,i)})),this.g.attachEmptyPacketListener("left_hand_landmarks",(o=>{v(this,o)})),this.g.attachProtoListener("left_hand_world_landmarks",((o,i)=>{var s=this.h.leftHandWorldLandmarks;o=_n(o),s.push(Do(o)),v(this,i)})),this.g.attachEmptyPacketListener("left_hand_world_landmarks",(o=>{v(this,o)})),this.g.attachProtoListener("right_hand_landmarks",((o,i)=>{Yi(o,this.h.rightHandLandmarks),v(this,i)})),this.g.attachEmptyPacketListener("right_hand_landmarks",(o=>{v(this,o)})),this.g.attachProtoListener("right_hand_world_landmarks",((o,i)=>{var s=this.h.rightHandWorldLandmarks;o=_n(o),s.push(Do(o)),v(this,i)})),this.g.attachEmptyPacketListener("right_hand_world_landmarks",(o=>{v(this,o)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Q.prototype.detectForVideo=Q.prototype.F,Q.prototype.detect=Q.prototype.D,Q.prototype.setOptions=Q.prototype.o,Q.createFromModelPath=function(e,t){return M(Q,e,{baseOptions:{modelAssetPath:t}})},Q.createFromModelBuffer=function(e,t){return M(Q,e,{baseOptions:{modelAssetBuffer:t}})},Q.createFromOptions=function(e,t){return M(Q,e,t)},Q.HAND_CONNECTIONS=bh,Q.POSE_CONNECTIONS=Um,Q.FACE_LANDMARKS_LIPS=dh,Q.FACE_LANDMARKS_LEFT_EYE=ph,Q.FACE_LANDMARKS_LEFT_EYEBROW=fh,Q.FACE_LANDMARKS_LEFT_IRIS=Om,Q.FACE_LANDMARKS_RIGHT_EYE=mh,Q.FACE_LANDMARKS_RIGHT_EYEBROW=gh,Q.FACE_LANDMARKS_RIGHT_IRIS=Bm,Q.FACE_LANDMARKS_FACE_OVAL=yh,Q.FACE_LANDMARKS_CONTOURS=Mm,Q.FACE_LANDMARKS_TESSELATION=Lm;var st=class extends He{constructor(e,t){super(new dt(e,t),"input_image","norm_rect",!0),this.j={classifications:[]},x(e=this.h=new ym,0,1,t=new ee)}get baseOptions(){return U(this.h,ee,1)}set baseOptions(e){x(this.h,0,1,e)}o(e){return x(this.h,0,2,al(e,U(this.h,eh,2))),this.l(e)}sa(e,t){return this.j={classifications:[]},pt(this,e,t),this.j}ta(e,t,r){return this.j={classifications:[]},Vt(this,e,r,t),this.j}m(){var e=new ze;Y(e,"input_image"),Y(e,"norm_rect"),F(e,"classifications");let t=new Je;Et(t,P3,this.h);let r=new De;Qe(r,"mediapipe.tasks.vision.image_classifier.ImageClassifierGraph"),K(r,"IMAGE:input_image"),K(r,"NORM_RECT:norm_rect"),L(r,"CLASSIFICATIONS:classifications"),r.o(t),Ze(e,r),this.g.attachProtoListener("classifications",((n,o)=>{this.j=(function(i){let s={classifications:rr(i,g3,1).map((a=>ch(U(a,Jf,4)?.g()??[],ct(a,2)??0,ht(a,3)??"")))};return cs(An(i,2))!=null&&(s.timestampMs=cs(An(i,2))??0),s})(y3(n)),v(this,o)})),this.g.attachEmptyPacketListener("classifications",(n=>{v(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};st.prototype.classifyForVideo=st.prototype.ta,st.prototype.classify=st.prototype.sa,st.prototype.setOptions=st.prototype.o,st.createFromModelPath=function(e,t){return M(st,e,{baseOptions:{modelAssetPath:t}})},st.createFromModelBuffer=function(e,t){return M(st,e,{baseOptions:{modelAssetBuffer:t}})},st.createFromOptions=function(e,t){return M(st,e,t)};var Ke=class extends He{constructor(e,t){super(new dt(e,t),"image_in","norm_rect",!0),this.h=new bm,this.embeddings={embeddings:[]},x(e=this.h,0,1,t=new ee)}get baseOptions(){return U(this.h,ee,1)}set baseOptions(e){x(this.h,0,1,e)}o(e){var t=this.h,r=U(this.h,up,2);return r=r?r.clone():new up,e.l2Normalize!==void 0?Mo(r,1,e.l2Normalize):"l2Normalize"in e&&G(r,1),e.quantize!==void 0?Mo(r,2,e.quantize):"quantize"in e&&G(r,2),x(t,0,2,r),this.l(e)}za(e,t){return pt(this,e,t),this.embeddings}Aa(e,t,r){return Vt(this,e,r,t),this.embeddings}m(){var e=new ze;Y(e,"image_in"),Y(e,"norm_rect"),F(e,"embeddings_out");let t=new Je;Et(t,R3,this.h);let r=new De;Qe(r,"mediapipe.tasks.vision.image_embedder.ImageEmbedderGraph"),K(r,"IMAGE:image_in"),K(r,"NORM_RECT:norm_rect"),L(r,"EMBEDDINGS:embeddings_out"),r.o(t),Ze(e,r),this.g.attachProtoListener("embeddings_out",((n,o)=>{n=v3(n),this.embeddings=(function(i){return{embeddings:rr(i,w3,1).map((s=>{let a={headIndex:ct(s,3)??0??-1,headName:ht(s,4)??""??""};if(mf(s,hp,Vc(s,1))!==void 0)s=Vr(s=U(s,hp,Vc(s,1)),1,_r,jr()),a.floatEmbedding=s.slice();else{let c=new Uint8Array(0);a.quantizedEmbedding=U(s,b3,Vc(s,2))?.oa()?.h()??c}return a})),timestampMs:cs(An(i,2))??0}})(n),v(this,o)})),this.g.attachEmptyPacketListener("embeddings_out",(n=>{v(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ke.cosineSimilarity=function(e,t){if(e.floatEmbedding&&t.floatEmbedding)e=gp(e.floatEmbedding,t.floatEmbedding);else{if(!e.quantizedEmbedding||!t.quantizedEmbedding)throw Error("Cannot compute cosine similarity between quantized and float embeddings.");e=gp(mp(e.quantizedEmbedding),mp(t.quantizedEmbedding))}return e},Ke.prototype.embedForVideo=Ke.prototype.Aa,Ke.prototype.embed=Ke.prototype.za,Ke.prototype.setOptions=Ke.prototype.o,Ke.createFromModelPath=function(e,t){return M(Ke,e,{baseOptions:{modelAssetPath:t}})},Ke.createFromModelBuffer=function(e,t){return M(Ke,e,{baseOptions:{modelAssetBuffer:t}})},Ke.createFromOptions=function(e,t){return M(Ke,e,t)};var ul=class{constructor(e,t,r){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=r}close(){this.confidenceMasks?.forEach((e=>{e.close()})),this.categoryMask?.close()}};function Fp(e){e.categoryMask=void 0,e.confidenceMasks=void 0,e.qualityScores=void 0}function Np(e){try{let t=new ul(e.confidenceMasks,e.categoryMask,e.qualityScores);if(!e.j)return t;e.j(t)}finally{Us(e)}}ul.prototype.close=ul.prototype.close;var Fe=class extends He{constructor(e,t){super(new dt(e,t),"image_in","norm_rect",!1),this.s=[],this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new ah,this.v=new wm,x(this.h,0,3,this.v),x(e=this.h,0,1,t=new ee)}get baseOptions(){return U(this.h,ee,1)}set baseOptions(e){x(this.h,0,1,e)}o(e){return e.displayNamesLocale!==void 0?G(this.h,2,Bn(e.displayNamesLocale)):"displayNamesLocale"in e&&G(this.h,2),"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}I(){(function(e){let t=rr(e.da(),De,1).filter((r=>(ht(r,1)??"").includes("mediapipe.tasks.TensorsToSegmentationCalculator")));if(e.s=[],t.length>1)throw Error("The graph has more than one mediapipe.tasks.TensorsToSegmentationCalculator.");t.length===1&&(U(t[0],Je,7)?.l()?.g()??new Map).forEach(((r,n)=>{e.s[Number(n)]=ht(r,1)??""}))})(this)}segment(e,t,r){let n=typeof t!="function"?t:{};return this.j=typeof t=="function"?t:r,Fp(this),pt(this,e,n),Np(this)}Ma(e,t,r,n){let o=typeof r!="function"?r:{};return this.j=typeof r=="function"?r:n,Fp(this),Vt(this,e,o,t),Np(this)}Da(){return this.s}m(){var e=new ze;Y(e,"image_in"),Y(e,"norm_rect");let t=new Je;Et(t,_m,this.h);let r=new De;Qe(r,"mediapipe.tasks.vision.image_segmenter.ImageSegmenterGraph"),K(r,"IMAGE:image_in"),K(r,"NORM_RECT:norm_rect"),r.o(t),Ze(e,r),Ls(this,e),this.outputConfidenceMasks&&(F(e,"confidence_masks"),L(r,"CONFIDENCE_MASKS:confidence_masks"),Tn(this,"confidence_masks"),this.g.ca("confidence_masks",((n,o)=>{this.confidenceMasks=n.map((i=>Rn(this,i,!0,!this.j))),v(this,o)})),this.g.attachEmptyPacketListener("confidence_masks",(n=>{this.confidenceMasks=[],v(this,n)}))),this.outputCategoryMask&&(F(e,"category_mask"),L(r,"CATEGORY_MASK:category_mask"),Tn(this,"category_mask"),this.g.U("category_mask",((n,o)=>{this.categoryMask=Rn(this,n,!1,!this.j),v(this,o)})),this.g.attachEmptyPacketListener("category_mask",(n=>{this.categoryMask=void 0,v(this,n)}))),F(e,"quality_scores"),L(r,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",((n,o)=>{this.qualityScores=n,v(this,o)})),this.g.attachEmptyPacketListener("quality_scores",(n=>{this.categoryMask=void 0,v(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Fe.prototype.getLabels=Fe.prototype.Da,Fe.prototype.segmentForVideo=Fe.prototype.Ma,Fe.prototype.segment=Fe.prototype.segment,Fe.prototype.setOptions=Fe.prototype.o,Fe.createFromModelPath=function(e,t){return M(Fe,e,{baseOptions:{modelAssetPath:t}})},Fe.createFromModelBuffer=function(e,t){return M(Fe,e,{baseOptions:{modelAssetBuffer:t}})},Fe.createFromOptions=function(e,t){return M(Fe,e,t)};var dl=class{constructor(e,t,r){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=r}close(){this.confidenceMasks?.forEach((e=>{e.close()})),this.categoryMask?.close()}};dl.prototype.close=dl.prototype.close;var V3=class extends _{constructor(e){super(e)}},mn=[0,le,-2],ps=[0,Yt,-3,Z,Yt,-1],jp=[0,ps],Vp=[0,ps,le,-1],Kc=class extends _{constructor(e){super(e)}},Hp=[0,Yt,-1,Z],H3=class extends _{constructor(e){super(e)}},zp=class extends _{constructor(e){super(e)}},pl=[1,2,3,4,5,6,7,8,9,10,14,15],Fm=class extends _{constructor(e){super(e)}};Fm.prototype.g=Ds([0,Se,[0,pl,z,ps,z,[0,ps,mn],z,jp,z,[0,jp,mn],z,Hp,z,[0,Yt,-3,Z,ut],z,[0,Yt,-3,Z],z,[0,j,Yt,-2,Z,le,Z,-1,2,Yt,mn],z,Vp,z,[0,Vp,mn],Yt,mn,j,z,[0,Yt,-3,Z,mn,-1],z,[0,Se,Hp]],j,[0,j,le,-1,Z]]);var Ft=class extends He{constructor(e,t){super(new dt(e,t),"image_in","norm_rect_in",!1),this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new ah,this.s=new wm,x(this.h,0,3,this.s),x(e=this.h,0,1,t=new ee)}get baseOptions(){return U(this.h,ee,1)}set baseOptions(e){x(this.h,0,1,e)}o(e){return"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}segment(e,t,r,n){let o=typeof r!="function"?r:{};this.j=typeof r=="function"?r:n,this.qualityScores=this.categoryMask=this.confidenceMasks=void 0,r=this.B+1,n=new Fm;let i=new zp;var s=new V3;if(jt(s,1,255),x(i,0,12,s),t.keypoint&&t.scribble)throw Error("Cannot provide both keypoint and scribble.");if(t.keypoint){var a=new Kc;Mo(a,3,!0),E(a,1,t.keypoint.x),E(a,2,t.keypoint.y),Po(i,5,pl,a)}else{if(!t.scribble)throw Error("Must provide either a keypoint or a scribble.");for(a of(s=new H3,t.scribble))Mo(t=new Kc,3,!0),E(t,1,a.x),E(t,2,a.y),ls(s,1,Kc,t);Po(i,15,pl,s)}ls(n,1,zp,i),this.g.addProtoToStream(n.g(),"drishti.RenderData","roi_in",r),pt(this,e,o);e:{try{let l=new dl(this.confidenceMasks,this.categoryMask,this.qualityScores);if(!this.j){var c=l;break e}this.j(l)}finally{Us(this)}c=void 0}return c}m(){var e=new ze;Y(e,"image_in"),Y(e,"roi_in"),Y(e,"norm_rect_in");let t=new Je;Et(t,_m,this.h);let r=new De;Qe(r,"mediapipe.tasks.vision.interactive_segmenter.InteractiveSegmenterGraph"),K(r,"IMAGE:image_in"),K(r,"ROI:roi_in"),K(r,"NORM_RECT:norm_rect_in"),r.o(t),Ze(e,r),Ls(this,e),this.outputConfidenceMasks&&(F(e,"confidence_masks"),L(r,"CONFIDENCE_MASKS:confidence_masks"),Tn(this,"confidence_masks"),this.g.ca("confidence_masks",((n,o)=>{this.confidenceMasks=n.map((i=>Rn(this,i,!0,!this.j))),v(this,o)})),this.g.attachEmptyPacketListener("confidence_masks",(n=>{this.confidenceMasks=[],v(this,n)}))),this.outputCategoryMask&&(F(e,"category_mask"),L(r,"CATEGORY_MASK:category_mask"),Tn(this,"category_mask"),this.g.U("category_mask",((n,o)=>{this.categoryMask=Rn(this,n,!1,!this.j),v(this,o)})),this.g.attachEmptyPacketListener("category_mask",(n=>{this.categoryMask=void 0,v(this,n)}))),F(e,"quality_scores"),L(r,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",((n,o)=>{this.qualityScores=n,v(this,o)})),this.g.attachEmptyPacketListener("quality_scores",(n=>{this.categoryMask=void 0,v(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ft.prototype.segment=Ft.prototype.segment,Ft.prototype.setOptions=Ft.prototype.o,Ft.createFromModelPath=function(e,t){return M(Ft,e,{baseOptions:{modelAssetPath:t}})},Ft.createFromModelBuffer=function(e,t){return M(Ft,e,{baseOptions:{modelAssetBuffer:t}})},Ft.createFromOptions=function(e,t){return M(Ft,e,t)};var je=class extends He{constructor(e,t){super(new dt(e,t),"input_frame_gpu","norm_rect",!1),this.j={detections:[]},x(e=this.h=new Sm,0,1,t=new ee)}get baseOptions(){return U(this.h,ee,1)}set baseOptions(e){x(this.h,0,1,e)}o(e){return e.displayNamesLocale!==void 0?G(this.h,2,Bn(e.displayNamesLocale)):"displayNamesLocale"in e&&G(this.h,2),e.maxResults!==void 0?jt(this.h,3,e.maxResults):"maxResults"in e&&G(this.h,3),e.scoreThreshold!==void 0?E(this.h,4,e.scoreThreshold):"scoreThreshold"in e&&G(this.h,4),e.categoryAllowlist!==void 0?hs(this.h,5,e.categoryAllowlist):"categoryAllowlist"in e&&G(this.h,5),e.categoryDenylist!==void 0?hs(this.h,6,e.categoryDenylist):"categoryDenylist"in e&&G(this.h,6),this.l(e)}D(e,t){return this.j={detections:[]},pt(this,e,t),this.j}F(e,t,r){return this.j={detections:[]},Vt(this,e,r,t),this.j}m(){var e=new ze;Y(e,"input_frame_gpu"),Y(e,"norm_rect"),F(e,"detections");let t=new Je;Et(t,O3,this.h);let r=new De;Qe(r,"mediapipe.tasks.vision.ObjectDetectorGraph"),K(r,"IMAGE:input_frame_gpu"),K(r,"NORM_RECT:norm_rect"),L(r,"DETECTIONS:detections"),r.o(t),Ze(e,r),this.g.attachProtoVectorListener("detections",((n,o)=>{for(let i of n)n=Qf(i),this.j.detections.push(km(n));v(this,o)})),this.g.attachEmptyPacketListener("detections",(n=>{v(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};je.prototype.detectForVideo=je.prototype.F,je.prototype.detect=je.prototype.D,je.prototype.setOptions=je.prototype.o,je.createFromModelPath=async function(e,t){return M(je,e,{baseOptions:{modelAssetPath:t}})},je.createFromModelBuffer=function(e,t){return M(je,e,{baseOptions:{modelAssetBuffer:t}})},je.createFromOptions=function(e,t){return M(je,e,t)};var fl=class{constructor(e,t,r){this.landmarks=e,this.worldLandmarks=t,this.segmentationMasks=r}close(){this.segmentationMasks?.forEach((e=>{e.close()}))}};function $p(e){e.landmarks=[],e.worldLandmarks=[],e.segmentationMasks=void 0}function Wp(e){try{let t=new fl(e.landmarks,e.worldLandmarks,e.segmentationMasks);if(!e.s)return t;e.s(t)}finally{Us(e)}}fl.prototype.close=fl.prototype.close;var Xe=class extends He{constructor(e,t){super(new dt(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.outputSegmentationMasks=!1,x(e=this.h=new Em,0,1,t=new ee),this.v=new mm,x(this.h,0,3,this.v),this.j=new fm,x(this.h,0,2,this.j),jt(this.j,4,1),E(this.j,2,.5),E(this.v,2,.5),E(this.h,4,.5)}get baseOptions(){return U(this.h,ee,1)}set baseOptions(e){x(this.h,0,1,e)}o(e){return"numPoses"in e&&jt(this.j,4,e.numPoses??1),"minPoseDetectionConfidence"in e&&E(this.j,2,e.minPoseDetectionConfidence??.5),"minTrackingConfidence"in e&&E(this.h,4,e.minTrackingConfidence??.5),"minPosePresenceConfidence"in e&&E(this.v,2,e.minPosePresenceConfidence??.5),"outputSegmentationMasks"in e&&(this.outputSegmentationMasks=e.outputSegmentationMasks??!1),this.l(e)}D(e,t,r){let n=typeof t!="function"?t:{};return this.s=typeof t=="function"?t:r,$p(this),pt(this,e,n),Wp(this)}F(e,t,r,n){let o=typeof r!="function"?r:{};return this.s=typeof r=="function"?r:n,$p(this),Vt(this,e,o,t),Wp(this)}m(){var e=new ze;Y(e,"image_in"),Y(e,"norm_rect"),F(e,"normalized_landmarks"),F(e,"world_landmarks"),F(e,"segmentation_masks");let t=new Je;Et(t,B3,this.h);let r=new De;Qe(r,"mediapipe.tasks.vision.pose_landmarker.PoseLandmarkerGraph"),K(r,"IMAGE:image_in"),K(r,"NORM_RECT:norm_rect"),L(r,"NORM_LANDMARKS:normalized_landmarks"),L(r,"WORLD_LANDMARKS:world_landmarks"),r.o(t),Ze(e,r),Ls(this,e),this.g.attachProtoVectorListener("normalized_landmarks",((n,o)=>{this.landmarks=[];for(let i of n)n=Ho(i),this.landmarks.push(Ms(n));v(this,o)})),this.g.attachEmptyPacketListener("normalized_landmarks",(n=>{this.landmarks=[],v(this,n)})),this.g.attachProtoVectorListener("world_landmarks",((n,o)=>{this.worldLandmarks=[];for(let i of n)n=_n(i),this.worldLandmarks.push(Do(n));v(this,o)})),this.g.attachEmptyPacketListener("world_landmarks",(n=>{this.worldLandmarks=[],v(this,n)})),this.outputSegmentationMasks&&(L(r,"SEGMENTATION_MASK:segmentation_masks"),Tn(this,"segmentation_masks"),this.g.ca("segmentation_masks",((n,o)=>{this.segmentationMasks=n.map((i=>Rn(this,i,!0,!this.s))),v(this,o)})),this.g.attachEmptyPacketListener("segmentation_masks",(n=>{this.segmentationMasks=[],v(this,n)}))),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Xe.prototype.detectForVideo=Xe.prototype.F,Xe.prototype.detect=Xe.prototype.D,Xe.prototype.setOptions=Xe.prototype.o,Xe.createFromModelPath=function(e,t){return M(Xe,e,{baseOptions:{modelAssetPath:t}})},Xe.createFromModelBuffer=function(e,t){return M(Xe,e,{baseOptions:{modelAssetBuffer:t}})},Xe.createFromOptions=function(e,t){return M(Xe,e,t)},Xe.POSE_CONNECTIONS=Um;var Vn=class{constructor(t,r,n,o,i="videoPreviewFrameDetection",s="liveViewFrameDetection"){this.options={onRealtimeAlertsCallback:t=>{}};this.children=[];this.runningMode="VIDEO";this.detecting=!1;this.createdVideo=!1;this.lastVideoTime=-1;this.lastExecutionDate=Date.now();this.detectorType=t,this.modelAssetPath=r,this.classVideo=i,this.classDiv=s,o&&(this.paramsConfig=o),n&&(this.options=n)}async initializeDetector(){let t=await dr.forVisionTasks("https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.2/wasm");this.detector=await(this.detectorType==="FaceDetector"?Ne:je).createFromOptions(t,{baseOptions:{modelAssetPath:this.modelAssetPath,delegate:"CPU"},scoreThreshold:this.detectorType==="ObjectDetector"?.5:0,runningMode:this.runningMode})}stopDetection(){this.animationFrameId&&clearTimeout(this.animationFrameId),this.detecting=!1,this.liveView=document.getElementById(this.classDiv),this.liveView&&this.classDiv==="liveViewFrameDetection"&&document.body.removeChild(this.liveView),this.createdVideo&&this.video&&document.body.removeChild(this.video),this.createdVideo=!1}enableCam(t){if(!this.detector){console.log("Wait! Detector not loaded yet.");return}this.detecting=!0,this.error=document.getElementById("errorFrameDetection"),this.video=document.getElementById(this.classVideo),this.liveView=document.getElementById(this.classDiv),this.video||(this.video=document.createElement("video"),this.video.setAttribute("id",this.classVideo),this.video.setAttribute("style",`
41
+ `}C(){let e=this.g;e.activeTexture(e.TEXTURE1),this.j=er(this,e),e.activeTexture(e.TEXTURE2),this.B=er(this,e)}m(){super.m();let e=this.g;this.J=be(e.getUniformLocation(this.h,"defaultTexture"),"Uniform location"),this.K=be(e.getUniformLocation(this.h,"overlayTexture"),"Uniform location"),this.H=be(e.getUniformLocation(this.h,"maskTexture"),"Uniform location")}l(){super.l();let e=this.g;e.uniform1i(this.H,0),e.uniform1i(this.J,1),e.uniform1i(this.K,2)}close(){this.j&&this.g.deleteTexture(this.j),this.B&&this.g.deleteTexture(this.B),super.close()}};function Ot(e,t){switch(t){case 0:return e.g.find(r=>r instanceof Uint8Array);case 1:return e.g.find(r=>r instanceof Float32Array);case 2:return e.g.find(r=>typeof WebGLTexture<"u"&&r instanceof WebGLTexture);default:throw Error(`Type is not supported: ${t}`)}}function Ua(e){var t=Ot(e,1);if(!t){if(t=Ot(e,0))t=new Float32Array(t).map(i=>i/255);else{t=new Float32Array(e.width*e.height);let i=Qr(e);var r=Nc(e);if(Wo(r,i,Rp(e)),"iPad Simulator;iPhone Simulator;iPod Simulator;iPad;iPhone;iPod".split(";").includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"document"in self&&"ontouchend"in self.document){r=new Float32Array(e.width*e.height*4),i.readPixels(0,0,e.width,e.height,i.RGBA,i.FLOAT,r);for(let n=0,o=0;n<t.length;++n,o+=4)t[n]=r[o]}else i.readPixels(0,0,e.width,e.height,i.RED,i.FLOAT,t)}e.g.push(t)}return t}function Rp(e){let t=Ot(e,2);if(!t){let r=Qr(e);t=Ip(e);let i=Ua(e),n=Pp(e);r.texImage2D(r.TEXTURE_2D,0,n,e.width,e.height,0,r.RED,r.FLOAT,i),Ma(e)}return t}function Qr(e){if(!e.canvas)throw Error("Conversion to different image formats require that a canvas is passed when initializing the image.");return e.h||(e.h=be(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function Pp(e){if(e=Qr(e),!io)if(e.getExtension("EXT_color_buffer_float")&&e.getExtension("OES_texture_float_linear")&&e.getExtension("EXT_float_blend"))io=e.R32F;else{if(!e.getExtension("EXT_color_buffer_half_float"))throw Error("GPU does not fully support 4-channel float32 or float16 formats");io=e.R16F}return io}function Nc(e){return e.l||(e.l=new di),e.l}function Ip(e){let t=Qr(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let r=Ot(e,2);return r||(r=er(Nc(e),t,e.m?t.LINEAR:t.NEAREST),e.g.push(r),e.j=!0),t.bindTexture(t.TEXTURE_2D,r),r}function Ma(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}var io,ce=class{constructor(e,t,r,i,n,o,s){this.g=e,this.m=t,this.j=r,this.canvas=i,this.l=n,this.width=o,this.height=s,this.j&&--Au===0&&console.error("You seem to be creating MPMask instances without invoking .close(). This leaks resources.")}Fa(){return!!Ot(this,0)}ja(){return!!Ot(this,1)}P(){return!!Ot(this,2)}ia(){return(t=Ot(e=this,0))||(t=Ua(e),t=new Uint8Array(t.map(r=>255*r)),e.g.push(t)),t;var e,t}ha(){return Ua(this)}M(){return Rp(this)}clone(){let e=[];for(let t of this.g){let r;if(t instanceof Uint8Array)r=new Uint8Array(t);else if(t instanceof Float32Array)r=new Float32Array(t);else{if(!(t instanceof WebGLTexture))throw Error(`Type is not supported: ${t}`);{let i=Qr(this),n=Nc(this);i.activeTexture(i.TEXTURE1),r=er(n,i,this.m?i.LINEAR:i.NEAREST),i.bindTexture(i.TEXTURE_2D,r);let o=Pp(this);i.texImage2D(i.TEXTURE_2D,0,o,this.width,this.height,0,i.RED,i.FLOAT,null),i.bindTexture(i.TEXTURE_2D,null),Wo(n,i,r),rn(n,i,!1,()=>{Ip(this),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT),i.drawArrays(i.TRIANGLE_FAN,0,4),Ma(this)}),Mc(n),Ma(this)}}e.push(r)}return new ce(e,this.m,this.P(),this.canvas,this.l,this.width,this.height)}close(){this.j&&Qr(this).deleteTexture(Ot(this,2)),Au=-1}};ce.prototype.close=ce.prototype.close,ce.prototype.clone=ce.prototype.clone,ce.prototype.getAsWebGLTexture=ce.prototype.M,ce.prototype.getAsFloat32Array=ce.prototype.ha,ce.prototype.getAsUint8Array=ce.prototype.ia,ce.prototype.hasWebGLTexture=ce.prototype.P,ce.prototype.hasFloat32Array=ce.prototype.ja,ce.prototype.hasUint8Array=ce.prototype.Fa;var Au=250,F2={color:"white",lineWidth:4,radius:6};function Sa(e){return{...F2,fillColor:(e=e||{}).color,...e}}function It(e,t){return e instanceof Function?e(t):e}function xu(e,t,r){return Math.max(Math.min(t,r),Math.min(Math.max(t,r),e))}function Ni(e){if(!e.l)throw Error("CPU rendering requested but CanvasRenderingContext2D not provided.");return e.l}function Ji(e){if(!e.j)throw Error("GPU rendering requested but WebGL2RenderingContext not provided.");return e.j}function Cu(e,t,r){if(t.P())r(t.M());else{let i=t.ja()?t.ha():t.ia();e.m=e.m??new di;let n=Ji(e);r((e=new ce([i],t.m,!1,n.canvas,e.m,t.width,t.height)).M()),e.close()}}function Tu(e,t,r,i){let n=function(a){return a.g||(a.g=new O2),a.g}(e),o=Ji(e),s=Array.isArray(r)?new ImageData(new Uint8ClampedArray(r),1,1):r;rn(n,o,!0,()=>{(function(c,l,d,u){let m=c.g;if(m.activeTexture(m.TEXTURE0),m.bindTexture(m.TEXTURE_2D,l),m.activeTexture(m.TEXTURE1),m.bindTexture(m.TEXTURE_2D,c.B),m.texImage2D(m.TEXTURE_2D,0,m.RGBA,m.RGBA,m.UNSIGNED_BYTE,d),c.H&&function(y,p){if(y!==p)return!1;y=y.entries(),p=p.entries();for(let[g,b]of y){y=g;let k=b;var f=p.next();if(f.done)return!1;let[C,O]=f.value;if(f=O,y!==C||k[0]!==f[0]||k[1]!==f[1]||k[2]!==f[2]||k[3]!==f[3])return!1}return!!p.next().done}(c.H,u))m.activeTexture(m.TEXTURE2),m.bindTexture(m.TEXTURE_2D,c.j);else{c.H=u;let y=Array(1024).fill(0);u.forEach((p,f)=>{if(p.length!==4)throw Error(`Color at index ${f} is not a four-channel value.`);y[4*f]=p[0],y[4*f+1]=p[1],y[4*f+2]=p[2],y[4*f+3]=p[3]}),m.activeTexture(m.TEXTURE2),m.bindTexture(m.TEXTURE_2D,c.j),m.texImage2D(m.TEXTURE_2D,0,m.RGBA,256,1,0,m.RGBA,m.UNSIGNED_BYTE,new Uint8Array(y))}})(n,t,s,i),o.clearColor(0,0,0,0),o.clear(o.COLOR_BUFFER_BIT),o.drawArrays(o.TRIANGLE_FAN,0,4);let a=n.g;a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,null),a.activeTexture(a.TEXTURE1),a.bindTexture(a.TEXTURE_2D,null),a.activeTexture(a.TEXTURE2),a.bindTexture(a.TEXTURE_2D,null)})}function Ru(e,t,r,i){let n=Ji(e),o=function(c){return c.h||(c.h=new B2),c.h}(e),s=Array.isArray(r)?new ImageData(new Uint8ClampedArray(r),1,1):r,a=Array.isArray(i)?new ImageData(new Uint8ClampedArray(i),1,1):i;rn(o,n,!0,()=>{var c=o.g;c.activeTexture(c.TEXTURE0),c.bindTexture(c.TEXTURE_2D,t),c.activeTexture(c.TEXTURE1),c.bindTexture(c.TEXTURE_2D,o.j),c.texImage2D(c.TEXTURE_2D,0,c.RGBA,c.RGBA,c.UNSIGNED_BYTE,s),c.activeTexture(c.TEXTURE2),c.bindTexture(c.TEXTURE_2D,o.B),c.texImage2D(c.TEXTURE_2D,0,c.RGBA,c.RGBA,c.UNSIGNED_BYTE,a),n.clearColor(0,0,0,0),n.clear(n.COLOR_BUFFER_BIT),n.drawArrays(n.TRIANGLE_FAN,0,4),n.bindTexture(n.TEXTURE_2D,null),(c=o.g).activeTexture(c.TEXTURE0),c.bindTexture(c.TEXTURE_2D,null),c.activeTexture(c.TEXTURE1),c.bindTexture(c.TEXTURE_2D,null),c.activeTexture(c.TEXTURE2),c.bindTexture(c.TEXTURE_2D,null)})}var Ae=class{constructor(e,t){e instanceof CanvasRenderingContext2D||e instanceof OffscreenCanvasRenderingContext2D?(this.l=e,this.j=t):this.j=e}ya(e,t){if(e){var r=Ni(this);t=Sa(t),r.save();var i=r.canvas,n=0;for(let o of e)r.fillStyle=It(t.fillColor,{index:n,from:o}),r.strokeStyle=It(t.color,{index:n,from:o}),r.lineWidth=It(t.lineWidth,{index:n,from:o}),(e=new Path2D).arc(o.x*i.width,o.y*i.height,It(t.radius,{index:n,from:o}),0,2*Math.PI),r.fill(e),r.stroke(e),++n;r.restore()}}xa(e,t,r){if(e&&t){var i=Ni(this);r=Sa(r),i.save();var n=i.canvas,o=0;for(let s of t){i.beginPath(),t=e[s.start];let a=e[s.end];t&&a&&(i.strokeStyle=It(r.color,{index:o,from:t,to:a}),i.lineWidth=It(r.lineWidth,{index:o,from:t,to:a}),i.moveTo(t.x*n.width,t.y*n.height),i.lineTo(a.x*n.width,a.y*n.height)),++o,i.stroke()}i.restore()}}ua(e,t){let r=Ni(this);t=Sa(t),r.save(),r.beginPath(),r.lineWidth=It(t.lineWidth,{}),r.strokeStyle=It(t.color,{}),r.fillStyle=It(t.fillColor,{}),r.moveTo(e.originX,e.originY),r.lineTo(e.originX+e.width,e.originY),r.lineTo(e.originX+e.width,e.originY+e.height),r.lineTo(e.originX,e.originY+e.height),r.lineTo(e.originX,e.originY),r.stroke(),r.fill(),r.restore()}va(e,t,r=[0,0,0,255]){this.l?function(i,n,o,s){let a=Ji(i);Cu(i,n,c=>{Tu(i,c,o,s),(c=Ni(i)).drawImage(a.canvas,0,0,c.canvas.width,c.canvas.height)})}(this,e,r,t):Tu(this,e.M(),r,t)}wa(e,t,r){this.l?function(i,n,o,s){let a=Ji(i);Cu(i,n,c=>{Ru(i,c,o,s),(c=Ni(i)).drawImage(a.canvas,0,0,c.canvas.width,c.canvas.height)})}(this,e,t,r):Ru(this,e.M(),t,r)}close(){this.g?.close(),this.g=void 0,this.h?.close(),this.h=void 0,this.m?.close(),this.m=void 0}};function St(e,t){switch(t){case 0:return e.g.find(r=>r instanceof ImageData);case 1:return e.g.find(r=>typeof ImageBitmap<"u"&&r instanceof ImageBitmap);case 2:return e.g.find(r=>typeof WebGLTexture<"u"&&r instanceof WebGLTexture);default:throw Error(`Type is not supported: ${t}`)}}function Dp(e){var t=St(e,0);if(!t){t=ei(e);let r=qo(e),i=new Uint8Array(e.width*e.height*4);Wo(r,t,lo(e)),t.readPixels(0,0,e.width,e.height,t.RGBA,t.UNSIGNED_BYTE,i),Mc(r),t=new ImageData(new Uint8ClampedArray(i.buffer),e.width,e.height),e.g.push(t)}return t}function lo(e){let t=St(e,2);if(!t){let r=ei(e);t=uo(e);let i=St(e,1)||Dp(e);r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,i),Vi(e)}return t}function ei(e){if(!e.canvas)throw Error("Conversion to different image formats require that a canvas is passed when initializing the image.");return e.h||(e.h=be(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function qo(e){return e.l||(e.l=new di),e.l}function uo(e){let t=ei(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let r=St(e,2);return r||(r=er(qo(e),t),e.g.push(r),e.m=!0),t.bindTexture(t.TEXTURE_2D,r),r}function Vi(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}function Pu(e){let t=ei(e);return rn(qo(e),t,!0,()=>function(r,i){let n=r.canvas;if(n.width===r.width&&n.height===r.height)return i();let o=n.width,s=n.height;return n.width=r.width,n.height=r.height,r=i(),n.width=o,n.height=s,r}(e,()=>{if(t.bindFramebuffer(t.FRAMEBUFFER,null),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),t.drawArrays(t.TRIANGLE_FAN,0,4),!(e.canvas instanceof OffscreenCanvas))throw Error("Conversion to ImageBitmap requires that the MediaPipe Tasks is initialized with an OffscreenCanvas");return e.canvas.transferToImageBitmap()}))}Ae.prototype.close=Ae.prototype.close,Ae.prototype.drawConfidenceMask=Ae.prototype.wa,Ae.prototype.drawCategoryMask=Ae.prototype.va,Ae.prototype.drawBoundingBox=Ae.prototype.ua,Ae.prototype.drawConnectors=Ae.prototype.xa,Ae.prototype.drawLandmarks=Ae.prototype.ya,Ae.lerp=function(e,t,r,i,n){return xu(i*(1-(e-t)/(r-t))+n*(1-(r-e)/(r-t)),i,n)},Ae.clamp=xu;var me=class{constructor(e,t,r,i,n,o,s){this.g=e,this.j=t,this.m=r,this.canvas=i,this.l=n,this.width=o,this.height=s,(this.j||this.m)&&--Iu===0&&console.error("You seem to be creating MPImage instances without invoking .close(). This leaks resources.")}Ea(){return!!St(this,0)}ka(){return!!St(this,1)}P(){return!!St(this,2)}Ca(){return Dp(this)}Ba(){var e=St(this,1);return e||(lo(this),uo(this),e=Pu(this),Vi(this),this.g.push(e),this.j=!0),e}M(){return lo(this)}clone(){let e=[];for(let t of this.g){let r;if(t instanceof ImageData)r=new ImageData(t.data,this.width,this.height);else if(t instanceof WebGLTexture){let i=ei(this),n=qo(this);i.activeTexture(i.TEXTURE1),r=er(n,i),i.bindTexture(i.TEXTURE_2D,r),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,this.width,this.height,0,i.RGBA,i.UNSIGNED_BYTE,null),i.bindTexture(i.TEXTURE_2D,null),Wo(n,i,r),rn(n,i,!1,()=>{uo(this),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT),i.drawArrays(i.TRIANGLE_FAN,0,4),Vi(this)}),Mc(n),Vi(this)}else{if(!(t instanceof ImageBitmap))throw Error(`Type is not supported: ${t}`);lo(this),uo(this),r=Pu(this),Vi(this)}e.push(r)}return new me(e,this.ka(),this.P(),this.canvas,this.l,this.width,this.height)}close(){this.j&&St(this,1).close(),this.m&&ei(this).deleteTexture(St(this,2)),Iu=-1}};me.prototype.close=me.prototype.close,me.prototype.clone=me.prototype.clone,me.prototype.getAsWebGLTexture=me.prototype.M,me.prototype.getAsImageBitmap=me.prototype.Ba,me.prototype.getAsImageData=me.prototype.Ca,me.prototype.hasWebGLTexture=me.prototype.P,me.prototype.hasImageBitmap=me.prototype.ka,me.prototype.hasImageData=me.prototype.Ea;var Iu=250;function dt(...e){return e.map(([t,r])=>({start:t,end:r}))}var L2=function(e){return class extends e{La(){this.i._registerModelResourcesGraphService()}}}((Du=class{constructor(e,t){this.l=!0,this.i=e,this.g=null,this.h=0,this.m=typeof this.i._addIntToInputStream=="function",t!==void 0?this.i.canvas=t:Cp()?this.i.canvas=new OffscreenCanvas(1,1):(console.warn("OffscreenCanvas not supported and GraphRunner constructor glCanvas parameter is undefined. Creating backup canvas."),this.i.canvas=document.createElement("canvas"))}async initializeGraph(e){let t=await(await fetch(e)).arrayBuffer();e=!(e.endsWith(".pbtxt")||e.endsWith(".textproto")),this.setGraph(new Uint8Array(t),e)}setGraphFromString(e){this.setGraph(new TextEncoder().encode(e),!1)}setGraph(e,t){let r=e.length,i=this.i._malloc(r);this.i.HEAPU8.set(e,i),t?this.i._changeBinaryGraph(r,i):this.i._changeTextGraph(r,i),this.i._free(i)}configureAudio(e,t,r,i,n){this.i._configureAudio||console.warn('Attempting to use configureAudio without support for input audio. Is build dep ":gl_graph_runner_audio" missing?'),E(this,i||"input_audio",o=>{E(this,n=n||"audio_header",s=>{this.i._configureAudio(o,s,e,t??0,r)})})}setAutoResizeCanvas(e){this.l=e}setAutoRenderToScreen(e){this.i._setAutoRenderToScreen(e)}setGpuBufferVerticalFlip(e){this.i.gpuOriginForWebTexturesIsBottomLeft=e}da(e){bt(this,"__graph_config__",t=>{e(t)}),E(this,"__graph_config__",t=>{this.i._getGraphConfig(t,void 0)}),delete this.i.simpleListeners.__graph_config__}attachErrorListener(e){this.i.errorListener=e}attachEmptyPacketListener(e,t){this.i.emptyPacketListeners=this.i.emptyPacketListeners||{},this.i.emptyPacketListeners[e]=t}addAudioToStream(e,t,r){this.addAudioToStreamWithShape(e,0,0,t,r)}addAudioToStreamWithShape(e,t,r,i,n){let o=4*e.length;this.h!==o&&(this.g&&this.i._free(this.g),this.g=this.i._malloc(o),this.h=o),this.i.HEAPF32.set(e,this.g/4),E(this,i,s=>{this.i._addAudioToInputStream(this.g,t,r,s,n)})}addGpuBufferToStream(e,t,r){E(this,t,i=>{let[n,o]=wu(this,e,i);this.i._addBoundTextureToStream(i,n,o,r)})}addBoolToStream(e,t,r){E(this,t,i=>{this.i._addBoolToInputStream(e,i,r)})}addDoubleToStream(e,t,r){E(this,t,i=>{this.i._addDoubleToInputStream(e,i,r)})}addFloatToStream(e,t,r){E(this,t,i=>{this.i._addFloatToInputStream(e,i,r)})}addIntToStream(e,t,r){E(this,t,i=>{this.i._addIntToInputStream(e,i,r)})}addUintToStream(e,t,r){E(this,t,i=>{this.i._addUintToInputStream(e,i,r)})}addStringToStream(e,t,r){E(this,t,i=>{E(this,e,n=>{this.i._addStringToInputStream(n,i,r)})})}addStringRecordToStream(e,t,r){E(this,t,i=>{Su(this,Object.keys(e),n=>{Su(this,Object.values(e),o=>{this.i._addFlatHashMapToInputStream(n,o,Object.keys(e).length,i,r)})})})}addProtoToStream(e,t,r,i){E(this,r,n=>{E(this,t,o=>{let s=this.i._malloc(e.length);this.i.HEAPU8.set(e,s),this.i._addProtoToInputStream(s,e.length,o,n,i),this.i._free(s)})})}addEmptyPacketToStream(e,t){E(this,e,r=>{this.i._addEmptyPacketToInputStream(r,t)})}addBoolVectorToStream(e,t,r){E(this,t,i=>{let n=this.i._allocateBoolVector(e.length);if(!n)throw Error("Unable to allocate new bool vector on heap.");for(let o of e)this.i._addBoolVectorEntry(n,o);this.i._addBoolVectorToInputStream(n,i,r)})}addDoubleVectorToStream(e,t,r){E(this,t,i=>{let n=this.i._allocateDoubleVector(e.length);if(!n)throw Error("Unable to allocate new double vector on heap.");for(let o of e)this.i._addDoubleVectorEntry(n,o);this.i._addDoubleVectorToInputStream(n,i,r)})}addFloatVectorToStream(e,t,r){E(this,t,i=>{let n=this.i._allocateFloatVector(e.length);if(!n)throw Error("Unable to allocate new float vector on heap.");for(let o of e)this.i._addFloatVectorEntry(n,o);this.i._addFloatVectorToInputStream(n,i,r)})}addIntVectorToStream(e,t,r){E(this,t,i=>{let n=this.i._allocateIntVector(e.length);if(!n)throw Error("Unable to allocate new int vector on heap.");for(let o of e)this.i._addIntVectorEntry(n,o);this.i._addIntVectorToInputStream(n,i,r)})}addUintVectorToStream(e,t,r){E(this,t,i=>{let n=this.i._allocateUintVector(e.length);if(!n)throw Error("Unable to allocate new unsigned int vector on heap.");for(let o of e)this.i._addUintVectorEntry(n,o);this.i._addUintVectorToInputStream(n,i,r)})}addStringVectorToStream(e,t,r){E(this,t,i=>{let n=this.i._allocateStringVector(e.length);if(!n)throw Error("Unable to allocate new string vector on heap.");for(let o of e)E(this,o,s=>{this.i._addStringVectorEntry(n,s)});this.i._addStringVectorToInputStream(n,i,r)})}addBoolToInputSidePacket(e,t){E(this,t,r=>{this.i._addBoolToInputSidePacket(e,r)})}addDoubleToInputSidePacket(e,t){E(this,t,r=>{this.i._addDoubleToInputSidePacket(e,r)})}addFloatToInputSidePacket(e,t){E(this,t,r=>{this.i._addFloatToInputSidePacket(e,r)})}addIntToInputSidePacket(e,t){E(this,t,r=>{this.i._addIntToInputSidePacket(e,r)})}addUintToInputSidePacket(e,t){E(this,t,r=>{this.i._addUintToInputSidePacket(e,r)})}addStringToInputSidePacket(e,t){E(this,t,r=>{E(this,e,i=>{this.i._addStringToInputSidePacket(i,r)})})}addProtoToInputSidePacket(e,t,r){E(this,r,i=>{E(this,t,n=>{let o=this.i._malloc(e.length);this.i.HEAPU8.set(e,o),this.i._addProtoToInputSidePacket(o,e.length,n,i),this.i._free(o)})})}addBoolVectorToInputSidePacket(e,t){E(this,t,r=>{let i=this.i._allocateBoolVector(e.length);if(!i)throw Error("Unable to allocate new bool vector on heap.");for(let n of e)this.i._addBoolVectorEntry(i,n);this.i._addBoolVectorToInputSidePacket(i,r)})}addDoubleVectorToInputSidePacket(e,t){E(this,t,r=>{let i=this.i._allocateDoubleVector(e.length);if(!i)throw Error("Unable to allocate new double vector on heap.");for(let n of e)this.i._addDoubleVectorEntry(i,n);this.i._addDoubleVectorToInputSidePacket(i,r)})}addFloatVectorToInputSidePacket(e,t){E(this,t,r=>{let i=this.i._allocateFloatVector(e.length);if(!i)throw Error("Unable to allocate new float vector on heap.");for(let n of e)this.i._addFloatVectorEntry(i,n);this.i._addFloatVectorToInputSidePacket(i,r)})}addIntVectorToInputSidePacket(e,t){E(this,t,r=>{let i=this.i._allocateIntVector(e.length);if(!i)throw Error("Unable to allocate new int vector on heap.");for(let n of e)this.i._addIntVectorEntry(i,n);this.i._addIntVectorToInputSidePacket(i,r)})}addUintVectorToInputSidePacket(e,t){E(this,t,r=>{let i=this.i._allocateUintVector(e.length);if(!i)throw Error("Unable to allocate new unsigned int vector on heap.");for(let n of e)this.i._addUintVectorEntry(i,n);this.i._addUintVectorToInputSidePacket(i,r)})}addStringVectorToInputSidePacket(e,t){E(this,t,r=>{let i=this.i._allocateStringVector(e.length);if(!i)throw Error("Unable to allocate new string vector on heap.");for(let n of e)E(this,n,o=>{this.i._addStringVectorEntry(i,o)});this.i._addStringVectorToInputSidePacket(i,r)})}attachBoolListener(e,t){bt(this,e,t),E(this,e,r=>{this.i._attachBoolListener(r)})}attachBoolVectorListener(e,t){qt(this,e,t),E(this,e,r=>{this.i._attachBoolVectorListener(r)})}attachIntListener(e,t){bt(this,e,t),E(this,e,r=>{this.i._attachIntListener(r)})}attachIntVectorListener(e,t){qt(this,e,t),E(this,e,r=>{this.i._attachIntVectorListener(r)})}attachUintListener(e,t){bt(this,e,t),E(this,e,r=>{this.i._attachUintListener(r)})}attachUintVectorListener(e,t){qt(this,e,t),E(this,e,r=>{this.i._attachUintVectorListener(r)})}attachDoubleListener(e,t){bt(this,e,t),E(this,e,r=>{this.i._attachDoubleListener(r)})}attachDoubleVectorListener(e,t){qt(this,e,t),E(this,e,r=>{this.i._attachDoubleVectorListener(r)})}attachFloatListener(e,t){bt(this,e,t),E(this,e,r=>{this.i._attachFloatListener(r)})}attachFloatVectorListener(e,t){qt(this,e,t),E(this,e,r=>{this.i._attachFloatVectorListener(r)})}attachStringListener(e,t){bt(this,e,t),E(this,e,r=>{this.i._attachStringListener(r)})}attachStringVectorListener(e,t){qt(this,e,t),E(this,e,r=>{this.i._attachStringVectorListener(r)})}attachProtoListener(e,t,r){bt(this,e,t),E(this,e,i=>{this.i._attachProtoListener(i,r||!1)})}attachProtoVectorListener(e,t,r){qt(this,e,t),E(this,e,i=>{this.i._attachProtoVectorListener(i,r||!1)})}attachAudioListener(e,t,r){this.i._attachAudioListener||console.warn('Attempting to use attachAudioListener without support for output audio. Is build dep ":gl_graph_runner_audio_out" missing?'),bt(this,e,(i,n)=>{i=new Float32Array(i.buffer,i.byteOffset,i.length/4),t(i,n)}),E(this,e,i=>{this.i._attachAudioListener(i,r||!1)})}finishProcessing(){this.i._waitUntilIdle()}closeGraph(){this.i._closeGraph(),this.i.simpleListeners=void 0,this.i.emptyPacketListeners=void 0}},class extends Du{get ea(){return this.i}qa(e,t,r){E(this,t,i=>{let[n,o]=wu(this,e,i);this.ea._addBoundTextureAsImageToStream(i,n,o,r)})}U(e,t){bt(this,e,t),E(this,e,r=>{this.ea._attachImageListener(r)})}ca(e,t){qt(this,e,t),E(this,e,r=>{this.ea._attachImageVectorListener(r)})}})),Du,Ze=class extends L2{};async function I(e,t,r){return async function(i,n,o,s){return D2(i,n,o,s)}(e,r.canvas??(Cp()?void 0:document.createElement("canvas")),t,r)}function Op(e,t,r,i){if(e.T){let o=new rp;if(r?.regionOfInterest){if(!e.pa)throw Error("This task doesn't support region-of-interest.");var n=r.regionOfInterest;if(n.left>=n.right||n.top>=n.bottom)throw Error("Expected RectF with left < right and top < bottom.");if(n.left<0||n.top<0||n.right>1||n.bottom>1)throw Error("Expected RectF values to be in [0,1].");S(o,1,(n.left+n.right)/2),S(o,2,(n.top+n.bottom)/2),S(o,4,n.right-n.left),S(o,3,n.bottom-n.top)}else S(o,1,.5),S(o,2,.5),S(o,4,1),S(o,3,1);if(r?.rotationDegrees){if(r?.rotationDegrees%90!=0)throw Error("Expected rotation to be a multiple of 90\xB0.");if(S(o,5,-Math.PI*r.rotationDegrees/180),r?.rotationDegrees%180!=0){let[s,a]=Tp(t);r=te(o,3)*a/s,n=te(o,4)*s/a,S(o,4,r),S(o,3,n)}}e.g.addProtoToStream(o.g(),"mediapipe.NormalizedRect",e.T,i)}e.g.qa(t,e.aa,i??performance.now()),e.finishProcessing()}function Qe(e,t,r){if(e.baseOptions?.g())throw Error("Task is not initialized with image mode. 'runningMode' must be set to 'IMAGE'.");Op(e,t,r,e.B+1)}function Et(e,t,r,i){if(!e.baseOptions?.g())throw Error("Task is not initialized with video mode. 'runningMode' must be set to 'VIDEO'.");Op(e,t,r,i)}function ti(e,t,r,i){var n=t.data;let o=t.width,s=o*(t=t.height);if((n instanceof Uint8Array||n instanceof Float32Array)&&n.length!==s)throw Error("Unsupported channel count: "+n.length/s);return e=new ce([n],r,!1,e.g.i.canvas,e.O,o,t),i?e.clone():e}var Pe=class extends co{constructor(e,t,r,i){super(e),this.g=e,this.aa=t,this.T=r,this.pa=i,this.O=new di}l(e,t=!0){if("runningMode"in e&&Xi(this.baseOptions,2,!!e.runningMode&&e.runningMode!=="IMAGE"),e.canvas!==void 0&&this.g.i.canvas!==e.canvas)throw Error("You must create a new task to reset the canvas.");return super.l(e,t)}close(){this.O.close(),super.close()}};Pe.prototype.close=Pe.prototype.close;var Ce=class extends Pe{constructor(e,t){super(new Ze(e,t),"image_in","norm_rect_in",!1),this.j={detections:[]},A(e=this.h=new Vo,0,1,t=new $),S(this.h,2,.5),S(this.h,3,.3)}get baseOptions(){return L(this.h,$,1)}set baseOptions(e){A(this.h,0,1,e)}o(e){return"minDetectionConfidence"in e&&S(this.h,2,e.minDetectionConfidence??.5),"minSuppressionThreshold"in e&&S(this.h,3,e.minSuppressionThreshold??.3),this.l(e)}D(e,t){return this.j={detections:[]},Qe(this,e,t),this.j}F(e,t,r){return this.j={detections:[]},Et(this,e,r,t),this.j}m(){var e=new Ie;H(e,"image_in"),H(e,"norm_rect_in"),U(e,"detections");let t=new je;at(t,b2,this.h);let r=new ve;ze(r,"mediapipe.tasks.vision.face_detector.FaceDetectorGraph"),z(r,"IMAGE:image_in"),z(r,"NORM_RECT:norm_rect_in"),B(r,"DETECTIONS:detections"),r.o(t),Ge(e,r),this.g.attachProtoVectorListener("detections",(i,n)=>{for(let o of i)i=Qh(o),this.j.detections.push(Ap(i));v(this,n)}),this.g.attachEmptyPacketListener("detections",i=>{v(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ce.prototype.detectForVideo=Ce.prototype.F,Ce.prototype.detect=Ce.prototype.D,Ce.prototype.setOptions=Ce.prototype.o,Ce.createFromModelPath=async function(e,t){return I(Ce,e,{baseOptions:{modelAssetPath:t}})},Ce.createFromModelBuffer=function(e,t){return I(Ce,e,{baseOptions:{modelAssetBuffer:t}})},Ce.createFromOptions=function(e,t){return I(Ce,e,t)};var jc=dt([61,146],[146,91],[91,181],[181,84],[84,17],[17,314],[314,405],[405,321],[321,375],[375,291],[61,185],[185,40],[40,39],[39,37],[37,0],[0,267],[267,269],[269,270],[270,409],[409,291],[78,95],[95,88],[88,178],[178,87],[87,14],[14,317],[317,402],[402,318],[318,324],[324,308],[78,191],[191,80],[80,81],[81,82],[82,13],[13,312],[312,311],[311,310],[310,415],[415,308]),Vc=dt([263,249],[249,390],[390,373],[373,374],[374,380],[380,381],[381,382],[382,362],[263,466],[466,388],[388,387],[387,386],[386,385],[385,384],[384,398],[398,362]),zc=dt([276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]),Bp=dt([474,475],[475,476],[476,477],[477,474]),Gc=dt([33,7],[7,163],[163,144],[144,145],[145,153],[153,154],[154,155],[155,133],[33,246],[246,161],[161,160],[160,159],[159,158],[158,157],[157,173],[173,133]),Hc=dt([46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]),Fp=dt([469,470],[470,471],[471,472],[472,469]),Wc=dt([10,338],[338,297],[297,332],[332,284],[284,251],[251,389],[389,356],[356,454],[454,323],[323,361],[361,288],[288,397],[397,365],[365,379],[379,378],[378,400],[400,377],[377,152],[152,148],[148,176],[176,149],[149,150],[150,136],[136,172],[172,58],[58,132],[132,93],[93,234],[234,127],[127,162],[162,21],[21,54],[54,103],[103,67],[67,109],[109,10]),Lp=[...jc,...Vc,...zc,...Gc,...Hc,...Wc],Up=dt([127,34],[34,139],[139,127],[11,0],[0,37],[37,11],[232,231],[231,120],[120,232],[72,37],[37,39],[39,72],[128,121],[121,47],[47,128],[232,121],[121,128],[128,232],[104,69],[69,67],[67,104],[175,171],[171,148],[148,175],[118,50],[50,101],[101,118],[73,39],[39,40],[40,73],[9,151],[151,108],[108,9],[48,115],[115,131],[131,48],[194,204],[204,211],[211,194],[74,40],[40,185],[185,74],[80,42],[42,183],[183,80],[40,92],[92,186],[186,40],[230,229],[229,118],[118,230],[202,212],[212,214],[214,202],[83,18],[18,17],[17,83],[76,61],[61,146],[146,76],[160,29],[29,30],[30,160],[56,157],[157,173],[173,56],[106,204],[204,194],[194,106],[135,214],[214,192],[192,135],[203,165],[165,98],[98,203],[21,71],[71,68],[68,21],[51,45],[45,4],[4,51],[144,24],[24,23],[23,144],[77,146],[146,91],[91,77],[205,50],[50,187],[187,205],[201,200],[200,18],[18,201],[91,106],[106,182],[182,91],[90,91],[91,181],[181,90],[85,84],[84,17],[17,85],[206,203],[203,36],[36,206],[148,171],[171,140],[140,148],[92,40],[40,39],[39,92],[193,189],[189,244],[244,193],[159,158],[158,28],[28,159],[247,246],[246,161],[161,247],[236,3],[3,196],[196,236],[54,68],[68,104],[104,54],[193,168],[168,8],[8,193],[117,228],[228,31],[31,117],[189,193],[193,55],[55,189],[98,97],[97,99],[99,98],[126,47],[47,100],[100,126],[166,79],[79,218],[218,166],[155,154],[154,26],[26,155],[209,49],[49,131],[131,209],[135,136],[136,150],[150,135],[47,126],[126,217],[217,47],[223,52],[52,53],[53,223],[45,51],[51,134],[134,45],[211,170],[170,140],[140,211],[67,69],[69,108],[108,67],[43,106],[106,91],[91,43],[230,119],[119,120],[120,230],[226,130],[130,247],[247,226],[63,53],[53,52],[52,63],[238,20],[20,242],[242,238],[46,70],[70,156],[156,46],[78,62],[62,96],[96,78],[46,53],[53,63],[63,46],[143,34],[34,227],[227,143],[123,117],[117,111],[111,123],[44,125],[125,19],[19,44],[236,134],[134,51],[51,236],[216,206],[206,205],[205,216],[154,153],[153,22],[22,154],[39,37],[37,167],[167,39],[200,201],[201,208],[208,200],[36,142],[142,100],[100,36],[57,212],[212,202],[202,57],[20,60],[60,99],[99,20],[28,158],[158,157],[157,28],[35,226],[226,113],[113,35],[160,159],[159,27],[27,160],[204,202],[202,210],[210,204],[113,225],[225,46],[46,113],[43,202],[202,204],[204,43],[62,76],[76,77],[77,62],[137,123],[123,116],[116,137],[41,38],[38,72],[72,41],[203,129],[129,142],[142,203],[64,98],[98,240],[240,64],[49,102],[102,64],[64,49],[41,73],[73,74],[74,41],[212,216],[216,207],[207,212],[42,74],[74,184],[184,42],[169,170],[170,211],[211,169],[170,149],[149,176],[176,170],[105,66],[66,69],[69,105],[122,6],[6,168],[168,122],[123,147],[147,187],[187,123],[96,77],[77,90],[90,96],[65,55],[55,107],[107,65],[89,90],[90,180],[180,89],[101,100],[100,120],[120,101],[63,105],[105,104],[104,63],[93,137],[137,227],[227,93],[15,86],[86,85],[85,15],[129,102],[102,49],[49,129],[14,87],[87,86],[86,14],[55,8],[8,9],[9,55],[100,47],[47,121],[121,100],[145,23],[23,22],[22,145],[88,89],[89,179],[179,88],[6,122],[122,196],[196,6],[88,95],[95,96],[96,88],[138,172],[172,136],[136,138],[215,58],[58,172],[172,215],[115,48],[48,219],[219,115],[42,80],[80,81],[81,42],[195,3],[3,51],[51,195],[43,146],[146,61],[61,43],[171,175],[175,199],[199,171],[81,82],[82,38],[38,81],[53,46],[46,225],[225,53],[144,163],[163,110],[110,144],[52,65],[65,66],[66,52],[229,228],[228,117],[117,229],[34,127],[127,234],[234,34],[107,108],[108,69],[69,107],[109,108],[108,151],[151,109],[48,64],[64,235],[235,48],[62,78],[78,191],[191,62],[129,209],[209,126],[126,129],[111,35],[35,143],[143,111],[117,123],[123,50],[50,117],[222,65],[65,52],[52,222],[19,125],[125,141],[141,19],[221,55],[55,65],[65,221],[3,195],[195,197],[197,3],[25,7],[7,33],[33,25],[220,237],[237,44],[44,220],[70,71],[71,139],[139,70],[122,193],[193,245],[245,122],[247,130],[130,33],[33,247],[71,21],[21,162],[162,71],[170,169],[169,150],[150,170],[188,174],[174,196],[196,188],[216,186],[186,92],[92,216],[2,97],[97,167],[167,2],[141,125],[125,241],[241,141],[164,167],[167,37],[37,164],[72,38],[38,12],[12,72],[38,82],[82,13],[13,38],[63,68],[68,71],[71,63],[226,35],[35,111],[111,226],[101,50],[50,205],[205,101],[206,92],[92,165],[165,206],[209,198],[198,217],[217,209],[165,167],[167,97],[97,165],[220,115],[115,218],[218,220],[133,112],[112,243],[243,133],[239,238],[238,241],[241,239],[214,135],[135,169],[169,214],[190,173],[173,133],[133,190],[171,208],[208,32],[32,171],[125,44],[44,237],[237,125],[86,87],[87,178],[178,86],[85,86],[86,179],[179,85],[84,85],[85,180],[180,84],[83,84],[84,181],[181,83],[201,83],[83,182],[182,201],[137,93],[93,132],[132,137],[76,62],[62,183],[183,76],[61,76],[76,184],[184,61],[57,61],[61,185],[185,57],[212,57],[57,186],[186,212],[214,207],[207,187],[187,214],[34,143],[143,156],[156,34],[79,239],[239,237],[237,79],[123,137],[137,177],[177,123],[44,1],[1,4],[4,44],[201,194],[194,32],[32,201],[64,102],[102,129],[129,64],[213,215],[215,138],[138,213],[59,166],[166,219],[219,59],[242,99],[99,97],[97,242],[2,94],[94,141],[141,2],[75,59],[59,235],[235,75],[24,110],[110,228],[228,24],[25,130],[130,226],[226,25],[23,24],[24,229],[229,23],[22,23],[23,230],[230,22],[26,22],[22,231],[231,26],[112,26],[26,232],[232,112],[189,190],[190,243],[243,189],[221,56],[56,190],[190,221],[28,56],[56,221],[221,28],[27,28],[28,222],[222,27],[29,27],[27,223],[223,29],[30,29],[29,224],[224,30],[247,30],[30,225],[225,247],[238,79],[79,20],[20,238],[166,59],[59,75],[75,166],[60,75],[75,240],[240,60],[147,177],[177,215],[215,147],[20,79],[79,166],[166,20],[187,147],[147,213],[213,187],[112,233],[233,244],[244,112],[233,128],[128,245],[245,233],[128,114],[114,188],[188,128],[114,217],[217,174],[174,114],[131,115],[115,220],[220,131],[217,198],[198,236],[236,217],[198,131],[131,134],[134,198],[177,132],[132,58],[58,177],[143,35],[35,124],[124,143],[110,163],[163,7],[7,110],[228,110],[110,25],[25,228],[356,389],[389,368],[368,356],[11,302],[302,267],[267,11],[452,350],[350,349],[349,452],[302,303],[303,269],[269,302],[357,343],[343,277],[277,357],[452,453],[453,357],[357,452],[333,332],[332,297],[297,333],[175,152],[152,377],[377,175],[347,348],[348,330],[330,347],[303,304],[304,270],[270,303],[9,336],[336,337],[337,9],[278,279],[279,360],[360,278],[418,262],[262,431],[431,418],[304,408],[408,409],[409,304],[310,415],[415,407],[407,310],[270,409],[409,410],[410,270],[450,348],[348,347],[347,450],[422,430],[430,434],[434,422],[313,314],[314,17],[17,313],[306,307],[307,375],[375,306],[387,388],[388,260],[260,387],[286,414],[414,398],[398,286],[335,406],[406,418],[418,335],[364,367],[367,416],[416,364],[423,358],[358,327],[327,423],[251,284],[284,298],[298,251],[281,5],[5,4],[4,281],[373,374],[374,253],[253,373],[307,320],[320,321],[321,307],[425,427],[427,411],[411,425],[421,313],[313,18],[18,421],[321,405],[405,406],[406,321],[320,404],[404,405],[405,320],[315,16],[16,17],[17,315],[426,425],[425,266],[266,426],[377,400],[400,369],[369,377],[322,391],[391,269],[269,322],[417,465],[465,464],[464,417],[386,257],[257,258],[258,386],[466,260],[260,388],[388,466],[456,399],[399,419],[419,456],[284,332],[332,333],[333,284],[417,285],[285,8],[8,417],[346,340],[340,261],[261,346],[413,441],[441,285],[285,413],[327,460],[460,328],[328,327],[355,371],[371,329],[329,355],[392,439],[439,438],[438,392],[382,341],[341,256],[256,382],[429,420],[420,360],[360,429],[364,394],[394,379],[379,364],[277,343],[343,437],[437,277],[443,444],[444,283],[283,443],[275,440],[440,363],[363,275],[431,262],[262,369],[369,431],[297,338],[338,337],[337,297],[273,375],[375,321],[321,273],[450,451],[451,349],[349,450],[446,342],[342,467],[467,446],[293,334],[334,282],[282,293],[458,461],[461,462],[462,458],[276,353],[353,383],[383,276],[308,324],[324,325],[325,308],[276,300],[300,293],[293,276],[372,345],[345,447],[447,372],[352,345],[345,340],[340,352],[274,1],[1,19],[19,274],[456,248],[248,281],[281,456],[436,427],[427,425],[425,436],[381,256],[256,252],[252,381],[269,391],[391,393],[393,269],[200,199],[199,428],[428,200],[266,330],[330,329],[329,266],[287,273],[273,422],[422,287],[250,462],[462,328],[328,250],[258,286],[286,384],[384,258],[265,353],[353,342],[342,265],[387,259],[259,257],[257,387],[424,431],[431,430],[430,424],[342,353],[353,276],[276,342],[273,335],[335,424],[424,273],[292,325],[325,307],[307,292],[366,447],[447,345],[345,366],[271,303],[303,302],[302,271],[423,266],[266,371],[371,423],[294,455],[455,460],[460,294],[279,278],[278,294],[294,279],[271,272],[272,304],[304,271],[432,434],[434,427],[427,432],[272,407],[407,408],[408,272],[394,430],[430,431],[431,394],[395,369],[369,400],[400,395],[334,333],[333,299],[299,334],[351,417],[417,168],[168,351],[352,280],[280,411],[411,352],[325,319],[319,320],[320,325],[295,296],[296,336],[336,295],[319,403],[403,404],[404,319],[330,348],[348,349],[349,330],[293,298],[298,333],[333,293],[323,454],[454,447],[447,323],[15,16],[16,315],[315,15],[358,429],[429,279],[279,358],[14,15],[15,316],[316,14],[285,336],[336,9],[9,285],[329,349],[349,350],[350,329],[374,380],[380,252],[252,374],[318,402],[402,403],[403,318],[6,197],[197,419],[419,6],[318,319],[319,325],[325,318],[367,364],[364,365],[365,367],[435,367],[367,397],[397,435],[344,438],[438,439],[439,344],[272,271],[271,311],[311,272],[195,5],[5,281],[281,195],[273,287],[287,291],[291,273],[396,428],[428,199],[199,396],[311,271],[271,268],[268,311],[283,444],[444,445],[445,283],[373,254],[254,339],[339,373],[282,334],[334,296],[296,282],[449,347],[347,346],[346,449],[264,447],[447,454],[454,264],[336,296],[296,299],[299,336],[338,10],[10,151],[151,338],[278,439],[439,455],[455,278],[292,407],[407,415],[415,292],[358,371],[371,355],[355,358],[340,345],[345,372],[372,340],[346,347],[347,280],[280,346],[442,443],[443,282],[282,442],[19,94],[94,370],[370,19],[441,442],[442,295],[295,441],[248,419],[419,197],[197,248],[263,255],[255,359],[359,263],[440,275],[275,274],[274,440],[300,383],[383,368],[368,300],[351,412],[412,465],[465,351],[263,467],[467,466],[466,263],[301,368],[368,389],[389,301],[395,378],[378,379],[379,395],[412,351],[351,419],[419,412],[436,426],[426,322],[322,436],[2,164],[164,393],[393,2],[370,462],[462,461],[461,370],[164,0],[0,267],[267,164],[302,11],[11,12],[12,302],[268,12],[12,13],[13,268],[293,300],[300,301],[301,293],[446,261],[261,340],[340,446],[330,266],[266,425],[425,330],[426,423],[423,391],[391,426],[429,355],[355,437],[437,429],[391,327],[327,326],[326,391],[440,457],[457,438],[438,440],[341,382],[382,362],[362,341],[459,457],[457,461],[461,459],[434,430],[430,394],[394,434],[414,463],[463,362],[362,414],[396,369],[369,262],[262,396],[354,461],[461,457],[457,354],[316,403],[403,402],[402,316],[315,404],[404,403],[403,315],[314,405],[405,404],[404,314],[313,406],[406,405],[405,313],[421,418],[418,406],[406,421],[366,401],[401,361],[361,366],[306,408],[408,407],[407,306],[291,409],[409,408],[408,291],[287,410],[410,409],[409,287],[432,436],[436,410],[410,432],[434,416],[416,411],[411,434],[264,368],[368,383],[383,264],[309,438],[438,457],[457,309],[352,376],[376,401],[401,352],[274,275],[275,4],[4,274],[421,428],[428,262],[262,421],[294,327],[327,358],[358,294],[433,416],[416,367],[367,433],[289,455],[455,439],[439,289],[462,370],[370,326],[326,462],[2,326],[326,370],[370,2],[305,460],[460,455],[455,305],[254,449],[449,448],[448,254],[255,261],[261,446],[446,255],[253,450],[450,449],[449,253],[252,451],[451,450],[450,252],[256,452],[452,451],[451,256],[341,453],[453,452],[452,341],[413,464],[464,463],[463,413],[441,413],[413,414],[414,441],[258,442],[442,441],[441,258],[257,443],[443,442],[442,257],[259,444],[444,443],[443,259],[260,445],[445,444],[444,260],[467,342],[342,445],[445,467],[459,458],[458,250],[250,459],[289,392],[392,290],[290,289],[290,328],[328,460],[460,290],[376,433],[433,435],[435,376],[250,290],[290,392],[392,250],[411,416],[416,433],[433,411],[341,463],[463,464],[464,341],[453,464],[464,465],[465,453],[357,465],[465,412],[412,357],[343,412],[412,399],[399,343],[360,363],[363,440],[440,360],[437,399],[399,456],[456,437],[420,456],[456,363],[363,420],[401,435],[435,288],[288,401],[372,383],[383,353],[353,372],[339,255],[255,249],[249,339],[448,261],[261,255],[255,448],[133,243],[243,190],[190,133],[133,155],[155,112],[112,133],[33,246],[246,247],[247,33],[33,130],[130,25],[25,33],[398,384],[384,286],[286,398],[362,398],[398,414],[414,362],[362,463],[463,341],[341,362],[263,359],[359,467],[467,263],[263,249],[249,255],[255,263],[466,467],[467,260],[260,466],[75,60],[60,166],[166,75],[238,239],[239,79],[79,238],[162,127],[127,139],[139,162],[72,11],[11,37],[37,72],[121,232],[232,120],[120,121],[73,72],[72,39],[39,73],[114,128],[128,47],[47,114],[233,232],[232,128],[128,233],[103,104],[104,67],[67,103],[152,175],[175,148],[148,152],[119,118],[118,101],[101,119],[74,73],[73,40],[40,74],[107,9],[9,108],[108,107],[49,48],[48,131],[131,49],[32,194],[194,211],[211,32],[184,74],[74,185],[185,184],[191,80],[80,183],[183,191],[185,40],[40,186],[186,185],[119,230],[230,118],[118,119],[210,202],[202,214],[214,210],[84,83],[83,17],[17,84],[77,76],[76,146],[146,77],[161,160],[160,30],[30,161],[190,56],[56,173],[173,190],[182,106],[106,194],[194,182],[138,135],[135,192],[192,138],[129,203],[203,98],[98,129],[54,21],[21,68],[68,54],[5,51],[51,4],[4,5],[145,144],[144,23],[23,145],[90,77],[77,91],[91,90],[207,205],[205,187],[187,207],[83,201],[201,18],[18,83],[181,91],[91,182],[182,181],[180,90],[90,181],[181,180],[16,85],[85,17],[17,16],[205,206],[206,36],[36,205],[176,148],[148,140],[140,176],[165,92],[92,39],[39,165],[245,193],[193,244],[244,245],[27,159],[159,28],[28,27],[30,247],[247,161],[161,30],[174,236],[236,196],[196,174],[103,54],[54,104],[104,103],[55,193],[193,8],[8,55],[111,117],[117,31],[31,111],[221,189],[189,55],[55,221],[240,98],[98,99],[99,240],[142,126],[126,100],[100,142],[219,166],[166,218],[218,219],[112,155],[155,26],[26,112],[198,209],[209,131],[131,198],[169,135],[135,150],[150,169],[114,47],[47,217],[217,114],[224,223],[223,53],[53,224],[220,45],[45,134],[134,220],[32,211],[211,140],[140,32],[109,67],[67,108],[108,109],[146,43],[43,91],[91,146],[231,230],[230,120],[120,231],[113,226],[226,247],[247,113],[105,63],[63,52],[52,105],[241,238],[238,242],[242,241],[124,46],[46,156],[156,124],[95,78],[78,96],[96,95],[70,46],[46,63],[63,70],[116,143],[143,227],[227,116],[116,123],[123,111],[111,116],[1,44],[44,19],[19,1],[3,236],[236,51],[51,3],[207,216],[216,205],[205,207],[26,154],[154,22],[22,26],[165,39],[39,167],[167,165],[199,200],[200,208],[208,199],[101,36],[36,100],[100,101],[43,57],[57,202],[202,43],[242,20],[20,99],[99,242],[56,28],[28,157],[157,56],[124,35],[35,113],[113,124],[29,160],[160,27],[27,29],[211,204],[204,210],[210,211],[124,113],[113,46],[46,124],[106,43],[43,204],[204,106],[96,62],[62,77],[77,96],[227,137],[137,116],[116,227],[73,41],[41,72],[72,73],[36,203],[203,142],[142,36],[235,64],[64,240],[240,235],[48,49],[49,64],[64,48],[42,41],[41,74],[74,42],[214,212],[212,207],[207,214],[183,42],[42,184],[184,183],[210,169],[169,211],[211,210],[140,170],[170,176],[176,140],[104,105],[105,69],[69,104],[193,122],[122,168],[168,193],[50,123],[123,187],[187,50],[89,96],[96,90],[90,89],[66,65],[65,107],[107,66],[179,89],[89,180],[180,179],[119,101],[101,120],[120,119],[68,63],[63,104],[104,68],[234,93],[93,227],[227,234],[16,15],[15,85],[85,16],[209,129],[129,49],[49,209],[15,14],[14,86],[86,15],[107,55],[55,9],[9,107],[120,100],[100,121],[121,120],[153,145],[145,22],[22,153],[178,88],[88,179],[179,178],[197,6],[6,196],[196,197],[89,88],[88,96],[96,89],[135,138],[138,136],[136,135],[138,215],[215,172],[172,138],[218,115],[115,219],[219,218],[41,42],[42,81],[81,41],[5,195],[195,51],[51,5],[57,43],[43,61],[61,57],[208,171],[171,199],[199,208],[41,81],[81,38],[38,41],[224,53],[53,225],[225,224],[24,144],[144,110],[110,24],[105,52],[52,66],[66,105],[118,229],[229,117],[117,118],[227,34],[34,234],[234,227],[66,107],[107,69],[69,66],[10,109],[109,151],[151,10],[219,48],[48,235],[235,219],[183,62],[62,191],[191,183],[142,129],[129,126],[126,142],[116,111],[111,143],[143,116],[118,117],[117,50],[50,118],[223,222],[222,52],[52,223],[94,19],[19,141],[141,94],[222,221],[221,65],[65,222],[196,3],[3,197],[197,196],[45,220],[220,44],[44,45],[156,70],[70,139],[139,156],[188,122],[122,245],[245,188],[139,71],[71,162],[162,139],[149,170],[170,150],[150,149],[122,188],[188,196],[196,122],[206,216],[216,92],[92,206],[164,2],[2,167],[167,164],[242,141],[141,241],[241,242],[0,164],[164,37],[37,0],[11,72],[72,12],[12,11],[12,38],[38,13],[13,12],[70,63],[63,71],[71,70],[31,226],[226,111],[111,31],[36,101],[101,205],[205,36],[203,206],[206,165],[165,203],[126,209],[209,217],[217,126],[98,165],[165,97],[97,98],[237,220],[220,218],[218,237],[237,239],[239,241],[241,237],[210,214],[214,169],[169,210],[140,171],[171,32],[32,140],[241,125],[125,237],[237,241],[179,86],[86,178],[178,179],[180,85],[85,179],[179,180],[181,84],[84,180],[180,181],[182,83],[83,181],[181,182],[194,201],[201,182],[182,194],[177,137],[137,132],[132,177],[184,76],[76,183],[183,184],[185,61],[61,184],[184,185],[186,57],[57,185],[185,186],[216,212],[212,186],[186,216],[192,214],[214,187],[187,192],[139,34],[34,156],[156,139],[218,79],[79,237],[237,218],[147,123],[123,177],[177,147],[45,44],[44,4],[4,45],[208,201],[201,32],[32,208],[98,64],[64,129],[129,98],[192,213],[213,138],[138,192],[235,59],[59,219],[219,235],[141,242],[242,97],[97,141],[97,2],[2,141],[141,97],[240,75],[75,235],[235,240],[229,24],[24,228],[228,229],[31,25],[25,226],[226,31],[230,23],[23,229],[229,230],[231,22],[22,230],[230,231],[232,26],[26,231],[231,232],[233,112],[112,232],[232,233],[244,189],[189,243],[243,244],[189,221],[221,190],[190,189],[222,28],[28,221],[221,222],[223,27],[27,222],[222,223],[224,29],[29,223],[223,224],[225,30],[30,224],[224,225],[113,247],[247,225],[225,113],[99,60],[60,240],[240,99],[213,147],[147,215],[215,213],[60,20],[20,166],[166,60],[192,187],[187,213],[213,192],[243,112],[112,244],[244,243],[244,233],[233,245],[245,244],[245,128],[128,188],[188,245],[188,114],[114,174],[174,188],[134,131],[131,220],[220,134],[174,217],[217,236],[236,174],[236,198],[198,134],[134,236],[215,177],[177,58],[58,215],[156,143],[143,124],[124,156],[25,110],[110,7],[7,25],[31,228],[228,25],[25,31],[264,356],[356,368],[368,264],[0,11],[11,267],[267,0],[451,452],[452,349],[349,451],[267,302],[302,269],[269,267],[350,357],[357,277],[277,350],[350,452],[452,357],[357,350],[299,333],[333,297],[297,299],[396,175],[175,377],[377,396],[280,347],[347,330],[330,280],[269,303],[303,270],[270,269],[151,9],[9,337],[337,151],[344,278],[278,360],[360,344],[424,418],[418,431],[431,424],[270,304],[304,409],[409,270],[272,310],[310,407],[407,272],[322,270],[270,410],[410,322],[449,450],[450,347],[347,449],[432,422],[422,434],[434,432],[18,313],[313,17],[17,18],[291,306],[306,375],[375,291],[259,387],[387,260],[260,259],[424,335],[335,418],[418,424],[434,364],[364,416],[416,434],[391,423],[423,327],[327,391],[301,251],[251,298],[298,301],[275,281],[281,4],[4,275],[254,373],[373,253],[253,254],[375,307],[307,321],[321,375],[280,425],[425,411],[411,280],[200,421],[421,18],[18,200],[335,321],[321,406],[406,335],[321,320],[320,405],[405,321],[314,315],[315,17],[17,314],[423,426],[426,266],[266,423],[396,377],[377,369],[369,396],[270,322],[322,269],[269,270],[413,417],[417,464],[464,413],[385,386],[386,258],[258,385],[248,456],[456,419],[419,248],[298,284],[284,333],[333,298],[168,417],[417,8],[8,168],[448,346],[346,261],[261,448],[417,413],[413,285],[285,417],[326,327],[327,328],[328,326],[277,355],[355,329],[329,277],[309,392],[392,438],[438,309],[381,382],[382,256],[256,381],[279,429],[429,360],[360,279],[365,364],[364,379],[379,365],[355,277],[277,437],[437,355],[282,443],[443,283],[283,282],[281,275],[275,363],[363,281],[395,431],[431,369],[369,395],[299,297],[297,337],[337,299],[335,273],[273,321],[321,335],[348,450],[450,349],[349,348],[359,446],[446,467],[467,359],[283,293],[293,282],[282,283],[250,458],[458,462],[462,250],[300,276],[276,383],[383,300],[292,308],[308,325],[325,292],[283,276],[276,293],[293,283],[264,372],[372,447],[447,264],[346,352],[352,340],[340,346],[354,274],[274,19],[19,354],[363,456],[456,281],[281,363],[426,436],[436,425],[425,426],[380,381],[381,252],[252,380],[267,269],[269,393],[393,267],[421,200],[200,428],[428,421],[371,266],[266,329],[329,371],[432,287],[287,422],[422,432],[290,250],[250,328],[328,290],[385,258],[258,384],[384,385],[446,265],[265,342],[342,446],[386,387],[387,257],[257,386],[422,424],[424,430],[430,422],[445,342],[342,276],[276,445],[422,273],[273,424],[424,422],[306,292],[292,307],[307,306],[352,366],[366,345],[345,352],[268,271],[271,302],[302,268],[358,423],[423,371],[371,358],[327,294],[294,460],[460,327],[331,279],[279,294],[294,331],[303,271],[271,304],[304,303],[436,432],[432,427],[427,436],[304,272],[272,408],[408,304],[395,394],[394,431],[431,395],[378,395],[395,400],[400,378],[296,334],[334,299],[299,296],[6,351],[351,168],[168,6],[376,352],[352,411],[411,376],[307,325],[325,320],[320,307],[285,295],[295,336],[336,285],[320,319],[319,404],[404,320],[329,330],[330,349],[349,329],[334,293],[293,333],[333,334],[366,323],[323,447],[447,366],[316,15],[15,315],[315,316],[331,358],[358,279],[279,331],[317,14],[14,316],[316,317],[8,285],[285,9],[9,8],[277,329],[329,350],[350,277],[253,374],[374,252],[252,253],[319,318],[318,403],[403,319],[351,6],[6,419],[419,351],[324,318],[318,325],[325,324],[397,367],[367,365],[365,397],[288,435],[435,397],[397,288],[278,344],[344,439],[439,278],[310,272],[272,311],[311,310],[248,195],[195,281],[281,248],[375,273],[273,291],[291,375],[175,396],[396,199],[199,175],[312,311],[311,268],[268,312],[276,283],[283,445],[445,276],[390,373],[373,339],[339,390],[295,282],[282,296],[296,295],[448,449],[449,346],[346,448],[356,264],[264,454],[454,356],[337,336],[336,299],[299,337],[337,338],[338,151],[151,337],[294,278],[278,455],[455,294],[308,292],[292,415],[415,308],[429,358],[358,355],[355,429],[265,340],[340,372],[372,265],[352,346],[346,280],[280,352],[295,442],[442,282],[282,295],[354,19],[19,370],[370,354],[285,441],[441,295],[295,285],[195,248],[248,197],[197,195],[457,440],[440,274],[274,457],[301,300],[300,368],[368,301],[417,351],[351,465],[465,417],[251,301],[301,389],[389,251],[394,395],[395,379],[379,394],[399,412],[412,419],[419,399],[410,436],[436,322],[322,410],[326,2],[2,393],[393,326],[354,370],[370,461],[461,354],[393,164],[164,267],[267,393],[268,302],[302,12],[12,268],[312,268],[268,13],[13,312],[298,293],[293,301],[301,298],[265,446],[446,340],[340,265],[280,330],[330,425],[425,280],[322,426],[426,391],[391,322],[420,429],[429,437],[437,420],[393,391],[391,326],[326,393],[344,440],[440,438],[438,344],[458,459],[459,461],[461,458],[364,434],[434,394],[394,364],[428,396],[396,262],[262,428],[274,354],[354,457],[457,274],[317,316],[316,402],[402,317],[316,315],[315,403],[403,316],[315,314],[314,404],[404,315],[314,313],[313,405],[405,314],[313,421],[421,406],[406,313],[323,366],[366,361],[361,323],[292,306],[306,407],[407,292],[306,291],[291,408],[408,306],[291,287],[287,409],[409,291],[287,432],[432,410],[410,287],[427,434],[434,411],[411,427],[372,264],[264,383],[383,372],[459,309],[309,457],[457,459],[366,352],[352,401],[401,366],[1,274],[274,4],[4,1],[418,421],[421,262],[262,418],[331,294],[294,358],[358,331],[435,433],[433,367],[367,435],[392,289],[289,439],[439,392],[328,462],[462,326],[326,328],[94,2],[2,370],[370,94],[289,305],[305,455],[455,289],[339,254],[254,448],[448,339],[359,255],[255,446],[446,359],[254,253],[253,449],[449,254],[253,252],[252,450],[450,253],[252,256],[256,451],[451,252],[256,341],[341,452],[452,256],[414,413],[413,463],[463,414],[286,441],[441,414],[414,286],[286,258],[258,441],[441,286],[258,257],[257,442],[442,258],[257,259],[259,443],[443,257],[259,260],[260,444],[444,259],[260,467],[467,445],[445,260],[309,459],[459,250],[250,309],[305,289],[289,290],[290,305],[305,290],[290,460],[460,305],[401,376],[376,435],[435,401],[309,250],[250,392],[392,309],[376,411],[411,433],[433,376],[453,341],[341,464],[464,453],[357,453],[453,465],[465,357],[343,357],[357,412],[412,343],[437,343],[343,399],[399,437],[344,360],[360,440],[440,344],[420,437],[437,456],[456,420],[360,420],[420,363],[363,360],[361,401],[401,288],[288,361],[265,372],[372,353],[353,265],[390,339],[339,249],[249,390],[339,448],[448,255],[255,339]);function Ou(e){e.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]}}var Y=class extends Pe{constructor(e,t){super(new Ze(e,t),"image_in","norm_rect",!1),this.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]},this.outputFacialTransformationMatrixes=this.outputFaceBlendshapes=!1,A(e=this.h=new ap,0,1,t=new $),this.v=new sp,A(this.h,0,3,this.v),this.s=new Vo,A(this.h,0,2,this.s),kt(this.s,4,1),S(this.s,2,.5),S(this.v,2,.5),S(this.h,4,.5)}get baseOptions(){return L(this.h,$,1)}set baseOptions(e){A(this.h,0,1,e)}o(e){return"numFaces"in e&&kt(this.s,4,e.numFaces??1),"minFaceDetectionConfidence"in e&&S(this.s,2,e.minFaceDetectionConfidence??.5),"minTrackingConfidence"in e&&S(this.h,4,e.minTrackingConfidence??.5),"minFacePresenceConfidence"in e&&S(this.v,2,e.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"outputFacialTransformationMatrixes"in e&&(this.outputFacialTransformationMatrixes=!!e.outputFacialTransformationMatrixes),this.l(e)}D(e,t){return Ou(this),Qe(this,e,t),this.j}F(e,t,r){return Ou(this),Et(this,e,r,t),this.j}m(){var e=new Ie;H(e,"image_in"),H(e,"norm_rect"),U(e,"face_landmarks");let t=new je;at(t,w2,this.h);let r=new ve;ze(r,"mediapipe.tasks.vision.face_landmarker.FaceLandmarkerGraph"),z(r,"IMAGE:image_in"),z(r,"NORM_RECT:norm_rect"),B(r,"NORM_LANDMARKS:face_landmarks"),r.o(t),Ge(e,r),this.g.attachProtoVectorListener("face_landmarks",(i,n)=>{for(let o of i)i=tn(o),this.j.faceLandmarks.push(zo(i));v(this,n)}),this.g.attachEmptyPacketListener("face_landmarks",i=>{v(this,i)}),this.outputFaceBlendshapes&&(U(e,"blendshapes"),B(r,"BLENDSHAPES:blendshapes"),this.g.attachProtoVectorListener("blendshapes",(i,n)=>{if(this.outputFaceBlendshapes)for(let o of i)i=jo(o),this.j.faceBlendshapes.push(Lc(i.g()??[]));v(this,n)}),this.g.attachEmptyPacketListener("blendshapes",i=>{v(this,i)})),this.outputFacialTransformationMatrixes&&(U(e,"face_geometry"),B(r,"FACE_GEOMETRY:face_geometry"),this.g.attachProtoVectorListener("face_geometry",(i,n)=>{if(this.outputFacialTransformationMatrixes)for(let o of i)(i=L(v2(o),d2,2))&&this.j.facialTransformationMatrixes.push({rows:Xe(i,1)??0??0,columns:Xe(i,2)??0??0,data:yr(i,3,rr,gr()).slice()??[]});v(this,n)}),this.g.attachEmptyPacketListener("face_geometry",i=>{v(this,i)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Y.prototype.detectForVideo=Y.prototype.F,Y.prototype.detect=Y.prototype.D,Y.prototype.setOptions=Y.prototype.o,Y.createFromModelPath=function(e,t){return I(Y,e,{baseOptions:{modelAssetPath:t}})},Y.createFromModelBuffer=function(e,t){return I(Y,e,{baseOptions:{modelAssetBuffer:t}})},Y.createFromOptions=function(e,t){return I(Y,e,t)},Y.FACE_LANDMARKS_LIPS=jc,Y.FACE_LANDMARKS_LEFT_EYE=Vc,Y.FACE_LANDMARKS_LEFT_EYEBROW=zc,Y.FACE_LANDMARKS_LEFT_IRIS=Bp,Y.FACE_LANDMARKS_RIGHT_EYE=Gc,Y.FACE_LANDMARKS_RIGHT_EYEBROW=Hc,Y.FACE_LANDMARKS_RIGHT_IRIS=Fp,Y.FACE_LANDMARKS_FACE_OVAL=Wc,Y.FACE_LANDMARKS_CONTOURS=Lp,Y.FACE_LANDMARKS_TESSELATION=Up;var vt=class extends Pe{constructor(e,t){super(new Ze(e,t),"image_in","norm_rect",!0),A(e=this.j=new lp,0,1,t=new $)}get baseOptions(){return L(this.j,$,1)}set baseOptions(e){A(this.j,0,1,e)}o(e){return super.l(e)}Oa(e,t,r){let i=typeof t!="function"?t:{};if(this.h=typeof t=="function"?t:r,Qe(this,e,i??{}),!this.h)return this.s}m(){var e=new Ie;H(e,"image_in"),H(e,"norm_rect"),U(e,"stylized_image");let t=new je;at(t,S2,this.j);let r=new ve;ze(r,"mediapipe.tasks.vision.face_stylizer.FaceStylizerGraph"),z(r,"IMAGE:image_in"),z(r,"NORM_RECT:norm_rect"),B(r,"STYLIZED_IMAGE:stylized_image"),r.o(t),Ge(e,r),this.g.U("stylized_image",(i,n)=>{var o=!this.h,s=i.data,a=i.width;let c=a*(i=i.height);if(s instanceof Uint8Array)if(s.length===3*c){let l=new Uint8ClampedArray(4*c);for(let d=0;d<c;++d)l[4*d]=s[3*d],l[4*d+1]=s[3*d+1],l[4*d+2]=s[3*d+2],l[4*d+3]=255;s=new ImageData(l,a,i)}else{if(s.length!==4*c)throw Error("Unsupported channel count: "+s.length/c);s=new ImageData(new Uint8ClampedArray(s.buffer,s.byteOffset,s.length),a,i)}else if(!(s instanceof WebGLTexture))throw Error(`Unsupported format: ${s.constructor.name}`);a=new me([s],!1,!1,this.g.i.canvas,this.O,a,i),this.s=o=o?a.clone():a,this.h&&this.h(o),v(this,n)}),this.g.attachEmptyPacketListener("stylized_image",i=>{this.s=null,this.h&&this.h(null),v(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};vt.prototype.stylize=vt.prototype.Oa,vt.prototype.setOptions=vt.prototype.o,vt.createFromModelPath=function(e,t){return I(vt,e,{baseOptions:{modelAssetPath:t}})},vt.createFromModelBuffer=function(e,t){return I(vt,e,{baseOptions:{modelAssetBuffer:t}})},vt.createFromOptions=function(e,t){return I(vt,e,t)};var qc=dt([0,1],[1,2],[2,3],[3,4],[0,5],[5,6],[6,7],[7,8],[5,9],[9,10],[10,11],[11,12],[9,13],[13,14],[14,15],[15,16],[13,17],[0,17],[17,18],[18,19],[19,20]);function Bu(e){e.gestures=[],e.landmarks=[],e.worldLandmarks=[],e.handedness=[]}function Fu(e){return e.gestures.length===0?{gestures:[],landmarks:[],worldLandmarks:[],handedness:[],handednesses:[]}:{gestures:e.gestures,landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handedness:e.handedness,handednesses:e.handedness}}function Lu(e,t=!0){let r=[];for(let n of e){var i=jo(n);e=[];for(let o of i.g())i=t&&Xe(o,1)!=null?Xe(o,1)??0:-1,e.push({score:te(o,2)??0,index:i,categoryName:Je(o,3)??""??"",displayName:Je(o,4)??""??""});r.push(e)}return r}var Le=class extends Pe{constructor(e,t){super(new Ze(e,t),"image_in","norm_rect",!1),this.gestures=[],this.landmarks=[],this.worldLandmarks=[],this.handedness=[],A(e=this.j=new hp,0,1,t=new $),this.s=new Dc,A(this.j,0,2,this.s),this.C=new Ic,A(this.s,0,3,this.C),this.v=new up,A(this.s,0,2,this.v),this.h=new k2,A(this.j,0,3,this.h),S(this.v,2,.5),S(this.s,4,.5),S(this.C,2,.5)}get baseOptions(){return L(this.j,$,1)}set baseOptions(e){A(this.j,0,1,e)}o(e){if(kt(this.v,3,e.numHands??1),"minHandDetectionConfidence"in e&&S(this.v,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&S(this.s,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&S(this.C,2,e.minHandPresenceConfidence??.5),e.cannedGesturesClassifierOptions){var t=new Ur,r=t,i=Fa(e.cannedGesturesClassifierOptions,L(this.h,Ur,3)?.h());A(r,0,2,i),A(this.h,0,3,t)}else e.cannedGesturesClassifierOptions===void 0&&L(this.h,Ur,3)?.g();return e.customGesturesClassifierOptions?(A(r=t=new Ur,0,2,i=Fa(e.customGesturesClassifierOptions,L(this.h,Ur,4)?.h())),A(this.h,0,4,t)):e.customGesturesClassifierOptions===void 0&&L(this.h,Ur,4)?.g(),this.l(e)}Ja(e,t){return Bu(this),Qe(this,e,t),Fu(this)}Ka(e,t,r){return Bu(this),Et(this,e,r,t),Fu(this)}m(){var e=new Ie;H(e,"image_in"),H(e,"norm_rect"),U(e,"hand_gestures"),U(e,"hand_landmarks"),U(e,"world_hand_landmarks"),U(e,"handedness");let t=new je;at(t,E2,this.j);let r=new ve;ze(r,"mediapipe.tasks.vision.gesture_recognizer.GestureRecognizerGraph"),z(r,"IMAGE:image_in"),z(r,"NORM_RECT:norm_rect"),B(r,"HAND_GESTURES:hand_gestures"),B(r,"LANDMARKS:hand_landmarks"),B(r,"WORLD_LANDMARKS:world_hand_landmarks"),B(r,"HANDEDNESS:handedness"),r.o(t),Ge(e,r),this.g.attachProtoVectorListener("hand_landmarks",(i,n)=>{for(let o of i){i=tn(o);let s=[];for(let a of Ut(i,tp,1))s.push({x:te(a,1)??0,y:te(a,2)??0,z:te(a,3)??0,visibility:te(a,4)??0});this.landmarks.push(s)}v(this,n)}),this.g.attachEmptyPacketListener("hand_landmarks",i=>{v(this,i)}),this.g.attachProtoVectorListener("world_hand_landmarks",(i,n)=>{for(let o of i){i=Hr(o);let s=[];for(let a of Ut(i,ep,1))s.push({x:te(a,1)??0,y:te(a,2)??0,z:te(a,3)??0,visibility:te(a,4)??0});this.worldLandmarks.push(s)}v(this,n)}),this.g.attachEmptyPacketListener("world_hand_landmarks",i=>{v(this,i)}),this.g.attachProtoVectorListener("hand_gestures",(i,n)=>{this.gestures.push(...Lu(i,!1)),v(this,n)}),this.g.attachEmptyPacketListener("hand_gestures",i=>{v(this,i)}),this.g.attachProtoVectorListener("handedness",(i,n)=>{this.handedness.push(...Lu(i)),v(this,n)}),this.g.attachEmptyPacketListener("handedness",i=>{v(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function Uu(e){return{landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handednesses:e.handedness,handedness:e.handedness}}Le.prototype.recognizeForVideo=Le.prototype.Ka,Le.prototype.recognize=Le.prototype.Ja,Le.prototype.setOptions=Le.prototype.o,Le.createFromModelPath=function(e,t){return I(Le,e,{baseOptions:{modelAssetPath:t}})},Le.createFromModelBuffer=function(e,t){return I(Le,e,{baseOptions:{modelAssetBuffer:t}})},Le.createFromOptions=function(e,t){return I(Le,e,t)},Le.HAND_CONNECTIONS=qc;var Ue=class extends Pe{constructor(e,t){super(new Ze(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.handedness=[],A(e=this.h=new Dc,0,1,t=new $),this.s=new Ic,A(this.h,0,3,this.s),this.j=new up,A(this.h,0,2,this.j),kt(this.j,3,1),S(this.j,2,.5),S(this.s,2,.5),S(this.h,4,.5)}get baseOptions(){return L(this.h,$,1)}set baseOptions(e){A(this.h,0,1,e)}o(e){return"numHands"in e&&kt(this.j,3,e.numHands??1),"minHandDetectionConfidence"in e&&S(this.j,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&S(this.h,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&S(this.s,2,e.minHandPresenceConfidence??.5),this.l(e)}D(e,t){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],Qe(this,e,t),Uu(this)}F(e,t,r){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],Et(this,e,r,t),Uu(this)}m(){var e=new Ie;H(e,"image_in"),H(e,"norm_rect"),U(e,"hand_landmarks"),U(e,"world_hand_landmarks"),U(e,"handedness");let t=new je;at(t,_2,this.h);let r=new ve;ze(r,"mediapipe.tasks.vision.hand_landmarker.HandLandmarkerGraph"),z(r,"IMAGE:image_in"),z(r,"NORM_RECT:norm_rect"),B(r,"LANDMARKS:hand_landmarks"),B(r,"WORLD_LANDMARKS:world_hand_landmarks"),B(r,"HANDEDNESS:handedness"),r.o(t),Ge(e,r),this.g.attachProtoVectorListener("hand_landmarks",(i,n)=>{for(let o of i)i=tn(o),this.landmarks.push(zo(i));v(this,n)}),this.g.attachEmptyPacketListener("hand_landmarks",i=>{v(this,i)}),this.g.attachProtoVectorListener("world_hand_landmarks",(i,n)=>{for(let o of i)i=Hr(o),this.worldLandmarks.push(Wi(i));v(this,n)}),this.g.attachEmptyPacketListener("world_hand_landmarks",i=>{v(this,i)}),this.g.attachProtoVectorListener("handedness",(i,n)=>{var o=this.handedness,s=o.push;let a=[];for(let c of i){i=jo(c);let l=[];for(let d of i.g())l.push({score:te(d,2)??0,index:Xe(d,1)??0??-1,categoryName:Je(d,3)??""??"",displayName:Je(d,4)??""??""});a.push(l)}s.call(o,...a),v(this,n)}),this.g.attachEmptyPacketListener("handedness",i=>{v(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ue.prototype.detectForVideo=Ue.prototype.F,Ue.prototype.detect=Ue.prototype.D,Ue.prototype.setOptions=Ue.prototype.o,Ue.createFromModelPath=function(e,t){return I(Ue,e,{baseOptions:{modelAssetPath:t}})},Ue.createFromModelBuffer=function(e,t){return I(Ue,e,{baseOptions:{modelAssetBuffer:t}})},Ue.createFromOptions=function(e,t){return I(Ue,e,t)},Ue.HAND_CONNECTIONS=qc;var Mp=dt([0,1],[1,2],[2,3],[3,7],[0,4],[4,5],[5,6],[6,8],[9,10],[11,12],[11,13],[13,15],[15,17],[15,19],[15,21],[17,19],[12,14],[14,16],[16,18],[16,20],[16,22],[18,20],[11,23],[12,24],[23,24],[23,25],[24,26],[25,27],[26,28],[27,29],[28,30],[29,31],[30,32],[27,31],[28,32]);function Mu(e){e.h={faceLandmarks:[],faceBlendshapes:[],poseLandmarks:[],poseWorldLandmarks:[],poseSegmentationMasks:[],leftHandLandmarks:[],leftHandWorldLandmarks:[],rightHandLandmarks:[],rightHandWorldLandmarks:[]}}function Nu(e){try{if(!e.C)return e.h;e.C(e.h)}finally{Ho(e)}}function no(e,t){e=tn(e),t.push(zo(e))}var W=class extends Pe{constructor(e,t){super(new Ze(e,t),"input_frames_image",null,!1),this.h={faceLandmarks:[],faceBlendshapes:[],poseLandmarks:[],poseWorldLandmarks:[],poseSegmentationMasks:[],leftHandLandmarks:[],leftHandWorldLandmarks:[],rightHandLandmarks:[],rightHandWorldLandmarks:[]},this.outputPoseSegmentationMasks=this.outputFaceBlendshapes=!1,A(e=this.j=new yp,0,1,t=new $),this.J=new Ic,A(this.j,0,2,this.J),this.Z=new A2,A(this.j,0,3,this.Z),this.s=new Vo,A(this.j,0,4,this.s),this.H=new sp,A(this.j,0,5,this.H),this.v=new fp,A(this.j,0,6,this.v),this.K=new gp,A(this.j,0,7,this.K),S(this.s,2,.5),S(this.s,3,.3),S(this.H,2,.5),S(this.v,2,.5),S(this.v,3,.3),S(this.K,2,.5),S(this.J,2,.5)}get baseOptions(){return L(this.j,$,1)}set baseOptions(e){A(this.j,0,1,e)}o(e){return"minFaceDetectionConfidence"in e&&S(this.s,2,e.minFaceDetectionConfidence??.5),"minFaceSuppressionThreshold"in e&&S(this.s,3,e.minFaceSuppressionThreshold??.3),"minFacePresenceConfidence"in e&&S(this.H,2,e.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"minPoseDetectionConfidence"in e&&S(this.v,2,e.minPoseDetectionConfidence??.5),"minPoseSuppressionThreshold"in e&&S(this.v,3,e.minPoseSuppressionThreshold??.3),"minPosePresenceConfidence"in e&&S(this.K,2,e.minPosePresenceConfidence??.5),"outputPoseSegmentationMasks"in e&&(this.outputPoseSegmentationMasks=!!e.outputPoseSegmentationMasks),"minHandLandmarksConfidence"in e&&S(this.J,2,e.minHandLandmarksConfidence??.5),this.l(e)}D(e,t,r){let i=typeof t!="function"?t:{};return this.C=typeof t=="function"?t:r,Mu(this),Qe(this,e,i),Nu(this)}F(e,t,r,i){let n=typeof r!="function"?r:{};return this.C=typeof r=="function"?r:i,Mu(this),Et(this,e,n,t),Nu(this)}m(){var e=new Ie;H(e,"input_frames_image"),U(e,"pose_landmarks"),U(e,"pose_world_landmarks"),U(e,"face_landmarks"),U(e,"left_hand_landmarks"),U(e,"left_hand_world_landmarks"),U(e,"right_hand_landmarks"),U(e,"right_hand_world_landmarks");let t=new je,r=new nu;Ta(r,1,ni("type.googleapis.com/mediapipe.tasks.vision.holistic_landmarker.proto.HolisticLandmarkerGraphOptions"),""),function(n,o){if(o!=null)if(Array.isArray(o))V(n,2,uh(o));else{if(!(typeof o=="string"||o instanceof Ft||Yi(o)))throw Error("invalid value in Any.value field: "+o+" expected a ByteString, a base64 encoded string, a Uint8Array or a jspb array");Ta(n,2,Ka(o,!1),wr())}}(r,this.j.g());let i=new ve;ze(i,"mediapipe.tasks.vision.holistic_landmarker.HolisticLandmarkerGraph"),go(i,8,nu,r),z(i,"IMAGE:input_frames_image"),B(i,"POSE_LANDMARKS:pose_landmarks"),B(i,"POSE_WORLD_LANDMARKS:pose_world_landmarks"),B(i,"FACE_LANDMARKS:face_landmarks"),B(i,"LEFT_HAND_LANDMARKS:left_hand_landmarks"),B(i,"LEFT_HAND_WORLD_LANDMARKS:left_hand_world_landmarks"),B(i,"RIGHT_HAND_LANDMARKS:right_hand_landmarks"),B(i,"RIGHT_HAND_WORLD_LANDMARKS:right_hand_world_landmarks"),i.o(t),Ge(e,i),Go(this,e),this.g.attachProtoListener("pose_landmarks",(n,o)=>{no(n,this.h.poseLandmarks),v(this,o)}),this.g.attachEmptyPacketListener("pose_landmarks",n=>{v(this,n)}),this.g.attachProtoListener("pose_world_landmarks",(n,o)=>{var s=this.h.poseWorldLandmarks;n=Hr(n),s.push(Wi(n)),v(this,o)}),this.g.attachEmptyPacketListener("pose_world_landmarks",n=>{v(this,n)}),this.outputPoseSegmentationMasks&&(B(i,"POSE_SEGMENTATION_MASK:pose_segmentation_mask"),Zr(this,"pose_segmentation_mask"),this.g.U("pose_segmentation_mask",(n,o)=>{this.h.poseSegmentationMasks=[ti(this,n,!0,!this.C)],v(this,o)}),this.g.attachEmptyPacketListener("pose_segmentation_mask",n=>{this.h.poseSegmentationMasks=[],v(this,n)})),this.g.attachProtoListener("face_landmarks",(n,o)=>{no(n,this.h.faceLandmarks),v(this,o)}),this.g.attachEmptyPacketListener("face_landmarks",n=>{v(this,n)}),this.outputFaceBlendshapes&&(U(e,"extra_blendshapes"),B(i,"FACE_BLENDSHAPES:extra_blendshapes"),this.g.attachProtoListener("extra_blendshapes",(n,o)=>{var s=this.h.faceBlendshapes;this.outputFaceBlendshapes&&(n=jo(n),s.push(Lc(n.g()??[]))),v(this,o)}),this.g.attachEmptyPacketListener("extra_blendshapes",n=>{v(this,n)})),this.g.attachProtoListener("left_hand_landmarks",(n,o)=>{no(n,this.h.leftHandLandmarks),v(this,o)}),this.g.attachEmptyPacketListener("left_hand_landmarks",n=>{v(this,n)}),this.g.attachProtoListener("left_hand_world_landmarks",(n,o)=>{var s=this.h.leftHandWorldLandmarks;n=Hr(n),s.push(Wi(n)),v(this,o)}),this.g.attachEmptyPacketListener("left_hand_world_landmarks",n=>{v(this,n)}),this.g.attachProtoListener("right_hand_landmarks",(n,o)=>{no(n,this.h.rightHandLandmarks),v(this,o)}),this.g.attachEmptyPacketListener("right_hand_landmarks",n=>{v(this,n)}),this.g.attachProtoListener("right_hand_world_landmarks",(n,o)=>{var s=this.h.rightHandWorldLandmarks;n=Hr(n),s.push(Wi(n)),v(this,o)}),this.g.attachEmptyPacketListener("right_hand_world_landmarks",n=>{v(this,n)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};W.prototype.detectForVideo=W.prototype.F,W.prototype.detect=W.prototype.D,W.prototype.setOptions=W.prototype.o,W.createFromModelPath=function(e,t){return I(W,e,{baseOptions:{modelAssetPath:t}})},W.createFromModelBuffer=function(e,t){return I(W,e,{baseOptions:{modelAssetBuffer:t}})},W.createFromOptions=function(e,t){return I(W,e,t)},W.HAND_CONNECTIONS=qc,W.POSE_CONNECTIONS=Mp,W.FACE_LANDMARKS_LIPS=jc,W.FACE_LANDMARKS_LEFT_EYE=Vc,W.FACE_LANDMARKS_LEFT_EYEBROW=zc,W.FACE_LANDMARKS_LEFT_IRIS=Bp,W.FACE_LANDMARKS_RIGHT_EYE=Gc,W.FACE_LANDMARKS_RIGHT_EYEBROW=Hc,W.FACE_LANDMARKS_RIGHT_IRIS=Fp,W.FACE_LANDMARKS_FACE_OVAL=Wc,W.FACE_LANDMARKS_CONTOURS=Lp,W.FACE_LANDMARKS_TESSELATION=Up;var qe=class extends Pe{constructor(e,t){super(new Ze(e,t),"input_image","norm_rect",!0),this.j={classifications:[]},A(e=this.h=new bp,0,1,t=new $)}get baseOptions(){return L(this.h,$,1)}set baseOptions(e){A(this.h,0,1,e)}o(e){return A(this.h,0,2,Fa(e,L(this.h,Tc,2))),this.l(e)}sa(e,t){return this.j={classifications:[]},Qe(this,e,t),this.j}ta(e,t,r){return this.j={classifications:[]},Et(this,e,r,t),this.j}m(){var e=new Ie;H(e,"input_image"),H(e,"norm_rect"),U(e,"classifications");let t=new je;at(t,x2,this.h);let r=new ve;ze(r,"mediapipe.tasks.vision.image_classifier.ImageClassifierGraph"),z(r,"IMAGE:input_image"),z(r,"NORM_RECT:norm_rect"),B(r,"CLASSIFICATIONS:classifications"),r.o(t),Ge(e,r),this.g.attachProtoListener("classifications",(i,n)=>{this.j=function(o){let s={classifications:Ut(o,h2,1).map(a=>Lc(L(a,Yh,4)?.g()??[],Xe(a,2)??0,Je(a,3)??""))};return fo(Jr(o,2))!=null&&(s.timestampMs=fo(Jr(o,2))??0),s}(p2(i)),v(this,n)}),this.g.attachEmptyPacketListener("classifications",i=>{v(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};qe.prototype.classifyForVideo=qe.prototype.ta,qe.prototype.classify=qe.prototype.sa,qe.prototype.setOptions=qe.prototype.o,qe.createFromModelPath=function(e,t){return I(qe,e,{baseOptions:{modelAssetPath:t}})},qe.createFromModelBuffer=function(e,t){return I(qe,e,{baseOptions:{modelAssetBuffer:t}})},qe.createFromOptions=function(e,t){return I(qe,e,t)};var Me=class extends Pe{constructor(e,t){super(new Ze(e,t),"image_in","norm_rect",!0),this.h=new vp,this.embeddings={embeddings:[]},A(e=this.h,0,1,t=new $)}get baseOptions(){return L(this.h,$,1)}set baseOptions(e){A(this.h,0,1,e)}o(e){var t=this.h,r=L(this.h,pu,2);return r=r?r.clone():new pu,e.l2Normalize!==void 0?Xi(r,1,e.l2Normalize):"l2Normalize"in e&&V(r,1),e.quantize!==void 0?Xi(r,2,e.quantize):"quantize"in e&&V(r,2),A(t,0,2,r),this.l(e)}za(e,t){return Qe(this,e,t),this.embeddings}Aa(e,t,r){return Et(this,e,r,t),this.embeddings}m(){var e=new Ie;H(e,"image_in"),H(e,"norm_rect"),U(e,"embeddings_out");let t=new je;at(t,C2,this.h);let r=new ve;ze(r,"mediapipe.tasks.vision.image_embedder.ImageEmbedderGraph"),z(r,"IMAGE:image_in"),z(r,"NORM_RECT:norm_rect"),B(r,"EMBEDDINGS:embeddings_out"),r.o(t),Ge(e,r),this.g.attachProtoListener("embeddings_out",(i,n)=>{i=g2(i),this.embeddings=function(o){return{embeddings:Ut(o,f2,1).map(s=>{let a={headIndex:Xe(s,3)??0??-1,headName:Je(s,4)??""??""};if(gh(s,hu,fa(s,1))!==void 0)s=yr(s=L(s,hu,fa(s,1)),1,rr,gr()),a.floatEmbedding=s.slice();else{let c=new Uint8Array(0);a.quantizedEmbedding=L(s,m2,fa(s,2))?.oa()?.h()??c}return a}),timestampMs:fo(Jr(o,2))??0}}(i),v(this,n)}),this.g.attachEmptyPacketListener("embeddings_out",i=>{v(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Me.cosineSimilarity=function(e,t){if(e.floatEmbedding&&t.floatEmbedding)e=bu(e.floatEmbedding,t.floatEmbedding);else{if(!e.quantizedEmbedding||!t.quantizedEmbedding)throw Error("Cannot compute cosine similarity between quantized and float embeddings.");e=bu(yu(e.quantizedEmbedding),yu(t.quantizedEmbedding))}return e},Me.prototype.embedForVideo=Me.prototype.Aa,Me.prototype.embed=Me.prototype.za,Me.prototype.setOptions=Me.prototype.o,Me.createFromModelPath=function(e,t){return I(Me,e,{baseOptions:{modelAssetPath:t}})},Me.createFromModelBuffer=function(e,t){return I(Me,e,{baseOptions:{modelAssetBuffer:t}})},Me.createFromOptions=function(e,t){return I(Me,e,t)};var Na=class{constructor(e,t,r){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=r}close(){this.confidenceMasks?.forEach(e=>{e.close()}),this.categoryMask?.close()}};function ju(e){e.categoryMask=void 0,e.confidenceMasks=void 0,e.qualityScores=void 0}function Vu(e){try{let t=new Na(e.confidenceMasks,e.categoryMask,e.qualityScores);if(!e.j)return t;e.j(t)}finally{Ho(e)}}Na.prototype.close=Na.prototype.close;var xe=class extends Pe{constructor(e,t){super(new Ze(e,t),"image_in","norm_rect",!1),this.s=[],this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new Fc,this.v=new wp,A(this.h,0,3,this.v),A(e=this.h,0,1,t=new $)}get baseOptions(){return L(this.h,$,1)}set baseOptions(e){A(this.h,0,1,e)}o(e){return e.displayNamesLocale!==void 0?V(this.h,2,ni(e.displayNamesLocale)):"displayNamesLocale"in e&&V(this.h,2),"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}I(){(function(e){let t=Ut(e.da(),ve,1).filter(r=>(Je(r,1)??"").includes("mediapipe.tasks.TensorsToSegmentationCalculator"));if(e.s=[],t.length>1)throw Error("The graph has more than one mediapipe.tasks.TensorsToSegmentationCalculator.");t.length===1&&(L(t[0],je,7)?.l()?.g()??new Map).forEach((r,i)=>{e.s[Number(i)]=Je(r,1)??""})})(this)}segment(e,t,r){let i=typeof t!="function"?t:{};return this.j=typeof t=="function"?t:r,ju(this),Qe(this,e,i),Vu(this)}Ma(e,t,r,i){let n=typeof r!="function"?r:{};return this.j=typeof r=="function"?r:i,ju(this),Et(this,e,n,t),Vu(this)}Da(){return this.s}m(){var e=new Ie;H(e,"image_in"),H(e,"norm_rect");let t=new je;at(t,kp,this.h);let r=new ve;ze(r,"mediapipe.tasks.vision.image_segmenter.ImageSegmenterGraph"),z(r,"IMAGE:image_in"),z(r,"NORM_RECT:norm_rect"),r.o(t),Ge(e,r),Go(this,e),this.outputConfidenceMasks&&(U(e,"confidence_masks"),B(r,"CONFIDENCE_MASKS:confidence_masks"),Zr(this,"confidence_masks"),this.g.ca("confidence_masks",(i,n)=>{this.confidenceMasks=i.map(o=>ti(this,o,!0,!this.j)),v(this,n)}),this.g.attachEmptyPacketListener("confidence_masks",i=>{this.confidenceMasks=[],v(this,i)})),this.outputCategoryMask&&(U(e,"category_mask"),B(r,"CATEGORY_MASK:category_mask"),Zr(this,"category_mask"),this.g.U("category_mask",(i,n)=>{this.categoryMask=ti(this,i,!1,!this.j),v(this,n)}),this.g.attachEmptyPacketListener("category_mask",i=>{this.categoryMask=void 0,v(this,i)})),U(e,"quality_scores"),B(r,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",(i,n)=>{this.qualityScores=i,v(this,n)}),this.g.attachEmptyPacketListener("quality_scores",i=>{this.categoryMask=void 0,v(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};xe.prototype.getLabels=xe.prototype.Da,xe.prototype.segmentForVideo=xe.prototype.Ma,xe.prototype.segment=xe.prototype.segment,xe.prototype.setOptions=xe.prototype.o,xe.createFromModelPath=function(e,t){return I(xe,e,{baseOptions:{modelAssetPath:t}})},xe.createFromModelBuffer=function(e,t){return I(xe,e,{baseOptions:{modelAssetBuffer:t}})},xe.createFromOptions=function(e,t){return I(xe,e,t)};var ja=class{constructor(e,t,r){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=r}close(){this.confidenceMasks?.forEach(e=>{e.close()}),this.categoryMask?.close()}};ja.prototype.close=ja.prototype.close;var U2=class extends w{constructor(e){super(e)}},Mr=[0,Q,-2],wo=[0,Dt,-3,q,Dt,-1],zu=[0,wo],Gu=[0,wo,Q,-1],ka=class extends w{constructor(e){super(e)}},Hu=[0,Dt,-1,q],M2=class extends w{constructor(e){super(e)}},Wu=class extends w{constructor(e){super(e)}},Va=[1,2,3,4,5,6,7,8,9,10,14,15],Np=class extends w{constructor(e){super(e)}};Np.prototype.g=No([0,le,[0,Va,N,wo,N,[0,wo,Mr],N,zu,N,[0,zu,Mr],N,Hu,N,[0,Dt,-3,q,Ye],N,[0,Dt,-3,q],N,[0,M,Dt,-2,q,Q,q,-1,2,Dt,Mr],N,Gu,N,[0,Gu,Mr],Dt,Mr,M,N,[0,Dt,-3,q,Mr,-1],N,[0,le,Hu]],M,[0,M,Q,-1,q]]);var wt=class extends Pe{constructor(e,t){super(new Ze(e,t),"image_in","norm_rect_in",!1),this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new Fc,this.s=new wp,A(this.h,0,3,this.s),A(e=this.h,0,1,t=new $)}get baseOptions(){return L(this.h,$,1)}set baseOptions(e){A(this.h,0,1,e)}o(e){return"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}segment(e,t,r,i){let n=typeof r!="function"?r:{};this.j=typeof r=="function"?r:i,this.qualityScores=this.categoryMask=this.confidenceMasks=void 0,r=this.B+1,i=new Np;let o=new Wu;var s=new U2;if(kt(s,1,255),A(o,0,12,s),t.keypoint&&t.scribble)throw Error("Cannot provide both keypoint and scribble.");if(t.keypoint){var a=new ka;Xi(a,3,!0),S(a,1,t.keypoint.x),S(a,2,t.keypoint.y),Gi(o,5,Va,a)}else{if(!t.scribble)throw Error("Must provide either a keypoint or a scribble.");for(a of(s=new M2,t.scribble))Xi(t=new ka,3,!0),S(t,1,a.x),S(t,2,a.y),go(s,1,ka,t);Gi(o,15,Va,s)}go(i,1,Wu,o),this.g.addProtoToStream(i.g(),"drishti.RenderData","roi_in",r),Qe(this,e,n);e:{try{let l=new ja(this.confidenceMasks,this.categoryMask,this.qualityScores);if(!this.j){var c=l;break e}this.j(l)}finally{Ho(this)}c=void 0}return c}m(){var e=new Ie;H(e,"image_in"),H(e,"roi_in"),H(e,"norm_rect_in");let t=new je;at(t,kp,this.h);let r=new ve;ze(r,"mediapipe.tasks.vision.interactive_segmenter.InteractiveSegmenterGraph"),z(r,"IMAGE:image_in"),z(r,"ROI:roi_in"),z(r,"NORM_RECT:norm_rect_in"),r.o(t),Ge(e,r),Go(this,e),this.outputConfidenceMasks&&(U(e,"confidence_masks"),B(r,"CONFIDENCE_MASKS:confidence_masks"),Zr(this,"confidence_masks"),this.g.ca("confidence_masks",(i,n)=>{this.confidenceMasks=i.map(o=>ti(this,o,!0,!this.j)),v(this,n)}),this.g.attachEmptyPacketListener("confidence_masks",i=>{this.confidenceMasks=[],v(this,i)})),this.outputCategoryMask&&(U(e,"category_mask"),B(r,"CATEGORY_MASK:category_mask"),Zr(this,"category_mask"),this.g.U("category_mask",(i,n)=>{this.categoryMask=ti(this,i,!1,!this.j),v(this,n)}),this.g.attachEmptyPacketListener("category_mask",i=>{this.categoryMask=void 0,v(this,i)})),U(e,"quality_scores"),B(r,"QUALITY_SCORES:quality_scores"),this.g.attachFloatVectorListener("quality_scores",(i,n)=>{this.qualityScores=i,v(this,n)}),this.g.attachEmptyPacketListener("quality_scores",i=>{this.categoryMask=void 0,v(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};wt.prototype.segment=wt.prototype.segment,wt.prototype.setOptions=wt.prototype.o,wt.createFromModelPath=function(e,t){return I(wt,e,{baseOptions:{modelAssetPath:t}})},wt.createFromModelBuffer=function(e,t){return I(wt,e,{baseOptions:{modelAssetBuffer:t}})},wt.createFromOptions=function(e,t){return I(wt,e,t)};var Te=class extends Pe{constructor(e,t){super(new Ze(e,t),"input_frame_gpu","norm_rect",!1),this.j={detections:[]},A(e=this.h=new Ep,0,1,t=new $)}get baseOptions(){return L(this.h,$,1)}set baseOptions(e){A(this.h,0,1,e)}o(e){return e.displayNamesLocale!==void 0?V(this.h,2,ni(e.displayNamesLocale)):"displayNamesLocale"in e&&V(this.h,2),e.maxResults!==void 0?kt(this.h,3,e.maxResults):"maxResults"in e&&V(this.h,3),e.scoreThreshold!==void 0?S(this.h,4,e.scoreThreshold):"scoreThreshold"in e&&V(this.h,4),e.categoryAllowlist!==void 0?yo(this.h,5,e.categoryAllowlist):"categoryAllowlist"in e&&V(this.h,5),e.categoryDenylist!==void 0?yo(this.h,6,e.categoryDenylist):"categoryDenylist"in e&&V(this.h,6),this.l(e)}D(e,t){return this.j={detections:[]},Qe(this,e,t),this.j}F(e,t,r){return this.j={detections:[]},Et(this,e,r,t),this.j}m(){var e=new Ie;H(e,"input_frame_gpu"),H(e,"norm_rect"),U(e,"detections");let t=new je;at(t,R2,this.h);let r=new ve;ze(r,"mediapipe.tasks.vision.ObjectDetectorGraph"),z(r,"IMAGE:input_frame_gpu"),z(r,"NORM_RECT:norm_rect"),B(r,"DETECTIONS:detections"),r.o(t),Ge(e,r),this.g.attachProtoVectorListener("detections",(i,n)=>{for(let o of i)i=Qh(o),this.j.detections.push(Ap(i));v(this,n)}),this.g.attachEmptyPacketListener("detections",i=>{v(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Te.prototype.detectForVideo=Te.prototype.F,Te.prototype.detect=Te.prototype.D,Te.prototype.setOptions=Te.prototype.o,Te.createFromModelPath=async function(e,t){return I(Te,e,{baseOptions:{modelAssetPath:t}})},Te.createFromModelBuffer=function(e,t){return I(Te,e,{baseOptions:{modelAssetBuffer:t}})},Te.createFromOptions=function(e,t){return I(Te,e,t)};var za=class{constructor(e,t,r){this.landmarks=e,this.worldLandmarks=t,this.segmentationMasks=r}close(){this.segmentationMasks?.forEach(e=>{e.close()})}};function qu(e){e.landmarks=[],e.worldLandmarks=[],e.segmentationMasks=void 0}function $u(e){try{let t=new za(e.landmarks,e.worldLandmarks,e.segmentationMasks);if(!e.s)return t;e.s(t)}finally{Ho(e)}}za.prototype.close=za.prototype.close;var Ne=class extends Pe{constructor(e,t){super(new Ze(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.outputSegmentationMasks=!1,A(e=this.h=new _p,0,1,t=new $),this.v=new gp,A(this.h,0,3,this.v),this.j=new fp,A(this.h,0,2,this.j),kt(this.j,4,1),S(this.j,2,.5),S(this.v,2,.5),S(this.h,4,.5)}get baseOptions(){return L(this.h,$,1)}set baseOptions(e){A(this.h,0,1,e)}o(e){return"numPoses"in e&&kt(this.j,4,e.numPoses??1),"minPoseDetectionConfidence"in e&&S(this.j,2,e.minPoseDetectionConfidence??.5),"minTrackingConfidence"in e&&S(this.h,4,e.minTrackingConfidence??.5),"minPosePresenceConfidence"in e&&S(this.v,2,e.minPosePresenceConfidence??.5),"outputSegmentationMasks"in e&&(this.outputSegmentationMasks=e.outputSegmentationMasks??!1),this.l(e)}D(e,t,r){let i=typeof t!="function"?t:{};return this.s=typeof t=="function"?t:r,qu(this),Qe(this,e,i),$u(this)}F(e,t,r,i){let n=typeof r!="function"?r:{};return this.s=typeof r=="function"?r:i,qu(this),Et(this,e,n,t),$u(this)}m(){var e=new Ie;H(e,"image_in"),H(e,"norm_rect"),U(e,"normalized_landmarks"),U(e,"world_landmarks"),U(e,"segmentation_masks");let t=new je;at(t,P2,this.h);let r=new ve;ze(r,"mediapipe.tasks.vision.pose_landmarker.PoseLandmarkerGraph"),z(r,"IMAGE:image_in"),z(r,"NORM_RECT:norm_rect"),B(r,"NORM_LANDMARKS:normalized_landmarks"),B(r,"WORLD_LANDMARKS:world_landmarks"),r.o(t),Ge(e,r),Go(this,e),this.g.attachProtoVectorListener("normalized_landmarks",(i,n)=>{this.landmarks=[];for(let o of i)i=tn(o),this.landmarks.push(zo(i));v(this,n)}),this.g.attachEmptyPacketListener("normalized_landmarks",i=>{this.landmarks=[],v(this,i)}),this.g.attachProtoVectorListener("world_landmarks",(i,n)=>{this.worldLandmarks=[];for(let o of i)i=Hr(o),this.worldLandmarks.push(Wi(i));v(this,n)}),this.g.attachEmptyPacketListener("world_landmarks",i=>{this.worldLandmarks=[],v(this,i)}),this.outputSegmentationMasks&&(B(r,"SEGMENTATION_MASK:segmentation_masks"),Zr(this,"segmentation_masks"),this.g.ca("segmentation_masks",(i,n)=>{this.segmentationMasks=i.map(o=>ti(this,o,!0,!this.s)),v(this,n)}),this.g.attachEmptyPacketListener("segmentation_masks",i=>{this.segmentationMasks=[],v(this,i)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ne.prototype.detectForVideo=Ne.prototype.F,Ne.prototype.detect=Ne.prototype.D,Ne.prototype.setOptions=Ne.prototype.o,Ne.createFromModelPath=function(e,t){return I(Ne,e,{baseOptions:{modelAssetPath:t}})},Ne.createFromModelBuffer=function(e,t){return I(Ne,e,{baseOptions:{modelAssetBuffer:t}})},Ne.createFromOptions=function(e,t){return I(Ne,e,t)},Ne.POSE_CONNECTIONS=Mp;var ui=class{constructor(t,r,i,n,o="videoPreviewFrameDetection",s="liveViewFrameDetection"){this.options={onRealtimeAlertsCallback:t=>{}};this.children=[];this.runningMode="VIDEO";this.detecting=!1;this.createdVideo=!1;this.lastVideoTime=-1;this.lastExecutionDate=Date.now();this.detectorType=t,this.modelAssetPath=r,this.classVideo=o,this.classDiv=s,n&&(this.paramsConfig=n),i&&(this.options=i)}async initializeDetector(){let t=await $t.forVisionTasks("https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.2/wasm");this.detector=await(this.detectorType==="FaceDetector"?Ce:Te).createFromOptions(t,{baseOptions:{modelAssetPath:this.modelAssetPath,delegate:"CPU"},scoreThreshold:this.detectorType==="ObjectDetector"?.5:0,runningMode:this.runningMode})}stopDetection(){this.animationFrameId&&clearTimeout(this.animationFrameId),this.detecting=!1,this.liveView=document.getElementById(this.classDiv),this.liveView&&this.classDiv==="liveViewFrameDetection"&&document.body.removeChild(this.liveView),this.createdVideo&&this.video&&document.body.removeChild(this.video),this.createdVideo=!1}enableCam(t){if(!this.detector){console.log("Wait! Detector not loaded yet.");return}this.detecting=!0,this.error=document.getElementById("errorFrameDetection"),this.video=document.getElementById(this.classVideo),this.liveView=document.getElementById(this.classDiv),this.video||(this.video=document.createElement("video"),this.video.setAttribute("id",this.classVideo),this.video.setAttribute("style",`
49
42
  width: 20rem;
50
43
  border-radius: 10px;
51
44
  position: absolute;
52
45
  top: 0;
53
46
  display: none;
54
- `),this.video.muted=!0,document.body.appendChild(this.video),this.createdVideo=!0),t&&!this.video.srcObject&&(this.video.srcObject=t),this.video.play();let r=this;this.video?.addEventListener("loadeddata",()=>r.predictWebcam());let n=document.createElement("style");n.type="text/css",n.innerHTML=`
47
+ `),this.video.muted=!0,document.body.appendChild(this.video),this.createdVideo=!0),t&&!this.video.srcObject&&(this.video.srcObject=t),this.video.play();let r=this;this.video?.addEventListener("loadeddata",()=>r.predictWebcam());let i=document.createElement("style");i.type="text/css",i.innerHTML=`
55
48
  .key-point {
56
49
  position: absolute;
57
50
  z-index: 1;
@@ -62,25 +55,25 @@ Minimum version required to store current data is: `+i+`.
62
55
  border-radius: 50%;
63
56
  display: block;
64
57
  }
65
- `,document.getElementsByTagName("head")[0].appendChild(n)}async predictWebcam(){if(this.lastVideoTime===-1&&await this.detector.setOptions({runningMode:"VIDEO"}),Date.now()-this.lastExecutionDate>=1e3){let r=Date.now();if(this.lastExecutionDate=r,this.video.currentTime!==this.lastVideoTime){this.lastVideoTime=this.video.currentTime;let n=this.detector.detectForVideo(this.video,r);this.verify(n)}}this.animationFrameId=setTimeout(()=>{this.predictWebcam()},0)}handleAlert(t,r){this.options.onRealtimeAlertsCallback&&this.options.onRealtimeAlertsCallback({status:"ALERT",description:this.alertTranslate(t),type:r}),this.error&&(this.error.innerText=t)}handleOk(t,r){this.options.onRealtimeAlertsCallback&&this.options.onRealtimeAlertsCallback({status:"OK",description:this.alertTranslate(t),type:r}),this.error&&(this.error.innerText="")}displayVideoDetections(t){}verify(t){}alertTranslate(t){switch(t){case"multiple_faces_detected":return"M\xFAltiplas faces detectadas";case"no_face_detected":return"Nenhuma face encontrada";case"multiple_persons_detected":return"M\xFAltiplas pessoas detectadas";case"no_person_detected":return"Nenhuma pessoa encontrada";case"cellphone_detected":return"Celular detectado";case"wrong_position_face_detected":return"Face na posi\xE7\xE3o errada";case"person_ok":return"Pessoa detectada";case"cellphone_ok":return"Nenhum celular detectadoa";case"face_ok":return"Face detectada";case"ok_position_face_detected":return"Face na posi\xE7\xE3o correta";default:return t}}};function Nm(){let e=document.createElement("div");e.setAttribute("id","liveViewFrameDetection");let t=document.createElement("erro");t.setAttribute("id","errorFrameDetection");let r=document.createElement("video");r.setAttribute("id","videoPreviewFrameDetection"),r.muted=!0,e.style.width="320px",e.style.height="180px",e.style.position="fixed",e.style.bottom="30px",e.style.right="30px",e.style.display="none",r.style.width="100%",r.style.height="100%",r.style.background="#000",e.appendChild(t),e.appendChild(r),document.body.appendChild(e)}var Hn=class extends Vn{constructor(r,n,o="videoPreviewFrameDetection",i="liveViewFrameDetection"){super("FaceDetector","https://storage.googleapis.com/mediapipe-models/face_detector/blaze_face_short_range/float16/1/blaze_face_short_range.tflite",r,n,o,i);this.emmitedPositionAlert=!1}displayVideoDetections(r){for(let n of this.children)this.liveView.removeChild(n);this.children.splice(0);for(let n of r.detections){let o=window.innerWidth,i=window.innerHeight,s=this.video.offsetWidth,a=this.video.offsetHeight,c=s/o,l=a/i,h=s-n.boundingBox.width*c-n.boundingBox.originX*c,u=n.boundingBox.originY*l,p=(n.boundingBox.width-10)*c,g=n.boundingBox.height*l,m=document.createElement("p");m.innerText="Confidence: "+Math.round(parseFloat(n.categories[0].score)*100)+"% .",m.style.right=h+"px",m.style.top=u-50+"px",m.style.width=p+"px";let y={zIndex:"2",position:"absolute",border:"1px dashed #fff"};Object.assign(m.style,{...y,margin:"0",fontSize:"9px",paddingBottom:"5px",paddingTop:"5px",color:"#fff",backgroundColor:"#007f8b"});let b=document.createElement("div");b.setAttribute("class","highlighter"),b.style.right=h+"px",b.style.top=u+"px",b.style.width=p+"px",b.style.height=g-10+"px",Object.assign(b.style,{...y,zIndex:"1",background:"rgba(0, 255, 0, 0.25)"}),this.liveView.appendChild(b),this.liveView.appendChild(m),this.children.push(b),this.children.push(m);for(let w of n.keypoints){let S=document.createElement("spam");S.className="key-point",S.style.top=`${w.y*this.video.offsetHeight-3}px`,S.style.right=`${this.video.offsetWidth-w.x*this.video.offsetWidth-3}px`,this.liveView.appendChild(S),this.children.push(S)}}}verify(r){this.paramsConfig.videoBehaviourParameters?.detectFace&&r.detections.length!==this.numFacesSent&&(this.numFacesSent=r.detections.length,r.detections.length===0?this.handleAlert("no_face_detected","face_detection_on_stream"):r.detections.length>1?this.handleAlert("multiple_faces_detected","face_detection_on_stream"):this.handleOk("face_ok","face_detection_on_stream"));let n=r.detections[0]?.keypoints[3].y-r.detections[0]?.keypoints[0].y;r.detections[0]?.keypoints[4].x<.2||r.detections[0]?.keypoints[5].x>.8?(!this.emmitedPositionAlert&&this.handleAlert("wrong_position_face_detected","position_detection_on_stream"),this.emmitedPositionAlert=!0):r.detections[0]?.keypoints[0].y<.2||r.detections[0]?.keypoints[0].y>.8?(!this.emmitedPositionAlert&&this.handleAlert("wrong_position_face_detected","position_detection_on_stream"),this.emmitedPositionAlert=!0):r.detections[0]?.keypoints[3].y<.4||r.detections[0]?.keypoints[3].y>.9?(!this.emmitedPositionAlert&&this.handleAlert("wrong_position_face_detected","position_detection_on_stream"),this.emmitedPositionAlert=!0):n>.35?(!this.emmitedPositionAlert&&this.handleAlert("wrong_position_face_detected","position_detection_on_stream"),this.emmitedPositionAlert=!0):(this.emmitedPositionAlert&&this.handleOk("ok_position_face_detected","position_detection_on_stream"),this.emmitedPositionAlert=!1)}};function $o(e,t){return function(){return e.apply(t,arguments)}}var{toString:z3}=Object.prototype,{getPrototypeOf:vh}=Object,Vs=(e=>t=>{let r=z3.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),xt=e=>(e=e.toLowerCase(),t=>Vs(t)===e),Hs=e=>t=>typeof t===e,{isArray:zn}=Array,Wo=Hs("undefined");function $3(e){return e!==null&&!Wo(e)&&e.constructor!==null&&!Wo(e.constructor)&&et(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var Vm=xt("ArrayBuffer");function W3(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Vm(e.buffer),t}var q3=Hs("string"),et=Hs("function"),Hm=Hs("number"),zs=e=>e!==null&&typeof e=="object",G3=e=>e===!0||e===!1,js=e=>{if(Vs(e)!=="object")return!1;let t=vh(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},K3=xt("Date"),X3=xt("File"),J3=xt("Blob"),Y3=xt("FileList"),Q3=e=>zs(e)&&et(e.pipe),Z3=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||et(e.append)&&((t=Vs(e))==="formdata"||t==="object"&&et(e.toString)&&e.toString()==="[object FormData]"))},eb=xt("URLSearchParams"),[tb,rb,nb,ob]=["ReadableStream","Request","Response","Headers"].map(xt),ib=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function qo(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let n,o;if(typeof e!="object"&&(e=[e]),zn(e))for(n=0,o=e.length;n<o;n++)t.call(null,e[n],n,e);else{let i=r?Object.getOwnPropertyNames(e):Object.keys(e),s=i.length,a;for(n=0;n<s;n++)a=i[n],t.call(null,e[a],a,e)}}function zm(e,t){t=t.toLowerCase();let r=Object.keys(e),n=r.length,o;for(;n-- >0;)if(o=r[n],t===o.toLowerCase())return o;return null}var qr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,$m=e=>!Wo(e)&&e!==qr;function wh(){let{caseless:e}=$m(this)&&this||{},t={},r=(n,o)=>{let i=e&&zm(t,o)||o;js(t[i])&&js(n)?t[i]=wh(t[i],n):js(n)?t[i]=wh({},n):zn(n)?t[i]=n.slice():t[i]=n};for(let n=0,o=arguments.length;n<o;n++)arguments[n]&&qo(arguments[n],r);return t}var sb=(e,t,r,{allOwnKeys:n}={})=>(qo(t,(o,i)=>{r&&et(o)?e[i]=$o(o,r):e[i]=o},{allOwnKeys:n}),e),ab=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),cb=(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},lb=(e,t,r,n)=>{let o,i,s,a={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)s=o[i],(!n||n(s,e,t))&&!a[s]&&(t[s]=e[s],a[s]=!0);e=r!==!1&&vh(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},hb=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;let n=e.indexOf(t,r);return n!==-1&&n===r},ub=e=>{if(!e)return null;if(zn(e))return e;let t=e.length;if(!Hm(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},db=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&vh(Uint8Array)),pb=(e,t)=>{let n=(e&&e[Symbol.iterator]).call(e),o;for(;(o=n.next())&&!o.done;){let i=o.value;t.call(e,i[0],i[1])}},fb=(e,t)=>{let r,n=[];for(;(r=e.exec(t))!==null;)n.push(r);return n},mb=xt("HTMLFormElement"),gb=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,o){return n.toUpperCase()+o}),jm=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),yb=xt("RegExp"),Wm=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),n={};qo(r,(o,i)=>{let s;(s=t(o,i,e))!==!1&&(n[i]=s||o)}),Object.defineProperties(e,n)},bb=e=>{Wm(e,(t,r)=>{if(et(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let n=e[r];if(et(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},wb=(e,t)=>{let r={},n=o=>{o.forEach(i=>{r[i]=!0})};return zn(e)?n(e):n(String(e).split(t)),r},vb=()=>{},_b=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function Sb(e){return!!(e&&et(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}var Eb=e=>{let t=new Array(10),r=(n,o)=>{if(zs(n)){if(t.indexOf(n)>=0)return;if(!("toJSON"in n)){t[o]=n;let i=zn(n)?[]:{};return qo(n,(s,a)=>{let c=r(s,o+1);!Wo(c)&&(i[a]=c)}),t[o]=void 0,i}}return n};return r(e,0)},kb=xt("AsyncFunction"),Cb=e=>e&&(zs(e)||et(e))&&et(e.then)&&et(e.catch),qm=((e,t)=>e?setImmediate:t?((r,n)=>(qr.addEventListener("message",({source:o,data:i})=>{o===qr&&i===r&&n.length&&n.shift()()},!1),o=>{n.push(o),qr.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",et(qr.postMessage)),Ab=typeof queueMicrotask<"u"?queueMicrotask.bind(qr):typeof process<"u"&&process.nextTick||qm,d={isArray:zn,isArrayBuffer:Vm,isBuffer:$3,isFormData:Z3,isArrayBufferView:W3,isString:q3,isNumber:Hm,isBoolean:G3,isObject:zs,isPlainObject:js,isReadableStream:tb,isRequest:rb,isResponse:nb,isHeaders:ob,isUndefined:Wo,isDate:K3,isFile:X3,isBlob:J3,isRegExp:yb,isFunction:et,isStream:Q3,isURLSearchParams:eb,isTypedArray:db,isFileList:Y3,forEach:qo,merge:wh,extend:sb,trim:ib,stripBOM:ab,inherits:cb,toFlatObject:lb,kindOf:Vs,kindOfTest:xt,endsWith:hb,toArray:ub,forEachEntry:pb,matchAll:fb,isHTMLForm:mb,hasOwnProperty:jm,hasOwnProp:jm,reduceDescriptors:Wm,freezeMethods:bb,toObjectSet:wb,toCamelCase:gb,noop:vb,toFiniteNumber:_b,findKey:zm,global:qr,isContextDefined:$m,isSpecCompliantForm:Sb,toJSONObject:Eb,isAsyncFn:kb,isThenable:Cb,setImmediate:qm,asap:Ab};function $n(e,t,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o,this.status=o.status?o.status:null)}d.inherits($n,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:d.toJSONObject(this.config),code:this.code,status:this.status}}});var Gm=$n.prototype,Km={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{Km[e]={value:e}});Object.defineProperties($n,Km);Object.defineProperty(Gm,"isAxiosError",{value:!0});$n.from=(e,t,r,n,o,i)=>{let s=Object.create(Gm);return d.toFlatObject(e,s,function(c){return c!==Error.prototype},a=>a!=="isAxiosError"),$n.call(s,e.message,t,r,n,o),s.cause=e,s.name=e.name,i&&Object.assign(s,i),s};var P=$n;var $s=null;function _h(e){return d.isPlainObject(e)||d.isArray(e)}function Jm(e){return d.endsWith(e,"[]")?e.slice(0,-2):e}function Xm(e,t,r){return e?e.concat(t).map(function(o,i){return o=Jm(o),!r&&i?"["+o+"]":o}).join(r?".":""):t}function xb(e){return d.isArray(e)&&!e.some(_h)}var Tb=d.toFlatObject(d,{},null,function(t){return/^is[A-Z]/.test(t)});function Ib(e,t,r){if(!d.isObject(e))throw new TypeError("target must be an object");t=t||new($s||FormData),r=d.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(y,b){return!d.isUndefined(b[y])});let n=r.metaTokens,o=r.visitor||h,i=r.dots,s=r.indexes,c=(r.Blob||typeof Blob<"u"&&Blob)&&d.isSpecCompliantForm(t);if(!d.isFunction(o))throw new TypeError("visitor must be a function");function l(m){if(m===null)return"";if(d.isDate(m))return m.toISOString();if(!c&&d.isBlob(m))throw new P("Blob is not supported. Use a Buffer instead.");return d.isArrayBuffer(m)||d.isTypedArray(m)?c&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function h(m,y,b){let w=m;if(m&&!b&&typeof m=="object"){if(d.endsWith(y,"{}"))y=n?y:y.slice(0,-2),m=JSON.stringify(m);else if(d.isArray(m)&&xb(m)||(d.isFileList(m)||d.endsWith(y,"[]"))&&(w=d.toArray(m)))return y=Jm(y),w.forEach(function(A,B){!(d.isUndefined(A)||A===null)&&t.append(s===!0?Xm([y],B,i):s===null?y:y+"[]",l(A))}),!1}return _h(m)?!0:(t.append(Xm(b,y,i),l(m)),!1)}let u=[],p=Object.assign(Tb,{defaultVisitor:h,convertValue:l,isVisitable:_h});function g(m,y){if(!d.isUndefined(m)){if(u.indexOf(m)!==-1)throw Error("Circular reference detected in "+y.join("."));u.push(m),d.forEach(m,function(w,S){(!(d.isUndefined(w)||w===null)&&o.call(t,w,d.isString(S)?S.trim():S,y,p))===!0&&g(w,y?y.concat(S):[S])}),u.pop()}}if(!d.isObject(e))throw new TypeError("data must be an object");return g(e),t}var Er=Ib;function Ym(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function Qm(e,t){this._pairs=[],e&&Er(e,this,t)}var Zm=Qm.prototype;Zm.append=function(t,r){this._pairs.push([t,r])};Zm.toString=function(t){let r=t?function(n){return t.call(this,n,Ym)}:Ym;return this._pairs.map(function(o){return r(o[0])+"="+r(o[1])},"").join("&")};var Ws=Qm;function Pb(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Go(e,t,r){if(!t)return e;let n=r&&r.encode||Pb;d.isFunction(r)&&(r={serialize:r});let o=r&&r.serialize,i;if(o?i=o(t,r):i=d.isURLSearchParams(t)?t.toString():new Ws(t,r).toString(n),i){let s=e.indexOf("#");s!==-1&&(e=e.slice(0,s)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}var Sh=class{constructor(){this.handlers=[]}use(t,r,n){return this.handlers.push({fulfilled:t,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){d.forEach(this.handlers,function(n){n!==null&&t(n)})}},Eh=Sh;var qs={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var eg=typeof URLSearchParams<"u"?URLSearchParams:Ws;var tg=typeof FormData<"u"?FormData:null;var rg=typeof Blob<"u"?Blob:null;var ng={isBrowser:!0,classes:{URLSearchParams:eg,FormData:tg,Blob:rg},protocols:["http","https","file","blob","url","data"]};var Ah={};gy(Ah,{hasBrowserEnv:()=>Ch,hasStandardBrowserEnv:()=>Rb,hasStandardBrowserWebWorkerEnv:()=>Db,navigator:()=>kh,origin:()=>Ob});var Ch=typeof window<"u"&&typeof document<"u",kh=typeof navigator=="object"&&navigator||void 0,Rb=Ch&&(!kh||["ReactNative","NativeScript","NS"].indexOf(kh.product)<0),Db=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Ob=Ch&&window.location.href||"http://localhost";var oe={...Ah,...ng};function xh(e,t){return Er(e,new oe.classes.URLSearchParams,Object.assign({visitor:function(r,n,o,i){return oe.isNode&&d.isBuffer(r)?(this.append(n,r.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},t))}function Bb(e){return d.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function Mb(e){let t={},r=Object.keys(e),n,o=r.length,i;for(n=0;n<o;n++)i=r[n],t[i]=e[i];return t}function Lb(e){function t(r,n,o,i){let s=r[i++];if(s==="__proto__")return!0;let a=Number.isFinite(+s),c=i>=r.length;return s=!s&&d.isArray(o)?o.length:s,c?(d.hasOwnProp(o,s)?o[s]=[o[s],n]:o[s]=n,!a):((!o[s]||!d.isObject(o[s]))&&(o[s]=[]),t(r,n,o[s],i)&&d.isArray(o[s])&&(o[s]=Mb(o[s])),!a)}if(d.isFormData(e)&&d.isFunction(e.entries)){let r={};return d.forEachEntry(e,(n,o)=>{t(Bb(n),o,r,0)}),r}return null}var Gs=Lb;function Ub(e,t,r){if(d.isString(e))try{return(t||JSON.parse)(e),d.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(e)}var Th={transitional:qs,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let n=r.getContentType()||"",o=n.indexOf("application/json")>-1,i=d.isObject(t);if(i&&d.isHTMLForm(t)&&(t=new FormData(t)),d.isFormData(t))return o?JSON.stringify(Gs(t)):t;if(d.isArrayBuffer(t)||d.isBuffer(t)||d.isStream(t)||d.isFile(t)||d.isBlob(t)||d.isReadableStream(t))return t;if(d.isArrayBufferView(t))return t.buffer;if(d.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return xh(t,this.formSerializer).toString();if((a=d.isFileList(t))||n.indexOf("multipart/form-data")>-1){let c=this.env&&this.env.FormData;return Er(a?{"files[]":t}:t,c&&new c,this.formSerializer)}}return i||o?(r.setContentType("application/json",!1),Ub(t)):t}],transformResponse:[function(t){let r=this.transitional||Th.transitional,n=r&&r.forcedJSONParsing,o=this.responseType==="json";if(d.isResponse(t)||d.isReadableStream(t))return t;if(t&&d.isString(t)&&(n&&!this.responseType||o)){let s=!(r&&r.silentJSONParsing)&&o;try{return JSON.parse(t)}catch(a){if(s)throw a.name==="SyntaxError"?P.from(a,P.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:oe.classes.FormData,Blob:oe.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};d.forEach(["delete","get","head","post","put","patch"],e=>{Th.headers[e]={}});var Wn=Th;var Fb=d.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),og=e=>{let t={},r,n,o;return e&&e.split(`
66
- `).forEach(function(s){o=s.indexOf(":"),r=s.substring(0,o).trim().toLowerCase(),n=s.substring(o+1).trim(),!(!r||t[r]&&Fb[r])&&(r==="set-cookie"?t[r]?t[r].push(n):t[r]=[n]:t[r]=t[r]?t[r]+", "+n:n)}),t};var ig=Symbol("internals");function Ko(e){return e&&String(e).trim().toLowerCase()}function Ks(e){return e===!1||e==null?e:d.isArray(e)?e.map(Ks):String(e)}function Nb(e){let t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,n;for(;n=r.exec(e);)t[n[1]]=n[2];return t}var jb=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Ih(e,t,r,n,o){if(d.isFunction(n))return n.call(this,t,r);if(o&&(t=r),!!d.isString(t)){if(d.isString(n))return t.indexOf(n)!==-1;if(d.isRegExp(n))return n.test(t)}}function Vb(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,n)=>r.toUpperCase()+n)}function Hb(e,t){let r=d.toCamelCase(" "+t);["get","set","has"].forEach(n=>{Object.defineProperty(e,n+r,{value:function(o,i,s){return this[n].call(this,t,o,i,s)},configurable:!0})})}var qn=class{constructor(t){t&&this.set(t)}set(t,r,n){let o=this;function i(a,c,l){let h=Ko(c);if(!h)throw new Error("header name must be a non-empty string");let u=d.findKey(o,h);(!u||o[u]===void 0||l===!0||l===void 0&&o[u]!==!1)&&(o[u||c]=Ks(a))}let s=(a,c)=>d.forEach(a,(l,h)=>i(l,h,c));if(d.isPlainObject(t)||t instanceof this.constructor)s(t,r);else if(d.isString(t)&&(t=t.trim())&&!jb(t))s(og(t),r);else if(d.isHeaders(t))for(let[a,c]of t.entries())i(c,a,n);else t!=null&&i(r,t,n);return this}get(t,r){if(t=Ko(t),t){let n=d.findKey(this,t);if(n){let o=this[n];if(!r)return o;if(r===!0)return Nb(o);if(d.isFunction(r))return r.call(this,o,n);if(d.isRegExp(r))return r.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=Ko(t),t){let n=d.findKey(this,t);return!!(n&&this[n]!==void 0&&(!r||Ih(this,this[n],n,r)))}return!1}delete(t,r){let n=this,o=!1;function i(s){if(s=Ko(s),s){let a=d.findKey(n,s);a&&(!r||Ih(n,n[a],a,r))&&(delete n[a],o=!0)}}return d.isArray(t)?t.forEach(i):i(t),o}clear(t){let r=Object.keys(this),n=r.length,o=!1;for(;n--;){let i=r[n];(!t||Ih(this,this[i],i,t,!0))&&(delete this[i],o=!0)}return o}normalize(t){let r=this,n={};return d.forEach(this,(o,i)=>{let s=d.findKey(n,i);if(s){r[s]=Ks(o),delete r[i];return}let a=t?Vb(i):String(i).trim();a!==i&&delete r[i],r[a]=Ks(o),n[a]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){let r=Object.create(null);return d.forEach(this,(n,o)=>{n!=null&&n!==!1&&(r[o]=t&&d.isArray(n)?n.join(", "):n)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(`
67
- `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...r){let n=new this(t);return r.forEach(o=>n.set(o)),n}static accessor(t){let n=(this[ig]=this[ig]={accessors:{}}).accessors,o=this.prototype;function i(s){let a=Ko(s);n[a]||(Hb(o,s),n[a]=!0)}return d.isArray(t)?t.forEach(i):i(t),this}};qn.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);d.reduceDescriptors(qn.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(n){this[r]=n}}});d.freezeMethods(qn);var Ee=qn;function Xo(e,t){let r=this||Wn,n=t||r,o=Ee.from(n.headers),i=n.data;return d.forEach(e,function(a){i=a.call(r,i,o.normalize(),t?t.status:void 0)}),o.normalize(),i}function Jo(e){return!!(e&&e.__CANCEL__)}function sg(e,t,r){P.call(this,e??"canceled",P.ERR_CANCELED,t,r),this.name="CanceledError"}d.inherits(sg,P,{__CANCEL__:!0});var Ht=sg;function Yo(e,t,r){let n=r.config.validateStatus;!r.status||!n||n(r.status)?e(r):t(new P("Request failed with status code "+r.status,[P.ERR_BAD_REQUEST,P.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function Ph(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function zb(e,t){e=e||10;let r=new Array(e),n=new Array(e),o=0,i=0,s;return t=t!==void 0?t:1e3,function(c){let l=Date.now(),h=n[i];s||(s=l),r[o]=c,n[o]=l;let u=i,p=0;for(;u!==o;)p+=r[u++],u=u%e;if(o=(o+1)%e,o===i&&(i=(i+1)%e),l-s<t)return;let g=h&&l-h;return g?Math.round(p*1e3/g):void 0}}var ag=zb;function $b(e,t){let r=0,n=1e3/t,o,i,s=(l,h=Date.now())=>{r=h,o=null,i&&(clearTimeout(i),i=null),e.apply(null,l)};return[(...l)=>{let h=Date.now(),u=h-r;u>=n?s(l,h):(o=l,i||(i=setTimeout(()=>{i=null,s(o)},n-u)))},()=>o&&s(o)]}var cg=$b;var Gn=(e,t,r=3)=>{let n=0,o=ag(50,250);return cg(i=>{let s=i.loaded,a=i.lengthComputable?i.total:void 0,c=s-n,l=o(c),h=s<=a;n=s;let u={loaded:s,total:a,progress:a?s/a:void 0,bytes:c,rate:l||void 0,estimated:l&&a&&h?(a-s)/l:void 0,event:i,lengthComputable:a!=null,[t?"download":"upload"]:!0};e(u)},r)},Rh=(e,t)=>{let r=e!=null;return[n=>t[0]({lengthComputable:r,total:e,loaded:n}),t[1]]},Dh=e=>(...t)=>d.asap(()=>e(...t));var lg=oe.hasStandardBrowserEnv?((e,t)=>r=>(r=new URL(r,oe.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)))(new URL(oe.origin),oe.navigator&&/(msie|trident)/i.test(oe.navigator.userAgent)):()=>!0;var hg=oe.hasStandardBrowserEnv?{write(e,t,r,n,o,i){let s=[e+"="+encodeURIComponent(t)];d.isNumber(r)&&s.push("expires="+new Date(r).toGMTString()),d.isString(n)&&s.push("path="+n),d.isString(o)&&s.push("domain="+o),i===!0&&s.push("secure"),document.cookie=s.join("; ")},read(e){let t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function Oh(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function Bh(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Qo(e,t,r){let n=!Oh(t);return e&&(n||r==!1)?Bh(e,t):t}var ug=e=>e instanceof Ee?{...e}:e;function Tt(e,t){t=t||{};let r={};function n(l,h,u,p){return d.isPlainObject(l)&&d.isPlainObject(h)?d.merge.call({caseless:p},l,h):d.isPlainObject(h)?d.merge({},h):d.isArray(h)?h.slice():h}function o(l,h,u,p){if(d.isUndefined(h)){if(!d.isUndefined(l))return n(void 0,l,u,p)}else return n(l,h,u,p)}function i(l,h){if(!d.isUndefined(h))return n(void 0,h)}function s(l,h){if(d.isUndefined(h)){if(!d.isUndefined(l))return n(void 0,l)}else return n(void 0,h)}function a(l,h,u){if(u in t)return n(l,h);if(u in e)return n(void 0,l)}let c={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(l,h,u)=>o(ug(l),ug(h),u,!0)};return d.forEach(Object.keys(Object.assign({},e,t)),function(h){let u=c[h]||o,p=u(e[h],t[h],h);d.isUndefined(p)&&u!==a||(r[h]=p)}),r}var Xs=e=>{let t=Tt({},e),{data:r,withXSRFToken:n,xsrfHeaderName:o,xsrfCookieName:i,headers:s,auth:a}=t;t.headers=s=Ee.from(s),t.url=Go(Qo(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),a&&s.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):"")));let c;if(d.isFormData(r)){if(oe.hasStandardBrowserEnv||oe.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if((c=s.getContentType())!==!1){let[l,...h]=c?c.split(";").map(u=>u.trim()).filter(Boolean):[];s.setContentType([l||"multipart/form-data",...h].join("; "))}}if(oe.hasStandardBrowserEnv&&(n&&d.isFunction(n)&&(n=n(t)),n||n!==!1&&lg(t.url))){let l=o&&i&&hg.read(i);l&&s.set(o,l)}return t};var Wb=typeof XMLHttpRequest<"u",dg=Wb&&function(e){return new Promise(function(r,n){let o=Xs(e),i=o.data,s=Ee.from(o.headers).normalize(),{responseType:a,onUploadProgress:c,onDownloadProgress:l}=o,h,u,p,g,m;function y(){g&&g(),m&&m(),o.cancelToken&&o.cancelToken.unsubscribe(h),o.signal&&o.signal.removeEventListener("abort",h)}let b=new XMLHttpRequest;b.open(o.method.toUpperCase(),o.url,!0),b.timeout=o.timeout;function w(){if(!b)return;let A=Ee.from("getAllResponseHeaders"in b&&b.getAllResponseHeaders()),O={data:!a||a==="text"||a==="json"?b.responseText:b.response,status:b.status,statusText:b.statusText,headers:A,config:e,request:b};Yo(function(de){r(de),y()},function(de){n(de),y()},O),b=null}"onloadend"in b?b.onloadend=w:b.onreadystatechange=function(){!b||b.readyState!==4||b.status===0&&!(b.responseURL&&b.responseURL.indexOf("file:")===0)||setTimeout(w)},b.onabort=function(){b&&(n(new P("Request aborted",P.ECONNABORTED,e,b)),b=null)},b.onerror=function(){n(new P("Network Error",P.ERR_NETWORK,e,b)),b=null},b.ontimeout=function(){let B=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded",O=o.transitional||qs;o.timeoutErrorMessage&&(B=o.timeoutErrorMessage),n(new P(B,O.clarifyTimeoutError?P.ETIMEDOUT:P.ECONNABORTED,e,b)),b=null},i===void 0&&s.setContentType(null),"setRequestHeader"in b&&d.forEach(s.toJSON(),function(B,O){b.setRequestHeader(O,B)}),d.isUndefined(o.withCredentials)||(b.withCredentials=!!o.withCredentials),a&&a!=="json"&&(b.responseType=o.responseType),l&&([p,m]=Gn(l,!0),b.addEventListener("progress",p)),c&&b.upload&&([u,g]=Gn(c),b.upload.addEventListener("progress",u),b.upload.addEventListener("loadend",g)),(o.cancelToken||o.signal)&&(h=A=>{b&&(n(!A||A.type?new Ht(null,e,b):A),b.abort(),b=null)},o.cancelToken&&o.cancelToken.subscribe(h),o.signal&&(o.signal.aborted?h():o.signal.addEventListener("abort",h)));let S=Ph(o.url);if(S&&oe.protocols.indexOf(S)===-1){n(new P("Unsupported protocol "+S+":",P.ERR_BAD_REQUEST,e));return}b.send(i||null)})};var qb=(e,t)=>{let{length:r}=e=e?e.filter(Boolean):[];if(t||r){let n=new AbortController,o,i=function(l){if(!o){o=!0,a();let h=l instanceof Error?l:this.reason;n.abort(h instanceof P?h:new Ht(h instanceof Error?h.message:h))}},s=t&&setTimeout(()=>{s=null,i(new P(`timeout ${t} of ms exceeded`,P.ETIMEDOUT))},t),a=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach(l=>{l.unsubscribe?l.unsubscribe(i):l.removeEventListener("abort",i)}),e=null)};e.forEach(l=>l.addEventListener("abort",i));let{signal:c}=n;return c.unsubscribe=()=>d.asap(a),c}},pg=qb;var Gb=function*(e,t){let r=e.byteLength;if(!t||r<t){yield e;return}let n=0,o;for(;n<r;)o=n+t,yield e.slice(n,o),n=o},Kb=async function*(e,t){for await(let r of Xb(e))yield*Gb(r,t)},Xb=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}let t=e.getReader();try{for(;;){let{done:r,value:n}=await t.read();if(r)break;yield n}}finally{await t.cancel()}},Mh=(e,t,r,n)=>{let o=Kb(e,t),i=0,s,a=c=>{s||(s=!0,n&&n(c))};return new ReadableStream({async pull(c){try{let{done:l,value:h}=await o.next();if(l){a(),c.close();return}let u=h.byteLength;if(r){let p=i+=u;r(p)}c.enqueue(new Uint8Array(h))}catch(l){throw a(l),l}},cancel(c){return a(c),o.return()}},{highWaterMark:2})};var Ys=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",mg=Ys&&typeof ReadableStream=="function",Jb=Ys&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),gg=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Yb=mg&&gg(()=>{let e=!1,t=new Request(oe.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),fg=64*1024,Lh=mg&&gg(()=>d.isReadableStream(new Response("").body)),Js={stream:Lh&&(e=>e.body)};Ys&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!Js[t]&&(Js[t]=d.isFunction(e[t])?r=>r[t]():(r,n)=>{throw new P(`Response type '${t}' is not supported`,P.ERR_NOT_SUPPORT,n)})})})(new Response);var Qb=async e=>{if(e==null)return 0;if(d.isBlob(e))return e.size;if(d.isSpecCompliantForm(e))return(await new Request(oe.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(d.isArrayBufferView(e)||d.isArrayBuffer(e))return e.byteLength;if(d.isURLSearchParams(e)&&(e=e+""),d.isString(e))return(await Jb(e)).byteLength},Zb=async(e,t)=>{let r=d.toFiniteNumber(e.getContentLength());return r??Qb(t)},yg=Ys&&(async e=>{let{url:t,method:r,data:n,signal:o,cancelToken:i,timeout:s,onDownloadProgress:a,onUploadProgress:c,responseType:l,headers:h,withCredentials:u="same-origin",fetchOptions:p}=Xs(e);l=l?(l+"").toLowerCase():"text";let g=pg([o,i&&i.toAbortSignal()],s),m,y=g&&g.unsubscribe&&(()=>{g.unsubscribe()}),b;try{if(c&&Yb&&r!=="get"&&r!=="head"&&(b=await Zb(h,n))!==0){let O=new Request(t,{method:"POST",body:n,duplex:"half"}),R;if(d.isFormData(n)&&(R=O.headers.get("content-type"))&&h.setContentType(R),O.body){let[de,se]=Rh(b,Gn(Dh(c)));n=Mh(O.body,fg,de,se)}}d.isString(u)||(u=u?"include":"omit");let w="credentials"in Request.prototype;m=new Request(t,{...p,signal:g,method:r.toUpperCase(),headers:h.normalize().toJSON(),body:n,duplex:"half",credentials:w?u:void 0});let S=await fetch(m),A=Lh&&(l==="stream"||l==="response");if(Lh&&(a||A&&y)){let O={};["status","statusText","headers"].forEach(wo=>{O[wo]=S[wo]});let R=d.toFiniteNumber(S.headers.get("content-length")),[de,se]=a&&Rh(R,Gn(Dh(a),!0))||[];S=new Response(Mh(S.body,fg,de,()=>{se&&se(),y&&y()}),O)}l=l||"text";let B=await Js[d.findKey(Js,l)||"text"](S,e);return!A&&y&&y(),await new Promise((O,R)=>{Yo(O,R,{data:B,headers:Ee.from(S.headers),status:S.status,statusText:S.statusText,config:e,request:m})})}catch(w){throw y&&y(),w&&w.name==="TypeError"&&/fetch/i.test(w.message)?Object.assign(new P("Network Error",P.ERR_NETWORK,e,m),{cause:w.cause||w}):P.from(w,w&&w.code,e,m)}});var Uh={http:$s,xhr:dg,fetch:yg};d.forEach(Uh,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});var bg=e=>`- ${e}`,e4=e=>d.isFunction(e)||e===null||e===!1,Qs={getAdapter:e=>{e=d.isArray(e)?e:[e];let{length:t}=e,r,n,o={};for(let i=0;i<t;i++){r=e[i];let s;if(n=r,!e4(r)&&(n=Uh[(s=String(r)).toLowerCase()],n===void 0))throw new P(`Unknown adapter '${s}'`);if(n)break;o[s||"#"+i]=n}if(!n){let i=Object.entries(o).map(([a,c])=>`adapter ${a} `+(c===!1?"is not supported by the environment":"is not available in the build")),s=t?i.length>1?`since :
68
- `+i.map(bg).join(`
69
- `):" "+bg(i[0]):"as no adapter specified";throw new P("There is no suitable adapter to dispatch the request "+s,"ERR_NOT_SUPPORT")}return n},adapters:Uh};function Fh(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Ht(null,e)}function Zs(e){return Fh(e),e.headers=Ee.from(e.headers),e.data=Xo.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Qs.getAdapter(e.adapter||Wn.adapter)(e).then(function(n){return Fh(e),n.data=Xo.call(e,e.transformResponse,n),n.headers=Ee.from(n.headers),n},function(n){return Jo(n)||(Fh(e),n&&n.response&&(n.response.data=Xo.call(e,e.transformResponse,n.response),n.response.headers=Ee.from(n.response.headers))),Promise.reject(n)})}var ea="1.8.4";var ta={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{ta[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}});var wg={};ta.transitional=function(t,r,n){function o(i,s){return"[Axios v"+ea+"] Transitional option '"+i+"'"+s+(n?". "+n:"")}return(i,s,a)=>{if(t===!1)throw new P(o(s," has been removed"+(r?" in "+r:"")),P.ERR_DEPRECATED);return r&&!wg[s]&&(wg[s]=!0,console.warn(o(s," has been deprecated since v"+r+" and will be removed in the near future"))),t?t(i,s,a):!0}};ta.spelling=function(t){return(r,n)=>(console.warn(`${n} is likely a misspelling of ${t}`),!0)};function t4(e,t,r){if(typeof e!="object")throw new P("options must be an object",P.ERR_BAD_OPTION_VALUE);let n=Object.keys(e),o=n.length;for(;o-- >0;){let i=n[o],s=t[i];if(s){let a=e[i],c=a===void 0||s(a,i,e);if(c!==!0)throw new P("option "+i+" must be "+c,P.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new P("Unknown option "+i,P.ERR_BAD_OPTION)}}var Zo={assertOptions:t4,validators:ta};var zt=Zo.validators,Kn=class{constructor(t){this.defaults=t,this.interceptors={request:new Eh,response:new Eh}}async request(t,r){try{return await this._request(t,r)}catch(n){if(n instanceof Error){let o={};Error.captureStackTrace?Error.captureStackTrace(o):o=new Error;let i=o.stack?o.stack.replace(/^.+\n/,""):"";try{n.stack?i&&!String(n.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(n.stack+=`
70
- `+i):n.stack=i}catch{}}throw n}}_request(t,r){typeof t=="string"?(r=r||{},r.url=t):r=t||{},r=Tt(this.defaults,r);let{transitional:n,paramsSerializer:o,headers:i}=r;n!==void 0&&Zo.assertOptions(n,{silentJSONParsing:zt.transitional(zt.boolean),forcedJSONParsing:zt.transitional(zt.boolean),clarifyTimeoutError:zt.transitional(zt.boolean)},!1),o!=null&&(d.isFunction(o)?r.paramsSerializer={serialize:o}:Zo.assertOptions(o,{encode:zt.function,serialize:zt.function},!0)),r.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?r.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:r.allowAbsoluteUrls=!0),Zo.assertOptions(r,{baseUrl:zt.spelling("baseURL"),withXsrfToken:zt.spelling("withXSRFToken")},!0),r.method=(r.method||this.defaults.method||"get").toLowerCase();let s=i&&d.merge(i.common,i[r.method]);i&&d.forEach(["delete","get","head","post","put","patch","common"],m=>{delete i[m]}),r.headers=Ee.concat(s,i);let a=[],c=!0;this.interceptors.request.forEach(function(y){typeof y.runWhen=="function"&&y.runWhen(r)===!1||(c=c&&y.synchronous,a.unshift(y.fulfilled,y.rejected))});let l=[];this.interceptors.response.forEach(function(y){l.push(y.fulfilled,y.rejected)});let h,u=0,p;if(!c){let m=[Zs.bind(this),void 0];for(m.unshift.apply(m,a),m.push.apply(m,l),p=m.length,h=Promise.resolve(r);u<p;)h=h.then(m[u++],m[u++]);return h}p=a.length;let g=r;for(u=0;u<p;){let m=a[u++],y=a[u++];try{g=m(g)}catch(b){y.call(this,b);break}}try{h=Zs.call(this,g)}catch(m){return Promise.reject(m)}for(u=0,p=l.length;u<p;)h=h.then(l[u++],l[u++]);return h}getUri(t){t=Tt(this.defaults,t);let r=Qo(t.baseURL,t.url,t.allowAbsoluteUrls);return Go(r,t.params,t.paramsSerializer)}};d.forEach(["delete","get","head","options"],function(t){Kn.prototype[t]=function(r,n){return this.request(Tt(n||{},{method:t,url:r,data:(n||{}).data}))}});d.forEach(["post","put","patch"],function(t){function r(n){return function(i,s,a){return this.request(Tt(a||{},{method:t,headers:n?{"Content-Type":"multipart/form-data"}:{},url:i,data:s}))}}Kn.prototype[t]=r(),Kn.prototype[t+"Form"]=r(!0)});var ei=Kn;var Nh=class e{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(i){r=i});let n=this;this.promise.then(o=>{if(!n._listeners)return;let i=n._listeners.length;for(;i-- >0;)n._listeners[i](o);n._listeners=null}),this.promise.then=o=>{let i,s=new Promise(a=>{n.subscribe(a),i=a}).then(o);return s.cancel=function(){n.unsubscribe(i)},s},t(function(i,s,a){n.reason||(n.reason=new Ht(i,s,a),r(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;let r=this._listeners.indexOf(t);r!==-1&&this._listeners.splice(r,1)}toAbortSignal(){let t=new AbortController,r=n=>{t.abort(n)};return this.subscribe(r),t.signal.unsubscribe=()=>this.unsubscribe(r),t.signal}static source(){let t;return{token:new e(function(o){t=o}),cancel:t}}},vg=Nh;function jh(e){return function(r){return e.apply(null,r)}}function Vh(e){return d.isObject(e)&&e.isAxiosError===!0}var Hh={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Hh).forEach(([e,t])=>{Hh[t]=e});var _g=Hh;function Sg(e){let t=new ei(e),r=$o(ei.prototype.request,t);return d.extend(r,ei.prototype,t,{allOwnKeys:!0}),d.extend(r,t,null,{allOwnKeys:!0}),r.create=function(o){return Sg(Tt(e,o))},r}var we=Sg(Wn);we.Axios=ei;we.CanceledError=Ht;we.CancelToken=vg;we.isCancel=Jo;we.VERSION=ea;we.toFormData=Er;we.AxiosError=P;we.Cancel=we.CanceledError;we.all=function(t){return Promise.all(t)};we.spread=jh;we.isAxiosError=Vh;we.mergeConfig=Tt;we.AxiosHeaders=Ee;we.formToJSON=e=>Gs(d.isHTMLForm(e)?new FormData(e):e);we.getAdapter=Qs.getAdapter;we.HttpStatusCode=_g;we.default=we;var $t=we;var{Axios:pC,AxiosError:fC,CanceledError:mC,isCancel:gC,CancelToken:yC,VERSION:bC,all:wC,Cancel:vC,isAxiosError:_C,spread:SC,toFormData:EC,AxiosHeaders:kC,HttpStatusCode:CC,formToJSON:AC,getAdapter:xC,mergeConfig:TC}=$t;var r4="https://proctoring-api-dev.easyproctor.tech/api",n4="https://proctoring-api-hml.easyproctor.tech/api",Eg="https://proctoring-api.easyproctor.tech/api",ft=class{constructor(t){this.options=t;this.baseUrl=this.selectBaseUrl(t.type),this.token=t.token}selectBaseUrl(t){return t==="dev"?r4:t==="homol"?n4:Eg}getSocketUrl(){return this.baseUrl.replace("/api","/hub/sockethub")}async loginAuth(t,r){return await this.makeRequest({path:"/Auth",method:"POST",body:{emailOrCpf:t,key:r}})}async externalCameraRegister(t){return await this.makeRequest({path:"/ExternalCamera/register",method:"POST",body:t,jwt:this.token})}async externalCameraStart(t){return await this.makeRequest({path:`/ExternalCamera/start/${t}`,method:"POST",body:{},jwt:this.token})}async externalCameraFinish(t){return await this.makeRequest({path:`/ExternalCamera/finish/${t}`,method:"POST",body:{},jwt:this.token})}async confirmStart(t,r,n,o){return await this.makeRequest({path:`/proctoring/start/${t.examId}`,method:"POST",body:{clientId:t.clientId,proctoringType:r,latitude:n,longitude:o},jwt:t.token})}async getParamsConfig(t){return(await this.makeRequestAxios({path:"/Client/params",method:"GET",jwt:t.token}).catch(n=>{throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde"})).data}async getSignedUrlImage(t,r){return(await this.makeRequestAxios({path:"/upload/signed-url-batch",method:"POST",jwt:t,body:r})).data}async getSignedUrl(t,r,n){return(await this.makeRequestAxios({path:"/upload/signed-url",method:"POST",jwt:t,body:{objectName:`${n}/${r.name}`,contentType:r.type}})).data}async saveAlerts(t,r){await this.makeRequest({path:"/proctoring/save-alerts",method:"POST",jwt:t.token,body:{proctoringId:r.id,alerts:r.alerts}})}async finishAndSendUrls(t,r){await this.makeRequest({path:`/proctoring/finish/${t.examId}`,method:"POST",body:{endDate:new Date().toISOString(),videoCameraUrl:"",audioCameraUrl:"",videoScreenUrl:""},jwt:t.token})}async log(t,r){let n;return r?.success!==null&&r?.success!==void 0?n=r.success?"4":"1":n="4",await this.makeRequest({path:"/Log",method:"POST",body:{entryType:n,eventName:t,message:r},jwt:this.token})}async signTerm(){return await this.makeRequest({path:"/User/sign-terms",method:"PATCH",body:{},jwt:this.token})}async signTermUrl(){return(await this.makeRequestAxios({path:"/User/sign-terms-url",method:"GET",jwt:this.token})).data}async getServerHour(t){return await this.makeRequest({path:"/Proctoring/server-hour",method:"GET",jwt:t})}async makeRequest(t){let{path:r,method:n,body:o,jwt:i}=t;console.log("jwt -> ",i);let s=await fetch(this.baseUrl+r,{method:n,body:o!=null?JSON.stringify(o):void 0,headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}});if(s.status>=400)throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde";let a=s.headers.get("content-type");return(a?a.includes("application/json"):!1)?await s.json():null}async makeRequestAxios(t){let{path:r,method:n,body:o,jwt:i}=t,s=await $t.request({url:this.baseUrl+r,method:n,headers:{Authorization:`Bearer ${i}`,"Access-Control-Allow-Origin":"*"},data:o});if(s.status>=400)throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde";return s}async makeRequestPUT(t){let{url:r,method:n,body:o,jwt:i}=t,s=await fetch(r,{method:n,body:o!=null?JSON.stringify(o):void 0,headers:{Accept:"*/*","Accept-Encoding":"gzip, deflate, br",Connection:"keep-alive","aeg-event-type":"Notification","Content-Type":"application/json","Cache-Control":"no-cache","x-ms-blob-type":"BlockBlob"}});if(s.status>=400)throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde";let a=s.headers.get("content-type");return(a?a.includes("application/json"):!1)?await s.json():null}};var ra=class{constructor(){this.baseUrl="https://localhost:5080"}async isAlive(){return(await this.makeRequestAxios({path:"/api/usb-device-manager/is-alive",method:"GET",jwt:this.token}).catch(r=>{throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde"})).data}async isPluggedIn(){return(await this.makeRequestAxios({path:"/api/usb-device-manager/is-plugged-in",method:"GET",jwt:this.token}).catch(r=>{throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde"})).data}async ConnectAndScan(){return(await this.makeRequestAxios({path:"/api/usb-device-manager/connect-and-scan",method:"GET",jwt:this.token}).catch(r=>{throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde"})).data}async Devices({deviceType:t,rssiThreshold:r,packageRateThreshold:n}){let o=[];return t&&o.push(`deviceType=${t}`),r&&o.push(`rssiThreshold=${r}`),n&&o.push(`packageRateThreshold=${n}`),(await this.makeRequestAxios({path:`/api/usb-device-manager/devices?${o.join("&")}`,method:"GET",jwt:this.token}).catch(s=>{throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde"})).data}async makeRequestAxios(t){let{path:r,method:n,body:o,jwt:i}=t,s=await $t.request({url:this.baseUrl+r,method:n,headers:{Authorization:`Bearer ${i}`,"Access-Control-Allow-Origin":"*"},data:o});if(s.status>=400)throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde";return s}};var Gr=class{constructor(){this.sessionDuration=0;this.state="Created",this.startedAt=new Date,this.alerts=[],this.recordings=[]}get hasSomethingToUpload(){for(let t of this.recordings)if(!t.upload)return!0;return!1}start(){this.state="Recording",this.startedAt=new Date(Date.now())}pause(){this.state="Paused"}resume(){this.state="Recording"}stop(){this.state="Ended",this.sessionDuration=Date.now()-this.startedAt.getTime()}setProctoringId(t){this.id=t}setEndConfirmed(){this.state="EndConfirmed"}setUploaded(){this.state="Uploaded"}setUploadConfirmed(){this.state="UploadConfirmed"}addAlert(t){this.alerts.push(t)}addRecording(t){this.recordings.push(t)}};var Xn=class{constructor(t,r){this.backendService=new ra;this.scanInterval=5;this.options={};this.options=r,this.context=t,this.backend=new ft({type:t?.type||"prod",token:t.token}),this.currentIsPlugged=!0}setProctoringId(t){this.proctoringId=t}async isPluggedIn(t=!1){try{let r=await this.backendService.isPluggedIn();if(this.proctoringId&&t)if(r)this.currentIsPlugged||this.options.onRealtimeAlertsCallback?.({type:"spycam",message:"Spycam disconnected",description:"Dispositivo de varredura conectado.",status:"OK"});else{let n=new Gr;n.setProctoringId(this.proctoringId),n.addAlert({begin:Date.now()-this.startTime.getTime(),end:0,alert:33,type:5}),await this.backend.saveAlerts(this.context,n),this.options.onRealtimeAlertsCallback?.({type:"spycam",message:"Spycam disconnected",description:"Nenhum dispositivo de varredura conectado.",status:"ALERT"})}return this.currentIsPlugged=r,this.currentIsPlugged}catch(r){throw r}}async isAlive(){try{return await this.backendService.isAlive()}catch(t){throw t}}connectAndScan(){return this.backendService.ConnectAndScan()}async devices({deviceType:t,rssiThreshold:r,packageRateThreshold:n}){let o=await this.backendService.Devices({deviceType:t,rssiThreshold:r,packageRateThreshold:n});if(o.length>0&&(this.options.onRealtimeAlertsCallback?.({type:"spycam",message:"Spycam detected",description:"Dispositivo espi\xE3o detectado.",data:o}),this.proctoringId)){let i=new Gr;i.setProctoringId(this.proctoringId),i.addAlert({begin:Date.now()-this.startTime.getTime(),end:0,alert:32,type:5}),await this.backend.saveAlerts(this.context,i)}return o}async startCheckSpyCam(t,{deviceType:r,rssiThreshold:n,packageRateThreshold:o}){this.scanInterval=t,this.startTime=new Date(Date.now()),await this.isPluggedIn(!0),this.checkSpyCam=setInterval(async()=>{await this.isPluggedIn(!0)&&await this.devices({deviceType:r,rssiThreshold:n,packageRateThreshold:o})},this.scanInterval*6e4)}stopCheckSpyCam(){clearInterval(this.checkSpyCam)}};var mt={cameraId:void 0,microphoneId:void 0,allowMultipleMonitors:!1,allowOnlyFirstMonitor:!0,captureScreen:!0,noiseLimit:40,proctoringType:"IMAGE",insights:"",onBufferSizeError:!1,useGeolocation:!1,useSpyScan:!1,useExternalCamera:!1};function na(e){return e.width&&e.height?{width:e.width,height:e.height,minWidth:e.minWidth,minHeight:e.minHeight}:{width:640,height:480}}var kg={width:1280,height:720,minWidth:640,minHeight:480};var oa,Cg=e=>(oa=e,oa),tt={START:"start",FINISH:"finish",ERROR:"error",UPLOAD:"upload",UPLOAD_FILE:"upload_file",DOWNLOAD_VIDEO:"download_video",BUFFER_SIZE:"buffer_size",ANOTHER_STREAM:"another_stream",CHANGE_DEVICE:"change_device",STOP_SHARING_SCREEN:"stop_sharing_screen",ERROR_RECORDER_RTC:"error_recorder_rtc",BROWSER_NOT_SUPPORTED:"browser_not_supported",SAVE_ON_SESSION:"save_on_session"},rt=(e,t)=>oa&&oa.log(e,t),N={registerStart:(e,t,r)=>rt(tt.START,{proctoringId:e,success:t,description:r}),registerFinish:(e,t,r)=>rt(tt.FINISH,{proctoringId:e,success:t,description:r}),registerError:(e,t)=>rt(tt.ERROR,{proctoringId:e,description:t}),registerBrowserNotSupported:(e,t)=>rt(tt.BROWSER_NOT_SUPPORTED,{proctoringId:e,description:t}),registerUpload:(e,t,r,n,o)=>rt(tt.UPLOAD,{proctoringId:e,success:t,description:r,serviceType:n,uploadTime:o}),registerUploadFile:(e,t,r)=>rt(tt.UPLOAD_FILE,{proctoringId:e,description:t,fileType:r}),registerChangeDevice:(e,t,r)=>rt(tt.CHANGE_DEVICE,{proctoringId:e,inOrOut:t,description:r}),registerStopSharingScreen:(e,t)=>rt(tt.STOP_SHARING_SCREEN,{proctoringId:e,description:t}),registerErrorRecorderRTC:(e,t)=>rt(tt.ERROR_RECORDER_RTC,{proctoringId:e,description:t}),registerDownloadFile:(e,t)=>rt(tt.DOWNLOAD_VIDEO,{proctoringId:e,description:t}),registerOnBufferSizeError:(e,t)=>rt(tt.BUFFER_SIZE,{proctoringId:e,description:t}),registerAnotherStream:(e,t)=>rt(tt.ANOTHER_STREAM,{proctoringId:e,description:t}),registerSaveOnSession:(e,t)=>rt(tt.SAVE_ON_SESSION,{proctoringId:e,description:t})};var ti;function ia(e){ti=e}function Kr(e,t,r=!1,n,o=!1){let i,s=!1,a,c,l;l=0;let h={mimeType:"video/webm",videoBitsPerSecond:128e3,audioBitsPerSecond:64*1e3};MediaRecorder.isTypeSupported("video/webm;codecs=vp9")?h.mimeType="video/webm;codecs=vp9":console.warn("vp9 codec not supported. Using default mimeType without vp9."),o&&(h={mimeType:"audio/webm",audioBitsPerSecond:64*1e3});let u=new MediaRecorder(e,h);u.ondataavailable=w=>{l=l+w.data.size,w.data.size>0&&t.push(w.data),s?(o&&u.state=="inactive"&&(t=[new Blob(t,{type:"audio/webm"})]),i&&i()):((c&&w.data.size===c.data.size||w.data.size===0)&&(ti&&c&&w.data.size===c.data.size&&N.registerOnBufferSizeError(ti,`onBufferSizeError: Recorder size freezed: ${w.data.size} Mb`),ti&&w.data.size===0&&N.registerOnBufferSizeError(ti,"onBufferSizeError: Recorder size equal 0 Mb"),n&&n()),c=w)};function p(){return new Promise(w=>{i=w,u.start(),l=0,s=!1,r&&(a=setInterval(async()=>{await u.requestData()},3e4))})}function g(){return new Promise(w=>{u.state=="recording"?(i=w,u.stop(),s=!0,clearInterval(a),e.getTracks().forEach(S=>{S.stop()})):w()})}function m(){return new Promise(w=>{u.state=="recording"&&u.pause(),w()})}function y(){return new Promise(w=>{u.state=="paused"&&u.resume(),w()})}function b(){return l}return{startRecording:p,stopRecording:g,pauseRecording:m,resumeRecording:y,recorderOptions:h,getBufferSize:b}}var ir=class{constructor(t,r){this.backend=r;this.imageUrlPackage=[];this.imageBatchNum=0;this.contImages=0;this.proctoringId=t}async uploadImages(t,r,n){let{file:o,onProgress:i}=t;try{let s=l=>{let h=l.loadedBytes/o.size*100;i&&i(Math.round(h))},a;if(this.imageBatchNum===this.contImages){let l=[];for(let u=this.imageBatchNum;u<this.imageBatchNum+60;u++){let p=`${this.proctoringId}/${this.proctoringId}_${u+1}.jpg`;(u+1)%n==0&&(p=`${this.proctoringId}/${this.proctoringId}_${u+1}_realtime.jpg`),l.push({objectName:p,contentType:"image/jpeg"})}(await this.backend.getSignedUrlImage(r,l)).map(u=>{this.imageUrlPackage.push(u)}),this.imageBatchNum+=60}let c=!1;return c=await $t.request({url:this.imageUrlPackage[this.contImages],method:"PUT",headers:{"Content-Type":o.type,"x-ms-blob-type":"BlockBlob"},data:o,onUploadProgress:l=>{s({loadedBytes:l.loaded})}}).then(l=>l.status==200||l.status==201?(this.contImages++,!0):!1).catch(()=>!1).finally(()=>{}),{storage:"upload",url:a,uploaded:c}}catch{throw N.registerError(this.proctoringId,`Failed to upload to AWS
71
- File name: ${o.name}
72
- File type: ${o.type}
73
- File size: ${o.size}`),new Error("Failed to upload to AWS")}}async upload(t,r,n){let{file:o,onProgress:i}=t;try{let s=l=>{let h=l.loadedBytes/o.size*100;i&&i(Math.round(h))},a;if(n){if(this.imageBatchNum===this.contImages){let l=[];for(let u=this.imageBatchNum;u<this.imageBatchNum+20;u++)l.push({objectName:`${this.proctoringId}/${this.proctoringId}_${u+1}.jpg`,contentType:"image/jpeg"});(await this.backend.getSignedUrlImage(r,l)).map(u=>{this.imageUrlPackage.push(u)}),this.imageBatchNum+=20}}else a=await this.backend.getSignedUrl(r,o,this.proctoringId);let c=!1;return n?c=await $t.request({url:this.imageUrlPackage[this.contImages],method:"PUT",headers:{"Content-Type":o.type,"x-ms-blob-type":"BlockBlob"},data:o,onUploadProgress:l=>{s({loadedBytes:l.loaded})}}).then(()=>!0).catch(()=>!1).finally(()=>{this.contImages++}):c=await $t.request({url:a,method:"PUT",headers:{"Content-Type":o.type,"x-ms-blob-type":"BlockBlob"},data:o,onUploadProgress:l=>{s({loadedBytes:l.loaded})}}).then(()=>!0).catch(()=>!1),{storage:"upload",url:a,uploaded:c}}catch{throw N.registerError(this.proctoringId,`Failed to upload to AWS
74
- File name: ${o.name}
75
- File type: ${o.type}
76
- File size: ${o.size}`),new Error("Failed to upload to AWS")}}};var Ag="not_shared_first_screen",xg="not_shared_screen",sa="multiple_monitors_detected",Tg="proctoring_already_started",aa="proctoring_not_started";var Ig="another_stream_active",Pg="stream_under_minimum_permitted",Rg="browser_not_supported",Dg="token_missing",Og="credentials_missing";var Bg="spy_scan_api_not_found",Mg="error_on_mobile_app_not_found";var ca=class extends Vn{constructor(t,r,n="videoPreviewFrameDetection",o="liveViewFrameDetection"){super("ObjectDetector","https://storage.googleapis.com/mediapipe-models/object_detector/efficientdet_lite0/float16/1/efficientdet_lite0.tflite",t,r,n,o)}displayVideoDetections(t){for(let r of this.children)this.liveView.removeChild(r);this.children.splice(0);for(let r of t.detections){let n=window.innerWidth,o=window.innerHeight,i=this.video.offsetWidth,s=this.video.offsetHeight,a=i/n,c=s/o,l=i-r.boundingBox.width*a-r.boundingBox.originX*a,h=r.boundingBox.originY*c,u=(r.boundingBox.width-10)*a,p=r.boundingBox.height*c,g=document.createElement("p");g.innerText=r.categories[0].categoryName+" - with "+Math.round(parseFloat(r.categories[0].score)*100)+"% confidence.",g.style.right=l-20+"px",g.style.top=h+"px",g.style.width=u+"px";let m={zIndex:"2",position:"absolute",border:"1px dashed #fff"};Object.assign(g.style,{...m,margin:"0",fontSize:"9px",paddingBottom:"5px",paddingTop:"5px",color:"#fff",backgroundColor:"#007f8b"});let y=document.createElement("div");y.setAttribute("class","highlighter"),y.style.right=l-20+"px",y.style.top=h+"px",y.style.width=u+"px",y.style.height=p-20+"px",Object.assign(y.style,{...m,zIndex:"1",background:"rgba(0, 255, 0, 0.25)"}),this.liveView.appendChild(y),this.liveView.appendChild(g),this.children.push(y),this.children.push(g)}}verify(t){let r=t.detections.filter(o=>o.categories.some(i=>i.categoryName==="person")).length,n=t.detections.filter(o=>o.categories.some(i=>i.categoryName==="cell phone")).length;this.paramsConfig.videoBehaviourParameters?.detectPerson&&r!==this.numPersonsSent&&(r===0?(this.handleAlert("no_person_detected","person_detection_on_stream"),this.numPersonsSent=r):r>1?(this.handleAlert("multiple_persons_detected","person_detection_on_stream"),this.numPersonsSent=r):(this.handleOk("person_ok","person_detection_on_stream"),this.numPersonsSent=r)),this.paramsConfig.videoBehaviourParameters?.detectCellPhone&&n!==this.numCellphoneSent&&(n>0?(this.handleAlert("cellphone_detected","mobile_detection_on_stream"),this.numCellphoneSent=n):(this.handleOk("cellphone_ok","mobile_detection_on_stream"),this.numCellphoneSent=n))}};var kr=class{constructor(t){this.volume=null;this.animationFrameId=null;this.stream=t}async start(t={}){return new Promise((r,n)=>{try{let o=new AudioContext;this.analyser=o.createAnalyser();let i=o.createMediaStreamSource(this.stream);this.analyser.smoothingTimeConstant=.8,this.analyser.fftSize=1024,i.connect(this.analyser);let s=()=>{let a=new Uint8Array(this.analyser.frequencyBinCount);this.analyser.getByteFrequencyData(a);let l=a.reduce((h,u)=>h+u,0)/a.length;this.setVolume(l),t.setVolume&&t.setVolume(l),this.animationFrameId=requestAnimationFrame(s)};this.animationFrameId=requestAnimationFrame(s),r(!0)}catch(o){this.stop(),n(`Error: ${o}`)}})}stop(){this.animationFrameId!==null&&cancelAnimationFrame(this.animationFrameId)}getVolume(){return this.volume}setVolume(t){this.volume=t}};var sr=class{constructor(t,r,n,o,i){this.blobs=[];this.paramsConfig={audioBehaviourParameters:{recordingBitrate:128,noiseLimit:40},imageBehaviourParameters:{frames:40,useUploadImage:!0,uploadInterval:20,saveVideo:!0},videoBehaviourParameters:{detectPerson:!1,detectFace:!1,detectCellPhone:!1}};this.options={cameraId:void 0,microphoneId:void 0,onBufferSizeError:!1,onBufferSizeErrorCallback:t=>{},proctoringType:"IMAGE",onChangeDevicesCallback:t=>{},onRealtimeAlertsCallback:t=>{}};this.videoOptions={width:640,height:480,minWidth:0,minHeight:0};this.blobsRTC=[];this.imageCount=0;this.filesToUpload=[];this.currentRetries=0;this.noiseWait=20;this.options=t,this.videoOptions=r,this.backend=o,this.backendToken=i,n&&(this.paramsConfig=n)}setProctoringId(t){this.proctoringId=t,this.proctoringId&&this.backend&&(this.upload=new ir(this.proctoringId,this.backend)),ia(t)}async initializeDetectors(){Nm(),(this.paramsConfig.videoBehaviourParameters?.detectPerson||this.paramsConfig.videoBehaviourParameters?.detectCellPhone)&&(this.objectDetection=new ca({onRealtimeAlertsCallback:t=>this.options.onRealtimeAlertsCallback(t)},this.paramsConfig),await this.objectDetection.initializeDetector()),this.paramsConfig.videoBehaviourParameters?.detectFace&&(this.faceDetection=new Hn({onRealtimeAlertsCallback:t=>this.options.onRealtimeAlertsCallback(t)},this.paramsConfig),await this.faceDetection.initializeDetector())}configImageCapture(){this.video=document.createElement("video"),this.canvas=document.createElement("canvas"),this.video.srcObject=this.cameraStream,this.video.play(),this.video.muted=!0,this.canvas.width=this.videoOptions.width,this.canvas.height=this.videoOptions.height}async bufferError(t){console.log("buffer error Camera Recorder params "+this.paramsConfig.videoBehaviourParameters);let r=this.paramsConfig.videoBehaviourParameters?.retryEnabled||!1,n=this.paramsConfig.videoBehaviourParameters?.maxRetries||3;r&&this.currentRetries<n?(await this.recordingStop(),await this.startRecording({retry:!0}),this.currentRetries++,this.options.onBufferSizeErrorCallback&&this.options.onBufferSizeErrorCallback(this.cameraStream)):this.options.onBufferSizeErrorCallback&&this.options.onBufferSizeErrorCallback()}async startRecording(t){(this.paramsConfig.videoBehaviourParameters?.detectPerson||this.paramsConfig.videoBehaviourParameters?.detectCellPhone||this.paramsConfig.videoBehaviourParameters?.detectFace)&&!t?.retry&&await this.initializeDetectors();let{cameraId:r,microphoneId:n,onBufferSizeErrorCallback:o}=this.options,i={audio:{deviceId:n},video:{deviceId:r,width:this.videoOptions.width,height:this.videoOptions.height,frameRate:15}};try{this.cameraStream=await navigator.mediaDevices.getUserMedia(i)}catch(m){throw m.toString()=="NotReadableError: Could not start video source"?"N\xE3o foi poss\xEDvel conectar a camera, ela pode estar sendo utilizada por outro programa":m}let{startRecording:s,stopRecording:a,pauseRecording:c,resumeRecording:l,recorderOptions:h,getBufferSize:u}=Kr(this.cameraStream,this.blobs,this.options.onBufferSizeError,m=>this.bufferError(m),!1);this.recordingStart=s,this.recordingStop=a,this.recordingPause=c,this.recordingResume=l,this.recorderOptions=h,this.getBufferSize=u,this.recordingStart();let g=this.cameraStream.getVideoTracks()[0].getSettings();if(this.videoOptions.minWidth>g.width||this.videoOptions.minHeight>g.height)throw Pg;if(this.videoOptions.width!==g.width||this.videoOptions.height!==g.height)throw N.registerAnotherStream(this.proctoringId,`Maybe have another stream active
58
+ `,document.getElementsByTagName("head")[0].appendChild(i)}async predictWebcam(){if(this.lastVideoTime===-1&&await this.detector.setOptions({runningMode:"VIDEO"}),Date.now()-this.lastExecutionDate>=1e3){let r=Date.now();if(this.lastExecutionDate=r,this.video.currentTime!==this.lastVideoTime){this.lastVideoTime=this.video.currentTime;let i=this.detector.detectForVideo(this.video,r);this.verify(i)}}this.animationFrameId=setTimeout(()=>{this.predictWebcam()},0)}handleAlert(t,r){this.options.onRealtimeAlertsCallback&&this.options.onRealtimeAlertsCallback({status:"ALERT",description:this.alertTranslate(t),type:r}),this.error&&(this.error.innerText=t)}handleOk(t,r){this.options.onRealtimeAlertsCallback&&this.options.onRealtimeAlertsCallback({status:"OK",description:this.alertTranslate(t),type:r}),this.error&&(this.error.innerText="")}displayVideoDetections(t){}verify(t){}alertTranslate(t){switch(t){case"multiple_faces_detected":return"M\xFAltiplas faces detectadas";case"no_face_detected":return"Nenhuma face encontrada";case"multiple_persons_detected":return"M\xFAltiplas pessoas detectadas";case"no_person_detected":return"Nenhuma pessoa encontrada";case"cellphone_detected":return"Celular detectado";case"wrong_position_face_detected":return"Face na posi\xE7\xE3o errada";case"person_ok":return"Pessoa detectada";case"cellphone_ok":return"Nenhum celular detectadoa";case"face_ok":return"Face detectada";case"ok_position_face_detected":return"Face na posi\xE7\xE3o correta";default:return t}}};function jp(){let e=document.createElement("div");e.setAttribute("id","liveViewFrameDetection");let t=document.createElement("erro");t.setAttribute("id","errorFrameDetection");let r=document.createElement("video");r.setAttribute("id","videoPreviewFrameDetection"),r.muted=!0,e.style.width="320px",e.style.height="180px",e.style.position="fixed",e.style.bottom="30px",e.style.right="30px",e.style.display="none",r.style.width="100%",r.style.height="100%",r.style.background="#000",e.appendChild(t),e.appendChild(r),document.body.appendChild(e)}var hi=class extends ui{constructor(r,i,n="videoPreviewFrameDetection",o="liveViewFrameDetection"){super("FaceDetector","https://storage.googleapis.com/mediapipe-models/face_detector/blaze_face_short_range/float16/1/blaze_face_short_range.tflite",r,i,n,o);this.emmitedPositionAlert=!1}displayVideoDetections(r){for(let i of this.children)this.liveView.removeChild(i);this.children.splice(0);for(let i of r.detections){let n=window.innerWidth,o=window.innerHeight,s=this.video.offsetWidth,a=this.video.offsetHeight,c=s/n,l=a/o,d=s-i.boundingBox.width*c-i.boundingBox.originX*c,u=i.boundingBox.originY*l,m=(i.boundingBox.width-10)*c,y=i.boundingBox.height*l,p=document.createElement("p");p.innerText="Confidence: "+Math.round(parseFloat(i.categories[0].score)*100)+"% .",p.style.right=d+"px",p.style.top=u-50+"px",p.style.width=m+"px";let f={zIndex:"2",position:"absolute",border:"1px dashed #fff"};Object.assign(p.style,{...f,margin:"0",fontSize:"9px",paddingBottom:"5px",paddingTop:"5px",color:"#fff",backgroundColor:"#007f8b"});let g=document.createElement("div");g.setAttribute("class","highlighter"),g.style.right=d+"px",g.style.top=u+"px",g.style.width=m+"px",g.style.height=y-10+"px",Object.assign(g.style,{...f,zIndex:"1",background:"rgba(0, 255, 0, 0.25)"}),this.liveView.appendChild(g),this.liveView.appendChild(p),this.children.push(g),this.children.push(p);for(let b of i.keypoints){let k=document.createElement("spam");k.className="key-point",k.style.top=`${b.y*this.video.offsetHeight-3}px`,k.style.right=`${this.video.offsetWidth-b.x*this.video.offsetWidth-3}px`,this.liveView.appendChild(k),this.children.push(k)}}}verify(r){this.paramsConfig.videoBehaviourParameters?.detectFace&&r.detections.length!==this.numFacesSent&&(this.numFacesSent=r.detections.length,r.detections.length===0?this.handleAlert("no_face_detected","face_detection_on_stream"):r.detections.length>1?this.handleAlert("multiple_faces_detected","face_detection_on_stream"):this.handleOk("face_ok","face_detection_on_stream"));let i=r.detections[0]?.keypoints[3].y-r.detections[0]?.keypoints[0].y;r.detections[0]?.keypoints[4].x<.2||r.detections[0]?.keypoints[5].x>.8?(!this.emmitedPositionAlert&&this.handleAlert("wrong_position_face_detected","position_detection_on_stream"),this.emmitedPositionAlert=!0):r.detections[0]?.keypoints[0].y<.2||r.detections[0]?.keypoints[0].y>.8?(!this.emmitedPositionAlert&&this.handleAlert("wrong_position_face_detected","position_detection_on_stream"),this.emmitedPositionAlert=!0):r.detections[0]?.keypoints[3].y<.4||r.detections[0]?.keypoints[3].y>.9?(!this.emmitedPositionAlert&&this.handleAlert("wrong_position_face_detected","position_detection_on_stream"),this.emmitedPositionAlert=!0):i>.35?(!this.emmitedPositionAlert&&this.handleAlert("wrong_position_face_detected","position_detection_on_stream"),this.emmitedPositionAlert=!0):(this.emmitedPositionAlert&&this.handleOk("ok_position_face_detected","position_detection_on_stream"),this.emmitedPositionAlert=!1)}};function nn(e,t){return function(){return e.apply(t,arguments)}}var{toString:N2}=Object.prototype,{getPrototypeOf:Xc}=Object,Xo=(e=>t=>{let r=N2.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),ut=e=>(e=e.toLowerCase(),t=>Xo(t)===e),Ko=e=>t=>typeof t===e,{isArray:pi}=Array,on=Ko("undefined");function j2(e){return e!==null&&!on(e)&&e.constructor!==null&&!on(e.constructor)&&He(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var zp=ut("ArrayBuffer");function V2(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&zp(e.buffer),t}var z2=Ko("string"),He=Ko("function"),Gp=Ko("number"),Jo=e=>e!==null&&typeof e=="object",G2=e=>e===!0||e===!1,$o=e=>{if(Xo(e)!=="object")return!1;let t=Xc(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},H2=ut("Date"),W2=ut("File"),q2=ut("Blob"),$2=ut("FileList"),X2=e=>Jo(e)&&He(e.pipe),K2=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||He(e.append)&&((t=Xo(e))==="formdata"||t==="object"&&He(e.toString)&&e.toString()==="[object FormData]"))},J2=ut("URLSearchParams"),[Y2,Z2,Q2,e0]=["ReadableStream","Request","Response","Headers"].map(ut),t0=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function sn(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let i,n;if(typeof e!="object"&&(e=[e]),pi(e))for(i=0,n=e.length;i<n;i++)t.call(null,e[i],i,e);else{let o=r?Object.getOwnPropertyNames(e):Object.keys(e),s=o.length,a;for(i=0;i<s;i++)a=o[i],t.call(null,e[a],a,e)}}function Hp(e,t){t=t.toLowerCase();let r=Object.keys(e),i=r.length,n;for(;i-- >0;)if(n=r[i],t===n.toLowerCase())return n;return null}var kr=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),Wp=e=>!on(e)&&e!==kr;function $c(){let{caseless:e}=Wp(this)&&this||{},t={},r=(i,n)=>{let o=e&&Hp(t,n)||n;$o(t[o])&&$o(i)?t[o]=$c(t[o],i):$o(i)?t[o]=$c({},i):pi(i)?t[o]=i.slice():t[o]=i};for(let i=0,n=arguments.length;i<n;i++)arguments[i]&&sn(arguments[i],r);return t}var r0=(e,t,r,{allOwnKeys:i}={})=>(sn(t,(n,o)=>{r&&He(n)?e[o]=nn(n,r):e[o]=n},{allOwnKeys:i}),e),i0=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),n0=(e,t,r,i)=>{e.prototype=Object.create(t.prototype,i),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},o0=(e,t,r,i)=>{let n,o,s,a={};if(t=t||{},e==null)return t;do{for(n=Object.getOwnPropertyNames(e),o=n.length;o-- >0;)s=n[o],(!i||i(s,e,t))&&!a[s]&&(t[s]=e[s],a[s]=!0);e=r!==!1&&Xc(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},s0=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;let i=e.indexOf(t,r);return i!==-1&&i===r},a0=e=>{if(!e)return null;if(pi(e))return e;let t=e.length;if(!Gp(t))return null;let r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},c0=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Xc(Uint8Array)),l0=(e,t)=>{let i=(e&&e[Symbol.iterator]).call(e),n;for(;(n=i.next())&&!n.done;){let o=n.value;t.call(e,o[0],o[1])}},d0=(e,t)=>{let r,i=[];for(;(r=e.exec(t))!==null;)i.push(r);return i},u0=ut("HTMLFormElement"),h0=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,i,n){return i.toUpperCase()+n}),Vp=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),p0=ut("RegExp"),qp=(e,t)=>{let r=Object.getOwnPropertyDescriptors(e),i={};sn(r,(n,o)=>{let s;(s=t(n,o,e))!==!1&&(i[o]=s||n)}),Object.defineProperties(e,i)},m0=e=>{qp(e,(t,r)=>{if(He(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;let i=e[r];if(!!He(i)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},f0=(e,t)=>{let r={},i=n=>{n.forEach(o=>{r[o]=!0})};return pi(e)?i(e):i(String(e).split(t)),r},g0=()=>{},y0=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function b0(e){return!!(e&&He(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}var v0=e=>{let t=new Array(10),r=(i,n)=>{if(Jo(i)){if(t.indexOf(i)>=0)return;if(!("toJSON"in i)){t[n]=i;let o=pi(i)?[]:{};return sn(i,(s,a)=>{let c=r(s,n+1);!on(c)&&(o[a]=c)}),t[n]=void 0,o}}return i};return r(e,0)},w0=ut("AsyncFunction"),S0=e=>e&&(Jo(e)||He(e))&&He(e.then)&&He(e.catch),$p=((e,t)=>e?setImmediate:t?((r,i)=>(kr.addEventListener("message",({source:n,data:o})=>{n===kr&&o===r&&i.length&&i.shift()()},!1),n=>{i.push(n),kr.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",He(kr.postMessage)),k0=typeof queueMicrotask<"u"?queueMicrotask.bind(kr):typeof process<"u"&&process.nextTick||$p,h={isArray:pi,isArrayBuffer:zp,isBuffer:j2,isFormData:K2,isArrayBufferView:V2,isString:z2,isNumber:Gp,isBoolean:G2,isObject:Jo,isPlainObject:$o,isReadableStream:Y2,isRequest:Z2,isResponse:Q2,isHeaders:e0,isUndefined:on,isDate:H2,isFile:W2,isBlob:q2,isRegExp:p0,isFunction:He,isStream:X2,isURLSearchParams:J2,isTypedArray:c0,isFileList:$2,forEach:sn,merge:$c,extend:r0,trim:t0,stripBOM:i0,inherits:n0,toFlatObject:o0,kindOf:Xo,kindOfTest:ut,endsWith:s0,toArray:a0,forEachEntry:l0,matchAll:d0,isHTMLForm:u0,hasOwnProperty:Vp,hasOwnProp:Vp,reduceDescriptors:qp,freezeMethods:m0,toObjectSet:f0,toCamelCase:h0,noop:g0,toFiniteNumber:y0,findKey:Hp,global:kr,isContextDefined:Wp,isSpecCompliantForm:b0,toJSONObject:v0,isAsyncFn:w0,isThenable:S0,setImmediate:$p,asap:k0};function mi(e,t,r,i,n){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),i&&(this.request=i),n&&(this.response=n,this.status=n.status?n.status:null)}h.inherits(mi,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:h.toJSONObject(this.config),code:this.code,status:this.status}}});var Xp=mi.prototype,Kp={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{Kp[e]={value:e}});Object.defineProperties(mi,Kp);Object.defineProperty(Xp,"isAxiosError",{value:!0});mi.from=(e,t,r,i,n,o)=>{let s=Object.create(Xp);return h.toFlatObject(e,s,function(c){return c!==Error.prototype},a=>a!=="isAxiosError"),mi.call(s,e.message,t,r,i,n),s.cause=e,s.name=e.name,o&&Object.assign(s,o),s};var R=mi;var Yo=null;function Kc(e){return h.isPlainObject(e)||h.isArray(e)}function Yp(e){return h.endsWith(e,"[]")?e.slice(0,-2):e}function Jp(e,t,r){return e?e.concat(t).map(function(n,o){return n=Yp(n),!r&&o?"["+n+"]":n}).join(r?".":""):t}function E0(e){return h.isArray(e)&&!e.some(Kc)}var _0=h.toFlatObject(h,{},null,function(t){return/^is[A-Z]/.test(t)});function A0(e,t,r){if(!h.isObject(e))throw new TypeError("target must be an object");t=t||new(Yo||FormData),r=h.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(f,g){return!h.isUndefined(g[f])});let i=r.metaTokens,n=r.visitor||d,o=r.dots,s=r.indexes,c=(r.Blob||typeof Blob<"u"&&Blob)&&h.isSpecCompliantForm(t);if(!h.isFunction(n))throw new TypeError("visitor must be a function");function l(p){if(p===null)return"";if(h.isDate(p))return p.toISOString();if(!c&&h.isBlob(p))throw new R("Blob is not supported. Use a Buffer instead.");return h.isArrayBuffer(p)||h.isTypedArray(p)?c&&typeof Blob=="function"?new Blob([p]):Buffer.from(p):p}function d(p,f,g){let b=p;if(p&&!g&&typeof p=="object"){if(h.endsWith(f,"{}"))f=i?f:f.slice(0,-2),p=JSON.stringify(p);else if(h.isArray(p)&&E0(p)||(h.isFileList(p)||h.endsWith(f,"[]"))&&(b=h.toArray(p)))return f=Yp(f),b.forEach(function(C,O){!(h.isUndefined(C)||C===null)&&t.append(s===!0?Jp([f],O,o):s===null?f:f+"[]",l(C))}),!1}return Kc(p)?!0:(t.append(Jp(g,f,o),l(p)),!1)}let u=[],m=Object.assign(_0,{defaultVisitor:d,convertValue:l,isVisitable:Kc});function y(p,f){if(!h.isUndefined(p)){if(u.indexOf(p)!==-1)throw Error("Circular reference detected in "+f.join("."));u.push(p),h.forEach(p,function(b,k){(!(h.isUndefined(b)||b===null)&&n.call(t,b,h.isString(k)?k.trim():k,f,m))===!0&&y(b,f?f.concat(k):[k])}),u.pop()}}if(!h.isObject(e))throw new TypeError("data must be an object");return y(e),t}var nr=A0;function Zp(e){let t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(i){return t[i]})}function Qp(e,t){this._pairs=[],e&&nr(e,this,t)}var em=Qp.prototype;em.append=function(t,r){this._pairs.push([t,r])};em.toString=function(t){let r=t?function(i){return t.call(this,i,Zp)}:Zp;return this._pairs.map(function(n){return r(n[0])+"="+r(n[1])},"").join("&")};var Zo=Qp;function x0(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function an(e,t,r){if(!t)return e;let i=r&&r.encode||x0;h.isFunction(r)&&(r={serialize:r});let n=r&&r.serialize,o;if(n?o=n(t,r):o=h.isURLSearchParams(t)?t.toString():new Zo(t,r).toString(i),o){let s=e.indexOf("#");s!==-1&&(e=e.slice(0,s)),e+=(e.indexOf("?")===-1?"?":"&")+o}return e}var Jc=class{constructor(){this.handlers=[]}use(t,r,i){return this.handlers.push({fulfilled:t,rejected:r,synchronous:i?i.synchronous:!1,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){h.forEach(this.handlers,function(i){i!==null&&t(i)})}},Yc=Jc;var Qo={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var tm=typeof URLSearchParams<"u"?URLSearchParams:Zo;var rm=typeof FormData<"u"?FormData:null;var im=typeof Blob<"u"?Blob:null;var nm={isBrowser:!0,classes:{URLSearchParams:tm,FormData:rm,Blob:im},protocols:["http","https","file","blob","url","data"]};var el={};u1(el,{hasBrowserEnv:()=>Qc,hasStandardBrowserEnv:()=>C0,hasStandardBrowserWebWorkerEnv:()=>T0,navigator:()=>Zc,origin:()=>R0});var Qc=typeof window<"u"&&typeof document<"u",Zc=typeof navigator=="object"&&navigator||void 0,C0=Qc&&(!Zc||["ReactNative","NativeScript","NS"].indexOf(Zc.product)<0),T0=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),R0=Qc&&window.location.href||"http://localhost";var J={...el,...nm};function tl(e,t){return nr(e,new J.classes.URLSearchParams,Object.assign({visitor:function(r,i,n,o){return J.isNode&&h.isBuffer(r)?(this.append(i,r.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)}},t))}function P0(e){return h.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function I0(e){let t={},r=Object.keys(e),i,n=r.length,o;for(i=0;i<n;i++)o=r[i],t[o]=e[o];return t}function D0(e){function t(r,i,n,o){let s=r[o++];if(s==="__proto__")return!0;let a=Number.isFinite(+s),c=o>=r.length;return s=!s&&h.isArray(n)?n.length:s,c?(h.hasOwnProp(n,s)?n[s]=[n[s],i]:n[s]=i,!a):((!n[s]||!h.isObject(n[s]))&&(n[s]=[]),t(r,i,n[s],o)&&h.isArray(n[s])&&(n[s]=I0(n[s])),!a)}if(h.isFormData(e)&&h.isFunction(e.entries)){let r={};return h.forEachEntry(e,(i,n)=>{t(P0(i),n,r,0)}),r}return null}var es=D0;function O0(e,t,r){if(h.isString(e))try{return(t||JSON.parse)(e),h.trim(e)}catch(i){if(i.name!=="SyntaxError")throw i}return(r||JSON.stringify)(e)}var rl={transitional:Qo,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){let i=r.getContentType()||"",n=i.indexOf("application/json")>-1,o=h.isObject(t);if(o&&h.isHTMLForm(t)&&(t=new FormData(t)),h.isFormData(t))return n?JSON.stringify(es(t)):t;if(h.isArrayBuffer(t)||h.isBuffer(t)||h.isStream(t)||h.isFile(t)||h.isBlob(t)||h.isReadableStream(t))return t;if(h.isArrayBufferView(t))return t.buffer;if(h.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(o){if(i.indexOf("application/x-www-form-urlencoded")>-1)return tl(t,this.formSerializer).toString();if((a=h.isFileList(t))||i.indexOf("multipart/form-data")>-1){let c=this.env&&this.env.FormData;return nr(a?{"files[]":t}:t,c&&new c,this.formSerializer)}}return o||n?(r.setContentType("application/json",!1),O0(t)):t}],transformResponse:[function(t){let r=this.transitional||rl.transitional,i=r&&r.forcedJSONParsing,n=this.responseType==="json";if(h.isResponse(t)||h.isReadableStream(t))return t;if(t&&h.isString(t)&&(i&&!this.responseType||n)){let s=!(r&&r.silentJSONParsing)&&n;try{return JSON.parse(t)}catch(a){if(s)throw a.name==="SyntaxError"?R.from(a,R.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:J.classes.FormData,Blob:J.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};h.forEach(["delete","get","head","post","put","patch"],e=>{rl.headers[e]={}});var fi=rl;var B0=h.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),om=e=>{let t={},r,i,n;return e&&e.split(`
59
+ `).forEach(function(s){n=s.indexOf(":"),r=s.substring(0,n).trim().toLowerCase(),i=s.substring(n+1).trim(),!(!r||t[r]&&B0[r])&&(r==="set-cookie"?t[r]?t[r].push(i):t[r]=[i]:t[r]=t[r]?t[r]+", "+i:i)}),t};var sm=Symbol("internals");function cn(e){return e&&String(e).trim().toLowerCase()}function ts(e){return e===!1||e==null?e:h.isArray(e)?e.map(ts):String(e)}function F0(e){let t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,i;for(;i=r.exec(e);)t[i[1]]=i[2];return t}var L0=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function il(e,t,r,i,n){if(h.isFunction(i))return i.call(this,t,r);if(n&&(t=r),!!h.isString(t)){if(h.isString(i))return t.indexOf(i)!==-1;if(h.isRegExp(i))return i.test(t)}}function U0(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,i)=>r.toUpperCase()+i)}function M0(e,t){let r=h.toCamelCase(" "+t);["get","set","has"].forEach(i=>{Object.defineProperty(e,i+r,{value:function(n,o,s){return this[i].call(this,t,n,o,s)},configurable:!0})})}var gi=class{constructor(t){t&&this.set(t)}set(t,r,i){let n=this;function o(a,c,l){let d=cn(c);if(!d)throw new Error("header name must be a non-empty string");let u=h.findKey(n,d);(!u||n[u]===void 0||l===!0||l===void 0&&n[u]!==!1)&&(n[u||c]=ts(a))}let s=(a,c)=>h.forEach(a,(l,d)=>o(l,d,c));if(h.isPlainObject(t)||t instanceof this.constructor)s(t,r);else if(h.isString(t)&&(t=t.trim())&&!L0(t))s(om(t),r);else if(h.isHeaders(t))for(let[a,c]of t.entries())o(c,a,i);else t!=null&&o(r,t,i);return this}get(t,r){if(t=cn(t),t){let i=h.findKey(this,t);if(i){let n=this[i];if(!r)return n;if(r===!0)return F0(n);if(h.isFunction(r))return r.call(this,n,i);if(h.isRegExp(r))return r.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=cn(t),t){let i=h.findKey(this,t);return!!(i&&this[i]!==void 0&&(!r||il(this,this[i],i,r)))}return!1}delete(t,r){let i=this,n=!1;function o(s){if(s=cn(s),s){let a=h.findKey(i,s);a&&(!r||il(i,i[a],a,r))&&(delete i[a],n=!0)}}return h.isArray(t)?t.forEach(o):o(t),n}clear(t){let r=Object.keys(this),i=r.length,n=!1;for(;i--;){let o=r[i];(!t||il(this,this[o],o,t,!0))&&(delete this[o],n=!0)}return n}normalize(t){let r=this,i={};return h.forEach(this,(n,o)=>{let s=h.findKey(i,o);if(s){r[s]=ts(n),delete r[o];return}let a=t?U0(o):String(o).trim();a!==o&&delete r[o],r[a]=ts(n),i[a]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){let r=Object.create(null);return h.forEach(this,(i,n)=>{i!=null&&i!==!1&&(r[n]=t&&h.isArray(i)?i.join(", "):i)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(`
60
+ `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...r){let i=new this(t);return r.forEach(n=>i.set(n)),i}static accessor(t){let i=(this[sm]=this[sm]={accessors:{}}).accessors,n=this.prototype;function o(s){let a=cn(s);i[a]||(M0(n,s),i[a]=!0)}return h.isArray(t)?t.forEach(o):o(t),this}};gi.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);h.reduceDescriptors(gi.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(i){this[r]=i}}});h.freezeMethods(gi);var de=gi;function ln(e,t){let r=this||fi,i=t||r,n=de.from(i.headers),o=i.data;return h.forEach(e,function(a){o=a.call(r,o,n.normalize(),t?t.status:void 0)}),n.normalize(),o}function dn(e){return!!(e&&e.__CANCEL__)}function am(e,t,r){R.call(this,e??"canceled",R.ERR_CANCELED,t,r),this.name="CanceledError"}h.inherits(am,R,{__CANCEL__:!0});var _t=am;function un(e,t,r){let i=r.config.validateStatus;!r.status||!i||i(r.status)?e(r):t(new R("Request failed with status code "+r.status,[R.ERR_BAD_REQUEST,R.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function nl(e){let t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function N0(e,t){e=e||10;let r=new Array(e),i=new Array(e),n=0,o=0,s;return t=t!==void 0?t:1e3,function(c){let l=Date.now(),d=i[o];s||(s=l),r[n]=c,i[n]=l;let u=o,m=0;for(;u!==n;)m+=r[u++],u=u%e;if(n=(n+1)%e,n===o&&(o=(o+1)%e),l-s<t)return;let y=d&&l-d;return y?Math.round(m*1e3/y):void 0}}var cm=N0;function j0(e,t){let r=0,i=1e3/t,n,o,s=(l,d=Date.now())=>{r=d,n=null,o&&(clearTimeout(o),o=null),e.apply(null,l)};return[(...l)=>{let d=Date.now(),u=d-r;u>=i?s(l,d):(n=l,o||(o=setTimeout(()=>{o=null,s(n)},i-u)))},()=>n&&s(n)]}var lm=j0;var yi=(e,t,r=3)=>{let i=0,n=cm(50,250);return lm(o=>{let s=o.loaded,a=o.lengthComputable?o.total:void 0,c=s-i,l=n(c),d=s<=a;i=s;let u={loaded:s,total:a,progress:a?s/a:void 0,bytes:c,rate:l||void 0,estimated:l&&a&&d?(a-s)/l:void 0,event:o,lengthComputable:a!=null,[t?"download":"upload"]:!0};e(u)},r)},ol=(e,t)=>{let r=e!=null;return[i=>t[0]({lengthComputable:r,total:e,loaded:i}),t[1]]},sl=e=>(...t)=>h.asap(()=>e(...t));var dm=J.hasStandardBrowserEnv?((e,t)=>r=>(r=new URL(r,J.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)))(new URL(J.origin),J.navigator&&/(msie|trident)/i.test(J.navigator.userAgent)):()=>!0;var um=J.hasStandardBrowserEnv?{write(e,t,r,i,n,o){let s=[e+"="+encodeURIComponent(t)];h.isNumber(r)&&s.push("expires="+new Date(r).toGMTString()),h.isString(i)&&s.push("path="+i),h.isString(n)&&s.push("domain="+n),o===!0&&s.push("secure"),document.cookie=s.join("; ")},read(e){let t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function al(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function cl(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function hn(e,t,r){let i=!al(t);return e&&(i||r==!1)?cl(e,t):t}var hm=e=>e instanceof de?{...e}:e;function ht(e,t){t=t||{};let r={};function i(l,d,u,m){return h.isPlainObject(l)&&h.isPlainObject(d)?h.merge.call({caseless:m},l,d):h.isPlainObject(d)?h.merge({},d):h.isArray(d)?d.slice():d}function n(l,d,u,m){if(h.isUndefined(d)){if(!h.isUndefined(l))return i(void 0,l,u,m)}else return i(l,d,u,m)}function o(l,d){if(!h.isUndefined(d))return i(void 0,d)}function s(l,d){if(h.isUndefined(d)){if(!h.isUndefined(l))return i(void 0,l)}else return i(void 0,d)}function a(l,d,u){if(u in t)return i(l,d);if(u in e)return i(void 0,l)}let c={url:o,method:o,data:o,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(l,d,u)=>n(hm(l),hm(d),u,!0)};return h.forEach(Object.keys(Object.assign({},e,t)),function(d){let u=c[d]||n,m=u(e[d],t[d],d);h.isUndefined(m)&&u!==a||(r[d]=m)}),r}var rs=e=>{let t=ht({},e),{data:r,withXSRFToken:i,xsrfHeaderName:n,xsrfCookieName:o,headers:s,auth:a}=t;t.headers=s=de.from(s),t.url=an(hn(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),a&&s.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):"")));let c;if(h.isFormData(r)){if(J.hasStandardBrowserEnv||J.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if((c=s.getContentType())!==!1){let[l,...d]=c?c.split(";").map(u=>u.trim()).filter(Boolean):[];s.setContentType([l||"multipart/form-data",...d].join("; "))}}if(J.hasStandardBrowserEnv&&(i&&h.isFunction(i)&&(i=i(t)),i||i!==!1&&dm(t.url))){let l=n&&o&&um.read(o);l&&s.set(n,l)}return t};var V0=typeof XMLHttpRequest<"u",pm=V0&&function(e){return new Promise(function(r,i){let n=rs(e),o=n.data,s=de.from(n.headers).normalize(),{responseType:a,onUploadProgress:c,onDownloadProgress:l}=n,d,u,m,y,p;function f(){y&&y(),p&&p(),n.cancelToken&&n.cancelToken.unsubscribe(d),n.signal&&n.signal.removeEventListener("abort",d)}let g=new XMLHttpRequest;g.open(n.method.toUpperCase(),n.url,!0),g.timeout=n.timeout;function b(){if(!g)return;let C=de.from("getAllResponseHeaders"in g&&g.getAllResponseHeaders()),F={data:!a||a==="text"||a==="json"?g.responseText:g.response,status:g.status,statusText:g.statusText,headers:C,config:e,request:g};un(function(_e){r(_e),f()},function(_e){i(_e),f()},F),g=null}"onloadend"in g?g.onloadend=b:g.onreadystatechange=function(){!g||g.readyState!==4||g.status===0&&!(g.responseURL&&g.responseURL.indexOf("file:")===0)||setTimeout(b)},g.onabort=function(){!g||(i(new R("Request aborted",R.ECONNABORTED,e,g)),g=null)},g.onerror=function(){i(new R("Network Error",R.ERR_NETWORK,e,g)),g=null},g.ontimeout=function(){let O=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded",F=n.transitional||Qo;n.timeoutErrorMessage&&(O=n.timeoutErrorMessage),i(new R(O,F.clarifyTimeoutError?R.ETIMEDOUT:R.ECONNABORTED,e,g)),g=null},o===void 0&&s.setContentType(null),"setRequestHeader"in g&&h.forEach(s.toJSON(),function(O,F){g.setRequestHeader(F,O)}),h.isUndefined(n.withCredentials)||(g.withCredentials=!!n.withCredentials),a&&a!=="json"&&(g.responseType=n.responseType),l&&([m,p]=yi(l,!0),g.addEventListener("progress",m)),c&&g.upload&&([u,y]=yi(c),g.upload.addEventListener("progress",u),g.upload.addEventListener("loadend",y)),(n.cancelToken||n.signal)&&(d=C=>{!g||(i(!C||C.type?new _t(null,e,g):C),g.abort(),g=null)},n.cancelToken&&n.cancelToken.subscribe(d),n.signal&&(n.signal.aborted?d():n.signal.addEventListener("abort",d)));let k=nl(n.url);if(k&&J.protocols.indexOf(k)===-1){i(new R("Unsupported protocol "+k+":",R.ERR_BAD_REQUEST,e));return}g.send(o||null)})};var z0=(e,t)=>{let{length:r}=e=e?e.filter(Boolean):[];if(t||r){let i=new AbortController,n,o=function(l){if(!n){n=!0,a();let d=l instanceof Error?l:this.reason;i.abort(d instanceof R?d:new _t(d instanceof Error?d.message:d))}},s=t&&setTimeout(()=>{s=null,o(new R(`timeout ${t} of ms exceeded`,R.ETIMEDOUT))},t),a=()=>{e&&(s&&clearTimeout(s),s=null,e.forEach(l=>{l.unsubscribe?l.unsubscribe(o):l.removeEventListener("abort",o)}),e=null)};e.forEach(l=>l.addEventListener("abort",o));let{signal:c}=i;return c.unsubscribe=()=>h.asap(a),c}},mm=z0;var G0=function*(e,t){let r=e.byteLength;if(!t||r<t){yield e;return}let i=0,n;for(;i<r;)n=i+t,yield e.slice(i,n),i=n},H0=async function*(e,t){for await(let r of W0(e))yield*G0(r,t)},W0=async function*(e){if(e[Symbol.asyncIterator]){yield*e;return}let t=e.getReader();try{for(;;){let{done:r,value:i}=await t.read();if(r)break;yield i}}finally{await t.cancel()}},ll=(e,t,r,i)=>{let n=H0(e,t),o=0,s,a=c=>{s||(s=!0,i&&i(c))};return new ReadableStream({async pull(c){try{let{done:l,value:d}=await n.next();if(l){a(),c.close();return}let u=d.byteLength;if(r){let m=o+=u;r(m)}c.enqueue(new Uint8Array(d))}catch(l){throw a(l),l}},cancel(c){return a(c),n.return()}},{highWaterMark:2})};var ns=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",gm=ns&&typeof ReadableStream=="function",q0=ns&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),ym=(e,...t)=>{try{return!!e(...t)}catch{return!1}},$0=gm&&ym(()=>{let e=!1,t=new Request(J.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),fm=64*1024,dl=gm&&ym(()=>h.isReadableStream(new Response("").body)),is={stream:dl&&(e=>e.body)};ns&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!is[t]&&(is[t]=h.isFunction(e[t])?r=>r[t]():(r,i)=>{throw new R(`Response type '${t}' is not supported`,R.ERR_NOT_SUPPORT,i)})})})(new Response);var X0=async e=>{if(e==null)return 0;if(h.isBlob(e))return e.size;if(h.isSpecCompliantForm(e))return(await new Request(J.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(h.isArrayBufferView(e)||h.isArrayBuffer(e))return e.byteLength;if(h.isURLSearchParams(e)&&(e=e+""),h.isString(e))return(await q0(e)).byteLength},K0=async(e,t)=>{let r=h.toFiniteNumber(e.getContentLength());return r??X0(t)},bm=ns&&(async e=>{let{url:t,method:r,data:i,signal:n,cancelToken:o,timeout:s,onDownloadProgress:a,onUploadProgress:c,responseType:l,headers:d,withCredentials:u="same-origin",fetchOptions:m}=rs(e);l=l?(l+"").toLowerCase():"text";let y=mm([n,o&&o.toAbortSignal()],s),p,f=y&&y.unsubscribe&&(()=>{y.unsubscribe()}),g;try{if(c&&$0&&r!=="get"&&r!=="head"&&(g=await K0(d,i))!==0){let F=new Request(t,{method:"POST",body:i,duplex:"half"}),P;if(h.isFormData(i)&&(P=F.headers.get("content-type"))&&d.setContentType(P),F.body){let[_e,pe]=ol(g,yi(sl(c)));i=ll(F.body,fm,_e,pe)}}h.isString(u)||(u=u?"include":"omit");let b="credentials"in Request.prototype;p=new Request(t,{...m,signal:y,method:r.toUpperCase(),headers:d.normalize().toJSON(),body:i,duplex:"half",credentials:b?u:void 0});let k=await fetch(p),C=dl&&(l==="stream"||l==="response");if(dl&&(a||C&&f)){let F={};["status","statusText","headers"].forEach(mr=>{F[mr]=k[mr]});let P=h.toFiniteNumber(k.headers.get("content-length")),[_e,pe]=a&&ol(P,yi(sl(a),!0))||[];k=new Response(ll(k.body,fm,_e,()=>{pe&&pe(),f&&f()}),F)}l=l||"text";let O=await is[h.findKey(is,l)||"text"](k,e);return!C&&f&&f(),await new Promise((F,P)=>{un(F,P,{data:O,headers:de.from(k.headers),status:k.status,statusText:k.statusText,config:e,request:p})})}catch(b){throw f&&f(),b&&b.name==="TypeError"&&/fetch/i.test(b.message)?Object.assign(new R("Network Error",R.ERR_NETWORK,e,p),{cause:b.cause||b}):R.from(b,b&&b.code,e,p)}});var ul={http:Yo,xhr:pm,fetch:bm};h.forEach(ul,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});var vm=e=>`- ${e}`,J0=e=>h.isFunction(e)||e===null||e===!1,os={getAdapter:e=>{e=h.isArray(e)?e:[e];let{length:t}=e,r,i,n={};for(let o=0;o<t;o++){r=e[o];let s;if(i=r,!J0(r)&&(i=ul[(s=String(r)).toLowerCase()],i===void 0))throw new R(`Unknown adapter '${s}'`);if(i)break;n[s||"#"+o]=i}if(!i){let o=Object.entries(n).map(([a,c])=>`adapter ${a} `+(c===!1?"is not supported by the environment":"is not available in the build")),s=t?o.length>1?`since :
61
+ `+o.map(vm).join(`
62
+ `):" "+vm(o[0]):"as no adapter specified";throw new R("There is no suitable adapter to dispatch the request "+s,"ERR_NOT_SUPPORT")}return i},adapters:ul};function hl(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new _t(null,e)}function ss(e){return hl(e),e.headers=de.from(e.headers),e.data=ln.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),os.getAdapter(e.adapter||fi.adapter)(e).then(function(i){return hl(e),i.data=ln.call(e,e.transformResponse,i),i.headers=de.from(i.headers),i},function(i){return dn(i)||(hl(e),i&&i.response&&(i.response.data=ln.call(e,e.transformResponse,i.response),i.response.headers=de.from(i.response.headers))),Promise.reject(i)})}var as="1.8.4";var cs={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{cs[e]=function(i){return typeof i===e||"a"+(t<1?"n ":" ")+e}});var wm={};cs.transitional=function(t,r,i){function n(o,s){return"[Axios v"+as+"] Transitional option '"+o+"'"+s+(i?". "+i:"")}return(o,s,a)=>{if(t===!1)throw new R(n(s," has been removed"+(r?" in "+r:"")),R.ERR_DEPRECATED);return r&&!wm[s]&&(wm[s]=!0,console.warn(n(s," has been deprecated since v"+r+" and will be removed in the near future"))),t?t(o,s,a):!0}};cs.spelling=function(t){return(r,i)=>(console.warn(`${i} is likely a misspelling of ${t}`),!0)};function Y0(e,t,r){if(typeof e!="object")throw new R("options must be an object",R.ERR_BAD_OPTION_VALUE);let i=Object.keys(e),n=i.length;for(;n-- >0;){let o=i[n],s=t[o];if(s){let a=e[o],c=a===void 0||s(a,o,e);if(c!==!0)throw new R("option "+o+" must be "+c,R.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new R("Unknown option "+o,R.ERR_BAD_OPTION)}}var pn={assertOptions:Y0,validators:cs};var At=pn.validators,bi=class{constructor(t){this.defaults=t,this.interceptors={request:new Yc,response:new Yc}}async request(t,r){try{return await this._request(t,r)}catch(i){if(i instanceof Error){let n={};Error.captureStackTrace?Error.captureStackTrace(n):n=new Error;let o=n.stack?n.stack.replace(/^.+\n/,""):"";try{i.stack?o&&!String(i.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(i.stack+=`
63
+ `+o):i.stack=o}catch{}}throw i}}_request(t,r){typeof t=="string"?(r=r||{},r.url=t):r=t||{},r=ht(this.defaults,r);let{transitional:i,paramsSerializer:n,headers:o}=r;i!==void 0&&pn.assertOptions(i,{silentJSONParsing:At.transitional(At.boolean),forcedJSONParsing:At.transitional(At.boolean),clarifyTimeoutError:At.transitional(At.boolean)},!1),n!=null&&(h.isFunction(n)?r.paramsSerializer={serialize:n}:pn.assertOptions(n,{encode:At.function,serialize:At.function},!0)),r.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?r.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:r.allowAbsoluteUrls=!0),pn.assertOptions(r,{baseUrl:At.spelling("baseURL"),withXsrfToken:At.spelling("withXSRFToken")},!0),r.method=(r.method||this.defaults.method||"get").toLowerCase();let s=o&&h.merge(o.common,o[r.method]);o&&h.forEach(["delete","get","head","post","put","patch","common"],p=>{delete o[p]}),r.headers=de.concat(s,o);let a=[],c=!0;this.interceptors.request.forEach(function(f){typeof f.runWhen=="function"&&f.runWhen(r)===!1||(c=c&&f.synchronous,a.unshift(f.fulfilled,f.rejected))});let l=[];this.interceptors.response.forEach(function(f){l.push(f.fulfilled,f.rejected)});let d,u=0,m;if(!c){let p=[ss.bind(this),void 0];for(p.unshift.apply(p,a),p.push.apply(p,l),m=p.length,d=Promise.resolve(r);u<m;)d=d.then(p[u++],p[u++]);return d}m=a.length;let y=r;for(u=0;u<m;){let p=a[u++],f=a[u++];try{y=p(y)}catch(g){f.call(this,g);break}}try{d=ss.call(this,y)}catch(p){return Promise.reject(p)}for(u=0,m=l.length;u<m;)d=d.then(l[u++],l[u++]);return d}getUri(t){t=ht(this.defaults,t);let r=hn(t.baseURL,t.url,t.allowAbsoluteUrls);return an(r,t.params,t.paramsSerializer)}};h.forEach(["delete","get","head","options"],function(t){bi.prototype[t]=function(r,i){return this.request(ht(i||{},{method:t,url:r,data:(i||{}).data}))}});h.forEach(["post","put","patch"],function(t){function r(i){return function(o,s,a){return this.request(ht(a||{},{method:t,headers:i?{"Content-Type":"multipart/form-data"}:{},url:o,data:s}))}}bi.prototype[t]=r(),bi.prototype[t+"Form"]=r(!0)});var mn=bi;var fn=class{constructor(t){if(typeof t!="function")throw new TypeError("executor must be a function.");let r;this.promise=new Promise(function(o){r=o});let i=this;this.promise.then(n=>{if(!i._listeners)return;let o=i._listeners.length;for(;o-- >0;)i._listeners[o](n);i._listeners=null}),this.promise.then=n=>{let o,s=new Promise(a=>{i.subscribe(a),o=a}).then(n);return s.cancel=function(){i.unsubscribe(o)},s},t(function(o,s,a){i.reason||(i.reason=new _t(o,s,a),r(i.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;let r=this._listeners.indexOf(t);r!==-1&&this._listeners.splice(r,1)}toAbortSignal(){let t=new AbortController,r=i=>{t.abort(i)};return this.subscribe(r),t.signal.unsubscribe=()=>this.unsubscribe(r),t.signal}static source(){let t;return{token:new fn(function(n){t=n}),cancel:t}}},Sm=fn;function pl(e){return function(r){return e.apply(null,r)}}function ml(e){return h.isObject(e)&&e.isAxiosError===!0}var fl={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(fl).forEach(([e,t])=>{fl[t]=e});var km=fl;function Em(e){let t=new mn(e),r=nn(mn.prototype.request,t);return h.extend(r,mn.prototype,t,{allOwnKeys:!0}),h.extend(r,t,null,{allOwnKeys:!0}),r.create=function(n){return Em(ht(e,n))},r}var ae=Em(fi);ae.Axios=mn;ae.CanceledError=_t;ae.CancelToken=Sm;ae.isCancel=dn;ae.VERSION=as;ae.toFormData=nr;ae.AxiosError=R;ae.Cancel=ae.CanceledError;ae.all=function(t){return Promise.all(t)};ae.spread=pl;ae.isAxiosError=ml;ae.mergeConfig=ht;ae.AxiosHeaders=de;ae.formToJSON=e=>es(h.isHTMLForm(e)?new FormData(e):e);ae.getAdapter=os.getAdapter;ae.HttpStatusCode=km;ae.default=ae;var xt=ae;var{Axios:eS,AxiosError:tS,CanceledError:rS,isCancel:iS,CancelToken:nS,VERSION:oS,all:sS,Cancel:aS,isAxiosError:cS,spread:lS,toFormData:dS,AxiosHeaders:uS,HttpStatusCode:hS,formToJSON:pS,getAdapter:mS,mergeConfig:fS}=xt;var Z0="https://proctoring-api-dev.easyproctor.tech/api",Q0="https://proctoring-api-hml.easyproctor.tech/api",_m="https://proctoring-api.easyproctor.tech/api",Ct=class{constructor(t){this.options=t;this.baseUrl=this.selectBaseUrl(t.type),this.token=t.token}selectBaseUrl(t){return t==="dev"?Z0:t==="homol"?Q0:_m}async loginAuth(t,r){return await this.makeRequest({path:"/Auth",method:"POST",body:{emailOrCpf:t,key:r}})}async confirmStart(t,r,i,n){return await this.makeRequest({path:`/proctoring/start/${t.examId}`,method:"POST",body:{clientId:t.clientId,proctoringType:r,latitude:i,longitude:n},jwt:t.token})}async getParamsConfig(t){return(await this.makeRequestAxios({path:"/Client/params",method:"GET",jwt:t.token}).catch(i=>{throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde"})).data}async getSignedUrlImage(t,r){return(await this.makeRequestAxios({path:"/upload/signed-url-batch",method:"POST",jwt:t,body:r})).data}async getSignedUrl(t,r,i){return(await this.makeRequestAxios({path:"/upload/signed-url",method:"POST",jwt:t,body:{objectName:`${i}/${r.name}`,contentType:r.type}})).data}async saveAlerts(t,r){await this.makeRequest({path:"/proctoring/save-alerts",method:"POST",jwt:t.token,body:{proctoringId:r.id,alerts:r.alerts}})}async finishAndSendUrls(t,r){await this.makeRequest({path:`/proctoring/finish/${t.examId}`,method:"POST",body:{endDate:new Date().toISOString(),videoCameraUrl:"",audioCameraUrl:"",videoScreenUrl:"",captureScreen:r.captureScreen},jwt:t.token})}async log(t,r){let i;return r?.success!==null&&r?.success!==void 0?i=r.success?"4":"1":i="4",await this.makeRequest({path:"/Log",method:"POST",body:{entryType:i,eventName:t,message:r},jwt:this.token})}async signTerm(){return await this.makeRequest({path:"/User/sign-terms",method:"PATCH",body:{},jwt:this.token})}async signTermUrl(){return(await this.makeRequestAxios({path:"/User/sign-terms-url",method:"GET",jwt:this.token})).data}async startChallenge(t){return(await this.makeRequestAxios({path:"/Challenge/start",method:"POST",jwt:this.token,body:t})).data}async stopChallenge(t,r){return(await this.makeRequestAxios({path:`/Challenge/stop/${t}`,method:"POST",jwt:this.token,body:r})).data}async getServerHour(t){return await this.makeRequest({path:"/Proctoring/server-hour",method:"GET",jwt:t})}async makeRequest(t){let{path:r,method:i,body:n,jwt:o}=t,s=await fetch(this.baseUrl+r,{method:i,body:n!=null?JSON.stringify(n):void 0,headers:{Authorization:`Bearer ${o}`,"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}});if(s.status>=400)throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde";let a=s.headers.get("content-type");return(a?a.includes("application/json"):!1)?await s.json():null}async makeRequestAxios(t){let{path:r,method:i,body:n,jwt:o}=t,s=await xt.request({url:this.baseUrl+r,method:i,headers:{Authorization:`Bearer ${o}`,"Access-Control-Allow-Origin":"*"},data:n});if(s.status>=400)throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde";return s}async makeRequestPUT(t){let{url:r,method:i,body:n,jwt:o}=t,s=await fetch(r,{method:i,body:n!=null?JSON.stringify(n):void 0,headers:{Accept:"*/*","Accept-Encoding":"gzip, deflate, br",Connection:"keep-alive","aeg-event-type":"Notification","Content-Type":"application/json","Cache-Control":"no-cache","x-ms-blob-type":"BlockBlob"}});if(s.status>=400)throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde";let a=s.headers.get("content-type");return(a?a.includes("application/json"):!1)?await s.json():null}};var ls=class{constructor(){this.baseUrl="https://localhost:5080"}async isAlive(){return(await this.makeRequestAxios({path:"/api/usb-device-manager/is-alive",method:"GET",jwt:this.token}).catch(r=>{throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde"})).data}async isPluggedIn(){return(await this.makeRequestAxios({path:"/api/usb-device-manager/is-plugged-in",method:"GET",jwt:this.token}).catch(r=>{throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde"})).data}async ConnectAndScan(){return(await this.makeRequestAxios({path:"/api/usb-device-manager/connect-and-scan",method:"GET",jwt:this.token}).catch(r=>{throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde"})).data}async Devices({deviceType:t,rssiThreshold:r,packageRateThreshold:i}){let n=[];return t&&n.push(`deviceType=${t}`),r&&n.push(`rssiThreshold=${r}`),i&&n.push(`packageRateThreshold=${i}`),(await this.makeRequestAxios({path:`/api/usb-device-manager/devices?${n.join("&")}`,method:"GET",jwt:this.token}).catch(s=>{throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde"})).data}async makeRequestAxios(t){let{path:r,method:i,body:n,jwt:o}=t,s=await xt.request({url:this.baseUrl+r,method:i,headers:{Authorization:`Bearer ${o}`,"Access-Control-Allow-Origin":"*"},data:n});if(s.status>=400)throw"N\xE3o foi poss\xEDvel realizar a requisi\xE7\xE3o, tente novamente mais tarde";return s}};var Er=class{constructor(){this.sessionDuration=0;this.state="Created",this.startedAt=new Date,this.alerts=[],this.recordings=[]}get hasSomethingToUpload(){for(let t of this.recordings)if(!t.upload)return!0;return!1}start(){this.state="Recording",this.startedAt=new Date(Date.now())}pause(){this.state="Paused"}resume(){this.state="Recording"}stop(){this.state="Ended",this.sessionDuration=Date.now()-this.startedAt.getTime()}setProctoringId(t){this.id=t}setEndConfirmed(){this.state="EndConfirmed"}setUploaded(){this.state="Uploaded"}setUploadConfirmed(){this.state="UploadConfirmed"}addAlert(t){this.alerts.push(t)}addRecording(t){this.recordings.push(t)}};var vi=class{constructor(t,r){this.backendService=new ls;this.scanInterval=5;this.options={};this.options=r,this.context=t,this.backend=new Ct({type:t?.type||"prod",token:t.token}),this.currentIsPlugged=!0}setProctoringId(t){this.proctoringId=t}async isPluggedIn(t=!1){try{let r=await this.backendService.isPluggedIn();if(this.proctoringId&&t)if(r)this.currentIsPlugged||this.options.onRealtimeAlertsCallback?.({type:"spycam",message:"Spycam disconnected",description:"Dispositivo de varredura conectado.",status:"OK"});else{let i=new Er;i.setProctoringId(this.proctoringId),i.addAlert({begin:Date.now()-this.startTime.getTime(),end:0,alert:33,type:5}),await this.backend.saveAlerts(this.context,i),this.options.onRealtimeAlertsCallback?.({type:"spycam",message:"Spycam disconnected",description:"Nenhum dispositivo de varredura conectado.",status:"ALERT"})}return this.currentIsPlugged=r,this.currentIsPlugged}catch(r){throw r}}async isAlive(){try{return await this.backendService.isAlive()}catch(t){throw t}}connectAndScan(){return this.backendService.ConnectAndScan()}async devices({deviceType:t,rssiThreshold:r,packageRateThreshold:i}){let n=await this.backendService.Devices({deviceType:t,rssiThreshold:r,packageRateThreshold:i});if(n.length>0&&(this.options.onRealtimeAlertsCallback?.({type:"spycam",message:"Spycam detected",description:"Dispositivo espi\xE3o detectado.",data:n}),this.proctoringId)){let o=new Er;o.setProctoringId(this.proctoringId),o.addAlert({begin:Date.now()-this.startTime.getTime(),end:0,alert:32,type:5}),await this.backend.saveAlerts(this.context,o)}return n}async startCheckSpyCam(t,{deviceType:r,rssiThreshold:i,packageRateThreshold:n}){this.scanInterval=t,this.startTime=new Date(Date.now()),await this.isPluggedIn(!0),this.checkSpyCam=setInterval(async()=>{await this.isPluggedIn(!0)&&await this.devices({deviceType:r,rssiThreshold:i,packageRateThreshold:n})},this.scanInterval*6e4)}stopCheckSpyCam(){clearInterval(this.checkSpyCam)}};var et={cameraId:void 0,microphoneId:void 0,allowMultipleMonitors:!1,allowOnlyFirstMonitor:!0,captureScreen:!0,noiseLimit:40,proctoringType:"IMAGE",insights:"",onBufferSizeError:!1,useGeolocation:!1,useSpyScan:!1,useChallenge:!1,screenRecorderOptions:{width:1280,height:720}};function ds(e){return!!e.width&&!!e.height?{width:e.width,height:e.height,minWidth:e.minWidth,minHeight:e.minHeight}:{width:640,height:480}}var Am={width:1280,height:720,minWidth:640,minHeight:480};var us,xm=e=>(us=e,us),De={DEVICES_CHECKED:"devices_checked",START:"start",FINISH:"finish",ERROR:"error",UPLOAD:"upload",UPLOAD_FILE:"upload_file",DOWNLOAD_VIDEO:"download_video",BUFFER_SIZE:"buffer_size",ANOTHER_STREAM:"another_stream",CHANGE_DEVICE:"change_device",STOP_SHARING_SCREEN:"stop_sharing_screen",ERROR_RECORDER_RTC:"error_recorder_rtc",BROWSER_NOT_SUPPORTED:"browser_not_supported",SAVE_ON_SESSION:"save_on_session"},Oe=(e,t)=>us&&us.log(e,t),D={registerDevicesChecked:(e,t,r)=>Oe(De.DEVICES_CHECKED,{proctoringId:e,success:t,description:r}),registerStart:(e,t,r)=>Oe(De.START,{proctoringId:e,success:t,description:r}),registerFinish:(e,t,r)=>Oe(De.FINISH,{proctoringId:e,success:t,description:r}),registerError:(e,t)=>Oe(De.ERROR,{proctoringId:e,description:t}),registerBrowserNotSupported:(e,t)=>Oe(De.BROWSER_NOT_SUPPORTED,{proctoringId:e,description:t}),registerUpload:(e,t,r,i,n)=>Oe(De.UPLOAD,{proctoringId:e,success:t,description:r,serviceType:i,uploadTime:n}),registerUploadFile:(e,t,r)=>Oe(De.UPLOAD_FILE,{proctoringId:e,description:t,fileType:r}),registerChangeDevice:(e,t,r)=>Oe(De.CHANGE_DEVICE,{proctoringId:e,inOrOut:t,description:r}),registerStopSharingScreen:(e,t)=>Oe(De.STOP_SHARING_SCREEN,{proctoringId:e,description:t}),registerErrorRecorderRTC:(e,t)=>Oe(De.ERROR_RECORDER_RTC,{proctoringId:e,description:t}),registerDownloadFile:(e,t)=>Oe(De.DOWNLOAD_VIDEO,{proctoringId:e,description:t}),registerOnBufferSizeError:(e,t)=>Oe(De.BUFFER_SIZE,{proctoringId:e,description:t}),registerAnotherStream:(e,t)=>Oe(De.ANOTHER_STREAM,{proctoringId:e,description:t}),registerSaveOnSession:(e,t)=>Oe(De.SAVE_ON_SESSION,{proctoringId:e,description:t})};var gn;function hs(e){gn=e}function _r(e,t,r=!1,i,n=!1){let o,s=!1,a,c,l;l=0;let d={mimeType:"video/webm",videoBitsPerSecond:128e3,audioBitsPerSecond:64*1e3};MediaRecorder.isTypeSupported("video/webm;codecs=vp9")?d.mimeType="video/webm;codecs=vp9":console.warn("vp9 codec not supported. Using default mimeType without vp9."),n&&(d={mimeType:"audio/webm",audioBitsPerSecond:64*1e3});let u=new MediaRecorder(e,d);u.ondataavailable=b=>{l=l+b.data.size,b.data.size>0&&t.push(b.data),s?(n&&u.state=="inactive"&&(t=[new Blob(t,{type:"audio/webm"})]),o&&o()):((c&&b.data.size===c.data.size||b.data.size===0)&&(gn&&c&&b.data.size===c.data.size&&D.registerOnBufferSizeError(gn,`onBufferSizeError: Recorder size freezed: ${b.data.size} Mb`),gn&&b.data.size===0&&D.registerOnBufferSizeError(gn,"onBufferSizeError: Recorder size equal 0 Mb"),i&&i()),c=b)};function m(){return new Promise(b=>{o=b,u.start(),l=0,s=!1,r&&(a=setInterval(async()=>{await u.requestData()},3e4))})}function y(){return new Promise(b=>{u.state=="recording"?(o=b,u.stop(),s=!0,clearInterval(a),e.getTracks().forEach(k=>{k.stop()})):b()})}function p(){return new Promise(b=>{u.state=="recording"&&u.pause(),b()})}function f(){return new Promise(b=>{u.state=="paused"&&u.resume(),b()})}function g(){return l}return{startRecording:m,stopRecording:y,pauseRecording:p,resumeRecording:f,recorderOptions:d,getBufferSize:g}}var jt=class{constructor(t,r){this.backend=r;this.imageUrlPackage=[];this.imageBatchNum=0;this.contImages=0;this.proctoringId=t}async uploadImages(t,r,i){let{file:n,onProgress:o}=t;try{let s=l=>{let d=l.loadedBytes/n.size*100;o&&o(Math.round(d))},a;if(this.imageBatchNum===this.contImages){let l=[];for(let u=this.imageBatchNum;u<this.imageBatchNum+60;u++){let m=`${this.proctoringId}/${this.proctoringId}_${u+1}.jpg`;(u+1)%i==0&&(m=`${this.proctoringId}/${this.proctoringId}_${u+1}_realtime.jpg`),l.push({objectName:m,contentType:"image/jpeg"})}(await this.backend.getSignedUrlImage(r,l)).map(u=>{this.imageUrlPackage.push(u)}),this.imageBatchNum+=60}let c=!1;return c=await xt.request({url:this.imageUrlPackage[this.contImages],method:"PUT",headers:{"Content-Type":n.type,"x-ms-blob-type":"BlockBlob"},data:n,onUploadProgress:l=>{s({loadedBytes:l.loaded})}}).then(l=>l.status==200||l.status==201?(this.contImages++,!0):!1).catch(()=>!1).finally(()=>{}),{storage:"upload",url:a,uploaded:c}}catch{throw D.registerError(this.proctoringId,`Failed to upload to AWS
64
+ File name: ${n.name}
65
+ File type: ${n.type}
66
+ File size: ${n.size}`),new Error("Failed to upload to AWS")}}async upload(t,r,i){let{file:n,onProgress:o}=t;try{let s=l=>{let d=l.loadedBytes/n.size*100;o&&o(Math.round(d))},a;if(i){if(this.imageBatchNum===this.contImages){let l=[];for(let u=this.imageBatchNum;u<this.imageBatchNum+20;u++)l.push({objectName:`${this.proctoringId}/${this.proctoringId}_${u+1}.jpg`,contentType:"image/jpeg"});(await this.backend.getSignedUrlImage(r,l)).map(u=>{this.imageUrlPackage.push(u)}),this.imageBatchNum+=20}}else a=await this.backend.getSignedUrl(r,n,this.proctoringId);let c=!1;return i?c=await xt.request({url:this.imageUrlPackage[this.contImages],method:"PUT",headers:{"Content-Type":n.type,"x-ms-blob-type":"BlockBlob"},data:n,onUploadProgress:l=>{s({loadedBytes:l.loaded})}}).then(()=>!0).catch(()=>!1).finally(()=>{this.contImages++}):c=await xt.request({url:a,method:"PUT",headers:{"Content-Type":n.type,"x-ms-blob-type":"BlockBlob"},data:n,onUploadProgress:l=>{s({loadedBytes:l.loaded})}}).then(()=>!0).catch(()=>!1),{storage:"upload",url:a,uploaded:c}}catch{throw D.registerError(this.proctoringId,`Failed to upload to AWS
67
+ File name: ${n.name}
68
+ File type: ${n.type}
69
+ File size: ${n.size}`),new Error("Failed to upload to AWS")}}};var Cm="not_shared_first_screen",Tm="not_shared_screen",ps="multiple_monitors_detected",Rm="proctoring_already_started",ms="proctoring_not_started";var Pm="another_stream_active",Im="stream_under_minimum_permitted",Dm="browser_not_supported",Om="token_missing",Bm="credentials_missing";var Fm="spy_scan_api_not_found";var fs=class extends ui{constructor(r,i,n="videoPreviewFrameDetection",o="liveViewFrameDetection"){super("ObjectDetector","https://storage.googleapis.com/mediapipe-models/object_detector/efficientdet_lite0/float16/1/efficientdet_lite0.tflite",r,i,n,o)}displayVideoDetections(r){for(let i of this.children)this.liveView.removeChild(i);this.children.splice(0);for(let i of r.detections){let n=window.innerWidth,o=window.innerHeight,s=this.video.offsetWidth,a=this.video.offsetHeight,c=s/n,l=a/o,d=s-i.boundingBox.width*c-i.boundingBox.originX*c,u=i.boundingBox.originY*l,m=(i.boundingBox.width-10)*c,y=i.boundingBox.height*l,p=document.createElement("p");p.innerText=i.categories[0].categoryName+" - with "+Math.round(parseFloat(i.categories[0].score)*100)+"% confidence.",p.style.right=d-20+"px",p.style.top=u+"px",p.style.width=m+"px";let f={zIndex:"2",position:"absolute",border:"1px dashed #fff"};Object.assign(p.style,{...f,margin:"0",fontSize:"9px",paddingBottom:"5px",paddingTop:"5px",color:"#fff",backgroundColor:"#007f8b"});let g=document.createElement("div");g.setAttribute("class","highlighter"),g.style.right=d-20+"px",g.style.top=u+"px",g.style.width=m+"px",g.style.height=y-20+"px",Object.assign(g.style,{...f,zIndex:"1",background:"rgba(0, 255, 0, 0.25)"}),this.liveView.appendChild(g),this.liveView.appendChild(p),this.children.push(g),this.children.push(p)}}verify(r){let i=r.detections.filter(o=>o.categories.some(s=>s.categoryName==="person")).length,n=r.detections.filter(o=>o.categories.some(s=>s.categoryName==="cell phone")).length;this.paramsConfig.videoBehaviourParameters?.detectPerson&&i!==this.numPersonsSent&&(i===0?(this.handleAlert("no_person_detected","person_detection_on_stream"),this.numPersonsSent=i):i>1?(this.handleAlert("multiple_persons_detected","person_detection_on_stream"),this.numPersonsSent=i):(this.handleOk("person_ok","person_detection_on_stream"),this.numPersonsSent=i)),this.paramsConfig.videoBehaviourParameters?.detectCellPhone&&n!==this.numCellphoneSent&&(n>0?(this.handleAlert("cellphone_detected","mobile_detection_on_stream"),this.numCellphoneSent=n):(this.handleOk("cellphone_ok","mobile_detection_on_stream"),this.numCellphoneSent=n))}};var or=class{constructor(t){this.volume=null;this.animationFrameId=null;this.stream=t}async start(t={}){return new Promise((r,i)=>{try{let n=new AudioContext;this.analyser=n.createAnalyser();let o=n.createMediaStreamSource(this.stream);this.analyser.smoothingTimeConstant=.8,this.analyser.fftSize=1024,o.connect(this.analyser);let s=()=>{let a=new Uint8Array(this.analyser.frequencyBinCount);this.analyser.getByteFrequencyData(a);let l=a.reduce((d,u)=>d+u,0)/a.length;this.setVolume(l),t.setVolume&&t.setVolume(l),this.animationFrameId=requestAnimationFrame(s)};this.animationFrameId=requestAnimationFrame(s),r(!0)}catch(n){this.stop(),i(`Error: ${n}`)}})}stop(){this.animationFrameId!==null&&cancelAnimationFrame(this.animationFrameId)}getVolume(){return this.volume}setVolume(t){this.volume=t}};var Vt=class{constructor(t,r,i,n,o){this.blobs=[];this.paramsConfig={audioBehaviourParameters:{recordingBitrate:128,noiseLimit:40},imageBehaviourParameters:{frames:40,useUploadImage:!0,uploadInterval:20,saveVideo:!0},videoBehaviourParameters:{detectPerson:!1,detectFace:!1,detectCellPhone:!1}};this.options={cameraId:void 0,microphoneId:void 0,onBufferSizeError:!1,onBufferSizeErrorCallback:t=>{},proctoringType:"IMAGE",onChangeDevicesCallback:t=>{},onRealtimeAlertsCallback:t=>{}};this.videoOptions={width:640,height:480,minWidth:0,minHeight:0};this.blobsRTC=[];this.imageCount=0;this.filesToUpload=[];this.currentRetries=0;this.noiseWait=20;this.options=t,this.videoOptions=r,this.backend=n,this.backendToken=o,i&&(this.paramsConfig=i)}setProctoringId(t){this.proctoringId=t,this.proctoringId&&this.backend&&(this.upload=new jt(this.proctoringId,this.backend)),hs(t)}async initializeDetectors(){jp(),(this.paramsConfig.videoBehaviourParameters?.detectPerson||this.paramsConfig.videoBehaviourParameters?.detectCellPhone)&&(this.objectDetection=new fs({onRealtimeAlertsCallback:t=>this.options.onRealtimeAlertsCallback(t)},this.paramsConfig),await this.objectDetection.initializeDetector()),this.paramsConfig.videoBehaviourParameters?.detectFace&&(this.faceDetection=new hi({onRealtimeAlertsCallback:t=>this.options.onRealtimeAlertsCallback(t)},this.paramsConfig),await this.faceDetection.initializeDetector())}configImageCapture(){this.video=document.createElement("video"),this.canvas=document.createElement("canvas"),this.video.srcObject=this.cameraStream,this.video.play(),this.video.muted=!0,this.canvas.width=this.videoOptions.width,this.canvas.height=this.videoOptions.height}async bufferError(t){console.log("buffer error Camera Recorder params "+this.paramsConfig.videoBehaviourParameters);let r=this.paramsConfig.videoBehaviourParameters?.retryEnabled||!1,i=this.paramsConfig.videoBehaviourParameters?.maxRetries||3;r&&this.currentRetries<i?(await this.recordingStop(),await this.startRecording({retry:!0}),this.currentRetries++,this.options.onBufferSizeErrorCallback&&this.options.onBufferSizeErrorCallback(this.cameraStream)):this.options.onBufferSizeErrorCallback&&this.options.onBufferSizeErrorCallback()}async startRecording(t){(this.paramsConfig.videoBehaviourParameters?.detectPerson||this.paramsConfig.videoBehaviourParameters?.detectCellPhone||this.paramsConfig.videoBehaviourParameters?.detectFace)&&!t?.retry&&await this.initializeDetectors();let{cameraId:r,microphoneId:i,onBufferSizeErrorCallback:n}=this.options,o={audio:{deviceId:i},video:{deviceId:r,width:this.videoOptions.width,height:this.videoOptions.height,frameRate:15}};try{this.cameraStream=await navigator.mediaDevices.getUserMedia(o)}catch(p){throw p.toString()=="NotReadableError: Could not start video source"?"N\xE3o foi poss\xEDvel conectar a camera, ela pode estar sendo utilizada por outro programa":p}let{startRecording:s,stopRecording:a,pauseRecording:c,resumeRecording:l,recorderOptions:d,getBufferSize:u}=_r(this.cameraStream,this.blobs,this.options.onBufferSizeError,p=>this.bufferError(p),!1);this.recordingStart=s,this.recordingStop=a,this.recordingPause=c,this.recordingResume=l,this.recorderOptions=d,this.getBufferSize=u,this.recordingStart();let y=this.cameraStream.getVideoTracks()[0].getSettings();if(this.videoOptions.minWidth>y.width||this.videoOptions.minHeight>y.height)throw Im;if(this.videoOptions.width!==y.width||this.videoOptions.height!==y.height)throw D.registerAnotherStream(this.proctoringId,`Maybe have another stream active
77
70
  Video Options: ${JSON.stringify(this.videoOptions,null,2)}
78
- Setting: ${JSON.stringify(g,null,2)}`),Ig;this.paramsConfig.imageBehaviourParameters?.useUploadImage&&this.options.proctoringType=="IMAGE"&&this.photoShotsCycle(),this.paramsConfig.videoBehaviourParameters?.detectFace&&await this.faceDetection.enableCam(this.cameraStream),(this.paramsConfig.videoBehaviourParameters?.detectPerson||this.paramsConfig.videoBehaviourParameters?.detectCellPhone)&&await this.objectDetection.enableCam(this.cameraStream),this.filesToUpload=[],this.options.proctoringType=="REALTIME"&&this.captureFrame()}async stopRecording(){if(this.recordingStop&&await this.recordingStop(),this.faceDetection&&this.faceDetection.detecting&&this.faceDetection.stopDetection(),this.objectDetection&&this.objectDetection.detecting&&this.objectDetection.stopDetection(),clearInterval(this.imageInterval),clearInterval(this.sendFrameInterval),this.options.proctoringType=="REALTIME"&&this.upload&&this.backendToken){let t=this.filesToUpload.length,r=this.paramsConfig.imageBehaviourParameters.uploadInterval;for(let n=0;n<t;n++){if(n==t-1&&this.filesToUpload[0]){let o=this.filesToUpload[0].name.replace(".jpg","_realtime.jpg"),i=new File([this.filesToUpload[0]],o,{type:"image/jpeg"});this.filesToUpload[0]=i}this.filesToUpload[0]&&await this.upload.uploadImages({file:this.filesToUpload[0]},this.backendToken,r),this.filesToUpload.shift()}}this.volumeMeter&&this.volumeMeter.stop(),this.intervalNoiseDetection&&clearInterval(this.intervalNoiseDetection)}async pauseRecording(){await this.recordingPause()}async resumeRecording(){await this.recordingResume()}photoShotsCycle(){let t;this.configImageCapture(),this.imageInterval=setInterval(async()=>{this.canvas.getContext("2d").drawImage(this.video,0,0,this.videoOptions.width,this.videoOptions.height);let r=this.canvas.toDataURL("image/jpeg");t=await this.getFile(r,`${this.proctoringId}_${this.imageCount+1}.jpg`,"image/jpeg"),t&&this.upload&&this.backendToken&&(this.upload.upload({file:t},this.backendToken,!0),this.imageCount++)},this.paramsConfig.imageBehaviourParameters.uploadInterval*1e3)}captureFrame(){let t;this.configImageCapture();let r=this.paramsConfig.imageBehaviourParameters.uploadInterval,n=!1;this.imageInterval=setInterval(async()=>{this.canvas.getContext("2d").drawImage(this.video,0,0,this.canvas.width,this.canvas.height);let o=this.canvas.toDataURL("image/jpeg");if(this.proctoringId==null)return;n==!1&&r>0&&(n=!0,this.sendFrame());let i=`${this.proctoringId}_${this.imageCount+1}.jpg`;(this.imageCount+1)%r==0&&(i=`${this.proctoringId}_${this.imageCount+1}_realtime.jpg`),t=await this.getFile(o,i,"image/jpeg"),t&&t.size>10&&r>0&&(this.filesToUpload.push(t),this.imageCount++)},1e3)}sendFrame(){let t=this.paramsConfig.imageBehaviourParameters.uploadInterval,r=!1,n=0;this.sendFrameInterval=setInterval(async()=>{if(this.upload&&this.backendToken&&!r){n=0;let o=0,i=this.filesToUpload.length;for(;o<i&&(r=!0,this.filesToUpload.length!=0);)(await this.upload.uploadImages({file:this.filesToUpload[0]},this.backendToken,t)).uploaded==!0?(await this.filesToUpload.shift(),o++):console.log("erro no upload: "+this.filesToUpload[0].name);r=!1}else if(r&&(n++,n==3)){n=0;let o=this.videoOptions.width/2,i=this.videoOptions.height/2;o<320&&(o=320),i<180&&(i=180),this.canvas.width=o,this.canvas.height=i}},t*1e3)}download(t){let r=URL.createObjectURL(t),n=document.createElement("a");document.body.appendChild(n),n.style.display="none",n.href=r,n.download=t.name,n.click(),window.URL.revokeObjectURL(r)}async saveOnSession(t){this.blobs!=null&&N.registerSaveOnSession(this.proctoringId,`Blobs Length: ${this.blobs.length} Buffer Size: ${this.getBufferSize()} `);let r=this.cameraStream.getVideoTracks()[0].getSettings(),n=this.cameraStream.getAudioTracks()[0].getSettings();(this.options.proctoringType=="VIDEO"||this.options.proctoringType=="REALTIME"||this.options.proctoringType=="IMAGE"&&this.paramsConfig.imageBehaviourParameters?.saveVideo)&&t.addRecording({device:`Audio
79
- Sample Rate: ${n.sampleRate}
80
- Sample Size: ${n.sampleSize}
71
+ Setting: ${JSON.stringify(y,null,2)}`),Pm;this.paramsConfig.imageBehaviourParameters?.useUploadImage&&this.options.proctoringType=="IMAGE"&&this.photoShotsCycle(),this.paramsConfig.videoBehaviourParameters?.detectFace&&await this.faceDetection.enableCam(this.cameraStream),(this.paramsConfig.videoBehaviourParameters?.detectPerson||this.paramsConfig.videoBehaviourParameters?.detectCellPhone)&&await this.objectDetection.enableCam(this.cameraStream),this.filesToUpload=[],this.options.proctoringType=="REALTIME"&&this.captureFrame()}async stopRecording(){if(this.recordingStop&&await this.recordingStop(),this.faceDetection&&this.faceDetection.detecting&&this.faceDetection.stopDetection(),this.objectDetection&&this.objectDetection.detecting&&this.objectDetection.stopDetection(),clearInterval(this.imageInterval),clearInterval(this.sendFrameInterval),this.options.proctoringType=="REALTIME"&&this.upload&&this.backendToken){let t=this.filesToUpload.length,r=this.paramsConfig.imageBehaviourParameters.uploadInterval;for(let i=0;i<t;i++){if(i==t-1&&this.filesToUpload[0]){let n=this.filesToUpload[0].name.replace(".jpg","_realtime.jpg"),o=new File([this.filesToUpload[0]],n,{type:"image/jpeg"});this.filesToUpload[0]=o}this.filesToUpload[0]&&await this.upload.uploadImages({file:this.filesToUpload[0]},this.backendToken,r),this.filesToUpload.shift()}}this.volumeMeter&&this.volumeMeter.stop(),this.intervalNoiseDetection&&clearInterval(this.intervalNoiseDetection)}async pauseRecording(){await this.recordingPause()}async resumeRecording(){await this.recordingResume()}photoShotsCycle(){let t;this.configImageCapture(),this.imageInterval=setInterval(async()=>{this.canvas.getContext("2d").drawImage(this.video,0,0,this.videoOptions.width,this.videoOptions.height);let r=this.canvas.toDataURL("image/jpeg");t=await this.getFile(r,`${this.proctoringId}_${this.imageCount+1}.jpg`,"image/jpeg"),t&&this.upload&&this.backendToken&&(this.upload.upload({file:t},this.backendToken,!0),this.imageCount++)},this.paramsConfig.imageBehaviourParameters.uploadInterval*1e3)}captureFrame(){let t;this.configImageCapture();let r=this.paramsConfig.imageBehaviourParameters.uploadInterval,i=!1;this.imageInterval=setInterval(async()=>{this.canvas.getContext("2d").drawImage(this.video,0,0,this.canvas.width,this.canvas.height);let n=this.canvas.toDataURL("image/jpeg");if(this.proctoringId==null)return;i==!1&&r>0&&(i=!0,this.sendFrame());let o=`${this.proctoringId}_${this.imageCount+1}.jpg`;(this.imageCount+1)%r==0&&(o=`${this.proctoringId}_${this.imageCount+1}_realtime.jpg`),t=await this.getFile(n,o,"image/jpeg"),t&&t.size>10&&r>0&&(this.filesToUpload.push(t),this.imageCount++)},1e3)}sendFrame(){let t=this.paramsConfig.imageBehaviourParameters.uploadInterval,r=!1,i=0;this.sendFrameInterval=setInterval(async()=>{if(this.upload&&this.backendToken&&!r){i=0;let n=0,o=this.filesToUpload.length;for(;n<o&&(r=!0,this.filesToUpload.length!=0);)(await this.upload.uploadImages({file:this.filesToUpload[0]},this.backendToken,t)).uploaded==!0?(await this.filesToUpload.shift(),n++):console.log("erro no upload: "+this.filesToUpload[0].name);r=!1}else if(r&&(i++,i==3)){i=0;let n=this.videoOptions.width/2,o=this.videoOptions.height/2;n<320&&(n=320),o<180&&(o=180),this.canvas.width=n,this.canvas.height=o}},t*1e3)}download(t){let r=URL.createObjectURL(t),i=document.createElement("a");document.body.appendChild(i),i.style.display="none",i.href=r,i.download=t.name,i.click(),window.URL.revokeObjectURL(r)}async saveOnSession(t){this.blobs!=null&&D.registerSaveOnSession(this.proctoringId,`Blobs Length: ${this.blobs.length} Buffer Size: ${this.getBufferSize()} `);let r=this.cameraStream.getVideoTracks()[0].getSettings(),i=this.cameraStream.getAudioTracks()[0].getSettings();(this.options.proctoringType=="VIDEO"||this.options.proctoringType=="REALTIME"||this.options.proctoringType=="IMAGE"&&this.paramsConfig.imageBehaviourParameters?.saveVideo)&&t.addRecording({device:`Audio
72
+ Sample Rate: ${i.sampleRate}
73
+ Sample Size: ${i.sampleSize}
81
74
 
82
75
  Video:
83
- ${JSON.stringify(this.recorderOptions)}`,file:new File(this.blobs,`EP_${t.id}_camera_0.webm`,{type:this.recorderOptions?.mimeType||"video/webm"}),origin:"Camera"})}async getFile(t,r,n){return new Promise((o,i)=>{t.length>5&&fetch(t).then(s=>s.blob()).then(s=>{let a=new File([s],r,{type:n});o(a)}).catch(s=>{i(s)})})}onNoiseDetected(){if(this.options.proctoringType==="REALTIME")return;!this.volumeMeter&&this.cameraStream&&(this.volumeMeter=new kr(this.cameraStream),this.volumeMeter.start().catch(r=>{console.log(r),this.volumeMeter=void 0})),(this.volumeMeter?.getVolume()??0)>=(this.paramsConfig.audioBehaviourParameters?.noiseLimit||40)&&(console.log("entrou"+this.noiseWait),this.noiseWait>=20&&(this.options.onRealtimeAlertsCallback({status:"ALERT",description:"Barulho detectado",type:"audio_detection_on_stream"}),this.noiseWait=0)),this.noiseWait++}};var la=class{constructor(t=mt,r){this.videoOptions={width:1080,height:720,minWidth:0,minHeight:0};this.options={...mt,...t,captureScreen:!1,allowMultipleMonitors:!0,allowOnlyFirstMonitor:!1},this.videoOptions={...this.videoOptions,...r}}checkDevicesInterface(){this.addStyleMask();let t=document.createElement("style");t.type="text/css",t.innerHTML=`
76
+ ${JSON.stringify(this.recorderOptions)}`,file:new File(this.blobs,`EP_${t.id}_camera_0.webm`,{type:this.recorderOptions?.mimeType||"video/webm"}),origin:"Camera"})}async getFile(t,r,i){return new Promise((n,o)=>{t.length>5&&fetch(t).then(s=>s.blob()).then(s=>{let a=new File([s],r,{type:i});n(a)}).catch(s=>{o(s)})})}onNoiseDetected(){if(this.options.proctoringType==="REALTIME")return;!this.volumeMeter&&this.cameraStream&&(this.volumeMeter=new or(this.cameraStream),this.volumeMeter.start().catch(r=>{console.log(r),this.volumeMeter=void 0})),(this.volumeMeter?.getVolume()??0)>=(this.paramsConfig.audioBehaviourParameters?.noiseLimit||40)&&(console.log("entrou"+this.noiseWait),this.noiseWait>=20&&(this.options.onRealtimeAlertsCallback({status:"ALERT",description:"Barulho detectado",type:"audio_detection_on_stream"}),this.noiseWait=0)),this.noiseWait++}};var gs=class{constructor(t=et,r){this.videoOptions={width:1080,height:720,minWidth:0,minHeight:0};this.options={...et,...t,captureScreen:!1,allowMultipleMonitors:!0,allowOnlyFirstMonitor:!1},this.videoOptions={...this.videoOptions,...r}}checkDevicesInterface(){this.addStyleMask();let t=document.createElement("style");t.type="text/css",t.innerHTML=`
84
77
  .alert-div {
85
78
  display: flex;
86
79
  align-items: center;
@@ -175,8 +168,8 @@ Setting: ${JSON.stringify(g,null,2)}`),Ig;this.paramsConfig.imageBehaviourParame
175
168
  left: 5px;
176
169
  top: 2px;
177
170
  }
178
- `,document.getElementsByTagName("head")[0].appendChild(t);let r=document.createElement("div");r.setAttribute("id","checkDevices");let n={backgroundColor:"rgba(0,0,0,0.4)",zIndex:"1000",position:"fixed",top:"0",left:"0",height:"100vh",width:"100%",display:"flex",alignItems:"center",justifyContent:"center"};this.applyStyles(r,n);let o=document.createElement("div"),i={backgroundColor:"#fff",zIndex:"1001",width:"600px",borderRadius:"10px",display:"flex",flexDirection:"column",alignItems:"center"};this.applyStyles(o,i);let s=document.createElement("h3");s.innerText="Para iniciar configure a c\xE2mera e o microfone";let a={color:"rgba(0, 0, 0, .7)",fontWeight:"bold",fontSize:"20px",marginBottom:"15px",padding:"20px 0px",borderBottom:"2px solid rgba(0, 0, 0, .1)",width:"100%",textAlign:"center"};this.applyStyles(s,a),o.appendChild(s);let c=document.createElement("div"),l=document.createElement("h3"),h=document.createElement("select");h.setAttribute("id","cameraSelect");let u={padding:"0 20px",width:"100%",display:"flex",justifyContent:"space-between",marginBottom:"15px"};this.applyStyles(c,u),l.innerText="C\xE2mera";let p={color:"rgba(0, 0, 0, .75)",fontWeight:"bold",fontSize:"16px"};this.applyStyles(l,p),h.style.maxWidth="400px",c.appendChild(l),c.appendChild(h),o.appendChild(c);let g=document.createElement("div");g.setAttribute("id","liveCheckDevices");let m=document.createElement("div"),y=document.createElement("video"),b=document.createElement("div");y.setAttribute("id","cameraStream"),y.muted=!0;let w={width:"calc(100% - 40px)",display:"flex",justifyContent:"space-between",borderBottom:"2px solid rgba(0, 0, 0, .1)",paddingBottom:"15px",transform:"rotateY(180deg)"};this.applyStyles(g,w);let S={width:"20rem",backgroundColor:"#000",borderRadius:"10px",marginBottom:"15px"};this.applyStyles(y,S),this.applyStyles(m,{position:"relative"});let A=document.createElement("div");A.setAttribute("class","alert-div"),A.setAttribute("id","alertDivResolution");let B=document.createElement("error");B.setAttribute("id","resolutionAlert"),B.innerText="Resolu\xE7\xE3o m\xEDnima",B.style.marginLeft="10px",B.style.marginRight="5px";let O=document.createElement("span"),R=document.createElement("div"),de=document.createElement("div");O.setAttribute("id","checkmark_resolution"),R.setAttribute("id","checkmark_stem_resolution"),de.setAttribute("id","checkmark_kick_resolution"),O.appendChild(R),O.appendChild(de);let se=document.createElement("span"),wo=document.createElement("div"),bd=document.createElement("div");se.setAttribute("class","info"),se.setAttribute("id","info_resolution"),wo.setAttribute("class","info_stem"),bd.setAttribute("class","info_kick"),se.appendChild(wo),se.appendChild(bd),A.appendChild(O),A.appendChild(B),A.appendChild(se);let vo=document.createElement("div");vo.setAttribute("class","alert-div"),vo.setAttribute("id","alertDivFacePosition");let Ii=document.createElement("error");Ii.setAttribute("id","facePositionAlert"),Ii.innerText="Posicionamento da face",Ii.style.marginLeft="10px";let Pi=document.createElement("span"),wd=document.createElement("div"),vd=document.createElement("div");Pi.setAttribute("id","checkmark_FacePosition"),wd.setAttribute("id","checkmark_stem_FacePosition"),vd.setAttribute("id","checkmark_kick_FacePosition"),Pi.appendChild(wd),Pi.appendChild(vd),vo.appendChild(Pi),vo.appendChild(Ii);let _o=document.createElement("div");_o.setAttribute("class","alert-div"),_o.setAttribute("id","alertDivAmbientVerify");let Ri=document.createElement("error");Ri.setAttribute("id","ambientVerifyAlert"),Ri.innerText="Verifica\xE7\xE3o do ambiente",Ri.style.marginLeft="10px";let Di=document.createElement("span"),_d=document.createElement("div"),Sd=document.createElement("div");Di.setAttribute("id","checkmark_AmbientVerify"),_d.setAttribute("id","checkmark_stem_AmbientVerify"),Sd.setAttribute("id","checkmark_kick_AmbientVerify"),Di.appendChild(_d),Di.appendChild(Sd),_o.appendChild(Di),_o.appendChild(Ri);let hn=document.createElement("div");hn.setAttribute("class","alert-div"),hn.setAttribute("id","alertDivSpyCam"),hn.style.display="none";let Oi=document.createElement("error");Oi.setAttribute("id","SpyCamAlert"),Oi.innerText="Verifica\xE7\xE3o de Spy Cam",Oi.style.marginLeft="10px";let Bi=document.createElement("span"),Ed=document.createElement("div"),kd=document.createElement("div");Bi.setAttribute("id","checkmark_SpyCam"),Ed.setAttribute("id","checkmark_stem_SpyCam"),kd.setAttribute("id","checkmark_kick_SpyCam"),Bi.appendChild(Ed),Bi.appendChild(kd),hn.appendChild(Bi),hn.appendChild(Oi),b.style.transform="rotateY(180deg)",b.appendChild(A),b.appendChild(vo),b.appendChild(_o),b.appendChild(hn),g.appendChild(b),m.appendChild(y),g.appendChild(m);let Xt=document.createElement("div");Xt.setAttribute("class","facial-biometry__mask"),Xt.style.width="100%",Xt.style.height="100%",Xt.style.position="absolute",Xt.style.top="0px",Xt.style.left="0px",Xt.style.backgroundColor="#fff",Xt.style.opacity="0.6";let hr=document.createElement("div");hr.setAttribute("class","biometry__frame"),hr.style.width="100%",hr.style.height="100%",hr.style.position="absolute",hr.style.top="0px",hr.style.left="0px",hr.style.zIndex="10",m.appendChild(Xt),m.appendChild(hr),o.appendChild(g);let Mi=document.createElement("div"),Oc=document.createElement("h3"),Bc=document.createElement("select");Bc.setAttribute("id","micSelect");let Q2={padding:"0 20px",width:"100%",display:"flex",justifyContent:"space-between",margin:"15px 0"};this.applyStyles(Mi,Q2),Oc.innerText="Microfone";let Z2={color:"rgba(0, 0, 0, .7)",fontWeight:"bold",fontSize:"16px"};this.applyStyles(Oc,Z2),Bc.style.maxWidth="400px",Mi.appendChild(Oc),Mi.appendChild(Bc),o.appendChild(Mi);let Li=document.createElement("div"),ey={width:"100%",padding:"0px 40px",display:"flex"};this.applyStyles(Li,ey);let Ui=document.createElement("div"),ty={display:"flex",flexDirection:"column",justifyContent:"space-between",paddingBottom:"15px"};this.applyStyles(Ui,ty);let Fi=document.createElement("div");Fi.setAttribute("id","audioStream");let ry={display:"flex",marginBottom:"15px"};this.applyStyles(Fi,ry);let ny={height:"16px",width:"5px",marginRight:"5px",borderRadius:"10px",backgroundColor:"rgba(0, 0, 0, .3)"};for(let Rd=0;Rd<25;Rd++){let Dd=document.createElement("div");this.applyStyles(Dd,ny),Fi.appendChild(Dd)}let So=document.createElement("div"),Cd=document.createElement("p"),Ad=document.createElement("p"),xd=document.createElement("p"),oy={width:"250px",display:"flex",justifyContent:"space-between"};this.applyStyles(So,oy),Cd.innerText="0",Ad.innerText="50",xd.innerText="100",So.appendChild(Cd),So.appendChild(Ad),So.appendChild(xd);let un=document.createElement("div");un.setAttribute("class","alert-div"),un.setAttribute("id","alertDivMicrophone");let iy={alignItems:"start",justifyContent:"end",width:"inherit"};this.applyStyles(un,iy);let Ni=document.createElement("error");Ni.setAttribute("id","microphoneAlert"),Ni.innerText="Teste de funcionamento",Ni.style.marginLeft="10px";let ji=document.createElement("span"),Td=document.createElement("div"),Id=document.createElement("div");ji.setAttribute("id","checkmark_microphone"),Td.setAttribute("id","checkmark_stem_microphone"),Id.setAttribute("id","checkmark_kick_microphone"),ji.appendChild(Td),ji.appendChild(Id),un.appendChild(ji),un.appendChild(Ni),Ui.appendChild(Fi),Ui.appendChild(So);let Vi=document.createElement("p");Vi.innerText='Pronuncie em voz alta: "um, dois, tr\xEAs, quatro".',Vi.style.textAlign="start";let sy={width:"100%",marginLeft:"40px",marginBottom:"15px"};this.applyStyles(Vi,sy),Li.appendChild(Ui),Li.appendChild(un),o.appendChild(Vi),o.appendChild(Li);let Eo=document.createElement("div"),ay={width:"100%",display:"flex",alignItems:"center",justifyContent:"center",borderTop:"2px solid rgba(0, 0, 0, .1)"};this.applyStyles(Eo,ay);let Hi=document.createElement("button");Hi.setAttribute("id","cancelBtn"),Hi.innerText="Cancelar";let cy={width:"100%",height:"70px",backgroundColor:"#FFF",border:"none",color:"rgba(0, 0, 0, .7)",fontWeight:"bold",borderRadius:"10px",paddingTop:"5px",paddingBottom:"5px"};this.applyStyles(Hi,cy);let Pd=document.createElement("span"),ly={width:"3px",height:"70px",margin:"0px 2px",background:"rgba(0, 0, 0, .1)"};this.applyStyles(Pd,ly);let dn=document.createElement("button");dn.innerText="Continuar",dn.setAttribute("id","confirmBtn");let hy={width:"100%",height:"70px",backgroundColor:"#FFF",border:"none",color:"rgba(0, 0, 0, .7)",fontWeight:"bold",borderRadius:"10px",paddingTop:"5px",paddingBottom:"5px"};this.applyStyles(dn,hy),this.options.useSpyScan&&(dn.style.cursor="not-allowed",dn.setAttribute("disabled","true")),Eo.appendChild(Hi),Eo.appendChild(Pd),Eo.appendChild(dn),o.appendChild(Eo),r.appendChild(o),document.body.appendChild(r)}async setSelectOption(t,r){let n=document.querySelector("#cameraSelect"),o=document.querySelector("#micSelect"),i=await St();n&&(n.value=t.cameraId||"default"),o&&(o.value=t.microphoneId||"default");let s=(a,c)=>{let l=document.createElement("option");return l.setAttribute("value",c),l.innerHTML=a,l};i.cameras.forEach(a=>{let c=s(a.label,a.id);n?.appendChild(c)}),i.microphones.forEach(a=>{let c=s(a.label,a.id);o?.appendChild(c)}),this.onSelectOptionChange(a=>r(a))}async onSelectOptionChange(t){let r=document.querySelector("#cameraSelect"),n=document.querySelector("#micSelect");r?.addEventListener("change",()=>t({cameraId:r?.value,microphoneId:n?.value})),n?.addEventListener("change",()=>t({cameraId:r?.value,microphoneId:n?.value}))}closeModal(){document.querySelector("#checkDevices")?.remove()}modalActions(t){let r=document.getElementById("cancelBtn"),n=document.getElementById("confirmBtn"),o=document.getElementById("cameraSelect"),i=document.getElementById("micSelect");return new Promise((s,a)=>{r?.addEventListener("click",()=>{t(),this.closeModal(),a({result:!1})}),n?.addEventListener("click",()=>{n.disabled||(t(),this.closeModal(),s({cameraId:o?.value,microphoneId:i?.value,result:!0}))})})}realtimeAlertsUI(t){let r=document.getElementById("facePositionAlert"),n=document.getElementById("ambientVerifyAlert"),o=document.getElementById("checkmark_FacePosition"),i=document.getElementById("checkmark_stem_FacePosition"),s=document.getElementById("checkmark_kick_FacePosition"),a=document.getElementById("alertDivAmbientVerify"),c=document.getElementById("checkmark_AmbientVerify"),l=document.getElementById("checkmark_stem_AmbientVerify"),h=document.getElementById("checkmark_kick_AmbientVerify");t.status==="OK"?(r&&(r.style.color="#16A34A"),n&&(n.style.color="#16A34A"),a&&a.setAttribute("title",""),o&&(o.setAttribute("class","checkmark"),i.setAttribute("class","checkmark_stem"),s.setAttribute("class","checkmark_kick")),c&&(c.setAttribute("class","checkmark"),l.setAttribute("class","checkmark_stem"),h.setAttribute("class","checkmark_kick"))):(o&&(t.description==="Nenhuma face encontrada"||t.description==="Face na posi\xE7\xE3o errada")&&(r&&(r.style.color="#FF0000"),o.setAttribute("class","checkmark_error"),i.setAttribute("class","checkmark_stem_error"),s.setAttribute("class","checkmark_kick_error")),c&&t.description==="M\xFAltiplas faces detectadas"&&(n&&(n.style.color="#FF0000"),a&&a.setAttribute("title",`${t.description}`),c.setAttribute("class","checkmark_error"),l.setAttribute("class","checkmark_stem_error"),h.setAttribute("class","checkmark_kick_error")))}waitingSpyDevices(t){let r=document.getElementById("SpyCamAlert"),n=document.getElementById("alertDivSpyCam");if(n&&(n.style.display="flex"),t){r&&(r.style.color="#c7c7c7"),r&&(r.innerText="Verificando Spy Cam...");let o=document.getElementById("confirmBtn");o&&o.setAttribute("disabled","true"),o&&(o.style.cursor="not-allowed")}else{r&&(r.style.color="#16A34A"),r&&(r.innerText="Verifica\xE7\xE3o de Spy Cam");let o=document.getElementById("confirmBtn");o&&o.setAttribute("disabled","false"),o&&(o.style.cursor="pointer")}}isSpyDevicesUI(t){let r=document.getElementById("SpyCamAlert"),n=document.getElementById("confirmBtn"),o=document.getElementById("alertDivSpyCam");o&&(o.style.display="flex");let i=document.getElementById("checkmark_SpyCam"),s=document.getElementById("checkmark_stem_SpyCam"),a=document.getElementById("checkmark_kick_SpyCam");t?(r&&(r.style.color="#16A34A"),i&&(i.setAttribute("class","checkmark"),s.setAttribute("class","checkmark_stem"),a.setAttribute("class","checkmark_kick"))):i&&(r&&(r.style.color="#FF0000"),i.setAttribute("class","checkmark_error"),s.setAttribute("class","checkmark_stem_error"),a.setAttribute("class","checkmark_kick_error")),this.options.useSpyScan&&n?.removeAttribute("disabled"),n&&(n.style.cursor="pointer")}isUnderResolutionUI(t){let r=document.getElementById("resolutionAlert"),n=document.getElementById("alertDivResolution"),o=document.getElementById("info_resolution"),i=document.getElementById("checkmark_resolution"),s=document.getElementById("checkmark_stem_resolution"),a=document.getElementById("checkmark_kick_resolution");t?(r.style.color="#16A34A",o&&(o.style.display="none"),r.setAttribute("title",""),i.setAttribute("class","checkmark"),s.setAttribute("class","checkmark_stem"),a.setAttribute("class","checkmark_kick")):(r.style.color="#FF0000",o&&(o.style.display="block"),n.setAttribute("title",`A c\xE2mera n\xE3o satisfaz a resolu\xE7\xE3o m\xEDnima exigida (${this.videoOptions.minWidth}x${this.videoOptions.minHeight}).
179
- Para iniciar um exame utilize uma outra c\xE2mera.`),i.setAttribute("class","checkmark_error"),s.setAttribute("class","checkmark_stem_error"),a.setAttribute("class","checkmark_kick_error"))}videoDeviceInterfaceUI(t){let r=document.querySelector("#cameraStream");r&&(r.srcObject=t,r.play())}audioDeviceInterfaceUIAllowedAmbient(t){let r=document.getElementById("ambientVerifyAlert"),n=document.getElementById("alertDivAmbientVerify"),o=document.getElementById("checkmark_AmbientVerify"),i=document.getElementById("checkmark_stem_AmbientVerify"),s=document.getElementById("checkmark_kick_AmbientVerify");t?(r&&(r.style.color="#16A34A"),n&&n.setAttribute("title",""),o.setAttribute("class","checkmark"),i.setAttribute("class","checkmark_stem"),s.setAttribute("class","checkmark_kick")):(r&&(r.style.color="#FF0000"),n&&n.setAttribute("title","Ambiente apresentando muito ru\xEDdo!"),o.setAttribute("class","checkmark_error"),i.setAttribute("class","checkmark_stem_error"),s.setAttribute("class","checkmark_kick_error"))}audioDeviceInterfaceUIMicrophoneWorks(t){let r=document.getElementById("microphoneAlert"),n=document.getElementById("alertDivMicrophone"),o=document.getElementById("checkmark_microphone"),i=document.getElementById("checkmark_stem_microphone"),s=document.getElementById("checkmark_kick_microphone");t?(r&&(r.style.color="#16A34A"),n&&n.setAttribute("title",""),o&&o.setAttribute("class","checkmark"),i&&i.setAttribute("class","checkmark_stem"),s&&s.setAttribute("class","checkmark_kick")):(r&&(r.style.color="#FF0000"),n&&n.setAttribute("title","Microfone n\xE3o est\xE1 funcionando corretamente!"),o&&o.setAttribute("class","checkmark_error"),i&&i.setAttribute("class","checkmark_stem_error"),s&&s.setAttribute("class","checkmark_kick_error"))}audioDeviceInterfaceUIErrorExec(){let t=document.getElementById("microphoneAlert"),r=document.getElementById("checkmark_microphone"),n=document.getElementById("checkmark_stem_microphone"),o=document.getElementById("checkmark_kick_microphone");t&&(t.style.color="#FF0000"),r&&r.setAttribute("class","checkmark_error"),n&&n.setAttribute("class","checkmark_stem_error"),o&&o.setAttribute("class","checkmark_kick_error")}audioDeviceInterfaceUIPills(t){let n=document.querySelector("#audioStream")?.querySelectorAll("div"),o=document.querySelector("#audioText"),i=t/4;n?.forEach((s,a)=>{a<Math.ceil(i)?s.style.backgroundColor="rgb(22, 163, 74)":s.style.backgroundColor="rgba(0, 0, 0, .3)"}),o&&(o.innerText=t.toFixed(0).toString())}async addStyleMask(){let t=`
171
+ `,document.getElementsByTagName("head")[0].appendChild(t);let r=document.createElement("div");r.setAttribute("id","checkDevices");let i={backgroundColor:"rgba(0,0,0,0.4)",zIndex:"1000",position:"fixed",top:"0",left:"0",height:"100vh",width:"100%",display:"flex",alignItems:"center",justifyContent:"center"};this.applyStyles(r,i);let n=document.createElement("div"),o={backgroundColor:"#fff",zIndex:"1001",width:"600px",borderRadius:"10px",display:"flex",flexDirection:"column",alignItems:"center"};this.applyStyles(n,o);let s=document.createElement("h3");s.innerText="Para iniciar configure a c\xE2mera e o microfone";let a={color:"rgba(0, 0, 0, .7)",fontWeight:"bold",fontSize:"20px",marginBottom:"15px",padding:"20px 0px",borderBottom:"2px solid rgba(0, 0, 0, .1)",width:"100%",textAlign:"center"};this.applyStyles(s,a),n.appendChild(s);let c=document.createElement("div"),l=document.createElement("h3"),d=document.createElement("select");d.setAttribute("id","cameraSelect");let u={padding:"0 20px",width:"100%",display:"flex",justifyContent:"space-between",marginBottom:"15px"};this.applyStyles(c,u),l.innerText="C\xE2mera";let m={color:"rgba(0, 0, 0, .75)",fontWeight:"bold",fontSize:"16px"};this.applyStyles(l,m),d.style.maxWidth="400px",c.appendChild(l),c.appendChild(d),n.appendChild(c);let y=document.createElement("div");y.setAttribute("id","liveCheckDevices");let p=document.createElement("div"),f=document.createElement("video"),g=document.createElement("div");f.setAttribute("id","cameraStream"),f.muted=!0;let b={width:"calc(100% - 40px)",display:"flex",justifyContent:"space-between",borderBottom:"2px solid rgba(0, 0, 0, .1)",paddingBottom:"15px",transform:"rotateY(180deg)"};this.applyStyles(y,b);let k={width:"20rem",backgroundColor:"#000",borderRadius:"10px",marginBottom:"15px"};this.applyStyles(f,k),this.applyStyles(p,{position:"relative"});let C=document.createElement("div");C.setAttribute("class","alert-div"),C.setAttribute("id","alertDivResolution");let O=document.createElement("error");O.setAttribute("id","resolutionAlert"),O.innerText="Resolu\xE7\xE3o m\xEDnima",O.style.marginLeft="10px",O.style.marginRight="5px";let F=document.createElement("span"),P=document.createElement("div"),_e=document.createElement("div");F.setAttribute("id","checkmark_resolution"),P.setAttribute("id","checkmark_stem_resolution"),_e.setAttribute("id","checkmark_kick_resolution"),F.appendChild(P),F.appendChild(_e);let pe=document.createElement("span"),mr=document.createElement("div"),Fn=document.createElement("div");pe.setAttribute("class","info"),pe.setAttribute("id","info_resolution"),mr.setAttribute("class","info_stem"),Fn.setAttribute("class","info_kick"),pe.appendChild(mr),pe.appendChild(Fn),C.appendChild(F),C.appendChild(O),C.appendChild(pe);let Ht=document.createElement("div");Ht.setAttribute("class","alert-div"),Ht.setAttribute("id","alertDivFacePosition");let Ln=document.createElement("error");Ln.setAttribute("id","facePositionAlert"),Ln.innerText="Posicionamento da face",Ln.style.marginLeft="10px";let Un=document.createElement("span"),kd=document.createElement("div"),Ed=document.createElement("div");Un.setAttribute("id","checkmark_FacePosition"),kd.setAttribute("id","checkmark_stem_FacePosition"),Ed.setAttribute("id","checkmark_kick_FacePosition"),Un.appendChild(kd),Un.appendChild(Ed),Ht.appendChild(Un),Ht.appendChild(Ln);let Bi=document.createElement("div");Bi.setAttribute("class","alert-div"),Bi.setAttribute("id","alertDivAmbientVerify");let Mn=document.createElement("error");Mn.setAttribute("id","ambientVerifyAlert"),Mn.innerText="Verifica\xE7\xE3o do ambiente",Mn.style.marginLeft="10px";let Nn=document.createElement("span"),_d=document.createElement("div"),Ad=document.createElement("div");Nn.setAttribute("id","checkmark_AmbientVerify"),_d.setAttribute("id","checkmark_stem_AmbientVerify"),Ad.setAttribute("id","checkmark_kick_AmbientVerify"),Nn.appendChild(_d),Nn.appendChild(Ad),Bi.appendChild(Nn),Bi.appendChild(Mn);let Br=document.createElement("div");Br.setAttribute("class","alert-div"),Br.setAttribute("id","alertDivSpyCam"),Br.style.display="none";let jn=document.createElement("error");jn.setAttribute("id","SpyCamAlert"),jn.innerText="Verifica\xE7\xE3o de Spy Cam",jn.style.marginLeft="10px";let Vn=document.createElement("span"),xd=document.createElement("div"),Cd=document.createElement("div");Vn.setAttribute("id","checkmark_SpyCam"),xd.setAttribute("id","checkmark_stem_SpyCam"),Cd.setAttribute("id","checkmark_kick_SpyCam"),Vn.appendChild(xd),Vn.appendChild(Cd),Br.appendChild(Vn),Br.appendChild(jn),g.style.transform="rotateY(180deg)",g.appendChild(C),g.appendChild(Ht),g.appendChild(Bi),g.appendChild(Br),y.appendChild(g),p.appendChild(f),y.appendChild(p);let Pt=document.createElement("div");Pt.setAttribute("class","facial-biometry__mask"),Pt.style.width="100%",Pt.style.height="100%",Pt.style.position="absolute",Pt.style.top="0px",Pt.style.left="0px",Pt.style.backgroundColor="#fff",Pt.style.opacity="0.6";let Wt=document.createElement("div");Wt.setAttribute("class","biometry__frame"),Wt.style.width="100%",Wt.style.height="100%",Wt.style.position="absolute",Wt.style.top="0px",Wt.style.left="0px",Wt.style.zIndex="10",p.appendChild(Pt),p.appendChild(Wt),n.appendChild(y);let zn=document.createElement("div"),aa=document.createElement("h3"),ca=document.createElement("select");ca.setAttribute("id","micSelect");let qg={padding:"0 20px",width:"100%",display:"flex",justifyContent:"space-between",margin:"15px 0"};this.applyStyles(zn,qg),aa.innerText="Microfone";let $g={color:"rgba(0, 0, 0, .7)",fontWeight:"bold",fontSize:"16px"};this.applyStyles(aa,$g),ca.style.maxWidth="400px",zn.appendChild(aa),zn.appendChild(ca),n.appendChild(zn);let Gn=document.createElement("div"),Xg={width:"100%",padding:"0px 40px",display:"flex"};this.applyStyles(Gn,Xg);let Hn=document.createElement("div"),Kg={display:"flex",flexDirection:"column",justifyContent:"space-between",paddingBottom:"15px"};this.applyStyles(Hn,Kg);let Wn=document.createElement("div");Wn.setAttribute("id","audioStream");let Jg={display:"flex",marginBottom:"15px"};this.applyStyles(Wn,Jg);let Yg={height:"16px",width:"5px",marginRight:"5px",borderRadius:"10px",backgroundColor:"rgba(0, 0, 0, .3)"};for(let Bd=0;Bd<25;Bd++){let Fd=document.createElement("div");this.applyStyles(Fd,Yg),Wn.appendChild(Fd)}let Fi=document.createElement("div"),Td=document.createElement("p"),Rd=document.createElement("p"),Pd=document.createElement("p"),Zg={width:"250px",display:"flex",justifyContent:"space-between"};this.applyStyles(Fi,Zg),Td.innerText="0",Rd.innerText="50",Pd.innerText="100",Fi.appendChild(Td),Fi.appendChild(Rd),Fi.appendChild(Pd);let Fr=document.createElement("div");Fr.setAttribute("class","alert-div"),Fr.setAttribute("id","alertDivMicrophone");let Qg={alignItems:"start",justifyContent:"end",width:"inherit"};this.applyStyles(Fr,Qg);let qn=document.createElement("error");qn.setAttribute("id","microphoneAlert"),qn.innerText="Teste de funcionamento",qn.style.marginLeft="10px";let $n=document.createElement("span"),Id=document.createElement("div"),Dd=document.createElement("div");$n.setAttribute("id","checkmark_microphone"),Id.setAttribute("id","checkmark_stem_microphone"),Dd.setAttribute("id","checkmark_kick_microphone"),$n.appendChild(Id),$n.appendChild(Dd),Fr.appendChild($n),Fr.appendChild(qn),Hn.appendChild(Wn),Hn.appendChild(Fi);let Xn=document.createElement("p");Xn.innerText='Pronuncie em voz alta: "um, dois, tr\xEAs, quatro".',Xn.style.textAlign="start";let e1={width:"100%",marginLeft:"40px",marginBottom:"15px"};this.applyStyles(Xn,e1),Gn.appendChild(Hn),Gn.appendChild(Fr),n.appendChild(Xn),n.appendChild(Gn);let Li=document.createElement("div"),t1={width:"100%",display:"flex",alignItems:"center",justifyContent:"center",borderTop:"2px solid rgba(0, 0, 0, .1)"};this.applyStyles(Li,t1);let Kn=document.createElement("button");Kn.setAttribute("id","cancelBtn"),Kn.innerText="Cancelar";let r1={width:"100%",height:"70px",backgroundColor:"#FFF",border:"none",color:"rgba(0, 0, 0, .7)",fontWeight:"bold",borderRadius:"10px",paddingTop:"5px",paddingBottom:"5px"};this.applyStyles(Kn,r1);let Od=document.createElement("span"),i1={width:"3px",height:"70px",margin:"0px 2px",background:"rgba(0, 0, 0, .1)"};this.applyStyles(Od,i1);let Lr=document.createElement("button");Lr.innerText="Continuar",Lr.setAttribute("id","confirmBtn");let n1={width:"100%",height:"70px",backgroundColor:"#FFF",border:"none",color:"rgba(0, 0, 0, .7)",fontWeight:"bold",borderRadius:"10px",paddingTop:"5px",paddingBottom:"5px"};this.applyStyles(Lr,n1),this.options.useSpyScan&&(Lr.style.cursor="not-allowed",Lr.setAttribute("disabled","true")),Li.appendChild(Kn),Li.appendChild(Od),Li.appendChild(Lr),n.appendChild(Li),r.appendChild(n),document.body.appendChild(r)}async setSelectOption(t,r){let i=document.querySelector("#cameraSelect"),n=document.querySelector("#micSelect"),o=await st();i&&(i.value=t.cameraId||"default"),n&&(n.value=t.microphoneId||"default");let s=(a,c)=>{let l=document.createElement("option");return l.setAttribute("value",c),l.innerHTML=a,l};o.cameras.forEach(a=>{let c=s(a.label,a.id);i?.appendChild(c)}),o.microphones.forEach(a=>{let c=s(a.label,a.id);n?.appendChild(c)}),this.onSelectOptionChange(a=>r(a))}async onSelectOptionChange(t){let r=document.querySelector("#cameraSelect"),i=document.querySelector("#micSelect");r?.addEventListener("change",()=>t({cameraId:r?.value,microphoneId:i?.value})),i?.addEventListener("change",()=>t({cameraId:r?.value,microphoneId:i?.value}))}closeModal(){document.querySelector("#checkDevices")?.remove()}modalActions(t){let r=document.getElementById("cancelBtn"),i=document.getElementById("confirmBtn"),n=document.getElementById("cameraSelect"),o=document.getElementById("micSelect");return new Promise((s,a)=>{r?.addEventListener("click",()=>{t(),this.closeModal(),a({result:!1})}),i?.addEventListener("click",()=>{i.disabled||(t(),this.closeModal(),s({cameraId:n?.value,microphoneId:o?.value,result:!0}))})})}realtimeAlertsUI(t){let r=document.getElementById("facePositionAlert"),i=document.getElementById("ambientVerifyAlert"),n=document.getElementById("checkmark_FacePosition"),o=document.getElementById("checkmark_stem_FacePosition"),s=document.getElementById("checkmark_kick_FacePosition"),a=document.getElementById("alertDivAmbientVerify"),c=document.getElementById("checkmark_AmbientVerify"),l=document.getElementById("checkmark_stem_AmbientVerify"),d=document.getElementById("checkmark_kick_AmbientVerify");t.status==="OK"?(r&&(r.style.color="#16A34A"),i&&(i.style.color="#16A34A"),a&&a.setAttribute("title",""),n&&(n.setAttribute("class","checkmark"),o.setAttribute("class","checkmark_stem"),s.setAttribute("class","checkmark_kick")),c&&(c.setAttribute("class","checkmark"),l.setAttribute("class","checkmark_stem"),d.setAttribute("class","checkmark_kick"))):(n&&(t.description==="Nenhuma face encontrada"||t.description==="Face na posi\xE7\xE3o errada")&&(r&&(r.style.color="#FF0000"),n.setAttribute("class","checkmark_error"),o.setAttribute("class","checkmark_stem_error"),s.setAttribute("class","checkmark_kick_error")),c&&t.description==="M\xFAltiplas faces detectadas"&&(i&&(i.style.color="#FF0000"),a&&a.setAttribute("title",`${t.description}`),c.setAttribute("class","checkmark_error"),l.setAttribute("class","checkmark_stem_error"),d.setAttribute("class","checkmark_kick_error")))}waitingSpyDevices(t){let r=document.getElementById("SpyCamAlert"),i=document.getElementById("alertDivSpyCam");if(i&&(i.style.display="flex"),t){r&&(r.style.color="#c7c7c7"),r&&(r.innerText="Verificando Spy Cam...");let n=document.getElementById("confirmBtn");n&&n.setAttribute("disabled","true"),n&&(n.style.cursor="not-allowed")}else{r&&(r.style.color="#16A34A"),r&&(r.innerText="Verifica\xE7\xE3o de Spy Cam");let n=document.getElementById("confirmBtn");n&&n.setAttribute("disabled","false"),n&&(n.style.cursor="pointer")}}isSpyDevicesUI(t){let r=document.getElementById("SpyCamAlert"),i=document.getElementById("confirmBtn"),n=document.getElementById("alertDivSpyCam");n&&(n.style.display="flex");let o=document.getElementById("checkmark_SpyCam"),s=document.getElementById("checkmark_stem_SpyCam"),a=document.getElementById("checkmark_kick_SpyCam");t?(r&&(r.style.color="#16A34A"),o&&(o.setAttribute("class","checkmark"),s.setAttribute("class","checkmark_stem"),a.setAttribute("class","checkmark_kick"))):o&&(r&&(r.style.color="#FF0000"),o.setAttribute("class","checkmark_error"),s.setAttribute("class","checkmark_stem_error"),a.setAttribute("class","checkmark_kick_error")),this.options.useSpyScan&&i?.removeAttribute("disabled"),i&&(i.style.cursor="pointer")}isUnderResolutionUI(t){let r=document.getElementById("resolutionAlert"),i=document.getElementById("alertDivResolution"),n=document.getElementById("info_resolution"),o=document.getElementById("checkmark_resolution"),s=document.getElementById("checkmark_stem_resolution"),a=document.getElementById("checkmark_kick_resolution");t?(r.style.color="#16A34A",n&&(n.style.display="none"),r.setAttribute("title",""),o.setAttribute("class","checkmark"),s.setAttribute("class","checkmark_stem"),a.setAttribute("class","checkmark_kick")):(r.style.color="#FF0000",n&&(n.style.display="block"),i.setAttribute("title",`A c\xE2mera n\xE3o satisfaz a resolu\xE7\xE3o m\xEDnima exigida (${this.videoOptions.minWidth}x${this.videoOptions.minHeight}).
172
+ Para iniciar um exame utilize uma outra c\xE2mera.`),o.setAttribute("class","checkmark_error"),s.setAttribute("class","checkmark_stem_error"),a.setAttribute("class","checkmark_kick_error"))}videoDeviceInterfaceUI(t){let r=document.querySelector("#cameraStream");r&&(r.srcObject=t,r.play())}audioDeviceInterfaceUIAllowedAmbient(t){let r=document.getElementById("ambientVerifyAlert"),i=document.getElementById("alertDivAmbientVerify"),n=document.getElementById("checkmark_AmbientVerify"),o=document.getElementById("checkmark_stem_AmbientVerify"),s=document.getElementById("checkmark_kick_AmbientVerify");t?(r&&(r.style.color="#16A34A"),i&&i.setAttribute("title",""),n.setAttribute("class","checkmark"),o.setAttribute("class","checkmark_stem"),s.setAttribute("class","checkmark_kick")):(r&&(r.style.color="#FF0000"),i&&i.setAttribute("title","Ambiente apresentando muito ru\xEDdo!"),n.setAttribute("class","checkmark_error"),o.setAttribute("class","checkmark_stem_error"),s.setAttribute("class","checkmark_kick_error"))}audioDeviceInterfaceUIMicrophoneWorks(t){let r=document.getElementById("microphoneAlert"),i=document.getElementById("alertDivMicrophone"),n=document.getElementById("checkmark_microphone"),o=document.getElementById("checkmark_stem_microphone"),s=document.getElementById("checkmark_kick_microphone");t?(r&&(r.style.color="#16A34A"),i&&i.setAttribute("title",""),n&&n.setAttribute("class","checkmark"),o&&o.setAttribute("class","checkmark_stem"),s&&s.setAttribute("class","checkmark_kick")):(r&&(r.style.color="#FF0000"),i&&i.setAttribute("title","Microfone n\xE3o est\xE1 funcionando corretamente!"),n&&n.setAttribute("class","checkmark_error"),o&&o.setAttribute("class","checkmark_stem_error"),s&&s.setAttribute("class","checkmark_kick_error"))}audioDeviceInterfaceUIErrorExec(){let t=document.getElementById("microphoneAlert"),r=document.getElementById("checkmark_microphone"),i=document.getElementById("checkmark_stem_microphone"),n=document.getElementById("checkmark_kick_microphone");t&&(t.style.color="#FF0000"),r&&r.setAttribute("class","checkmark_error"),i&&i.setAttribute("class","checkmark_stem_error"),n&&n.setAttribute("class","checkmark_kick_error")}audioDeviceInterfaceUIPills(t){let i=document.querySelector("#audioStream")?.querySelectorAll("div"),n=document.querySelector("#audioText"),o=t/4;i?.forEach((s,a)=>{a<Math.ceil(o)?s.style.backgroundColor="rgb(22, 163, 74)":s.style.backgroundColor="rgba(0, 0, 0, .3)"}),n&&(n.innerText=t.toFixed(0).toString())}async addStyleMask(){let t=`
180
173
  .facial-biometry__mask {
181
174
  mask-image: url('https://iarisprod.blob.core.windows.net/imagens/square.svg'), url('https://iarisprod.blob.core.windows.net/imagens/face-mask.svg');
182
175
  mask-size: cover, auto 65%;
@@ -205,7 +198,7 @@ Para iniciar um exame utilize uma outra c\xE2mera.`),i.setAttribute("class","che
205
198
  // -webkit-mask-position: center;
206
199
  // -webkit-mask-repeat: no-repeat;
207
200
  }
208
- `,r=document.createElement("style");r.innerHTML=t,document.head.appendChild(r)}applyStyles(t,r){for(let[n,o]of Object.entries(r))t.style[n]=o}};var ha=class e{constructor(t){this.videoOptions={width:1080,height:720,minWidth:0,minHeight:0};this.volumeMedia=0;this.volumeSum=0;this.volumeCounter=0;this.microphoneMinThreshold=5;this.allowedResolution=!0;this.allowedAmbient=!0;this.allowedPositionFace=!0;this.allowedMicrophone=!1;this.allowedSpyScan=null;this.noiseLimit=0;this.faceDetection=new Hn({onRealtimeAlertsCallback:r=>this.realtimeAlerts(r)},{videoBehaviourParameters:{detectFace:!0}},"cameraStream","liveCheckDevices"),this.context=t,this.backend=new ft({type:t?.type||"prod",token:t.token})}static{this.isModalOpen=!1}async runCheckDevicesFlow(t,r,n,o,i){if(e.isModalOpen)return Promise.reject("Modal j\xE1 est\xE1 aberto");this.options={...mt,...t,captureScreen:!1,allowMultipleMonitors:!0,allowOnlyFirstMonitor:!1},e.isModalOpen=!0;try{await this.faceDetection.initializeDetector();let{cameraStream:s}=await this.startCheckDevices(t,r);this.checkSpyScan();let a={cameraStream:this.cameraRecorder.cameraStream};this.onUpdateCb=l=>i(l);let c=new Promise((l,h)=>{n(()=>{this.closeCheckDevices(),l({result:!0,cameraId:t.cameraId||"default",microphoneId:t.microphoneId||"default",volumeRange:this.volumeMedia,allowedResolution:this.allowedResolution,allowedPositionFace:this.allowedPositionFace,allowedAmbient:this.allowedAmbient,allowedMicrophone:this.allowedMicrophone,allowedSpyScan:this.allowedSpyScan,faceDetectionAlerts:this.faceDetectionAlerts}),e.isModalOpen=!1}),o(()=>{this.closeCheckDevices(),l({result:!1}),e.isModalOpen=!1})});return{...a,result:c}}catch(s){throw this.closeCheckDevices(),e.isModalOpen=!1,s}}onUpdateCallback(){typeof this.onUpdateCb=="function"&&this.onUpdateCb({allowedResolution:this.allowedResolution,allowedPositionFace:this.allowedPositionFace,allowedAmbient:this.allowedAmbient,allowedMicrophone:this.allowedMicrophone,allowedSpyScan:this.allowedSpyScan,faceDetectionAlerts:this.faceDetectionAlerts})}async checkDevices(t=mt,r=kg){if(e.isModalOpen)return Promise.reject();e.isModalOpen=!0,this.DeviceCheckerUI=new la(t,r);try{this.options={...mt,...t,captureScreen:!1,allowMultipleMonitors:!0,allowOnlyFirstMonitor:!1},this.videoOptions={...this.videoOptions,...r};let n=await this.backend.getParamsConfig(this.context);this.noiseLimit=n.audioBehaviourParameters?.noiseLimit||40,await this.faceDetection.initializeDetector(),this.DeviceCheckerUI.checkDevicesInterface(),this.startCheckDevices(t,r),await this.checkSpyScan();let{cameraId:o,microphoneId:i,result:s}=await this.DeviceCheckerUI.modalActions(()=>this.closeCheckDevices());return new Promise(a=>{a({result:s,cameraId:o,microphoneId:i,volumeRange:this.volumeMedia,allowedResolution:this.allowedResolution,allowedPositionFace:this.allowedPositionFace,allowedAmbient:this.allowedAmbient,allowedMicrophone:this.allowedMicrophone,allowedSpyScan:this.allowedSpyScan,faceDetectionAlerts:this.faceDetectionAlerts})})}catch(n){return this.closeCheckDevices(),this.DeviceCheckerUI.closeModal(),Promise.reject(n)}}isUnderResolution(){let t=this.cameraRecorder.cameraStream.getVideoTracks()[0].getSettings();this.videoOptions.minWidth>t.width||this.videoOptions.minHeight>t.height?this.allowedResolution=!1:this.allowedResolution=!0,this.onUpdateCallback(),this.DeviceCheckerUI&&this.DeviceCheckerUI.isUnderResolutionUI(this.allowedResolution)}realtimeAlerts(t){this.faceDetectionAlerts=t,t.status==="OK"?(this.allowedPositionFace=!0,this.allowedAmbient=!0):(this.allowedPositionFace=!1,this.allowedAmbient=!1),this.onUpdateCallback(),this.DeviceCheckerUI&&this.DeviceCheckerUI.realtimeAlertsUI(t)}videoDeviceInterface(t){this.DeviceCheckerUI&&this.DeviceCheckerUI.videoDeviceInterfaceUI(t),this.isUnderResolution(),this.faceDetection.enableCam(t)}audioDeviceInterface(t){this.volumeMeter=new kr(this.cameraRecorder.cameraStream),this.volumeMeter.start({setVolume:r=>{this.volumeCounter++,this.volumeSum+=r,!this.allowedMicrophone&&r>this.microphoneMinThreshold?(this.allowedMicrophone=!0,this.onUpdateCallback(),this.DeviceCheckerUI&&this.DeviceCheckerUI.audioDeviceInterfaceUIMicrophoneWorks(!0)):this.allowedMicrophone||this.DeviceCheckerUI&&this.DeviceCheckerUI.audioDeviceInterfaceUIMicrophoneWorks(!1),this.DeviceCheckerUI&&this.DeviceCheckerUI.audioDeviceInterfaceUIPills(r),r>this.noiseLimit?(this.allowedAmbient=!1,this.onUpdateCallback(),this.DeviceCheckerUI&&this.DeviceCheckerUI.audioDeviceInterfaceUIAllowedAmbient(!1)):(this.allowedAmbient=!0,this.onUpdateCallback(),this.DeviceCheckerUI&&this.DeviceCheckerUI.audioDeviceInterfaceUIAllowedAmbient(!0))}}).catch(r=>{console.log(r),this.volumeMeter=void 0,this.DeviceCheckerUI&&this.DeviceCheckerUI.audioDeviceInterfaceUIErrorExec()})}async changeSelectedDevice({cameraId:t,microphoneId:r}){return this.cameraRecorder.stopRecording&&await this.cameraRecorder.stopRecording(),this.volumeMeter?.stop(),this.faceDetection.stopDetection(),this.cameraRecorder=new sr({cameraId:t,microphoneId:r,onBufferSizeError:!1,onBufferSizeErrorCallback:()=>{}},{width:this.videoOptions.width,height:this.videoOptions.height}),await this.cameraRecorder.startRecording(),this.videoDeviceInterface(this.cameraRecorder.cameraStream),this.audioDeviceInterface(this.cameraRecorder.cameraStream),{cameraStream:this.cameraRecorder.cameraStream}}async startCheckDevices(t=mt,r){if(this.DeviceCheckerUI&&this.DeviceCheckerUI.setSelectOption(t,n=>this.changeSelectedDevice(n)),this.videoOptions=na(r),await zi(),this.cameraRecorder=new sr({cameraId:t.cameraId,microphoneId:t.microphoneId,onBufferSizeError:!1,onBufferSizeErrorCallback:()=>{}},{width:this.videoOptions.width,height:this.videoOptions.height}),await this.cameraRecorder.startRecording(),this.videoDeviceInterface(this.cameraRecorder.cameraStream),this.audioDeviceInterface(this.cameraRecorder.cameraStream),this.DeviceCheckerUI){let n=document.querySelector("#confirmBtn");!this.options.useSpyScan&&(n.disabled=!1)}return{cameraStream:this.cameraRecorder.cameraStream}}async closeCheckDevices(){e.isModalOpen=!1,this.faceDetection.stopDetection(),this.volumeMeter?.stop(),this.volumeMedia=Math.ceil(this.volumeSum/this.volumeCounter),this.cameraRecorder.stopRecording&&await this.cameraRecorder.stopRecording(),this.DeviceCheckerUI=void 0,this.onUpdateCb=void 0}async checkSpyScan(){if(this.spycam=new Xn(this.context,{}),this.allowedSpyScan=null,this.options.useSpyScan){this.DeviceCheckerUI&&this.DeviceCheckerUI.waitingSpyDevices(!0);try{await this.spycam.isPluggedIn()?await this.spycam.devices({deviceType:3}).then(r=>{r?.length>0?this.allowedSpyScan=!1:this.allowedSpyScan=!0}).finally(()=>{this.DeviceCheckerUI&&this.DeviceCheckerUI.waitingSpyDevices(!1),this.DeviceCheckerUI&&this.allowedSpyScan!=null&&this.DeviceCheckerUI.isSpyDevicesUI(this.allowedSpyScan)}):(this.allowedSpyScan=!1,this.DeviceCheckerUI&&this.DeviceCheckerUI.waitingSpyDevices(!1),this.DeviceCheckerUI&&this.DeviceCheckerUI.isSpyDevicesUI(this.allowedSpyScan))}catch(t){this.allowedSpyScan=!1,this.DeviceCheckerUI&&this.DeviceCheckerUI.waitingSpyDevices(!1),this.DeviceCheckerUI&&this.DeviceCheckerUI.isSpyDevicesUI(this.allowedSpyScan),console.log(t)}}}};var Jn=class{constructor(){}async takePicture(t,r,n={width:1080,height:720}){return this.resolution=n,await this.takePictureInterface(t,r)}async startCapture(t="default"){let r=document.querySelector("#cameraStream"),n={audio:!1,video:{facingMode:"user",aspectRatio:1.777777778,width:{min:640,ideal:640,max:1920},height:{min:400,ideal:480},deviceId:t}};this.cameraRecorder=new sr({cameraId:t,onBufferSizeErrorCallback:()=>{}},{...this.resolution}),await this.cameraRecorder.startRecording(),r.srcObject=this.cameraRecorder.cameraStream,r.play()}shot(){let t=document.querySelector("#cameraStream"),r=document.querySelector("#canvas"),n=document.querySelector("#image");r.width=t.videoWidth,r.height=t.videoHeight,r.getContext("2d").drawImage(t,0,0,t.videoWidth,t.videoHeight),n.src=r.toDataURL("image/jpg"),this.base64=r.toDataURL("image/jpg")}takePictureInterface(t,r){return new Promise((n,o)=>{let i=document.createElement("div");i.setAttribute("id","authPhoto"),i.style.backgroundColor="rgba(0,0,0,0.4)",i.style.zIndex="1000",i.style.position="fixed",i.style.top="0",i.style.left="0",i.style.height="100vh",i.style.width="100%",i.style.display="flex",i.style.alignItems="center",i.style.justifyContent="center";let s=document.createElement("div");s.style.backgroundColor="#fff",s.style.zIndex="1001",s.style.position="fixed",s.style.top="0",s.style.left="0",s.style.height="100vh",s.style.width="100%",s.style.borderRadius="10px",s.style.display="flex",s.style.flexDirection="column",s.style.alignItems="center",s.style.boxSizing="border-box";let a=document.createElement("h3");a.innerText=t||"Biometria Facial",a.style.color="rgba(0, 0, 0, .7)",a.style.fontWeight="bold",a.style.fontSize="20px",a.style.marginTop="0px",a.style.marginBottom="15px",a.style.padding="20px 0px 0px",a.style.width="100%",a.style.textAlign="center",a.style.position="fixed",a.style.top="0",a.style.left="0",a.style.zIndex="1010",s.appendChild(a);let c=document.createElement("p");c.innerText=r||"Encaixe seu rosto no formato e clique no bot\xE3o abaixo",c.style.color="rgba(0, 0, 0, .7)",c.style.fontWeight="normal",c.style.fontSize="16px",c.style.marginBottom="15px",c.style.padding="0px 0px 20px",c.style.width="100%",c.style.textAlign="center",c.style.position="fixed",c.style.top="55px",c.style.left="0",c.style.zIndex="1011",s.appendChild(c);let l=document.createElement("div"),h=document.createElement("h3"),u=document.createElement("select");u.setAttribute("id","cameraSelect"),l.style.padding="0 20px",l.style.width="100%",l.style.display="flex",l.style.justifyContent="space-between",l.style.marginBottom="15px",h.innerText="C\xE2mera",h.style.color="rgba(0, 0, 0, .75)",h.style.fontWeight="bold",h.style.fontSize="16px",l.appendChild(h),l.appendChild(u);let p=document.createElement("div"),g=document.createElement("video");g.setAttribute("id","cameraStream"),g.muted=!0,p.style.position="fixed",p.style.top="0",p.style.left="0",p.style.height="100vh",p.style.width="100%",p.style.display="flex",p.style.justifyContent="center",g.style.backgroundColor="#000",g.style.borderRadius="10px",g.style.width="auto",g.style.height="auto",g.style.minHeight="100%",p.appendChild(g);let m=document.createElement("canvas");m.setAttribute("id","canvas"),m.style.display="none",m.style.width="100%",m.style.height="100%";let y=document.createElement("img");y.setAttribute("id","image"),y.style.objectFit="contain",y.style.display="none",y.style.borderRadius="8px",p.appendChild(m),p.appendChild(y);let b=document.createElement("div");b.setAttribute("class","facial-biometry__mask"),b.style.width="100%",b.style.height="100%",b.style.position="absolute",b.style.top="0px",b.style.left="0px",b.style.backgroundColor="#fff",b.style.opacity="0.8";let w=document.createElement("div");w.setAttribute("class","biometry__frame"),w.style.width="100%",w.style.height="100%",w.style.position="absolute",w.style.top="0px",w.style.left="0px",w.style.zIndex="10",p.appendChild(b),p.appendChild(w),s.appendChild(p),this.addStyleMask();let S=document.createElement("button"),A=document.createElement("div");S.setAttribute("id","confirmBtn"),A.style.position="fixed",A.style.bottom="0",A.style.left="0",A.style.width="100%",A.style.display="flex",A.style.alignItems="center",A.style.justifyContent="center",S.style.background="url('https://iarisprod.blob.core.windows.net/imagens/camera.svg') no-repeat center",S.style.width="70px",S.style.height="70px",S.style.borderRadius="70px",S.style.border="none",S.style.backgroundColor="#16a34a",S.style.margin="20px";let B=document.createElement("button");B.setAttribute("id","closeModal"),B.style.background="url('https://iarisprod.blob.core.windows.net/imagens/close.svg') no-repeat center",B.style.width="70px",B.style.height="70px",B.style.borderRadius="70px",B.style.border="none",B.style.backgroundColor="#e74141",B.style.margin="20px",A.appendChild(B),A.appendChild(S),s.appendChild(A);let O=document.createElement("button");O.style.background="url('https://easyproctor-public.s3.us-east-2.amazonaws.com/images/retry.svg') no-repeat center",O.style.width="70px",O.style.height="70px",O.style.borderRadius="70px",O.style.border="none",O.style.backgroundColor="#e74141",O.style.margin="20px 20px";let R=document.createElement("button");R.style.background="url('https://iarisprod.blob.core.windows.net/imagens/check.svg') no-repeat center",R.style.width="70px",R.style.height="70px",R.style.borderRadius="70px",R.style.border="none",R.style.backgroundColor="#16a34a",R.style.margin="20px 20px",i.appendChild(s),document.body.appendChild(i),this.setSelectOption(),this.startCapture(),S.addEventListener("click",()=>{A.removeChild(S),A.removeChild(B),A.appendChild(O),A.appendChild(R),this.shot(),g.style.display="none",y.style.display="block"}),O.addEventListener("click",()=>{A.appendChild(B),A.appendChild(S),A.removeChild(O),A.removeChild(R),g.style.display="block",y.style.display="none"}),R.addEventListener("click",()=>{this.closeInterface(),n({base64:this.base64})}),B.addEventListener("click",()=>{this.closeInterface(),o(new Error("User does not captured photo"))})})}async setSelectOption(){let t=document.querySelector("#cameraSelect"),r=await St();t&&(t.value="default");let n=(o,i)=>{let s=document.createElement("option");return s.setAttribute("value",i),s.innerHTML=o,s};r.cameras.forEach(o=>{let i=n(o.label,o.id);t?.appendChild(i)}),this.onSelectOptionChange()}async onSelectOptionChange(){let t=document.querySelector("#cameraSelect");t?.addEventListener("change",async()=>{this.startCapture(t?.value)})}async closeInterface(){await this.cameraRecorder.stopRecording(),document.querySelector("#authPhoto")?.remove()}async addStyleMask(){let t=`
201
+ `,r=document.createElement("style");r.innerHTML=t,document.head.appendChild(r)}applyStyles(t,r){for(let[i,n]of Object.entries(r))t.style[i]=n}};var Tt=class{constructor(t){this.deviceCheckResult=null;this.videoOptions={width:1080,height:720,minWidth:0,minHeight:0};this.volumeMedia=0;this.volumeSum=0;this.volumeCounter=0;this.microphoneMinThreshold=5;this.allowedResolution=!0;this.allowedAmbient=!0;this.allowedPositionFace=!0;this.allowedMicrophone=!1;this.allowedSpyScan=null;this.noiseLimit=0;this.faceDetection=new hi({onRealtimeAlertsCallback:r=>this.realtimeAlerts(r)},{videoBehaviourParameters:{detectFace:!0}},"cameraStream","liveCheckDevices"),this.context=t,this.backend=new Ct({type:t?.type||"prod",token:t.token})}getDeviceCheckResult(){return this.deviceCheckResult}async runCheckDevicesFlow(t,r,i,n,o){if(Tt.isModalOpen)return Promise.reject("Modal j\xE1 est\xE1 aberto");this.options={...et,...t,captureScreen:!1,allowMultipleMonitors:!0,allowOnlyFirstMonitor:!1},Tt.isModalOpen=!0;try{await this.faceDetection.initializeDetector();let{cameraStream:s}=await this.startCheckDevices(t,r);this.checkSpyScan();let a={cameraStream:this.cameraRecorder.cameraStream};this.onUpdateCb=l=>o(l);let c=new Promise((l,d)=>{i(()=>{this.closeCheckDevices(),l({result:!0,cameraId:t.cameraId||"default",microphoneId:t.microphoneId||"default",volumeRange:this.volumeMedia,allowedResolution:this.allowedResolution,allowedPositionFace:this.allowedPositionFace,allowedAmbient:this.allowedAmbient,allowedMicrophone:this.allowedMicrophone,allowedSpyScan:this.allowedSpyScan,faceDetectionAlerts:this.faceDetectionAlerts}),Tt.isModalOpen=!1}),n(()=>{this.closeCheckDevices(),l({result:!1}),Tt.isModalOpen=!1})});return this.deviceCheckResult={...a,result:c},{...a,result:c}}catch(s){throw this.closeCheckDevices(),Tt.isModalOpen=!1,s}}onUpdateCallback(){typeof this.onUpdateCb=="function"&&this.onUpdateCb({allowedResolution:this.allowedResolution,allowedPositionFace:this.allowedPositionFace,allowedAmbient:this.allowedAmbient,allowedMicrophone:this.allowedMicrophone,allowedSpyScan:this.allowedSpyScan,faceDetectionAlerts:this.faceDetectionAlerts})}async checkDevices(t=et,r=Am){if(Tt.isModalOpen)return Promise.reject();Tt.isModalOpen=!0,this.DeviceCheckerUI=new gs(t,r);try{this.options={...et,...t,captureScreen:!1,allowMultipleMonitors:!0,allowOnlyFirstMonitor:!1},this.videoOptions={...this.videoOptions,...r};let i=await this.backend.getParamsConfig(this.context);this.noiseLimit=i.audioBehaviourParameters?.noiseLimit||40,await this.faceDetection.initializeDetector(),this.DeviceCheckerUI.checkDevicesInterface(),this.startCheckDevices(t,r),await this.checkSpyScan();let{cameraId:n,microphoneId:o,result:s}=await this.DeviceCheckerUI.modalActions(()=>this.closeCheckDevices());return new Promise(a=>{let c={result:s,cameraId:n,microphoneId:o,volumeRange:this.volumeMedia,allowedResolution:this.allowedResolution,allowedPositionFace:this.allowedPositionFace,allowedAmbient:this.allowedAmbient,allowedMicrophone:this.allowedMicrophone,allowedSpyScan:this.allowedSpyScan,faceDetectionAlerts:this.faceDetectionAlerts};this.deviceCheckResult=c,a(c)})}catch(i){return this.closeCheckDevices(),this.DeviceCheckerUI.closeModal(),Promise.reject(i)}}isUnderResolution(){let t=this.cameraRecorder.cameraStream.getVideoTracks()[0].getSettings();this.videoOptions.minWidth>t.width||this.videoOptions.minHeight>t.height?this.allowedResolution=!1:this.allowedResolution=!0,this.onUpdateCallback(),this.DeviceCheckerUI&&this.DeviceCheckerUI.isUnderResolutionUI(this.allowedResolution)}realtimeAlerts(t){this.faceDetectionAlerts=t,t.status==="OK"?(this.allowedPositionFace=!0,this.allowedAmbient=!0):(this.allowedPositionFace=!1,this.allowedAmbient=!1),this.onUpdateCallback(),this.DeviceCheckerUI&&this.DeviceCheckerUI.realtimeAlertsUI(t)}videoDeviceInterface(t){this.DeviceCheckerUI&&this.DeviceCheckerUI.videoDeviceInterfaceUI(t),this.isUnderResolution(),this.faceDetection.enableCam(t)}audioDeviceInterface(t){this.volumeMeter=new or(this.cameraRecorder.cameraStream),this.volumeMeter.start({setVolume:r=>{this.volumeCounter++,this.volumeSum+=r,!this.allowedMicrophone&&r>this.microphoneMinThreshold?(this.allowedMicrophone=!0,this.onUpdateCallback(),this.DeviceCheckerUI&&this.DeviceCheckerUI.audioDeviceInterfaceUIMicrophoneWorks(!0)):this.allowedMicrophone||this.DeviceCheckerUI&&this.DeviceCheckerUI.audioDeviceInterfaceUIMicrophoneWorks(!1),this.DeviceCheckerUI&&this.DeviceCheckerUI.audioDeviceInterfaceUIPills(r),r>this.noiseLimit?(this.allowedAmbient=!1,this.onUpdateCallback(),this.DeviceCheckerUI&&this.DeviceCheckerUI.audioDeviceInterfaceUIAllowedAmbient(!1)):(this.allowedAmbient=!0,this.onUpdateCallback(),this.DeviceCheckerUI&&this.DeviceCheckerUI.audioDeviceInterfaceUIAllowedAmbient(!0))}}).catch(r=>{console.log(r),this.volumeMeter=void 0,this.DeviceCheckerUI&&this.DeviceCheckerUI.audioDeviceInterfaceUIErrorExec()})}async changeSelectedDevice({cameraId:t,microphoneId:r}){return this.cameraRecorder.stopRecording&&await this.cameraRecorder.stopRecording(),this.volumeMeter?.stop(),this.faceDetection.stopDetection(),this.cameraRecorder=new Vt({cameraId:t,microphoneId:r,onBufferSizeError:!1,onBufferSizeErrorCallback:()=>{}},{width:this.videoOptions.width,height:this.videoOptions.height}),await this.cameraRecorder.startRecording(),this.videoDeviceInterface(this.cameraRecorder.cameraStream),this.audioDeviceInterface(this.cameraRecorder.cameraStream),{cameraStream:this.cameraRecorder.cameraStream}}async startCheckDevices(t=et,r){if(this.DeviceCheckerUI&&this.DeviceCheckerUI.setSelectOption(t,i=>this.changeSelectedDevice(i)),this.videoOptions=ds(r),await Jn(),this.cameraRecorder=new Vt({cameraId:t.cameraId,microphoneId:t.microphoneId,onBufferSizeError:!1,onBufferSizeErrorCallback:()=>{}},{width:this.videoOptions.width,height:this.videoOptions.height}),await this.cameraRecorder.startRecording(),this.videoDeviceInterface(this.cameraRecorder.cameraStream),this.audioDeviceInterface(this.cameraRecorder.cameraStream),this.DeviceCheckerUI){let i=document.querySelector("#confirmBtn");!this.options.useSpyScan&&(i.disabled=!1)}return{cameraStream:this.cameraRecorder.cameraStream}}async closeCheckDevices(){Tt.isModalOpen=!1,this.faceDetection.stopDetection(),this.volumeMeter?.stop(),this.volumeMedia=Math.ceil(this.volumeSum/this.volumeCounter),this.cameraRecorder.stopRecording&&await this.cameraRecorder.stopRecording(),this.DeviceCheckerUI=void 0,this.onUpdateCb=void 0}async checkSpyScan(){if(this.spycam=new vi(this.context,{}),this.allowedSpyScan=null,this.options.useSpyScan){this.DeviceCheckerUI&&this.DeviceCheckerUI.waitingSpyDevices(!0);try{await this.spycam.isPluggedIn()?await this.spycam.devices({deviceType:3}).then(r=>{r?.length>0?this.allowedSpyScan=!1:this.allowedSpyScan=!0}).finally(()=>{this.DeviceCheckerUI&&this.DeviceCheckerUI.waitingSpyDevices(!1),this.DeviceCheckerUI&&this.allowedSpyScan!=null&&this.DeviceCheckerUI.isSpyDevicesUI(this.allowedSpyScan)}):(this.allowedSpyScan=!1,this.DeviceCheckerUI&&this.DeviceCheckerUI.waitingSpyDevices(!1),this.DeviceCheckerUI&&this.DeviceCheckerUI.isSpyDevicesUI(this.allowedSpyScan))}catch(t){this.allowedSpyScan=!1,this.DeviceCheckerUI&&this.DeviceCheckerUI.waitingSpyDevices(!1),this.DeviceCheckerUI&&this.DeviceCheckerUI.isSpyDevicesUI(this.allowedSpyScan),console.log(t)}}}},yn=Tt;yn.isModalOpen=!1;var wi=class{constructor(){}async takePicture(t,r,i={width:1080,height:720}){return this.resolution=i,await this.takePictureInterface(t,r)}async startCapture(t="default"){let r=document.querySelector("#cameraStream"),i={audio:!1,video:{facingMode:"user",aspectRatio:1.777777778,width:{min:640,ideal:640,max:1920},height:{min:400,ideal:480},deviceId:t}};this.cameraRecorder=new Vt({cameraId:t,onBufferSizeErrorCallback:()=>{}},{...this.resolution}),await this.cameraRecorder.startRecording(),r.srcObject=this.cameraRecorder.cameraStream,r.play()}shot(){let t=document.querySelector("#cameraStream"),r=document.querySelector("#canvas"),i=document.querySelector("#image");r.width=t.videoWidth,r.height=t.videoHeight,r.getContext("2d").drawImage(t,0,0,t.videoWidth,t.videoHeight),i.src=r.toDataURL("image/jpg"),this.base64=r.toDataURL("image/jpg")}takePictureInterface(t,r){return new Promise((i,n)=>{let o=document.createElement("div");o.setAttribute("id","authPhoto"),o.style.backgroundColor="rgba(0,0,0,0.4)",o.style.zIndex="1000",o.style.position="fixed",o.style.top="0",o.style.left="0",o.style.height="100vh",o.style.width="100%",o.style.display="flex",o.style.alignItems="center",o.style.justifyContent="center";let s=document.createElement("div");s.style.backgroundColor="#fff",s.style.zIndex="1001",s.style.position="fixed",s.style.top="0",s.style.left="0",s.style.height="100vh",s.style.width="100%",s.style.borderRadius="10px",s.style.display="flex",s.style.flexDirection="column",s.style.alignItems="center",s.style.boxSizing="border-box";let a=document.createElement("h3");a.innerText=t||"Biometria Facial",a.style.color="rgba(0, 0, 0, .7)",a.style.fontWeight="bold",a.style.fontSize="20px",a.style.marginTop="0px",a.style.marginBottom="15px",a.style.padding="20px 0px 0px",a.style.width="100%",a.style.textAlign="center",a.style.position="fixed",a.style.top="0",a.style.left="0",a.style.zIndex="1010",s.appendChild(a);let c=document.createElement("p");c.innerText=r||"Encaixe seu rosto no formato e clique no bot\xE3o abaixo",c.style.color="rgba(0, 0, 0, .7)",c.style.fontWeight="normal",c.style.fontSize="16px",c.style.marginBottom="15px",c.style.padding="0px 0px 20px",c.style.width="100%",c.style.textAlign="center",c.style.position="fixed",c.style.top="55px",c.style.left="0",c.style.zIndex="1011",s.appendChild(c);let l=document.createElement("div"),d=document.createElement("h3"),u=document.createElement("select");u.setAttribute("id","cameraSelect"),l.style.padding="0 20px",l.style.width="100%",l.style.display="flex",l.style.justifyContent="space-between",l.style.marginBottom="15px",d.innerText="C\xE2mera",d.style.color="rgba(0, 0, 0, .75)",d.style.fontWeight="bold",d.style.fontSize="16px",l.appendChild(d),l.appendChild(u);let m=document.createElement("div"),y=document.createElement("video");y.setAttribute("id","cameraStream"),y.muted=!0,m.style.position="fixed",m.style.top="0",m.style.left="0",m.style.height="100vh",m.style.width="100%",m.style.display="flex",m.style.justifyContent="center",y.style.backgroundColor="#000",y.style.borderRadius="10px",y.style.width="auto",y.style.height="auto",y.style.minHeight="100%",m.appendChild(y);let p=document.createElement("canvas");p.setAttribute("id","canvas"),p.style.display="none",p.style.width="100%",p.style.height="100%";let f=document.createElement("img");f.setAttribute("id","image"),f.style.objectFit="contain",f.style.display="none",f.style.borderRadius="8px",m.appendChild(p),m.appendChild(f);let g=document.createElement("div");g.setAttribute("class","facial-biometry__mask"),g.style.width="100%",g.style.height="100%",g.style.position="absolute",g.style.top="0px",g.style.left="0px",g.style.backgroundColor="#fff",g.style.opacity="0.8";let b=document.createElement("div");b.setAttribute("class","biometry__frame"),b.style.width="100%",b.style.height="100%",b.style.position="absolute",b.style.top="0px",b.style.left="0px",b.style.zIndex="10",m.appendChild(g),m.appendChild(b),s.appendChild(m),this.addStyleMask();let k=document.createElement("button"),C=document.createElement("div");k.setAttribute("id","confirmBtn"),C.style.position="fixed",C.style.bottom="0",C.style.left="0",C.style.width="100%",C.style.display="flex",C.style.alignItems="center",C.style.justifyContent="center",k.style.background="url('https://iarisprod.blob.core.windows.net/imagens/camera.svg') no-repeat center",k.style.width="70px",k.style.height="70px",k.style.borderRadius="70px",k.style.border="none",k.style.backgroundColor="#16a34a",k.style.margin="20px";let O=document.createElement("button");O.setAttribute("id","closeModal"),O.style.background="url('https://iarisprod.blob.core.windows.net/imagens/close.svg') no-repeat center",O.style.width="70px",O.style.height="70px",O.style.borderRadius="70px",O.style.border="none",O.style.backgroundColor="#e74141",O.style.margin="20px",C.appendChild(O),C.appendChild(k),s.appendChild(C);let F=document.createElement("button");F.style.background="url('https://easyproctor-public.s3.us-east-2.amazonaws.com/images/retry.svg') no-repeat center",F.style.width="70px",F.style.height="70px",F.style.borderRadius="70px",F.style.border="none",F.style.backgroundColor="#e74141",F.style.margin="20px 20px";let P=document.createElement("button");P.style.background="url('https://iarisprod.blob.core.windows.net/imagens/check.svg') no-repeat center",P.style.width="70px",P.style.height="70px",P.style.borderRadius="70px",P.style.border="none",P.style.backgroundColor="#16a34a",P.style.margin="20px 20px",o.appendChild(s),document.body.appendChild(o),this.setSelectOption(),this.startCapture(),k.addEventListener("click",()=>{C.removeChild(k),C.removeChild(O),C.appendChild(F),C.appendChild(P),this.shot(),y.style.display="none",f.style.display="block"}),F.addEventListener("click",()=>{C.appendChild(O),C.appendChild(k),C.removeChild(F),C.removeChild(P),y.style.display="block",f.style.display="none"}),P.addEventListener("click",()=>{this.closeInterface(),i({base64:this.base64})}),O.addEventListener("click",()=>{this.closeInterface(),n(new Error("User does not captured photo"))})})}async setSelectOption(){let t=document.querySelector("#cameraSelect"),r=await st();t&&(t.value="default");let i=(n,o)=>{let s=document.createElement("option");return s.setAttribute("value",o),s.innerHTML=n,s};r.cameras.forEach(n=>{let o=i(n.label,n.id);t?.appendChild(o)}),this.onSelectOptionChange()}async onSelectOptionChange(){let t=document.querySelector("#cameraSelect");t?.addEventListener("change",async()=>{this.startCapture(t?.value)})}async closeInterface(){await this.cameraRecorder.stopRecording(),document.querySelector("#authPhoto")?.remove()}async addStyleMask(){let t=`
209
202
  .facial-biometry__mask {
210
203
  mask-image: url('https://iarisprod.blob.core.windows.net/imagens/square.svg'), url('https://iarisprod.blob.core.windows.net/imagens/face-mask.svg');
211
204
  mask-size: cover, auto 65%;
@@ -234,17 +227,16 @@ Para iniciar um exame utilize uma outra c\xE2mera.`),i.setAttribute("class","che
234
227
  // -webkit-mask-position: center;
235
228
  // -webkit-mask-repeat: no-repeat;
236
229
  }
237
- `,r=document.createElement("style");r.innerHTML=t,document.head.appendChild(r)}};var nt=class extends Error{constructor(t,r){let n=new.target.prototype;super(`${t}: Status code '${r}'`),this.statusCode=r,this.__proto__=n}},Cr=class extends Error{constructor(t="A timeout occurred."){let r=new.target.prototype;super(t),this.__proto__=r}},xe=class extends Error{constructor(t="An abort occurred."){let r=new.target.prototype;super(t),this.__proto__=r}},ua=class extends Error{constructor(t,r){let n=new.target.prototype;super(t),this.transport=r,this.errorType="UnsupportedTransportError",this.__proto__=n}},da=class extends Error{constructor(t,r){let n=new.target.prototype;super(t),this.transport=r,this.errorType="DisabledTransportError",this.__proto__=n}},pa=class extends Error{constructor(t,r){let n=new.target.prototype;super(t),this.transport=r,this.errorType="FailedToStartTransportError",this.__proto__=n}},ri=class extends Error{constructor(t){let r=new.target.prototype;super(t),this.errorType="FailedToNegotiateWithServerError",this.__proto__=r}},fa=class extends Error{constructor(t,r){let n=new.target.prototype;super(t),this.innerErrors=r,this.__proto__=n}};var Yn=class{constructor(t,r,n){this.statusCode=t,this.statusText=r,this.content=n}},Wt=class{get(t,r){return this.send({...r,method:"GET",url:t})}post(t,r){return this.send({...r,method:"POST",url:t})}delete(t,r){return this.send({...r,method:"DELETE",url:t})}getCookieString(t){return""}};var f;(function(e){e[e.Trace=0]="Trace",e[e.Debug=1]="Debug",e[e.Information=2]="Information",e[e.Warning=3]="Warning",e[e.Error=4]="Error",e[e.Critical=5]="Critical",e[e.None=6]="None"})(f||(f={}));var qt=class{constructor(){}log(t,r){}};qt.instance=new qt;var Ug="9.0.6";var $=class{static isRequired(t,r){if(t==null)throw new Error(`The '${r}' argument is required.`)}static isNotEmpty(t,r){if(!t||t.match(/^\s*$/))throw new Error(`The '${r}' argument should not be empty.`)}static isIn(t,r,n){if(!(t in r))throw new Error(`Unknown ${n} value: ${t}.`)}},q=class e{static get isBrowser(){return!e.isNode&&typeof window=="object"&&typeof window.document=="object"}static get isWebWorker(){return!e.isNode&&typeof self=="object"&&"importScripts"in self}static get isReactNative(){return!e.isNode&&typeof window=="object"&&typeof window.document>"u"}static get isNode(){return typeof process<"u"&&process.release&&process.release.name==="node"}};function Ar(e,t){let r="";return It(e)?(r=`Binary data of length ${e.byteLength}`,t&&(r+=`. Content: '${c4(e)}'`)):typeof e=="string"&&(r=`String data of length ${e.length}`,t&&(r+=`. Content: '${e}'`)),r}function c4(e){let t=new Uint8Array(e),r="";return t.forEach(n=>{let o=n<16?"0":"";r+=`0x${o}${n.toString(16)} `}),r.substr(0,r.length-1)}function It(e){return e&&typeof ArrayBuffer<"u"&&(e instanceof ArrayBuffer||e.constructor&&e.constructor.name==="ArrayBuffer")}async function ga(e,t,r,n,o,i){let s={},[a,c]=Gt();s[a]=c,e.log(f.Trace,`(${t} transport) sending data. ${Ar(o,i.logMessageContent)}.`);let l=It(o)?"arraybuffer":"text",h=await r.post(n,{content:o,headers:{...s,...i.headers},responseType:l,timeout:i.timeout,withCredentials:i.withCredentials});e.log(f.Trace,`(${t} transport) request complete. Response status: ${h.statusCode}.`)}function Fg(e){return e===void 0?new Xr(f.Information):e===null?qt.instance:e.log!==void 0?e:new Xr(e)}var ma=class{constructor(t,r){this._subject=t,this._observer=r}dispose(){let t=this._subject.observers.indexOf(this._observer);t>-1&&this._subject.observers.splice(t,1),this._subject.observers.length===0&&this._subject.cancelCallback&&this._subject.cancelCallback().catch(r=>{})}},Xr=class{constructor(t){this._minLevel=t,this.out=console}log(t,r){if(t>=this._minLevel){let n=`[${new Date().toISOString()}] ${f[t]}: ${r}`;switch(t){case f.Critical:case f.Error:this.out.error(n);break;case f.Warning:this.out.warn(n);break;case f.Information:this.out.info(n);break;default:this.out.log(n);break}}}};function Gt(){let e="X-SignalR-User-Agent";return q.isNode&&(e="User-Agent"),[e,l4(Ug,h4(),d4(),u4())]}function l4(e,t,r,n){let o="Microsoft SignalR/",i=e.split(".");return o+=`${i[0]}.${i[1]}`,o+=` (${e}; `,t&&t!==""?o+=`${t}; `:o+="Unknown OS; ",o+=`${r}`,n?o+=`; ${n}`:o+="; Unknown Runtime Version",o+=")",o}function h4(){if(q.isNode)switch(process.platform){case"win32":return"Windows NT";case"darwin":return"macOS";case"linux":return"Linux";default:return process.platform}else return""}function u4(){if(q.isNode)return process.versions.node}function d4(){return q.isNode?"NodeJS":"Browser"}function ya(e){return e.stack?e.stack:e.message?e.message:`${e}`}function Ng(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("could not find global")}var ba=class extends Wt{constructor(t){if(super(),this._logger=t,typeof fetch>"u"||q.isNode){let r=typeof __webpack_require__=="function"?__non_webpack_require__:pn;this._jar=new(r("tough-cookie")).CookieJar,typeof fetch>"u"?this._fetchType=r("node-fetch"):this._fetchType=fetch,this._fetchType=r("fetch-cookie")(this._fetchType,this._jar)}else this._fetchType=fetch.bind(Ng());if(typeof AbortController>"u"){let r=typeof __webpack_require__=="function"?__non_webpack_require__:pn;this._abortControllerType=r("abort-controller")}else this._abortControllerType=AbortController}async send(t){if(t.abortSignal&&t.abortSignal.aborted)throw new xe;if(!t.method)throw new Error("No method defined.");if(!t.url)throw new Error("No url defined.");let r=new this._abortControllerType,n;t.abortSignal&&(t.abortSignal.onabort=()=>{r.abort(),n=new xe});let o=null;if(t.timeout){let c=t.timeout;o=setTimeout(()=>{r.abort(),this._logger.log(f.Warning,"Timeout from HTTP request."),n=new Cr},c)}t.content===""&&(t.content=void 0),t.content&&(t.headers=t.headers||{},It(t.content)?t.headers["Content-Type"]="application/octet-stream":t.headers["Content-Type"]="text/plain;charset=UTF-8");let i;try{i=await this._fetchType(t.url,{body:t.content,cache:"no-cache",credentials:t.withCredentials===!0?"include":"same-origin",headers:{"X-Requested-With":"XMLHttpRequest",...t.headers},method:t.method,mode:"cors",redirect:"follow",signal:r.signal})}catch(c){throw n||(this._logger.log(f.Warning,`Error from HTTP request. ${c}.`),c)}finally{o&&clearTimeout(o),t.abortSignal&&(t.abortSignal.onabort=null)}if(!i.ok){let c=await jg(i,"text");throw new nt(c||i.statusText,i.status)}let a=await jg(i,t.responseType);return new Yn(i.status,i.statusText,a)}getCookieString(t){let r="";return q.isNode&&this._jar&&this._jar.getCookies(t,(n,o)=>r=o.join("; ")),r}};function jg(e,t){let r;switch(t){case"arraybuffer":r=e.arrayBuffer();break;case"text":r=e.text();break;case"blob":case"document":case"json":throw new Error(`${t} is not supported.`);default:r=e.text();break}return r}var wa=class extends Wt{constructor(t){super(),this._logger=t}send(t){return t.abortSignal&&t.abortSignal.aborted?Promise.reject(new xe):t.method?t.url?new Promise((r,n)=>{let o=new XMLHttpRequest;o.open(t.method,t.url,!0),o.withCredentials=t.withCredentials===void 0?!0:t.withCredentials,o.setRequestHeader("X-Requested-With","XMLHttpRequest"),t.content===""&&(t.content=void 0),t.content&&(It(t.content)?o.setRequestHeader("Content-Type","application/octet-stream"):o.setRequestHeader("Content-Type","text/plain;charset=UTF-8"));let i=t.headers;i&&Object.keys(i).forEach(s=>{o.setRequestHeader(s,i[s])}),t.responseType&&(o.responseType=t.responseType),t.abortSignal&&(t.abortSignal.onabort=()=>{o.abort(),n(new xe)}),t.timeout&&(o.timeout=t.timeout),o.onload=()=>{t.abortSignal&&(t.abortSignal.onabort=null),o.status>=200&&o.status<300?r(new Yn(o.status,o.statusText,o.response||o.responseText)):n(new nt(o.response||o.responseText||o.statusText,o.status))},o.onerror=()=>{this._logger.log(f.Warning,`Error from HTTP request. ${o.status}: ${o.statusText}.`),n(new nt(o.statusText,o.status))},o.ontimeout=()=>{this._logger.log(f.Warning,"Timeout from HTTP request."),n(new Cr)},o.send(t.content)}):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))}};var va=class extends Wt{constructor(t){if(super(),typeof fetch<"u"||q.isNode)this._httpClient=new ba(t);else if(typeof XMLHttpRequest<"u")this._httpClient=new wa(t);else throw new Error("No usable HttpClient found.")}send(t){return t.abortSignal&&t.abortSignal.aborted?Promise.reject(new xe):t.method?t.url?this._httpClient.send(t):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))}getCookieString(t){return this._httpClient.getCookieString(t)}};var ot=class e{static write(t){return`${t}${e.RecordSeparator}`}static parse(t){if(t[t.length-1]!==e.RecordSeparator)throw new Error("Message is incomplete.");let r=t.split(e.RecordSeparator);return r.pop(),r}};ot.RecordSeparatorCode=30;ot.RecordSeparator=String.fromCharCode(ot.RecordSeparatorCode);var _a=class{writeHandshakeRequest(t){return ot.write(JSON.stringify(t))}parseHandshakeResponse(t){let r,n;if(It(t)){let a=new Uint8Array(t),c=a.indexOf(ot.RecordSeparatorCode);if(c===-1)throw new Error("Message is incomplete.");let l=c+1;r=String.fromCharCode.apply(null,Array.prototype.slice.call(a.slice(0,l))),n=a.byteLength>l?a.slice(l).buffer:null}else{let a=t,c=a.indexOf(ot.RecordSeparator);if(c===-1)throw new Error("Message is incomplete.");let l=c+1;r=a.substring(0,l),n=a.length>l?a.substring(l):null}let o=ot.parse(r),i=JSON.parse(o[0]);if(i.type)throw new Error("Expected a handshake response from the server.");return[n,i]}};var D;(function(e){e[e.Invocation=1]="Invocation",e[e.StreamItem=2]="StreamItem",e[e.Completion=3]="Completion",e[e.StreamInvocation=4]="StreamInvocation",e[e.CancelInvocation=5]="CancelInvocation",e[e.Ping=6]="Ping",e[e.Close=7]="Close",e[e.Ack=8]="Ack",e[e.Sequence=9]="Sequence"})(D||(D={}));var Sa=class{constructor(){this.observers=[]}next(t){for(let r of this.observers)r.next(t)}error(t){for(let r of this.observers)r.error&&r.error(t)}complete(){for(let t of this.observers)t.complete&&t.complete()}subscribe(t){return this.observers.push(t),new ma(this,t)}};var Ea=class{constructor(t,r,n){this._bufferSize=1e5,this._messages=[],this._totalMessageCount=0,this._waitForSequenceMessage=!1,this._nextReceivingSequenceId=1,this._latestReceivedSequenceId=0,this._bufferedByteCount=0,this._reconnectInProgress=!1,this._protocol=t,this._connection=r,this._bufferSize=n}async _send(t){let r=this._protocol.writeMessage(t),n=Promise.resolve();if(this._isInvocationMessage(t)){this._totalMessageCount++;let o=()=>{},i=()=>{};It(r)?this._bufferedByteCount+=r.byteLength:this._bufferedByteCount+=r.length,this._bufferedByteCount>=this._bufferSize&&(n=new Promise((s,a)=>{o=s,i=a})),this._messages.push(new zh(r,this._totalMessageCount,o,i))}try{this._reconnectInProgress||await this._connection.send(r)}catch{this._disconnected()}await n}_ack(t){let r=-1;for(let n=0;n<this._messages.length;n++){let o=this._messages[n];if(o._id<=t.sequenceId)r=n,It(o._message)?this._bufferedByteCount-=o._message.byteLength:this._bufferedByteCount-=o._message.length,o._resolver();else if(this._bufferedByteCount<this._bufferSize)o._resolver();else break}r!==-1&&(this._messages=this._messages.slice(r+1))}_shouldProcessMessage(t){if(this._waitForSequenceMessage)return t.type!==D.Sequence?!1:(this._waitForSequenceMessage=!1,!0);if(!this._isInvocationMessage(t))return!0;let r=this._nextReceivingSequenceId;return this._nextReceivingSequenceId++,r<=this._latestReceivedSequenceId?(r===this._latestReceivedSequenceId&&this._ackTimer(),!1):(this._latestReceivedSequenceId=r,this._ackTimer(),!0)}_resetSequence(t){if(t.sequenceId>this._nextReceivingSequenceId){this._connection.stop(new Error("Sequence ID greater than amount of messages we've received."));return}this._nextReceivingSequenceId=t.sequenceId}_disconnected(){this._reconnectInProgress=!0,this._waitForSequenceMessage=!0}async _resend(){let t=this._messages.length!==0?this._messages[0]._id:this._totalMessageCount+1;await this._connection.send(this._protocol.writeMessage({type:D.Sequence,sequenceId:t}));let r=this._messages;for(let n of r)await this._connection.send(n._message);this._reconnectInProgress=!1}_dispose(t){t??(t=new Error("Unable to reconnect to server."));for(let r of this._messages)r._rejector(t)}_isInvocationMessage(t){switch(t.type){case D.Invocation:case D.StreamItem:case D.Completion:case D.StreamInvocation:case D.CancelInvocation:return!0;case D.Close:case D.Sequence:case D.Ping:case D.Ack:return!1}}_ackTimer(){this._ackTimerHandle===void 0&&(this._ackTimerHandle=setTimeout(async()=>{try{this._reconnectInProgress||await this._connection.send(this._protocol.writeMessage({type:D.Ack,sequenceId:this._latestReceivedSequenceId}))}catch{}clearTimeout(this._ackTimerHandle),this._ackTimerHandle=void 0},1e3))}},zh=class{constructor(t,r,n,o){this._message=t,this._id=r,this._resolver=n,this._rejector=o}};var p4=30*1e3,f4=15*1e3,m4=1e5,te;(function(e){e.Disconnected="Disconnected",e.Connecting="Connecting",e.Connected="Connected",e.Disconnecting="Disconnecting",e.Reconnecting="Reconnecting"})(te||(te={}));var ka=class e{static create(t,r,n,o,i,s,a){return new e(t,r,n,o,i,s,a)}constructor(t,r,n,o,i,s,a){this._nextKeepAlive=0,this._freezeEventListener=()=>{this._logger.log(f.Warning,"The page is being frozen, this will likely lead to the connection being closed and messages being lost. For more information see the docs at https://learn.microsoft.com/aspnet/core/signalr/javascript-client#bsleep")},$.isRequired(t,"connection"),$.isRequired(r,"logger"),$.isRequired(n,"protocol"),this.serverTimeoutInMilliseconds=i??p4,this.keepAliveIntervalInMilliseconds=s??f4,this._statefulReconnectBufferSize=a??m4,this._logger=r,this._protocol=n,this.connection=t,this._reconnectPolicy=o,this._handshakeProtocol=new _a,this.connection.onreceive=c=>this._processIncomingData(c),this.connection.onclose=c=>this._connectionClosed(c),this._callbacks={},this._methods={},this._closedCallbacks=[],this._reconnectingCallbacks=[],this._reconnectedCallbacks=[],this._invocationId=0,this._receivedHandshakeResponse=!1,this._connectionState=te.Disconnected,this._connectionStarted=!1,this._cachedPingMessage=this._protocol.writeMessage({type:D.Ping})}get state(){return this._connectionState}get connectionId(){return this.connection&&this.connection.connectionId||null}get baseUrl(){return this.connection.baseUrl||""}set baseUrl(t){if(this._connectionState!==te.Disconnected&&this._connectionState!==te.Reconnecting)throw new Error("The HubConnection must be in the Disconnected or Reconnecting state to change the url.");if(!t)throw new Error("The HubConnection url must be a valid url.");this.connection.baseUrl=t}start(){return this._startPromise=this._startWithStateTransitions(),this._startPromise}async _startWithStateTransitions(){if(this._connectionState!==te.Disconnected)return Promise.reject(new Error("Cannot start a HubConnection that is not in the 'Disconnected' state."));this._connectionState=te.Connecting,this._logger.log(f.Debug,"Starting HubConnection.");try{await this._startInternal(),q.isBrowser&&window.document.addEventListener("freeze",this._freezeEventListener),this._connectionState=te.Connected,this._connectionStarted=!0,this._logger.log(f.Debug,"HubConnection connected successfully.")}catch(t){return this._connectionState=te.Disconnected,this._logger.log(f.Debug,`HubConnection failed to start successfully because of error '${t}'.`),Promise.reject(t)}}async _startInternal(){this._stopDuringStartError=void 0,this._receivedHandshakeResponse=!1;let t=new Promise((r,n)=>{this._handshakeResolver=r,this._handshakeRejecter=n});await this.connection.start(this._protocol.transferFormat);try{let r=this._protocol.version;this.connection.features.reconnect||(r=1);let n={protocol:this._protocol.name,version:r};if(this._logger.log(f.Debug,"Sending handshake request."),await this._sendMessage(this._handshakeProtocol.writeHandshakeRequest(n)),this._logger.log(f.Information,`Using HubProtocol '${this._protocol.name}'.`),this._cleanupTimeout(),this._resetTimeoutPeriod(),this._resetKeepAliveInterval(),await t,this._stopDuringStartError)throw this._stopDuringStartError;(this.connection.features.reconnect||!1)&&(this._messageBuffer=new Ea(this._protocol,this.connection,this._statefulReconnectBufferSize),this.connection.features.disconnected=this._messageBuffer._disconnected.bind(this._messageBuffer),this.connection.features.resend=()=>{if(this._messageBuffer)return this._messageBuffer._resend()}),this.connection.features.inherentKeepAlive||await this._sendMessage(this._cachedPingMessage)}catch(r){throw this._logger.log(f.Debug,`Hub handshake failed with error '${r}' during start(). Stopping HubConnection.`),this._cleanupTimeout(),this._cleanupPingTimer(),await this.connection.stop(r),r}}async stop(){let t=this._startPromise;this.connection.features.reconnect=!1,this._stopPromise=this._stopInternal(),await this._stopPromise;try{await t}catch{}}_stopInternal(t){if(this._connectionState===te.Disconnected)return this._logger.log(f.Debug,`Call to HubConnection.stop(${t}) ignored because it is already in the disconnected state.`),Promise.resolve();if(this._connectionState===te.Disconnecting)return this._logger.log(f.Debug,`Call to HttpConnection.stop(${t}) ignored because the connection is already in the disconnecting state.`),this._stopPromise;let r=this._connectionState;return this._connectionState=te.Disconnecting,this._logger.log(f.Debug,"Stopping HubConnection."),this._reconnectDelayHandle?(this._logger.log(f.Debug,"Connection stopped during reconnect delay. Done reconnecting."),clearTimeout(this._reconnectDelayHandle),this._reconnectDelayHandle=void 0,this._completeClose(),Promise.resolve()):(r===te.Connected&&this._sendCloseMessage(),this._cleanupTimeout(),this._cleanupPingTimer(),this._stopDuringStartError=t||new xe("The connection was stopped before the hub handshake could complete."),this.connection.stop(t))}async _sendCloseMessage(){try{await this._sendWithProtocol(this._createCloseMessage())}catch{}}stream(t,...r){let[n,o]=this._replaceStreamingParams(r),i=this._createStreamInvocation(t,r,o),s,a=new Sa;return a.cancelCallback=()=>{let c=this._createCancelInvocation(i.invocationId);return delete this._callbacks[i.invocationId],s.then(()=>this._sendWithProtocol(c))},this._callbacks[i.invocationId]=(c,l)=>{if(l){a.error(l);return}else c&&(c.type===D.Completion?c.error?a.error(new Error(c.error)):a.complete():a.next(c.item))},s=this._sendWithProtocol(i).catch(c=>{a.error(c),delete this._callbacks[i.invocationId]}),this._launchStreams(n,s),a}_sendMessage(t){return this._resetKeepAliveInterval(),this.connection.send(t)}_sendWithProtocol(t){return this._messageBuffer?this._messageBuffer._send(t):this._sendMessage(this._protocol.writeMessage(t))}send(t,...r){let[n,o]=this._replaceStreamingParams(r),i=this._sendWithProtocol(this._createInvocation(t,r,!0,o));return this._launchStreams(n,i),i}invoke(t,...r){let[n,o]=this._replaceStreamingParams(r),i=this._createInvocation(t,r,!1,o);return new Promise((a,c)=>{this._callbacks[i.invocationId]=(h,u)=>{if(u){c(u);return}else h&&(h.type===D.Completion?h.error?c(new Error(h.error)):a(h.result):c(new Error(`Unexpected message type: ${h.type}`)))};let l=this._sendWithProtocol(i).catch(h=>{c(h),delete this._callbacks[i.invocationId]});this._launchStreams(n,l)})}on(t,r){!t||!r||(t=t.toLowerCase(),this._methods[t]||(this._methods[t]=[]),this._methods[t].indexOf(r)===-1&&this._methods[t].push(r))}off(t,r){if(!t)return;t=t.toLowerCase();let n=this._methods[t];if(n)if(r){let o=n.indexOf(r);o!==-1&&(n.splice(o,1),n.length===0&&delete this._methods[t])}else delete this._methods[t]}onclose(t){t&&this._closedCallbacks.push(t)}onreconnecting(t){t&&this._reconnectingCallbacks.push(t)}onreconnected(t){t&&this._reconnectedCallbacks.push(t)}_processIncomingData(t){if(this._cleanupTimeout(),this._receivedHandshakeResponse||(t=this._processHandshakeResponse(t),this._receivedHandshakeResponse=!0),t){let r=this._protocol.parseMessages(t,this._logger);for(let n of r)if(!(this._messageBuffer&&!this._messageBuffer._shouldProcessMessage(n)))switch(n.type){case D.Invocation:this._invokeClientMethod(n).catch(o=>{this._logger.log(f.Error,`Invoke client method threw error: ${ya(o)}`)});break;case D.StreamItem:case D.Completion:{let o=this._callbacks[n.invocationId];if(o){n.type===D.Completion&&delete this._callbacks[n.invocationId];try{o(n)}catch(i){this._logger.log(f.Error,`Stream callback threw error: ${ya(i)}`)}}break}case D.Ping:break;case D.Close:{this._logger.log(f.Information,"Close message received from server.");let o=n.error?new Error("Server returned an error on close: "+n.error):void 0;n.allowReconnect===!0?this.connection.stop(o):this._stopPromise=this._stopInternal(o);break}case D.Ack:this._messageBuffer&&this._messageBuffer._ack(n);break;case D.Sequence:this._messageBuffer&&this._messageBuffer._resetSequence(n);break;default:this._logger.log(f.Warning,`Invalid message type: ${n.type}.`);break}}this._resetTimeoutPeriod()}_processHandshakeResponse(t){let r,n;try{[n,r]=this._handshakeProtocol.parseHandshakeResponse(t)}catch(o){let i="Error parsing handshake response: "+o;this._logger.log(f.Error,i);let s=new Error(i);throw this._handshakeRejecter(s),s}if(r.error){let o="Server returned handshake error: "+r.error;this._logger.log(f.Error,o);let i=new Error(o);throw this._handshakeRejecter(i),i}else this._logger.log(f.Debug,"Server handshake complete.");return this._handshakeResolver(),n}_resetKeepAliveInterval(){this.connection.features.inherentKeepAlive||(this._nextKeepAlive=new Date().getTime()+this.keepAliveIntervalInMilliseconds,this._cleanupPingTimer())}_resetTimeoutPeriod(){if((!this.connection.features||!this.connection.features.inherentKeepAlive)&&(this._timeoutHandle=setTimeout(()=>this.serverTimeout(),this.serverTimeoutInMilliseconds),this._pingServerHandle===void 0)){let t=this._nextKeepAlive-new Date().getTime();t<0&&(t=0),this._pingServerHandle=setTimeout(async()=>{if(this._connectionState===te.Connected)try{await this._sendMessage(this._cachedPingMessage)}catch{this._cleanupPingTimer()}},t)}}serverTimeout(){this.connection.stop(new Error("Server timeout elapsed without receiving a message from the server."))}async _invokeClientMethod(t){let r=t.target.toLowerCase(),n=this._methods[r];if(!n){this._logger.log(f.Warning,`No client method with the name '${r}' found.`),t.invocationId&&(this._logger.log(f.Warning,`No result given for '${r}' method and invocation ID '${t.invocationId}'.`),await this._sendWithProtocol(this._createCompletionMessage(t.invocationId,"Client didn't provide a result.",null)));return}let o=n.slice(),i=!!t.invocationId,s,a,c;for(let l of o)try{let h=s;s=await l.apply(this,t.arguments),i&&s&&h&&(this._logger.log(f.Error,`Multiple results provided for '${r}'. Sending error to server.`),c=this._createCompletionMessage(t.invocationId,"Client provided multiple results.",null)),a=void 0}catch(h){a=h,this._logger.log(f.Error,`A callback for the method '${r}' threw error '${h}'.`)}c?await this._sendWithProtocol(c):i?(a?c=this._createCompletionMessage(t.invocationId,`${a}`,null):s!==void 0?c=this._createCompletionMessage(t.invocationId,null,s):(this._logger.log(f.Warning,`No result given for '${r}' method and invocation ID '${t.invocationId}'.`),c=this._createCompletionMessage(t.invocationId,"Client didn't provide a result.",null)),await this._sendWithProtocol(c)):s&&this._logger.log(f.Error,`Result given for '${r}' method but server is not expecting a result.`)}_connectionClosed(t){this._logger.log(f.Debug,`HubConnection.connectionClosed(${t}) called while in state ${this._connectionState}.`),this._stopDuringStartError=this._stopDuringStartError||t||new xe("The underlying connection was closed before the hub handshake could complete."),this._handshakeResolver&&this._handshakeResolver(),this._cancelCallbacksWithError(t||new Error("Invocation canceled due to the underlying connection being closed.")),this._cleanupTimeout(),this._cleanupPingTimer(),this._connectionState===te.Disconnecting?this._completeClose(t):this._connectionState===te.Connected&&this._reconnectPolicy?this._reconnect(t):this._connectionState===te.Connected&&this._completeClose(t)}_completeClose(t){if(this._connectionStarted){this._connectionState=te.Disconnected,this._connectionStarted=!1,this._messageBuffer&&(this._messageBuffer._dispose(t??new Error("Connection closed.")),this._messageBuffer=void 0),q.isBrowser&&window.document.removeEventListener("freeze",this._freezeEventListener);try{this._closedCallbacks.forEach(r=>r.apply(this,[t]))}catch(r){this._logger.log(f.Error,`An onclose callback called with error '${t}' threw error '${r}'.`)}}}async _reconnect(t){let r=Date.now(),n=0,o=t!==void 0?t:new Error("Attempting to reconnect due to a unknown error."),i=this._getNextRetryDelay(n++,0,o);if(i===null){this._logger.log(f.Debug,"Connection not reconnecting because the IRetryPolicy returned null on the first reconnect attempt."),this._completeClose(t);return}if(this._connectionState=te.Reconnecting,t?this._logger.log(f.Information,`Connection reconnecting because of error '${t}'.`):this._logger.log(f.Information,"Connection reconnecting."),this._reconnectingCallbacks.length!==0){try{this._reconnectingCallbacks.forEach(s=>s.apply(this,[t]))}catch(s){this._logger.log(f.Error,`An onreconnecting callback called with error '${t}' threw error '${s}'.`)}if(this._connectionState!==te.Reconnecting){this._logger.log(f.Debug,"Connection left the reconnecting state in onreconnecting callback. Done reconnecting.");return}}for(;i!==null;){if(this._logger.log(f.Information,`Reconnect attempt number ${n} will start in ${i} ms.`),await new Promise(s=>{this._reconnectDelayHandle=setTimeout(s,i)}),this._reconnectDelayHandle=void 0,this._connectionState!==te.Reconnecting){this._logger.log(f.Debug,"Connection left the reconnecting state during reconnect delay. Done reconnecting.");return}try{if(await this._startInternal(),this._connectionState=te.Connected,this._logger.log(f.Information,"HubConnection reconnected successfully."),this._reconnectedCallbacks.length!==0)try{this._reconnectedCallbacks.forEach(s=>s.apply(this,[this.connection.connectionId]))}catch(s){this._logger.log(f.Error,`An onreconnected callback called with connectionId '${this.connection.connectionId}; threw error '${s}'.`)}return}catch(s){if(this._logger.log(f.Information,`Reconnect attempt failed because of error '${s}'.`),this._connectionState!==te.Reconnecting){this._logger.log(f.Debug,`Connection moved to the '${this._connectionState}' from the reconnecting state during reconnect attempt. Done reconnecting.`),this._connectionState===te.Disconnecting&&this._completeClose();return}o=s instanceof Error?s:new Error(s.toString()),i=this._getNextRetryDelay(n++,Date.now()-r,o)}}this._logger.log(f.Information,`Reconnect retries have been exhausted after ${Date.now()-r} ms and ${n} failed attempts. Connection disconnecting.`),this._completeClose()}_getNextRetryDelay(t,r,n){try{return this._reconnectPolicy.nextRetryDelayInMilliseconds({elapsedMilliseconds:r,previousRetryCount:t,retryReason:n})}catch(o){return this._logger.log(f.Error,`IRetryPolicy.nextRetryDelayInMilliseconds(${t}, ${r}) threw error '${o}'.`),null}}_cancelCallbacksWithError(t){let r=this._callbacks;this._callbacks={},Object.keys(r).forEach(n=>{let o=r[n];try{o(null,t)}catch(i){this._logger.log(f.Error,`Stream 'error' callback called with '${t}' threw error: ${ya(i)}`)}})}_cleanupPingTimer(){this._pingServerHandle&&(clearTimeout(this._pingServerHandle),this._pingServerHandle=void 0)}_cleanupTimeout(){this._timeoutHandle&&clearTimeout(this._timeoutHandle)}_createInvocation(t,r,n,o){if(n)return o.length!==0?{target:t,arguments:r,streamIds:o,type:D.Invocation}:{target:t,arguments:r,type:D.Invocation};{let i=this._invocationId;return this._invocationId++,o.length!==0?{target:t,arguments:r,invocationId:i.toString(),streamIds:o,type:D.Invocation}:{target:t,arguments:r,invocationId:i.toString(),type:D.Invocation}}}_launchStreams(t,r){if(t.length!==0){r||(r=Promise.resolve());for(let n in t)t[n].subscribe({complete:()=>{r=r.then(()=>this._sendWithProtocol(this._createCompletionMessage(n)))},error:o=>{let i;o instanceof Error?i=o.message:o&&o.toString?i=o.toString():i="Unknown error",r=r.then(()=>this._sendWithProtocol(this._createCompletionMessage(n,i)))},next:o=>{r=r.then(()=>this._sendWithProtocol(this._createStreamItemMessage(n,o)))}})}}_replaceStreamingParams(t){let r=[],n=[];for(let o=0;o<t.length;o++){let i=t[o];if(this._isObservable(i)){let s=this._invocationId;this._invocationId++,r[s]=i,n.push(s.toString()),t.splice(o,1)}}return[r,n]}_isObservable(t){return t&&t.subscribe&&typeof t.subscribe=="function"}_createStreamInvocation(t,r,n){let o=this._invocationId;return this._invocationId++,n.length!==0?{target:t,arguments:r,invocationId:o.toString(),streamIds:n,type:D.StreamInvocation}:{target:t,arguments:r,invocationId:o.toString(),type:D.StreamInvocation}}_createCancelInvocation(t){return{invocationId:t,type:D.CancelInvocation}}_createStreamItemMessage(t,r){return{invocationId:t,item:r,type:D.StreamItem}}_createCompletionMessage(t,r,n){return r?{error:r,invocationId:t,type:D.Completion}:{invocationId:t,result:n,type:D.Completion}}_createCloseMessage(){return{type:D.Close}}};var g4=[0,2e3,1e4,3e4,null],ni=class{constructor(t){this._retryDelays=t!==void 0?[...t,null]:g4}nextRetryDelayInMilliseconds(t){return this._retryDelays[t.previousRetryCount]}};var Pt=class{};Pt.Authorization="Authorization";Pt.Cookie="Cookie";var Ca=class extends Wt{constructor(t,r){super(),this._innerClient=t,this._accessTokenFactory=r}async send(t){let r=!0;this._accessTokenFactory&&(!this._accessToken||t.url&&t.url.indexOf("/negotiate?")>0)&&(r=!1,this._accessToken=await this._accessTokenFactory()),this._setAuthorizationHeader(t);let n=await this._innerClient.send(t);return r&&n.statusCode===401&&this._accessTokenFactory?(this._accessToken=await this._accessTokenFactory(),this._setAuthorizationHeader(t),await this._innerClient.send(t)):n}_setAuthorizationHeader(t){t.headers||(t.headers={}),this._accessToken?t.headers[Pt.Authorization]=`Bearer ${this._accessToken}`:this._accessTokenFactory&&t.headers[Pt.Authorization]&&delete t.headers[Pt.Authorization]}getCookieString(t){return this._innerClient.getCookieString(t)}};var ie;(function(e){e[e.None=0]="None",e[e.WebSockets=1]="WebSockets",e[e.ServerSentEvents=2]="ServerSentEvents",e[e.LongPolling=4]="LongPolling"})(ie||(ie={}));var he;(function(e){e[e.Text=1]="Text",e[e.Binary=2]="Binary"})(he||(he={}));var Aa=class{constructor(){this._isAborted=!1,this.onabort=null}abort(){this._isAborted||(this._isAborted=!0,this.onabort&&this.onabort())}get signal(){return this}get aborted(){return this._isAborted}};var oi=class{get pollAborted(){return this._pollAbort.aborted}constructor(t,r,n){this._httpClient=t,this._logger=r,this._pollAbort=new Aa,this._options=n,this._running=!1,this.onreceive=null,this.onclose=null}async connect(t,r){if($.isRequired(t,"url"),$.isRequired(r,"transferFormat"),$.isIn(r,he,"transferFormat"),this._url=t,this._logger.log(f.Trace,"(LongPolling transport) Connecting."),r===he.Binary&&typeof XMLHttpRequest<"u"&&typeof new XMLHttpRequest().responseType!="string")throw new Error("Binary protocols over XmlHttpRequest not implementing advanced features are not supported.");let[n,o]=Gt(),i={[n]:o,...this._options.headers},s={abortSignal:this._pollAbort.signal,headers:i,timeout:1e5,withCredentials:this._options.withCredentials};r===he.Binary&&(s.responseType="arraybuffer");let a=`${t}&_=${Date.now()}`;this._logger.log(f.Trace,`(LongPolling transport) polling: ${a}.`);let c=await this._httpClient.get(a,s);c.statusCode!==200?(this._logger.log(f.Error,`(LongPolling transport) Unexpected response code: ${c.statusCode}.`),this._closeError=new nt(c.statusText||"",c.statusCode),this._running=!1):this._running=!0,this._receiving=this._poll(this._url,s)}async _poll(t,r){try{for(;this._running;)try{let n=`${t}&_=${Date.now()}`;this._logger.log(f.Trace,`(LongPolling transport) polling: ${n}.`);let o=await this._httpClient.get(n,r);o.statusCode===204?(this._logger.log(f.Information,"(LongPolling transport) Poll terminated by server."),this._running=!1):o.statusCode!==200?(this._logger.log(f.Error,`(LongPolling transport) Unexpected response code: ${o.statusCode}.`),this._closeError=new nt(o.statusText||"",o.statusCode),this._running=!1):o.content?(this._logger.log(f.Trace,`(LongPolling transport) data received. ${Ar(o.content,this._options.logMessageContent)}.`),this.onreceive&&this.onreceive(o.content)):this._logger.log(f.Trace,"(LongPolling transport) Poll timed out, reissuing.")}catch(n){this._running?n instanceof Cr?this._logger.log(f.Trace,"(LongPolling transport) Poll timed out, reissuing."):(this._closeError=n,this._running=!1):this._logger.log(f.Trace,`(LongPolling transport) Poll errored after shutdown: ${n.message}`)}}finally{this._logger.log(f.Trace,"(LongPolling transport) Polling complete."),this.pollAborted||this._raiseOnClose()}}async send(t){return this._running?ga(this._logger,"LongPolling",this._httpClient,this._url,t,this._options):Promise.reject(new Error("Cannot send until the transport is connected"))}async stop(){this._logger.log(f.Trace,"(LongPolling transport) Stopping polling."),this._running=!1,this._pollAbort.abort();try{await this._receiving,this._logger.log(f.Trace,`(LongPolling transport) sending DELETE request to ${this._url}.`);let t={},[r,n]=Gt();t[r]=n;let o={headers:{...t,...this._options.headers},timeout:this._options.timeout,withCredentials:this._options.withCredentials},i;try{await this._httpClient.delete(this._url,o)}catch(s){i=s}i?i instanceof nt&&(i.statusCode===404?this._logger.log(f.Trace,"(LongPolling transport) A 404 response was returned from sending a DELETE request."):this._logger.log(f.Trace,`(LongPolling transport) Error sending a DELETE request: ${i}`)):this._logger.log(f.Trace,"(LongPolling transport) DELETE request accepted.")}finally{this._logger.log(f.Trace,"(LongPolling transport) Stop finished."),this._raiseOnClose()}}_raiseOnClose(){if(this.onclose){let t="(LongPolling transport) Firing onclose event.";this._closeError&&(t+=" Error: "+this._closeError),this._logger.log(f.Trace,t),this.onclose(this._closeError)}}};var xa=class{constructor(t,r,n,o){this._httpClient=t,this._accessToken=r,this._logger=n,this._options=o,this.onreceive=null,this.onclose=null}async connect(t,r){return $.isRequired(t,"url"),$.isRequired(r,"transferFormat"),$.isIn(r,he,"transferFormat"),this._logger.log(f.Trace,"(SSE transport) Connecting."),this._url=t,this._accessToken&&(t+=(t.indexOf("?")<0?"?":"&")+`access_token=${encodeURIComponent(this._accessToken)}`),new Promise((n,o)=>{let i=!1;if(r!==he.Text){o(new Error("The Server-Sent Events transport only supports the 'Text' transfer format"));return}let s;if(q.isBrowser||q.isWebWorker)s=new this._options.EventSource(t,{withCredentials:this._options.withCredentials});else{let a=this._httpClient.getCookieString(t),c={};c.Cookie=a;let[l,h]=Gt();c[l]=h,s=new this._options.EventSource(t,{withCredentials:this._options.withCredentials,headers:{...c,...this._options.headers}})}try{s.onmessage=a=>{if(this.onreceive)try{this._logger.log(f.Trace,`(SSE transport) data received. ${Ar(a.data,this._options.logMessageContent)}.`),this.onreceive(a.data)}catch(c){this._close(c);return}},s.onerror=a=>{i?this._close():o(new Error("EventSource failed to connect. The connection could not be found on the server, either the connection ID is not present on the server, or a proxy is refusing/buffering the connection. If you have multiple servers check that sticky sessions are enabled."))},s.onopen=()=>{this._logger.log(f.Information,`SSE connected to ${this._url}`),this._eventSource=s,i=!0,n()}}catch(a){o(a);return}})}async send(t){return this._eventSource?ga(this._logger,"SSE",this._httpClient,this._url,t,this._options):Promise.reject(new Error("Cannot send until the transport is connected"))}stop(){return this._close(),Promise.resolve()}_close(t){this._eventSource&&(this._eventSource.close(),this._eventSource=void 0,this.onclose&&this.onclose(t))}};var Ta=class{constructor(t,r,n,o,i,s){this._logger=n,this._accessTokenFactory=r,this._logMessageContent=o,this._webSocketConstructor=i,this._httpClient=t,this.onreceive=null,this.onclose=null,this._headers=s}async connect(t,r){$.isRequired(t,"url"),$.isRequired(r,"transferFormat"),$.isIn(r,he,"transferFormat"),this._logger.log(f.Trace,"(WebSockets transport) Connecting.");let n;return this._accessTokenFactory&&(n=await this._accessTokenFactory()),new Promise((o,i)=>{t=t.replace(/^http/,"ws");let s,a=this._httpClient.getCookieString(t),c=!1;if(q.isNode||q.isReactNative){let l={},[h,u]=Gt();l[h]=u,n&&(l[Pt.Authorization]=`Bearer ${n}`),a&&(l[Pt.Cookie]=a),s=new this._webSocketConstructor(t,void 0,{headers:{...l,...this._headers}})}else n&&(t+=(t.indexOf("?")<0?"?":"&")+`access_token=${encodeURIComponent(n)}`);s||(s=new this._webSocketConstructor(t)),r===he.Binary&&(s.binaryType="arraybuffer"),s.onopen=l=>{this._logger.log(f.Information,`WebSocket connected to ${t}.`),this._webSocket=s,c=!0,o()},s.onerror=l=>{let h=null;typeof ErrorEvent<"u"&&l instanceof ErrorEvent?h=l.error:h="There was an error with the transport",this._logger.log(f.Information,`(WebSockets transport) ${h}.`)},s.onmessage=l=>{if(this._logger.log(f.Trace,`(WebSockets transport) data received. ${Ar(l.data,this._logMessageContent)}.`),this.onreceive)try{this.onreceive(l.data)}catch(h){this._close(h);return}},s.onclose=l=>{if(c)this._close(l);else{let h=null;typeof ErrorEvent<"u"&&l instanceof ErrorEvent?h=l.error:h="WebSocket failed to connect. The connection could not be found on the server, either the endpoint may not be a SignalR endpoint, the connection ID is not present on the server, or there is a proxy blocking WebSockets. If you have multiple servers check that sticky sessions are enabled.",i(new Error(h))}}})}send(t){return this._webSocket&&this._webSocket.readyState===this._webSocketConstructor.OPEN?(this._logger.log(f.Trace,`(WebSockets transport) sending data. ${Ar(t,this._logMessageContent)}.`),this._webSocket.send(t),Promise.resolve()):Promise.reject("WebSocket is not in the OPEN state")}stop(){return this._webSocket&&this._close(void 0),Promise.resolve()}_close(t){this._webSocket&&(this._webSocket.onclose=()=>{},this._webSocket.onmessage=()=>{},this._webSocket.onerror=()=>{},this._webSocket.close(),this._webSocket=void 0),this._logger.log(f.Trace,"(WebSockets transport) socket closed."),this.onclose&&(this._isCloseEvent(t)&&(t.wasClean===!1||t.code!==1e3)?this.onclose(new Error(`WebSocket closed with status code: ${t.code} (${t.reason||"no reason given"}).`)):t instanceof Error?this.onclose(t):this.onclose())}_isCloseEvent(t){return t&&typeof t.wasClean=="boolean"&&typeof t.code=="number"}};var Vg=100,Ia=class{constructor(t,r={}){if(this._stopPromiseResolver=()=>{},this.features={},this._negotiateVersion=1,$.isRequired(t,"url"),this._logger=Fg(r.logger),this.baseUrl=this._resolveUrl(t),r=r||{},r.logMessageContent=r.logMessageContent===void 0?!1:r.logMessageContent,typeof r.withCredentials=="boolean"||r.withCredentials===void 0)r.withCredentials=r.withCredentials===void 0?!0:r.withCredentials;else throw new Error("withCredentials option was not a 'boolean' or 'undefined' value");r.timeout=r.timeout===void 0?100*1e3:r.timeout;let n=null,o=null;if(q.isNode&&typeof pn<"u"){let i=typeof __webpack_require__=="function"?__non_webpack_require__:pn;n=i("ws"),o=i("eventsource")}!q.isNode&&typeof WebSocket<"u"&&!r.WebSocket?r.WebSocket=WebSocket:q.isNode&&!r.WebSocket&&n&&(r.WebSocket=n),!q.isNode&&typeof EventSource<"u"&&!r.EventSource?r.EventSource=EventSource:q.isNode&&!r.EventSource&&typeof o<"u"&&(r.EventSource=o),this._httpClient=new Ca(r.httpClient||new va(this._logger),r.accessTokenFactory),this._connectionState="Disconnected",this._connectionStarted=!1,this._options=r,this.onreceive=null,this.onclose=null}async start(t){if(t=t||he.Binary,$.isIn(t,he,"transferFormat"),this._logger.log(f.Debug,`Starting connection with transfer format '${he[t]}'.`),this._connectionState!=="Disconnected")return Promise.reject(new Error("Cannot start an HttpConnection that is not in the 'Disconnected' state."));if(this._connectionState="Connecting",this._startInternalPromise=this._startInternal(t),await this._startInternalPromise,this._connectionState==="Disconnecting"){let r="Failed to start the HttpConnection before stop() was called.";return this._logger.log(f.Error,r),await this._stopPromise,Promise.reject(new xe(r))}else if(this._connectionState!=="Connected"){let r="HttpConnection.startInternal completed gracefully but didn't enter the connection into the connected state!";return this._logger.log(f.Error,r),Promise.reject(new xe(r))}this._connectionStarted=!0}send(t){return this._connectionState!=="Connected"?Promise.reject(new Error("Cannot send data if the connection is not in the 'Connected' State.")):(this._sendQueue||(this._sendQueue=new $h(this.transport)),this._sendQueue.send(t))}async stop(t){if(this._connectionState==="Disconnected")return this._logger.log(f.Debug,`Call to HttpConnection.stop(${t}) ignored because the connection is already in the disconnected state.`),Promise.resolve();if(this._connectionState==="Disconnecting")return this._logger.log(f.Debug,`Call to HttpConnection.stop(${t}) ignored because the connection is already in the disconnecting state.`),this._stopPromise;this._connectionState="Disconnecting",this._stopPromise=new Promise(r=>{this._stopPromiseResolver=r}),await this._stopInternal(t),await this._stopPromise}async _stopInternal(t){this._stopError=t;try{await this._startInternalPromise}catch{}if(this.transport){try{await this.transport.stop()}catch(r){this._logger.log(f.Error,`HttpConnection.transport.stop() threw error '${r}'.`),this._stopConnection()}this.transport=void 0}else this._logger.log(f.Debug,"HttpConnection.transport is undefined in HttpConnection.stop() because start() failed.")}async _startInternal(t){let r=this.baseUrl;this._accessTokenFactory=this._options.accessTokenFactory,this._httpClient._accessTokenFactory=this._accessTokenFactory;try{if(this._options.skipNegotiation)if(this._options.transport===ie.WebSockets)this.transport=this._constructTransport(ie.WebSockets),await this._startTransport(r,t);else throw new Error("Negotiation can only be skipped when using the WebSocket transport directly.");else{let n=null,o=0;do{if(n=await this._getNegotiationResponse(r),this._connectionState==="Disconnecting"||this._connectionState==="Disconnected")throw new xe("The connection was stopped during negotiation.");if(n.error)throw new Error(n.error);if(n.ProtocolVersion)throw new Error("Detected a connection attempt to an ASP.NET SignalR Server. This client only supports connecting to an ASP.NET Core SignalR Server. See https://aka.ms/signalr-core-differences for details.");if(n.url&&(r=n.url),n.accessToken){let i=n.accessToken;this._accessTokenFactory=()=>i,this._httpClient._accessToken=i,this._httpClient._accessTokenFactory=void 0}o++}while(n.url&&o<Vg);if(o===Vg&&n.url)throw new Error("Negotiate redirection limit exceeded.");await this._createTransport(r,this._options.transport,n,t)}this.transport instanceof oi&&(this.features.inherentKeepAlive=!0),this._connectionState==="Connecting"&&(this._logger.log(f.Debug,"The HttpConnection connected successfully."),this._connectionState="Connected")}catch(n){return this._logger.log(f.Error,"Failed to start the connection: "+n),this._connectionState="Disconnected",this.transport=void 0,this._stopPromiseResolver(),Promise.reject(n)}}async _getNegotiationResponse(t){let r={},[n,o]=Gt();r[n]=o;let i=this._resolveNegotiateUrl(t);this._logger.log(f.Debug,`Sending negotiation request: ${i}.`);try{let s=await this._httpClient.post(i,{content:"",headers:{...r,...this._options.headers},timeout:this._options.timeout,withCredentials:this._options.withCredentials});if(s.statusCode!==200)return Promise.reject(new Error(`Unexpected status code returned from negotiate '${s.statusCode}'`));let a=JSON.parse(s.content);return(!a.negotiateVersion||a.negotiateVersion<1)&&(a.connectionToken=a.connectionId),a.useStatefulReconnect&&this._options._useStatefulReconnect!==!0?Promise.reject(new ri("Client didn't negotiate Stateful Reconnect but the server did.")):a}catch(s){let a="Failed to complete negotiation with the server: "+s;return s instanceof nt&&s.statusCode===404&&(a=a+" Either this is not a SignalR endpoint or there is a proxy blocking the connection."),this._logger.log(f.Error,a),Promise.reject(new ri(a))}}_createConnectUrl(t,r){return r?t+(t.indexOf("?")===-1?"?":"&")+`id=${r}`:t}async _createTransport(t,r,n,o){let i=this._createConnectUrl(t,n.connectionToken);if(this._isITransport(r)){this._logger.log(f.Debug,"Connection was provided an instance of ITransport, using that directly."),this.transport=r,await this._startTransport(i,o),this.connectionId=n.connectionId;return}let s=[],a=n.availableTransports||[],c=n;for(let l of a){let h=this._resolveTransportOrError(l,r,o,c?.useStatefulReconnect===!0);if(h instanceof Error)s.push(`${l.transport} failed:`),s.push(h);else if(this._isITransport(h)){if(this.transport=h,!c){try{c=await this._getNegotiationResponse(t)}catch(u){return Promise.reject(u)}i=this._createConnectUrl(t,c.connectionToken)}try{await this._startTransport(i,o),this.connectionId=c.connectionId;return}catch(u){if(this._logger.log(f.Error,`Failed to start the transport '${l.transport}': ${u}`),c=void 0,s.push(new pa(`${l.transport} failed: ${u}`,ie[l.transport])),this._connectionState!=="Connecting"){let p="Failed to select transport before stop() was called.";return this._logger.log(f.Debug,p),Promise.reject(new xe(p))}}}}return s.length>0?Promise.reject(new fa(`Unable to connect to the server with any of the available transports. ${s.join(" ")}`,s)):Promise.reject(new Error("None of the transports supported by the client are supported by the server."))}_constructTransport(t){switch(t){case ie.WebSockets:if(!this._options.WebSocket)throw new Error("'WebSocket' is not supported in your environment.");return new Ta(this._httpClient,this._accessTokenFactory,this._logger,this._options.logMessageContent,this._options.WebSocket,this._options.headers||{});case ie.ServerSentEvents:if(!this._options.EventSource)throw new Error("'EventSource' is not supported in your environment.");return new xa(this._httpClient,this._httpClient._accessToken,this._logger,this._options);case ie.LongPolling:return new oi(this._httpClient,this._logger,this._options);default:throw new Error(`Unknown transport: ${t}.`)}}_startTransport(t,r){return this.transport.onreceive=this.onreceive,this.features.reconnect?this.transport.onclose=async n=>{let o=!1;if(this.features.reconnect)try{this.features.disconnected(),await this.transport.connect(t,r),await this.features.resend()}catch{o=!0}else{this._stopConnection(n);return}o&&this._stopConnection(n)}:this.transport.onclose=n=>this._stopConnection(n),this.transport.connect(t,r)}_resolveTransportOrError(t,r,n,o){let i=ie[t.transport];if(i==null)return this._logger.log(f.Debug,`Skipping transport '${t.transport}' because it is not supported by this client.`),new Error(`Skipping transport '${t.transport}' because it is not supported by this client.`);if(y4(r,i))if(t.transferFormats.map(a=>he[a]).indexOf(n)>=0){if(i===ie.WebSockets&&!this._options.WebSocket||i===ie.ServerSentEvents&&!this._options.EventSource)return this._logger.log(f.Debug,`Skipping transport '${ie[i]}' because it is not supported in your environment.'`),new ua(`'${ie[i]}' is not supported in your environment.`,i);this._logger.log(f.Debug,`Selecting transport '${ie[i]}'.`);try{return this.features.reconnect=i===ie.WebSockets?o:void 0,this._constructTransport(i)}catch(a){return a}}else return this._logger.log(f.Debug,`Skipping transport '${ie[i]}' because it does not support the requested transfer format '${he[n]}'.`),new Error(`'${ie[i]}' does not support ${he[n]}.`);else return this._logger.log(f.Debug,`Skipping transport '${ie[i]}' because it was disabled by the client.`),new da(`'${ie[i]}' is disabled by the client.`,i)}_isITransport(t){return t&&typeof t=="object"&&"connect"in t}_stopConnection(t){if(this._logger.log(f.Debug,`HttpConnection.stopConnection(${t}) called while in state ${this._connectionState}.`),this.transport=void 0,t=this._stopError||t,this._stopError=void 0,this._connectionState==="Disconnected"){this._logger.log(f.Debug,`Call to HttpConnection.stopConnection(${t}) was ignored because the connection is already in the disconnected state.`);return}if(this._connectionState==="Connecting")throw this._logger.log(f.Warning,`Call to HttpConnection.stopConnection(${t}) was ignored because the connection is still in the connecting state.`),new Error(`HttpConnection.stopConnection(${t}) was called while the connection is still in the connecting state.`);if(this._connectionState==="Disconnecting"&&this._stopPromiseResolver(),t?this._logger.log(f.Error,`Connection disconnected with error '${t}'.`):this._logger.log(f.Information,"Connection disconnected."),this._sendQueue&&(this._sendQueue.stop().catch(r=>{this._logger.log(f.Error,`TransportSendQueue.stop() threw error '${r}'.`)}),this._sendQueue=void 0),this.connectionId=void 0,this._connectionState="Disconnected",this._connectionStarted){this._connectionStarted=!1;try{this.onclose&&this.onclose(t)}catch(r){this._logger.log(f.Error,`HttpConnection.onclose(${t}) threw error '${r}'.`)}}}_resolveUrl(t){if(t.lastIndexOf("https://",0)===0||t.lastIndexOf("http://",0)===0)return t;if(!q.isBrowser)throw new Error(`Cannot resolve '${t}'.`);let r=window.document.createElement("a");return r.href=t,this._logger.log(f.Information,`Normalizing '${t}' to '${r.href}'.`),r.href}_resolveNegotiateUrl(t){let r=new URL(t);r.pathname.endsWith("/")?r.pathname+="negotiate":r.pathname+="/negotiate";let n=new URLSearchParams(r.searchParams);return n.has("negotiateVersion")||n.append("negotiateVersion",this._negotiateVersion.toString()),n.has("useStatefulReconnect")?n.get("useStatefulReconnect")==="true"&&(this._options._useStatefulReconnect=!0):this._options._useStatefulReconnect===!0&&n.append("useStatefulReconnect","true"),r.search=n.toString(),r.toString()}};function y4(e,t){return!e||(t&e)!==0}var $h=class e{constructor(t){this._transport=t,this._buffer=[],this._executing=!0,this._sendBufferedData=new Qn,this._transportResult=new Qn,this._sendLoopPromise=this._sendLoop()}send(t){return this._bufferData(t),this._transportResult||(this._transportResult=new Qn),this._transportResult.promise}stop(){return this._executing=!1,this._sendBufferedData.resolve(),this._sendLoopPromise}_bufferData(t){if(this._buffer.length&&typeof this._buffer[0]!=typeof t)throw new Error(`Expected data to be of type ${typeof this._buffer} but was of type ${typeof t}`);this._buffer.push(t),this._sendBufferedData.resolve()}async _sendLoop(){for(;;){if(await this._sendBufferedData.promise,!this._executing){this._transportResult&&this._transportResult.reject("Connection stopped.");break}this._sendBufferedData=new Qn;let t=this._transportResult;this._transportResult=void 0;let r=typeof this._buffer[0]=="string"?this._buffer.join(""):e._concatBuffers(this._buffer);this._buffer.length=0;try{await this._transport.send(r),t.resolve()}catch(n){t.reject(n)}}}static _concatBuffers(t){let r=t.map(i=>i.byteLength).reduce((i,s)=>i+s),n=new Uint8Array(r),o=0;for(let i of t)n.set(new Uint8Array(i),o),o+=i.byteLength;return n.buffer}},Qn=class{constructor(){this.promise=new Promise((t,r)=>[this._resolver,this._rejecter]=[t,r])}resolve(){this._resolver()}reject(t){this._rejecter(t)}};var b4="json",Pa=class{constructor(){this.name=b4,this.version=2,this.transferFormat=he.Text}parseMessages(t,r){if(typeof t!="string")throw new Error("Invalid input for JSON hub protocol. Expected a string.");if(!t)return[];r===null&&(r=qt.instance);let n=ot.parse(t),o=[];for(let i of n){let s=JSON.parse(i);if(typeof s.type!="number")throw new Error("Invalid payload.");switch(s.type){case D.Invocation:this._isInvocationMessage(s);break;case D.StreamItem:this._isStreamItemMessage(s);break;case D.Completion:this._isCompletionMessage(s);break;case D.Ping:break;case D.Close:break;case D.Ack:this._isAckMessage(s);break;case D.Sequence:this._isSequenceMessage(s);break;default:r.log(f.Information,"Unknown message type '"+s.type+"' ignored.");continue}o.push(s)}return o}writeMessage(t){return ot.write(JSON.stringify(t))}_isInvocationMessage(t){this._assertNotEmptyString(t.target,"Invalid payload for Invocation message."),t.invocationId!==void 0&&this._assertNotEmptyString(t.invocationId,"Invalid payload for Invocation message.")}_isStreamItemMessage(t){if(this._assertNotEmptyString(t.invocationId,"Invalid payload for StreamItem message."),t.item===void 0)throw new Error("Invalid payload for StreamItem message.")}_isCompletionMessage(t){if(t.result&&t.error)throw new Error("Invalid payload for Completion message.");!t.result&&t.error&&this._assertNotEmptyString(t.error,"Invalid payload for Completion message."),this._assertNotEmptyString(t.invocationId,"Invalid payload for Completion message.")}_isAckMessage(t){if(typeof t.sequenceId!="number")throw new Error("Invalid SequenceId for Ack message.")}_isSequenceMessage(t){if(typeof t.sequenceId!="number")throw new Error("Invalid SequenceId for Sequence message.")}_assertNotEmptyString(t,r){if(typeof t!="string"||t==="")throw new Error(r)}};var w4={trace:f.Trace,debug:f.Debug,info:f.Information,information:f.Information,warn:f.Warning,warning:f.Warning,error:f.Error,critical:f.Critical,none:f.None};function v4(e){let t=w4[e.toLowerCase()];if(typeof t<"u")return t;throw new Error(`Unknown log level: ${e}`)}var ii=class{configureLogging(t){if($.isRequired(t,"logging"),_4(t))this.logger=t;else if(typeof t=="string"){let r=v4(t);this.logger=new Xr(r)}else this.logger=new Xr(t);return this}withUrl(t,r){return $.isRequired(t,"url"),$.isNotEmpty(t,"url"),this.url=t,typeof r=="object"?this.httpConnectionOptions={...this.httpConnectionOptions,...r}:this.httpConnectionOptions={...this.httpConnectionOptions,transport:r},this}withHubProtocol(t){return $.isRequired(t,"protocol"),this.protocol=t,this}withAutomaticReconnect(t){if(this.reconnectPolicy)throw new Error("A reconnectPolicy has already been set.");return t?Array.isArray(t)?this.reconnectPolicy=new ni(t):this.reconnectPolicy=t:this.reconnectPolicy=new ni,this}withServerTimeout(t){return $.isRequired(t,"milliseconds"),this._serverTimeoutInMilliseconds=t,this}withKeepAliveInterval(t){return $.isRequired(t,"milliseconds"),this._keepAliveIntervalInMilliseconds=t,this}withStatefulReconnect(t){return this.httpConnectionOptions===void 0&&(this.httpConnectionOptions={}),this.httpConnectionOptions._useStatefulReconnect=!0,this._statefulReconnectBufferSize=t?.bufferSize,this}build(){let t=this.httpConnectionOptions||{};if(t.logger===void 0&&(t.logger=this.logger),!this.url)throw new Error("The 'HubConnectionBuilder.withUrl' method must be called before building the connection.");let r=new Ia(this.url,t);return ka.create(r,this.logger||qt.instance,this.protocol||new Pa,this.reconnectPolicy,this._serverTimeoutInMilliseconds,this._keepAliveIntervalInMilliseconds,this._statefulReconnectBufferSize)}};function _4(e){return e.log!==void 0}var H1=Od(V1());var Ha=class{},z1=(i=>(i[i.STARTED=0]="STARTED",i[i.QR_CODE=1]="QR_CODE",i[i.POSITION=2]="POSITION",i[i.FINISHED=3]="FINISHED",i[i.ERROR=9]="ERROR",i))(z1||{}),oo=class e{constructor(t,r){this.countdownInterval=null;this.proctoringId="";this.capturePhotoUrl="";this.externalSessionId=null;this.currentStep=0;this.connection=null;this.context=t,this.onRealtimeAlertsCallback=r,console.log("context -> ",t),this.backend=new ft({type:t?.type||"prod",token:t.token})}static{this.isModalOpen=!1}async setProctoringId(t){this.proctoringId=t}getExternalCameraSessionId(){return""+this.externalSessionId}async checkExternalCamera(){if(this.proctoringId==""&&this.setProctoringId("060ae284-a91d-43a0-ad48-e8dbb356cc58"),this.currentStep=0,e.isModalOpen)return Promise.reject("O modal de verifica\xE7\xE3o j\xE1 est\xE1 aberto.");e.isModalOpen=!0;try{let t=await this.backend.externalCameraStart(this.proctoringId);return this.externalSessionId=t.externalSessionId,console.log(this.externalSessionId),this.initializeWebSocketConnection(),await this.backend.externalCameraRegister({externalCameraSessionId:this.externalSessionId,url:"",externalCameraStatusEnum:0}),await this.buildInterface()}catch(t){return console.error("Erro ao iniciar verifica\xE7\xE3o:",t),this.closeCheckExternalCamera(),Promise.reject(t)}}buildInterface(){return new Promise((t,r)=>{this.resolvePromise=t;let n=document.createElement("div");n.setAttribute("id","externalCameraCheck"),this.applyStyles(n,{backgroundColor:"rgba(0,0,0,0.4)",zIndex:"1000",position:"fixed",top:"0",left:"0",height:"100vh",width:"100%",display:"flex",alignItems:"center",justifyContent:"center"});let o=document.createElement("div");this.applyStyles(o,{backgroundColor:"#fff",zIndex:"1001",width:"500px",borderRadius:"10px",display:"flex",flexDirection:"column",alignItems:"center"});let i=document.createElement("h3");i.innerText="Configura\xE7\xE3o de ambiente externo",this.applyStyles(i,{color:"rgba(0, 0, 0, .7)",fontWeight:"bold",fontSize:"20px",marginBottom:"15px",padding:"20px 0px",borderBottom:"2px solid rgba(0, 0, 0, .1)",width:"100%",textAlign:"center"});let s=document.createElement("div");s.id="external-camera-content",this.applyStyles(s,{width:"100%",padding:"20px 40px",boxSizing:"border-box",minHeight:"300px",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center"});let a=document.createElement("div");this.applyStyles(a,{width:"100%",display:"flex",alignItems:"center",justifyContent:"center",borderTop:"2px solid rgba(0, 0, 0, .1)"});let c=document.createElement("button");c.innerText="Cancelar",this.applyStyles(c,{width:"100%",height:"70px",backgroundColor:"#FFF",border:"none",color:"rgba(0, 0, 0, .7)",fontWeight:"bold",borderRadius:"0 0 0 10px",cursor:"pointer"}),c.addEventListener("click",()=>{let h=new Ha;h.command="Cancel",console.log("Enviando comando 'Cancel' para o aplicativo..."),this.connection?.invoke("SendAction",this.externalSessionId,h),this.closeCheckExternalCamera(),t({result:!1})});let l=document.createElement("button");l.innerText="Continuar",l.id="external-camera-continue",this.applyStyles(l,{width:"100%",height:"70px",backgroundColor:"#FFF",border:"none",color:"rgba(0, 0, 0, .7)",fontWeight:"bold",borderRadius:"0 0 10px 0",cursor:"pointer",borderLeft:"2px solid rgba(0, 0, 0, .1)"}),a.appendChild(c),a.appendChild(l),o.appendChild(i),o.appendChild(s),o.appendChild(a),n.appendChild(o),document.body.appendChild(n),this.renderCurrentStep()})}renderCurrentStep(){let t=document.getElementById("external-camera-content");if(t)switch(t.innerHTML="",this.currentStep){case 0:this.renderQRCodeStep(t);break;case 1:this.renderPhotoStep(t);break;case 2:this.renderImageStep(t);break;default:break}}renderQRCodeStep(t){let r=document.createElement("canvas");r.id="qr-code-canvas";let n=document.createElement("p");n.innerText="Aponte a c\xE2mera do seu celular para o QR Code para iniciar a verifica\xE7\xE3o do ambiente.",this.applyStyles(n,{textAlign:"center",color:"#555",marginTop:"20px"}),t.appendChild(r),t.appendChild(n);let o={externalSessionId:this.externalSessionId,token:this.context.token,proctoringId:this.proctoringId,ambient:this.context.type},i=JSON.stringify(o);H1.default.toCanvas(r,i,{width:250},a=>{a&&console.error("Erro ao gerar QR Code:",a)});let s=document.getElementById("external-camera-continue");s.disabled=!0,this.applyStyles(s,{color:"#ccc",cursor:"not-allowed"})}render360Step(t){let r=document.createElement("canvas");r.id="icon-canvas";let n=document.createElement("render-message");n.innerText="Aguardando a captura do video 360\xBA no aplicativo",this.applyStyles(n,{textAlign:"center",color:"#555",marginTop:"20px"}),t.appendChild(r),t.appendChild(n),r.width=200,r.height=200;let o=new Image;o.src="https://easyproctor-public.s3.us-east-2.amazonaws.com/images/360_icon.png",o.onload=()=>{let s=r.getContext("2d");s&&(s.clearRect(0,0,r.width,r.height),s.drawImage(o,0,0,r.width,r.height))};let i=document.getElementById("external-camera-continue");i.disabled=!0,this.applyStyles(i,{color:"#ccc",cursor:"not-allowed"})}renderPhotoStep(t){let r=document.createElement("img");r.id="img-photo",r.src="https://easyproctor-public.s3.us-east-2.amazonaws.com/images/photo_icon.png",this.applyStyles(r,{maxWidth:"100%",maxHeight:"300px",borderRadius:"8px"}),t.appendChild(r);let n=document.createElement("photo-message");n.id="photo-message",n.innerText="Clique no bot\xE3o abaixo para realizar a captura da foto do ambiente.",this.applyStyles(n,{textAlign:"center",color:"#555",marginTop:"20px"}),t.appendChild(n);let o=document.createElement("button");o.innerText="Capturar foto",o.id="position-capture-button",this.applyStyles(o,{marginTop:"30px",padding:"12px 20px",fontSize:"16px",fontWeight:"bold",color:"white",backgroundColor:"#16A34A",border:"none",borderRadius:"8px",cursor:"pointer",transition:"background-color 0.2s"}),o.onclick=()=>{if(this.connection){let s=new Ha;s.command="Capture",console.log("Enviando comando 'Capture' para o aplicativo...");let a=document.getElementById("photo-message");a&&(a.innerText="N\xE3o saia da posi\xE7\xE3o atual, estamos validando o ambiente..."),this.connection.invoke("SendAction",this.externalSessionId,s),o.disabled=!0,this.applyStyles(o,{backgroundColor:"#9CA3AF",cursor:"not-allowed"})}},t.appendChild(o);let i=document.getElementById("external-camera-continue");i.disabled=!0,this.applyStyles(i,{color:"#ccc",cursor:"not-allowed"})}startCountdown(){let t=document.getElementById("external-camera-continue");if(!t||this.countdownInterval)return;let r=5;t.disabled=!1,this.applyStyles(t,{backgroundColor:"#16A34A",color:"white"}),t.innerText=`Continuando em ${r}...`,this.countdownInterval=window.setInterval(()=>{r--,t.innerText=`Continuando em ${r}...`,r<=0&&(clearInterval(this.countdownInterval),this.countdownInterval=null,this.closeCheckExternalCamera(),this.resolvePromise({result:!0}))},1e3)}renderImageStep(t){t.innerHTML="";let r=document.createElement("img");r.src="data:image/jpeg;base64,"+this.capturePhotoUrl,this.applyStyles(r,{maxWidth:"100%",maxHeight:"300px",borderRadius:"8px"}),t.appendChild(r);let n=document.getElementById("external-camera-continue");n.innerText="Concluir",n.disabled=!1,this.applyStyles(n,{color:"rgba(0, 0, 0, .7)",cursor:"pointer"}),this.startCountdown()}nextState(){this.renderCurrentStep()}async initializeWebSocketConnection(){let t=this.backend.getSocketUrl();this.connection=new ii().withUrl(t,{accessTokenFactory:()=>this.context.token,transport:ie.WebSockets,withCredentials:!1}).withAutomaticReconnect().configureLogging(f.Information).build(),this.connection.on("ReceiveMessage",(r,n)=>{if(console.log("sessionId: ",r),console.log("Message: ",n),r!==this.externalSessionId){console.warn("Sess\xE3o diferente!");return}try{let i=z1[n];console.log("Mensagem -> ",i),this.handleWebSocketMessage(i)}catch(o){console.error("Erro ao processar mensagem do WebSocket:",o)}}),this.connection.on("ReceiveAction",(r,n)=>{if(console.log("sessionId: ",r),console.log("Message: ",n),r!==this.externalSessionId){console.warn("Sess\xE3o diferente!");return}try{this.handleWebSocketAction(n)}catch(o){console.error("Erro ao processar mensagem do WebSocket:",o)}});try{await this.connection.start(),console.log("Conectado ao Hub SignalR com sucesso!")}catch(r){throw console.error("Falha ao conectar ou entrar no grupo do SignalR: ",r),new Error("N\xE3o foi poss\xEDvel conectar ao servi\xE7o em tempo real.")}}handleWebSocketAction(t){let r=document.getElementById("position-capture-button"),n=document.getElementById("photo-message");switch(t.command){case"Capture_Error":r&&(this.applyStyles(r,{marginTop:"30px",padding:"12px 20px",fontSize:"16px",fontWeight:"bold",color:"white",backgroundColor:"#16A34A",border:"none",borderRadius:"8px",cursor:"pointer",transition:"background-color 0.2s"}),r.disabled=!1),n&&(n.innerText=t.message+`
238
- Clique no bot\xE3o novamente para uma nova captura.`);break;case"CapturePhoto":this.capturePhotoUrl=""+t.message;let o=document.getElementById("img-photo");o.src="data:image/jpeg;base64,"+this.capturePhotoUrl;break;case"Cancel":this.closeCheckExternalCamera();break;case"EnvironmentAlert":this.onRealtimeAlertsCallback({status:"ALERT",description:t.message,type:"environment_alert"});break}}handleWebSocketMessage(t){switch(this.currentStep=t,t){case 1:this.currentStep===1&&this.nextState();break;case 2:this.nextState();break;case 3:this.closeCheckExternalCamera();break;case 9:console.error("Erro recebido do processo de c\xE2mera externa."),this.closeCheckExternalCamera(),this.resolvePromise({result:!1});break}}async disconnectWebSocket(){if(this.connection)try{await this.connection.stop(),console.log("Desconectado do SignalR.")}catch(t){console.error("Erro ao desconectar do SignalR:",t)}finally{this.connection=null}}closeCheckExternalCamera(){this.countdownInterval&&(clearInterval(this.countdownInterval),this.countdownInterval=null),e.isModalOpen=!1,this.disconnectWebSocket(),document.querySelector("#externalCameraCheck")?.remove()}applyStyles(t,r){for(let n in r)t.style[n]=r[n]}};var za=class{constructor(){this.hasExtension=!1;this.tryes=0;this.responseStart=!1}start(){let t;return new Promise((r,n)=>{window.postMessage({type:"easyproctor",func:"startExtensionEasyproctor"},"*"),t=setInterval(()=>{this.tryes>10&&(clearInterval(t),n(new Error("N\xE3o foi poss\xEDvel se conectar com a extens\xE3o"))),this.responseStart&&(clearInterval(t),r(this.responseStart)),this.tryes++},1e3)})}sendVerifyMsg(t,r){window.postMessage({type:"easyproctor",func:"verifyExtensionEasyproctor",url:t,token:r},"*")}verify(t){return t.source==window&&t.data.sender&&t.data.sender==="easyproctor-extension"&&t.data.message_name&&t.data.message_name==="progress"&&this.options.onProgress&&this.options.onProgress(100),t.source==window&&t.data.sender&&t.data.sender==="easyproctor-extension"&&t.data.message_name&&t.data.message_name==="start"&&(this.responseStart=!0),new Promise((r,n)=>{t.source==window&&t.data.sender&&t.data.sender==="easyproctor-extension"&&t.data.message_name&&t.data.message_name==="version"&&(this.hasExtension=!0,r(this.hasExtension))})}addEventListener(){window.addEventListener("message",t=>this.verify(t))}};var $a=class{constructor(t,r){this.repositoryDevices=t,this.proctoringId=r}startRecording(t){navigator.mediaDevices.ondevicechange=()=>{this.onChangeDevices(t)}}async onChangeDevices(t){let r=await St(),n=(u,p)=>u.label===p.label&&u.id===p.id,o=(u,p,g)=>u.filter(m=>!p.some(y=>g(m,y))),i=await this.repositoryDevices.getDevices("devices"),s={label:"",id:""},a={cameras:i?.cameras||[s],microphones:i?.microphones||[s]},c,l;r.cameras.length!=a?.cameras.length&&(c=r.cameras.length>a?.cameras.length?o(r.cameras,a?.cameras,n):o(a?.cameras,r.cameras,n),c=c.filter(u=>u.id!="default")),r.microphones.length!=a?.microphones.length&&(l=r.microphones.length>a?.microphones.length?o(r.microphones,a?.microphones,n):o(a?.microphones,r.microphones,n),l=l.filter(u=>u.id!="default"&&u.id!="communications"));let h={cameras:c||[],microphones:l||[],status:r.cameras.length>a?.cameras.length||r.microphones.length>a?.microphones.length?"in":"out"};await this.repositoryDevices.save({...r,id:"devices",status:r.cameras.length>a?.cameras.length||r.microphones.length>a?.microphones.length?"in":"out"}),t.status&&(h.cameras.length!=0||h.microphones.length!=0)&&(N.registerChangeDevice(this.proctoringId,h.status,JSON.stringify(h,null,2)),t.status(h))}};var W1=Od($1()),io=class{constructor(t){this.loadingBoolean=!0;this.proctoringId=t}async upload(t,r){let{file:n,onProgress:o}=t;try{N.registerDownloadFile(this.proctoringId,`File to download
239
- File name: ${n.name}
240
- File type: ${n.type}
241
- File size: ${n.size}}`),(0,W1.saveAs)(n),this.loadingBoolean=!1,clearInterval(this.loadingInterval),o&&o(Math.round(100))}catch{throw n&&this.proctoringId&&N.registerError(this.proctoringId,`Failed on machine download
242
- File name: ${n.name}
243
- File type: ${n.type}
244
- File size: ${n.size}`),new Error("Error on machine download")}}};var Wa=class{constructor(t,r){this.session=t;this.recorders=r}async startAll(){this.session.start();for(let t of this.recorders)await t.startRecording({retry:!1})}async pauseAll(){this.session.pause();for(let t of this.recorders)await t.pauseRecording()}async resumeAll(){this.session.resume();for(let t of this.recorders)await t.resumeRecording()}async stopAll(){for(let t of this.recorders)await t.stopRecording();this.session.stop()}async saveAllOnSession(){for(let t of this.recorders)await t.saveOnSession(this.session)}};var so=class{constructor(t,r,n){this.session=t;this.proctoringId=r;this.uploadServices=n}async upload(t,r){await this.uploadRecordings(t,r)}async uploadRecordings(t,r){await this.uploadAllFiles(t,r),this.session.hasSomethingToUpload||this.session.setUploaded()}async uploadAllFiles(t,r){for(let n=0;n<this.session.recordings.length;n++){let o=this.session.recordings[n];if(o.upload)continue;let i=a=>{let c=(n*100+a)/this.session.recordings.length;r&&r(c)},s=await this.uploadFile(o,t,i).catch(()=>{});s&&(o.upload||(o.upload={storage:"upload",awsUrl:"",azureUrl:""}),s.uploaded&&(o.upload.storage=s.storage),s.storage==="upload"?s.url&&(o.upload.azureUrl=s.url):s.url&&(o.upload.awsUrl=s.url))}r&&r(100)}async uploadFile(t,r,n){for await(let o of this.uploadServices){let i=await o.upload({file:t.file,onProgress:s=>{n&&n(s)}},r);if(i){let s="";return t.file.name.search("camera")!==-1?s="Camera":t.file.name.search("screen")!==-1?s="Screen":t.file.name.search("audio")!==-1&&(s="Audio"),N.registerUploadFile(this.proctoringId,`Upload File
230
+ `,r=document.createElement("style");r.innerHTML=t,document.head.appendChild(r)}};var ys=class{constructor(){this.hasExtension=!1;this.tryes=0;this.responseStart=!1}start(){let t;return new Promise((r,i)=>{window.postMessage({type:"easyproctor",func:"startExtensionEasyproctor"},"*"),t=setInterval(()=>{this.tryes>10&&(clearInterval(t),i(new Error("N\xE3o foi poss\xEDvel se conectar com a extens\xE3o"))),this.responseStart&&(clearInterval(t),r(this.responseStart)),this.tryes++},1e3)})}sendVerifyMsg(t,r){window.postMessage({type:"easyproctor",func:"verifyExtensionEasyproctor",url:t,token:r},"*")}verify(t){return t.source==window&&t.data.sender&&t.data.sender==="easyproctor-extension"&&t.data.message_name&&t.data.message_name==="progress"&&this.options.onProgress&&this.options.onProgress(100),t.source==window&&t.data.sender&&t.data.sender==="easyproctor-extension"&&t.data.message_name&&t.data.message_name==="start"&&(this.responseStart=!0),new Promise((r,i)=>{t.source==window&&t.data.sender&&t.data.sender==="easyproctor-extension"&&t.data.message_name&&t.data.message_name==="version"&&(this.hasExtension=!0,r(this.hasExtension))})}addEventListener(){window.addEventListener("message",t=>this.verify(t))}};var bs=class{constructor(t){this.hasExtension=!1;this.tryes=0;this.responseStart=!1;this.options=t||{}}checkExtensionInstalled(t=2e3){return new Promise((r,i)=>{let n=!1,o=s=>{s.source===window&&s.data.sender==="easyproctor-extension"&&s.data.message_name==="version"&&(n=!0,window.removeEventListener("message",o),r(s.data.message))};window.addEventListener("message",o),window.postMessage({type:"easycatcher",func:"verifyExtensionEasycatcher"},"*"),setTimeout(()=>{n||(window.removeEventListener("message",o),i(new Error("Extens\xE3o n\xE3o detectada ou n\xE3o respondeu.")))},t)})}getSessionData(t=5e3){return new Promise((r,i)=>{let n=!1,o=s=>{s.source===window&&s.data.sender==="easyproctor-extension"&&s.data.message_name==="data_response"&&(n=!0,window.removeEventListener("message",o),r(s.data.payload))};window.addEventListener("message",o),window.postMessage({type:"easycatcher",func:"getDataExtensionEasycatcher"},"*"),setTimeout(()=>{n||(window.removeEventListener("message",o),i(new Error("Timeout ao aguardar dados da extens\xE3o.")))},t)})}start(){return new Promise((t,r)=>{let i=!1,n=o=>{o.source===window&&o.data.sender==="easyproctor-extension"&&o.data.message_name==="started_confirmed"&&(i=!0,window.removeEventListener("message",n),t(!0))};window.addEventListener("message",n),window.postMessage({type:"easycatcher",func:"startExtensionEasycatcher"},"*"),setTimeout(()=>{i||(window.removeEventListener("message",n),r(new Error("Timeout: Extens\xE3o n\xE3o confirmou o in\xEDcio.")))},3e3)})}};var vs=class{constructor(t,r,i,n){this.repositoryDevices=t,this.proctoringId=r,this.sessionOptions=i,this.allRecorders=n}startRecording(t){navigator.mediaDevices.ondevicechange=()=>{this.onChangeDevices(t)}}async onChangeDevices(t){let r=await st(),i=(y,p)=>y.label===p.label&&y.id===p.id,n=(y,p,f)=>y.filter(g=>!p.some(b=>f(g,b))),o=await this.repositoryDevices.getDevices("devices"),s={label:"",id:""},a={cameras:o?.cameras||[s],microphones:o?.microphones||[s]},c=r.cameras.length>a?.cameras.length||r.microphones.length>a?.microphones.length?"in":"out",l=[],d=[],u=!1;if(r.cameras.length!=a?.cameras.length){let y=c==="out"?n(a?.cameras,r.cameras,i):[],p=c==="in"?n(r.cameras,a?.cameras,i):[];l=c==="out"?y:p,l=l.filter(f=>f.id!="default"),console.log(y),console.log(this.sessionOptions.cameraId),c==="out"&&(u=y.some(f=>f.id===this.sessionOptions.cameraId))}if(r.microphones.length!=a?.microphones.length){let y=c==="out"?n(a?.microphones,r.microphones,i):[],p=c==="in"?n(r.microphones,a?.microphones,i):[];d=c==="out"?y:p,d=d.filter(f=>f.id!="default"&&f.id!="communications"),c==="out"&&!u&&(u=y.some(f=>f.id===this.sessionOptions.microphoneId))}let m={cameras:l||[],microphones:d||[],status:c,isActiveDevice:u};await this.repositoryDevices.save({...r,id:"devices",status:c}),t.status&&(m.cameras.length!=0||m.microphones.length!=0)&&(D.registerChangeDevice(this.proctoringId,m.status,JSON.stringify(m,null,2)),this.allRecorders.alertRecorder.addAlert({alert:34,type:3}),t.status(m))}};var Mm=p1(Um()),Si=class{constructor(t){this.loadingBoolean=!0;this.proctoringId=t}async upload(t,r){let{file:i,onProgress:n}=t;try{D.registerDownloadFile(this.proctoringId,`File to download
231
+ File name: ${i.name}
232
+ File type: ${i.type}
233
+ File size: ${i.size}}`),(0,Mm.saveAs)(i),this.loadingBoolean=!1,clearInterval(this.loadingInterval),n&&n(Math.round(100))}catch{throw i&&this.proctoringId&&D.registerError(this.proctoringId,`Failed on machine download
234
+ File name: ${i.name}
235
+ File type: ${i.type}
236
+ File size: ${i.size}`),new Error("Error on machine download")}}};var ws=class{constructor(t,r){this.session=t;this.recorders=r}async startAll(){this.session.start();for(let t of this.recorders)await t.startRecording({retry:!1})}async pauseAll(){this.session.pause();for(let t of this.recorders)await t.pauseRecording()}async resumeAll(){this.session.resume();for(let t of this.recorders)await t.resumeRecording()}async stopAll(){for(let t of this.recorders)await t.stopRecording();this.session.stop()}async saveAllOnSession(){for(let t of this.recorders)await t.saveOnSession(this.session)}};var ki=class{constructor(t,r,i){this.session=t;this.proctoringId=r;this.uploadServices=i}async upload(t,r){await this.uploadRecordings(t,r)}async uploadRecordings(t,r){await this.uploadAllFiles(t,r),this.session.hasSomethingToUpload||this.session.setUploaded()}async uploadAllFiles(t,r){for(let i=0;i<this.session.recordings.length;i++){let n=this.session.recordings[i];if(n.upload)continue;let o=a=>{let c=(i*100+a)/this.session.recordings.length;r&&r(c)},s=await this.uploadFile(n,t,o).catch(()=>{});s&&(n.upload||(n.upload={storage:"upload",awsUrl:"",azureUrl:""}),s.uploaded&&(n.upload.storage=s.storage),s.storage==="upload"?s.url&&(n.upload.azureUrl=s.url):s.url&&(n.upload.awsUrl=s.url))}r&&r(100)}async uploadFile(t,r,i){for await(let n of this.uploadServices){let o=await n.upload({file:t.file,onProgress:s=>{i&&i(s)}},r);if(o){let s="";return t.file.name.search("camera")!==-1?s="Camera":t.file.name.search("screen")!==-1?s="Screen":t.file.name.search("audio")!==-1&&(s="Audio"),D.registerUploadFile(this.proctoringId,`Upload File
245
237
  Name: ${t.file.name}
246
238
  Type: ${t.file.type}
247
- Size: ${t.file.size}`,s),i}}throw new Error("Could not upload")}};var qa=class{constructor(t,r){this.alerts=[];this.onLostFocusCallback=t.onLostFocusCallback,this.onFocusCallback=t.onFocusCallback,this.optionsProctoring=r}async startRecording(){this.startTime=new Date(Date.now()),this.optionsProctoring.captureScreen&&(window.addEventListener("blur",()=>this.onLostFocus()),window.addEventListener("focus",()=>this.onReturnFocus()))}async pauseRecording(){window.removeEventListener("blur",()=>this.onLostFocus()),window.removeEventListener("focus",()=>this.onReturnFocus())}async resumeRecording(){this.optionsProctoring.captureScreen&&(window.addEventListener("blur",()=>this.onLostFocus()),window.addEventListener("focus",()=>this.onReturnFocus()))}async stopRecording(){window.removeEventListener("blur",()=>this.onLostFocus()),window.removeEventListener("focus",()=>this.onReturnFocus())}async saveOnSession(t){this.alerts.forEach(r=>{t.addAlert(r)})}onLostFocus(){Date.now()-this.startTime?.getTime()>1e4&&(this.onLostFocusCallback(),this.alerts.push({begin:Date.now()-this.startTime.getTime(),end:0,alert:25,type:3}))}onReturnFocus(){let t=this.alerts[this.alerts.length-1];t&&(this.onFocusCallback(),t.end=Date.now()-this.startTime.getTime())}};var Ga=class{constructor(t,r){this.blobs=[];this.options={cameraId:void 0,microphoneId:void 0};this.audioParams={recordingBitrate:128};r&&(this.audioParams=r),t&&(this.options=t)}async startRecording(){let t={audio:{deviceId:this.options.microphoneId||"default"}};this.audioStream=await navigator.mediaDevices.getUserMedia(t);let{startRecording:r,stopRecording:n,pauseRecording:o,resumeRecording:i}=Kr(this.audioStream,this.blobs,void 0,void 0,!0);this.recordingStart=r,this.recordingStop=n,this.recordingPause=o,this.recordingResume=i,this.recordingStart()}async pauseRecording(){}async resumeRecording(){}async stopRecording(){this.recordingStop&&await this.recordingStop()}async saveOnSession(t,r,n){t.addRecording({device:"",file:new File(this.blobs,`EP_${t.id}_audio_${r&&n&&`${r}_${n}`||"0"}.webm`,{type:"audio/webm"}),origin:"Mic"})}};var nn=typeof self<"u"?self:{};function en(){throw Error("Invalid UTF8")}function q1(e,t){return t=String.fromCharCode.apply(null,t),e==null?t:e+t}var Ka,gu,mw=typeof TextDecoder<"u",gw,yw=typeof TextEncoder<"u";function I0(e){if(yw)e=(gw||=new TextEncoder).encode(e);else{let r=0,n=new Uint8Array(3*e.length);for(let o=0;o<e.length;o++){var t=e.charCodeAt(o);if(t<128)n[r++]=t;else{if(t<2048)n[r++]=t>>6|192;else{if(t>=55296&&t<=57343){if(t<=56319&&o<e.length){let i=e.charCodeAt(++o);if(i>=56320&&i<=57343){t=1024*(t-55296)+i-56320+65536,n[r++]=t>>18|240,n[r++]=t>>12&63|128,n[r++]=t>>6&63|128,n[r++]=63&t|128;continue}o--}t=65533}n[r++]=t>>12|224,n[r++]=t>>6&63|128}n[r++]=63&t|128}}e=r===n.length?n:n.subarray(0,r)}return e}var Bu,tc;e:{for(yu=["CLOSURE_FLAGS"],Xa=nn,Ja=0;Ja<yu.length;Ja++)if((Xa=Xa[yu[Ja]])==null){tc=null;break e}tc=Xa}var yu,Xa,Ja,_i,G1=tc&&tc[610401301];Bu=G1!=null&&G1;var K1=nn.navigator;function Au(e){return!!Bu&&!!_i&&_i.brands.some((({brand:t})=>t&&t.indexOf(e)!=-1))}function vt(e){var t;return(t=nn.navigator)&&(t=t.userAgent)||(t=""),t.indexOf(e)!=-1}function Or(){return!!Bu&&!!_i&&_i.brands.length>0}function bu(){return Or()?Au("Chromium"):(vt("Chrome")||vt("CriOS"))&&!(!Or()&&vt("Edge"))||vt("Silk")}_i=K1&&K1.userAgentData||null;var bw=!Or()&&(vt("Trident")||vt("MSIE"));!vt("Android")||bu(),bu(),vt("Safari")&&(bu()||!Or()&&vt("Coast")||!Or()&&vt("Opera")||!Or()&&vt("Edge")||(Or()?Au("Microsoft Edge"):vt("Edg/"))||Or()&&Au("Opera"));var P0={},gi=null;function ww(e){let t=e.length,r=3*t/4;r%3?r=Math.floor(r):"=.".indexOf(e[t-1])!=-1&&(r="=.".indexOf(e[t-2])!=-1?r-2:r-1);let n=new Uint8Array(r),o=0;return(function(i,s){function a(l){for(;c<i.length;){let h=i.charAt(c++),u=gi[h];if(u!=null)return u;if(!/^[\s\xa0]*$/.test(h))throw Error("Unknown base64 encoding at char: "+h)}return l}R0();let c=0;for(;;){let l=a(-1),h=a(0),u=a(64),p=a(64);if(p===64&&l===-1)break;s(l<<2|h>>4),u!=64&&(s(h<<4&240|u>>2),p!=64&&s(u<<6&192|p))}})(e,(function(i){n[o++]=i})),o!==r?n.subarray(0,o):n}function R0(){if(!gi){gi={};var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),t=["+/=","+/","-_=","-_.","-_"];for(let r=0;r<5;r++){let n=e.concat(t[r].split(""));P0[r]=n;for(let o=0;o<n.length;o++){let i=n[o];gi[i]===void 0&&(gi[i]=o)}}}}var D0=typeof Uint8Array<"u",O0=!bw&&typeof btoa=="function";function X1(e){if(!O0){var t;t===void 0&&(t=0),R0(),t=P0[t];var r=Array(Math.floor(e.length/3)),n=t[64]||"";let c=0,l=0;for(;c<e.length-2;c+=3){var o=e[c],i=e[c+1],s=e[c+2],a=t[o>>2];o=t[(3&o)<<4|i>>4],i=t[(15&i)<<2|s>>6],s=t[63&s],r[l++]=a+o+i+s}switch(a=0,s=n,e.length-c){case 2:s=t[(15&(a=e[c+1]))<<2]||n;case 1:e=e[c],r[l]=t[e>>2]+t[(3&e)<<4|a>>4]+s+n}return r.join("")}for(t="",r=0,n=e.length-10240;r<n;)t+=String.fromCharCode.apply(null,e.subarray(r,r+=10240));return t+=String.fromCharCode.apply(null,r?e.subarray(r):e),btoa(t)}var J1=/[-_.]/g,vw={"-":"+",_:"/",".":"="};function _w(e){return vw[e]||""}function B0(e){if(!O0)return ww(e);J1.test(e)&&(e=e.replace(J1,_w)),e=atob(e);let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}function uc(e){return D0&&e!=null&&e instanceof Uint8Array}var po={};function fo(){return Sw||=new Mr(null,po)}function Mu(e){M0(po);var t=e.g;return(t=t==null||uc(t)?t:typeof t=="string"?B0(t):null)==null?t:e.g=t}var Mr=class{i(){return new Uint8Array(Mu(this)||0)}constructor(e,t){if(M0(t),this.g=e,e!=null&&e.length===0)throw Error("ByteString should be constructed with non-empty values")}},Sw,Ew;function M0(e){if(e!==po)throw Error("illegal external caller")}function L0(e,t){e.__closure__error__context__984382||(e.__closure__error__context__984382={}),e.__closure__error__context__984382.severity=t}function Y1(){let e=Error("int32");return L0(e,"warning"),e}var dc=typeof Symbol=="function"&&typeof Symbol()=="symbol",kw=new Set;function pc(e,t,r=!1,n=!1){return e=typeof Symbol=="function"&&typeof Symbol()=="symbol"?n&&Symbol.for&&e?Symbol.for(e):e!=null?Symbol(e):Symbol():t,r&&kw.add(e),e}var Cw=pc("jas",void 0,!0,!0),wu=pc(void 0,"2ex"),fi=pc(void 0,"1oa",!0),mo=pc(void 0,Symbol(),!0),I=dc?Cw:"M",U0={M:{value:0,configurable:!0,writable:!0,enumerable:!1}},F0=Object.defineProperties;function Lu(e,t){dc||I in e||F0(e,U0),e[I]|=t}function ke(e,t){dc||I in e||F0(e,U0),e[I]=t}function Aw(e,t){ke(t,-30975&(0|e))}function xu(e,t){ke(t,-30941&(34|e))}function Uu(){return typeof BigInt=="function"}function _t(e){return Array.prototype.slice.call(e)}var Fu,Ei={},xw={};function Q1(e){return!(!e||typeof e!="object"||e.g!==xw)}function Nu(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)&&e.constructor===Object}function N0(e,t){if(e!=null){if(typeof e=="string")e=e?new Mr(e,po):fo();else if(e.constructor!==Mr)if(uc(e))e=e.length?new Mr(new Uint8Array(e),po):fo();else{if(!t)throw Error();e=void 0}}return e}function rc(e){return!(!Array.isArray(e)||e.length)&&!!(1&(0|e[I]))}var Z1=[];function an(e){if(2&e)throw Error()}function ju(e){return mo?e[mo]:void 0}ke(Z1,55),Fu=Object.freeze(Z1);var j0=Object.freeze({}),Vu=typeof nn.BigInt=="function"&&typeof nn.BigInt(0)=="bigint",Tu=e=>Vu?e>=Iw&&e<=Rw:e[0]==="-"?e0(e,Tw):e0(e,Pw),Tw=Number.MIN_SAFE_INTEGER.toString(),Iw=Vu?BigInt(Number.MIN_SAFE_INTEGER):void 0,Pw=Number.MAX_SAFE_INTEGER.toString(),Rw=Vu?BigInt(Number.MAX_SAFE_INTEGER):void 0;function e0(e,t){if(e.length>t.length)return!1;if(e.length<t.length||e===t)return!0;for(let r=0;r<e.length;r++){let n=e[r],o=t[r];if(n>o)return!1;if(n<o)return!0}}var Dw=typeof Uint8Array.prototype.slice=="function",V0,J=0,ue=0;function t0(e){let t=e>>>0;J=t,ue=(e-t)/4294967296>>>0}function go(e){if(e<0){t0(-e);let[t,r]=$u(J,ue);J=t>>>0,ue=r>>>0}else t0(e)}function H0(e){let t=V0||=new DataView(new ArrayBuffer(8));t.setFloat32(0,+e,!0),ue=0,J=t.getUint32(0,!0)}function Hu(e,t){let r=4294967296*t+(e>>>0);return Number.isSafeInteger(r)?r:Si(e,t)}function zu(e,t){let r=2147483648&t;return r&&(t=~t>>>0,(e=1+~e>>>0)==0&&(t=t+1>>>0)),typeof(e=Hu(e,t))=="number"?r?-e:e:r?"-"+e:e}function Si(e,t){if(e>>>=0,(t>>>=0)<=2097151)var r=""+(4294967296*t+e);else Uu()?r=""+(BigInt(t)<<BigInt(32)|BigInt(e)):(e=(16777215&e)+6777216*(r=16777215&(e>>>24|t<<8))+6710656*(t=t>>16&65535),r+=8147497*t,t*=2,e>=1e7&&(r+=e/1e7>>>0,e%=1e7),r>=1e7&&(t+=r/1e7>>>0,r%=1e7),r=t+r0(r)+r0(e));return r}function r0(e){return e=String(e),"0000000".slice(e.length)+e}function fc(e){if(e.length<16)go(Number(e));else if(Uu())e=BigInt(e),J=Number(e&BigInt(4294967295))>>>0,ue=Number(e>>BigInt(32)&BigInt(4294967295));else{let t=+(e[0]==="-");ue=J=0;let r=e.length;for(let n=t,o=(r-t)%6+t;o<=r;n=o,o+=6){let i=Number(e.slice(n,o));ue*=1e6,J=1e6*J+i,J>=4294967296&&(ue+=Math.trunc(J/4294967296),ue>>>=0,J>>>=0)}if(t){let[n,o]=$u(J,ue);J=n,ue=o}}}function $u(e,t){return t=~t,e?e=1+~e:t+=1,[e,t]}var z0=typeof BigInt=="function"?BigInt.asIntN:void 0,Ow=typeof BigInt=="function"?BigInt.asUintN:void 0,yi=Number.isSafeInteger,mc=Number.isFinite,nc=Math.trunc;function ki(e){return e==null||typeof e=="number"?e:e==="NaN"||e==="Infinity"||e==="-Infinity"?Number(e):void 0}function n0(e){if(e!=null&&typeof e!="boolean"){var t=typeof e;throw Error(`Expected boolean but got ${t!="object"?t:e?Array.isArray(e)?"array":t:"null"}: ${e}`)}return e}var Bw=/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;function Wu(e){switch(typeof e){case"bigint":return!0;case"number":return mc(e);case"string":return Bw.test(e);default:return!1}}function on(e){if(e==null)return e;if(typeof e=="string"&&e)e=+e;else if(typeof e!="number")return;return mc(e)?0|e:void 0}function o0(e){if(e[0]==="-")return!1;let t=e.length;return t<20||t===20&&Number(e.substring(0,6))<184467}function $0(e){return e=nc(e),yi(e)||(go(e),e=zu(J,ue)),e}function W0(e){var t=nc(Number(e));if(yi(t))return String(t);if((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),t=e.length,!(e[0]==="-"?t<20||t===20&&Number(e.substring(0,7))>-922337:t<19||t===19&&Number(e.substring(0,6))<922337))if(fc(e),e=J,2147483648&(t=ue))if(Uu())e=""+(BigInt(0|t)<<BigInt(32)|BigInt(e>>>0));else{let[r,n]=$u(e,t);e="-"+Si(r,n)}else e=Si(e,t);return e}function Iu(e){return e==null?e:typeof e=="bigint"?(Tu(e)?e=Number(e):(e=z0(64,e),e=Tu(e)?Number(e):String(e)),e):Wu(e)?typeof e=="number"?$0(e):W0(e):void 0}function Mw(e){if(e==null)return e;var t=typeof e;if(t==="bigint")return String(Ow(64,e));if(Wu(e)){if(t==="string")return t=nc(Number(e)),yi(t)&&t>=0?e=String(t):((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),o0(e)||(fc(e),e=Si(J,ue))),e;if(t==="number")return(e=nc(e))>=0&&yi(e)?e:(function(r){if(r<0){go(r);var n=Si(J,ue);return r=Number(n),yi(r)?r:n}return o0(n=String(r))?n:(go(r),Hu(J,ue))})(e)}}function q0(e){if(typeof e!="string")throw Error();return e}function oc(e){if(e!=null&&typeof e!="string")throw Error();return e}function Lr(e){return e==null||typeof e=="string"?e:void 0}function G0(e,t,r){if(e!=null&&typeof e=="object"&&e.B===Ei)return e;if(Array.isArray(e)){var n=0|e[I],o=n;return o===0&&(o|=32&r),(o|=2&r)!==n&&ke(e,o),new t(e)}}function K0(e,t,r,n,o){if(e!=null){if(Array.isArray(e))e=rc(e)?void 0:o&&2&(0|e[I])?e:qu(e,t,r,n!==void 0,o);else if(Nu(e)){let i={};for(let s in e)i[s]=K0(e[s],t,r,n,o);e=i}else e=t(e,n);return e}}function qu(e,t,r,n,o){let i=n||r?0|e[I]:0,s=n?!!(32&i):void 0;n=_t(e);for(let a=0;a<n.length;a++)n[a]=K0(n[a],t,r,s,o);return r&&((e=ju(e))&&(n[mo]=_t(e)),r(i,n)),n}function Lw(e){return e.B===Ei?e.toJSON():(function(t){switch(typeof t){case"number":return isFinite(t)?t:String(t);case"bigint":return Tu(t)?Number(t):String(t);case"boolean":return t?1:0;case"object":if(t)if(Array.isArray(t)){if(rc(t))return}else{if(uc(t))return X1(t);if(t instanceof Mr){let r=t.g;return r==null?"":typeof r=="string"?r:t.g=X1(r)}}}return t})(e)}function Uw(e){return qu(e,Lw,void 0,void 0,!1)}var X0,Fw;function bi(e,t,r){return e=J0(e,t[0],t[1],r?1:2),t!==X0&&r&&Lu(e,16384),e}function J0(e,t,r,n){if(e==null){var o=96;r?(e=[r],o|=512):e=[],t&&(o=-33521665&o|(1023&t)<<15)}else{if(!Array.isArray(e))throw Error("narr");if(2048&(o=0|e[I]))throw Error("farr");if(64&o)return e;if(n===1||n===2||(o|=64),r&&(o|=512,r!==e[0]))throw Error("mid");e:{if(n=(r=e).length){let i=n-1;if(Nu(r[i])){if((t=i-(512&(o|=256)?0:-1))>=1024)throw Error("pvtlmt");o=-33521665&o|(1023&t)<<15;break e}}if(t){if((t=Math.max(t,n-(512&o?0:-1)))>1024)throw Error("spvt");o=-33521665&o|(1023&t)<<15}}}return ke(e,o),e}function Y0(e,t,r=xu){if(e!=null){if(D0&&e instanceof Uint8Array)return t?e:new Uint8Array(e);if(Array.isArray(e)){var n=0|e[I];return 2&n?e:(t&&=n===0||!!(32&n)&&!(64&n||!(16&n)),t?(ke(e,-12293&(34|n)),e):qu(e,Y0,4&n?xu:r,!0,!0))}return e.B===Ei&&(e=2&(n=0|(r=e.l)[I])?e:new e.constructor(gc(r,n,!0))),e}}function Q0(e){let t=e.l;return new e.constructor(gc(t,0|t[I],!1))}function gc(e,t,r){let n=r||2&t?xu:Aw,o=!!(32&t);return e=(function(i,s,a){let c=_t(i);var l=c.length;let h=256&s?c[l-1]:void 0;for(l+=h?-1:0,s=512&s?1:0;s<l;s++)c[s]=a(c[s]);if(h){s=c[s]={};for(let u in h)s[u]=a(h[u])}return(i=ju(i))&&(c[mo]=_t(i)),c})(e,t,(i=>Y0(i,o,n))),Lu(e,32|(r?2:0)),e}function Gu(e){let t=e.l,r=0|t[I];return 2&r?new e.constructor(gc(t,r,!1)):e}function Rt(e,t){return cn(e=e.l,0|e[I],t)}function cn(e,t,r,n){if(r===-1)return null;var o=r+(512&t?0:-1);let i=e.length-1;return o>=i&&256&t?e[i][r]:n&&256&t&&(t=e[i][r])!=null?(e[o]!=null&&wu!=null&&((o=(e=Ew??={})[wu]||0)>=4||(e[wu]=o+1,L0(e=Error(),"incident"),(function(s){nn.setTimeout((()=>{throw s}),0)})(e))),t):o<=i?e[o]:void 0}function Ie(e,t,r){let n=e.l,o=0|n[I];return an(o),Ce(n,o,t,r),e}function Ce(e,t,r,n){let o=512&t?0:-1,i=r+o;var s=e.length-1;return i>=s&&256&t?(e[s][r]=n,t):i<=s?(e[i]=n,256&t&&r in(e=e[s])&&delete e[r],t):(n!==void 0&&(r>=(s=t>>15&1023||536870912)?n!=null&&(e[s+o]={[r]:n},ke(e,t|=256)):e[i]=n),t)}function Z0(e){let t=0|(e=e.l)[I],r=cn(e,t,1),n=N0(r,!0);return n!=null&&n!==r&&Ce(e,t,1,n),n}function e2(e,t,r,n,o){let i=e.l,s=2&(e=0|i[I])?1:n;o=!!o;let a=0|(n=Ku(i,e,t))[I];if(!(4&a)){4&a&&(n=_t(n),a=lr(a,e),e=Ce(i,e,t,n));let c=0,l=0;for(;c<n.length;c++){let h=r(n[c]);h!=null&&(n[l++]=h)}l<c&&(n.length=l),a=Xu(a,e),r=-4097&(20|a),a=r&=-8193,ke(n,a),2&a&&Object.freeze(n)}return s===1||s===4&&32&a?cr(a)||(o=a,a|=2,a!==o&&ke(n,a),Object.freeze(n)):(s===2&&cr(a)&&(n=_t(n),a=lr(a,e),a=Ur(a,e,o),ke(n,a),e=Ce(i,e,t,n)),cr(a)||(t=a,a=Ur(a,e,o),a!==t&&ke(n,a))),n}function Ku(e,t,r,n){return e=cn(e,t,r,n),Array.isArray(e)?e:Fu}function Xu(e,t){return e===0&&(e=lr(e,t)),1|e}function cr(e){return!!(2&e)&&!!(4&e)||!!(2048&e)}function i0(e,t,r){let n=0|(e=e.l)[I];if(an(n),r==null)Ce(e,n,t);else{var o=0|r[I],i=o,s=cr(o),a=s||Object.isFrozen(r);for(s||(o=0),a||(r=_t(r),i=0,o=Ur(o=lr(o,n),n,!0),a=!1),o|=21,s=0;s<r.length;s++){let c=r[s],l=q0(c);Object.is(c,l)||(a&&(r=_t(r),i=0,o=Ur(o=lr(o,n),n,!0),a=!1),r[s]=l)}o!==i&&(a&&(r=_t(r),o=Ur(o=lr(o,n),n,!0)),ke(r,o)),Ce(e,n,t,r)}}function t2(e,t){let r=0|(e=e.l)[I];an(r),Ce(e,r,2,t===""?void 0:t)}function Ci(e,t,r,n,o){an(t);var i=!(!(64&t)&&16384&t);let s=(o=Ku(e,t,r,o))!==Fu;if(i||!s){let a=i=s?0|o[I]:0;(!s||2&a||cr(a)||4&a&&!(32&a))&&(o=_t(o),a=lr(a,t),t=Ce(e,t,r,o)),a=-13&Xu(a,t),a=Ur(n?-17&a:16|a,t,!0),a!==i&&ke(o,a)}return o}function vu(e,t){var r=W2;return Yu(Ju(e=e.l),e,0|e[I],r)===t?t:-1}function Ju(e){if(dc)return e[fi]??(e[fi]=new Map);if(fi in e)return e[fi];let t=new Map;return Object.defineProperty(e,fi,{value:t}),t}function r2(e,t,r,n){let o=Ju(e),i=Yu(o,e,t,r);return i!==n&&(i&&(t=Ce(e,t,i)),o.set(r,n)),t}function Yu(e,t,r,n){let o=e.get(n);if(o!=null)return o;o=0;for(let i=0;i<n.length;i++){let s=n[i];cn(t,r,s)!=null&&(o!==0&&(r=Ce(t,r,o)),o=s)}return e.set(n,o),o}function Qu(e,t,r,n){let o,i=0|e[I];if((n=cn(e,i,r,n))!=null&&n.B===Ei)return(t=Gu(n))!==n&&Ce(e,i,r,t),t.l;if(Array.isArray(n)){let s=0|n[I];o=2&s?bi(gc(n,s,!1),t,!0):64&s?n:bi(o,t,!0)}else o=bi(void 0,t,!0);return o!==n&&Ce(e,i,r,o),o}function n2(e,t,r,n){let o=0|(e=e.l)[I];return(t=G0(n=cn(e,o,r,n),t,o))!==n&&t!=null&&Ce(e,o,r,t),t}function Dt(e,t,r){if((t=n2(e,t,r,!1))==null)return t;let n=0|(e=e.l)[I];if(!(2&n)){let o=Gu(t);o!==t&&Ce(e,n,r,t=o)}return t}function o2(e,t,r,n,o,i){e=e.l;var s=!!(2&t);let a=s?1:n;o=!!o,i&&=!s;var c=0|(n=Ku(e,t,1))[I];if(!(s=!!(4&c))){var l=n,h=t;let u=!!(2&(c=Xu(c,t)));u&&(h|=2);let p=!u,g=!0,m=0,y=0;for(;m<l.length;m++){let b=G0(l[m],r,h);if(b instanceof r){if(!u){let w=!!(2&(0|b.l[I]));p&&=!w,g&&=w}l[y++]=b}}y<m&&(l.length=y),c|=4,c=g?16|c:-17&c,ke(l,c=p?8|c:-9&c),u&&Object.freeze(l)}if(i&&!(8&c||!n.length&&(a===1||a===4&&32&c))){for(cr(c)&&(n=_t(n),c=lr(c,t),t=Ce(e,t,1,n)),r=n,i=c,l=0;l<r.length;l++)(c=r[l])!==(h=Gu(c))&&(r[l]=h);i|=8,ke(r,i=r.length?-17&i:16|i),c=i}return a===1||a===4&&32&c?cr(c)||(t=c,(c|=!n.length||16&c&&(!s||32&c)?2:2048)!==t&&ke(n,c),Object.freeze(n)):(a===2&&cr(c)&&(ke(n=_t(n),c=Ur(c=lr(c,t),t,o)),t=Ce(e,t,1,n)),cr(c)||(e=c,(c=Ur(c,t,o))!==e&&ke(n,c))),n}function Zu(e,t){let r=0|e.l[I];return o2(e,r,t,j0===void 0?2:4,!1,!(2&r))}function Ot(e,t,r,n){return n==null&&(n=void 0),Ie(e,r,n)}function _u(e,t,r){var n=V2;r==null&&(r=void 0);e:{let o=0|(e=e.l)[I];if(an(o),r==null){let i=Ju(e);if(Yu(i,e,o,n)!==t)break e;i.set(n,0)}else o=r2(e,o,n,t);Ce(e,o,t,r)}}function lr(e,t){return-2049&(e=32|(2&t?2|e:-3&e))}function Ur(e,t,r){return 32&t&&r||(e&=-33),e}function i2(e,t){var r=md;let n=0|e.l[I];an(n),e=o2(e,n,r,2,!0),t=t??new r,e.push(t),e[I]=2&(0|t.l[I])?-9&e[I]:-17&e[I]}function $e(e,t,r){an(0|e.l[I]),e2(e,t,Lr,2,!0).push(q0(r))}function s2(e,t){return Error(`Invalid wire type: ${e} (at position ${t})`)}function ed(){return Error("Failed to read varint, encoding is invalid.")}function a2(e,t){return Error(`Tried to read past the end of the data ${t} > ${e}`)}function td(e){if(typeof e=="string")return{buffer:B0(e),u:!1};if(Array.isArray(e))return{buffer:new Uint8Array(e),u:!1};if(e.constructor===Uint8Array)return{buffer:e,u:!1};if(e.constructor===ArrayBuffer)return{buffer:new Uint8Array(e),u:!1};if(e.constructor===Mr)return{buffer:Mu(e)||new Uint8Array(0),u:!0};if(e instanceof Uint8Array)return{buffer:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),u:!1};throw Error("Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers")}function rd(e,t){let r,n=0,o=0,i=0,s=e.i,a=e.g;do r=s[a++],n|=(127&r)<<i,i+=7;while(i<32&&128&r);for(i>32&&(o|=(127&r)>>4),i=3;i<32&&128&r;i+=7)r=s[a++],o|=(127&r)<<i;if(rn(e,a),r<128)return t(n>>>0,o>>>0);throw ed()}function nd(e){let t=0,r=e.g,n=r+10,o=e.i;for(;r<n;){let i=o[r++];if(t|=i,(128&i)==0)return rn(e,r),!!(127&t)}throw ed()}function We(e){let t=e.i,r=e.g,n=t[r++],o=127&n;if(128&n&&(n=t[r++],o|=(127&n)<<7,128&n&&(n=t[r++],o|=(127&n)<<14,128&n&&(n=t[r++],o|=(127&n)<<21,128&n&&(n=t[r++],o|=n<<28,128&n&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++])))))throw ed();return rn(e,r),o}function Pu(e){var t=e.i;let r=e.g,n=t[r],o=t[r+1],i=t[r+2];return t=t[r+3],rn(e,e.g+4),(n<<0|o<<8|i<<16|t<<24)>>>0}function Ru(e){var t=Pu(e);e=2*(t>>31)+1;let r=t>>>23&255;return t&=8388607,r==255?t?NaN:e*(1/0):r==0?1401298464324817e-60*e*t:e*Math.pow(2,r-150)*(t+8388608)}function Nw(e){return We(e)}function Su(e,t,{C:r=!1}={}){e.C=r,t&&(t=td(t),e.i=t.buffer,e.m=t.u,e.s=0,e.j=e.i.length,e.g=e.s)}function rn(e,t){if(e.g=t,t>e.j)throw a2(e.j,t)}function c2(e,t){if(t<0)throw Error(`Tried to read a negative byte length: ${t}`);let r=e.g,n=r+t;if(n>e.j)throw a2(t,e.j-r);return e.g=n,r}function l2(e,t){if(t==0)return fo();var r=c2(e,t);return e.C&&e.m?r=e.i.subarray(r,r+t):(e=e.i,r=r===(t=r+t)?new Uint8Array(0):Dw?e.slice(r,t):new Uint8Array(e.subarray(r,t))),r.length==0?fo():new Mr(r,po)}var s0=[];function h2(e){var t=e.g;if(t.g==t.j)return!1;e.j=e.g.g;var r=We(e.g)>>>0;if(t=r>>>3,!((r&=7)>=0&&r<=5))throw s2(r,e.j);if(t<1)throw Error(`Invalid field number: ${t} (at position ${e.j})`);return e.m=t,e.i=r,!0}function Za(e){switch(e.i){case 0:e.i!=0?Za(e):nd(e.g);break;case 1:rn(e=e.g,e.g+8);break;case 2:if(e.i!=2)Za(e);else{var t=We(e.g)>>>0;rn(e=e.g,e.g+t)}break;case 5:rn(e=e.g,e.g+4);break;case 3:for(t=e.m;;){if(!h2(e))throw Error("Unmatched start-group tag: stream EOF");if(e.i==4){if(e.m!=t)throw Error("Unmatched end-group tag");break}Za(e)}break;default:throw s2(e.i,e.j)}}function yc(e,t,r){let n=e.g.j,o=We(e.g)>>>0,i=e.g.g+o,s=i-n;if(s<=0&&(e.g.j=i,r(t,e,void 0,void 0,void 0),s=i-e.g.g),s)throw Error(`Message parsing ended unexpectedly. Expected to read ${o} bytes, instead read ${o-s} bytes, either the data ended unexpectedly or the message misreported its own length`);e.g.g=i,e.g.j=n}function od(e){var t=We(e.g)>>>0,r=c2(e=e.g,t);if(e=e.i,mw){var n,o=e;(n=gu)||(n=gu=new TextDecoder("utf-8",{fatal:!0})),t=r+t,o=r===0&&t===o.length?o:o.subarray(r,t);try{var i=n.decode(o)}catch(a){if(Ka===void 0){try{n.decode(new Uint8Array([128]))}catch{}try{n.decode(new Uint8Array([97])),Ka=!0}catch{Ka=!1}}throw!Ka&&(gu=void 0),a}}else{t=(i=r)+t,r=[];let a,c=null;for(;i<t;){var s=e[i++];s<128?r.push(s):s<224?i>=t?en():(a=e[i++],s<194||(192&a)!=128?(i--,en()):r.push((31&s)<<6|63&a)):s<240?i>=t-1?en():(a=e[i++],(192&a)!=128||s===224&&a<160||s===237&&a>=160||(192&(n=e[i++]))!=128?(i--,en()):r.push((15&s)<<12|(63&a)<<6|63&n)):s<=244?i>=t-2?en():(a=e[i++],(192&a)!=128||a-144+(s<<28)>>30!=0||(192&(n=e[i++]))!=128||(192&(o=e[i++]))!=128?(i--,en()):(s=(7&s)<<18|(63&a)<<12|(63&n)<<6|63&o,s-=65536,r.push(55296+(s>>10&1023),56320+(1023&s)))):en(),r.length>=8192&&(c=q1(c,r),r.length=0)}i=q1(c,r)}return i}function u2(e){let t=We(e.g)>>>0;return l2(e.g,t)}function id(e,t,r){var n=We(e.g)>>>0;for(n=e.g.g+n;e.g.g<n;)r.push(t(e.g))}var Ya=[];function jw(e){return e}var lo;function d2(e,t,r){t.g?t.j(e,t.g,t.i,r):t.j(e,t.i,r)}var re=class{constructor(e,t){this.l=J0(e,t)}toJSON(){let e=!lo;try{return e&&(lo=Uw),p2(this)}finally{e&&(lo=void 0)}}u(){return!!(2&(0|this.l[I]))}};function p2(e){var t=e.l;{t=(e=lo(t))!==t;let l=e.length;if(l){var r=e[l-1],n=Nu(r);n?l--:r=void 0;var o=e;if(n){e:{var i,s=r,a=!1;if(s)for(let h in s)isNaN(+h)?(i??={})[h]=s[h]:(n=s[h],Array.isArray(n)&&(rc(n)||Q1(n)&&n.size===0)&&(n=null),n==null&&(a=!0),n!=null&&((i??={})[h]=n));if(a||(i=s),i)for(let h in i){a=i;break e}a=null}s=a==null?r!=null:a!==r}for(;l>0&&((i=o[l-1])==null||rc(i)||Q1(i)&&i.size===0);l--)var c=!0;(o!==e||s||c)&&(t?(c||s||a)&&(o.length=l):o=Array.prototype.slice.call(o,0,l),a&&o.push(a)),c=o}else c=e}return c}function a0(e){return e?/^\d+$/.test(e)?(fc(e),new Du(J,ue)):null:Vw||=new Du(0,0)}re.prototype.B=Ei,re.prototype.toString=function(){try{return lo=jw,p2(this).toString()}finally{lo=void 0}};var Du=class{constructor(e,t){this.i=e>>>0,this.g=t>>>0}},Vw;function c0(e){return e?/^-?\d+$/.test(e)?(fc(e),new Ou(J,ue)):null:Hw||=new Ou(0,0)}var Ou=class{constructor(e,t){this.i=e>>>0,this.g=t>>>0}},Hw;function ho(e,t,r){for(;r>0||t>127;)e.g.push(127&t|128),t=(t>>>7|r<<25)>>>0,r>>>=7;e.g.push(t)}function Ai(e,t){for(;t>127;)e.g.push(127&t|128),t>>>=7;e.g.push(t)}function bc(e,t){if(t>=0)Ai(e,t);else{for(let r=0;r<9;r++)e.g.push(127&t|128),t>>=7;e.g.push(1)}}function ic(e,t){e.g.push(t>>>0&255),e.g.push(t>>>8&255),e.g.push(t>>>16&255),e.g.push(t>>>24&255)}function yo(e,t){t.length!==0&&(e.j.push(t),e.i+=t.length)}function Bt(e,t,r){Ai(e.g,8*t+r)}function wc(e,t){return Bt(e,t,2),t=e.g.end(),yo(e,t),t.push(e.i),t}function vc(e,t){var r=t.pop();for(r=e.i+e.g.length()-r;r>127;)t.push(127&r|128),r>>>=7,e.i++;t.push(r),e.i++}function _c(e,t,r){Bt(e,t,2),Ai(e.g,r.length),yo(e,e.g.end()),yo(e,r)}function Mt(){let e=class{constructor(){throw Error()}};return Object.setPrototypeOf(e,e.prototype),e}var sd=Mt(),f2=Mt(),ad=Mt(),cd=Mt(),m2=Mt(),g2=Mt(),y2=Mt(),b2=Mt(),bo=class{constructor(e,t,r){this.g=e,this.i=t,e=sd,this.j=!!e&&r===e||!1}};function ld(e,t){return new bo(e,t,sd)}function w2(e,t,r,n,o){(t=E2(t,n))!=null&&(r=wc(e,r),o(t,e),vc(e,r))}var zw=ld((function(e,t,r,n,o){return e.i===2&&(yc(e,Qu(t,n,r),o),!0)}),w2),$w=ld((function(e,t,r,n,o){return e.i===2&&(yc(e,Qu(t,n,r,!0),o),!0)}),w2),Sc=Symbol(),hd=Symbol(),l0=Symbol(),h0=Symbol(),v2,_2;function ln(e,t,r,n){var o=n[e];if(o)return o;(o={}).P=n,o.A=(function(u){switch(typeof u){case"boolean":return X0||=[0,void 0,!0];case"number":return u>0?void 0:u===0?Fw||=[0,void 0]:[-u,void 0];case"string":return[0,u];case"object":return u}})(n[0]);var i=n[1];let s=1;i&&i.constructor===Object&&(o.H=i,typeof(i=n[++s])=="function"&&(o.I=!0,v2??=i,_2??=n[s+1],i=n[s+=2]));let a={};for(;i&&Array.isArray(i)&&i.length&&typeof i[0]=="number"&&i[0]>0;){for(var c=0;c<i.length;c++)a[i[c]]=i;i=n[++s]}for(c=1;i!==void 0;){let u;typeof i=="number"&&(c+=i,i=n[++s]);var l=void 0;if(i instanceof bo?u=i:(u=zw,s--),u?.j){i=n[++s],l=n;var h=s;typeof i=="function"&&(i=i(),l[h]=i),l=i}for(h=c+1,typeof(i=n[++s])=="number"&&i<0&&(h-=i,i=n[++s]);c<h;c++){let p=a[c];l?r(o,c,u,l,p):t(o,c,u,p)}}return n[e]=o}function S2(e){return Array.isArray(e)?e[0]instanceof bo?e:[$w,e]:[e,void 0]}function E2(e,t){return e instanceof re?e.l:Array.isArray(e)?bi(e,t,!1):void 0}function ud(e,t,r,n){let o=r.g;e[t]=n?(i,s,a)=>o(i,s,a,n):o}function dd(e,t,r,n,o){let i=r.g,s,a;e[t]=(c,l,h)=>i(c,l,h,a||=ln(hd,ud,dd,n).A,s||=pd(n),o)}function pd(e){let t=e[l0];if(t!=null)return t;let r=ln(hd,ud,dd,e);return t=r.I?(n,o)=>v2(n,o,r):(n,o)=>{let i=0|n[I];for(;h2(o)&&o.i!=4;){var s=o.m,a=r[s];if(a==null){var c=r.H;c&&(c=c[s])&&(c=Ww(c))!=null&&(a=r[s]=c)}a!=null&&a(o,n,s)||(s=(a=o).j,Za(a),a.G?a=void 0:(c=a.g.g-s,a.g.g=s,a=l2(a.g,c)),s=n,a&&((c=s[mo])?c.push(a):s[mo]=[a]))}return 16384&i&&Lu(n,34),!0},e[l0]=t}function Ww(e){let t=(e=S2(e))[0].g;if(e=e[1]){let r=pd(e),n=ln(hd,ud,dd,e).A;return(o,i,s)=>t(o,i,s,n,r)}return t}function Ec(e,t,r){e[t]=r.i}function kc(e,t,r,n){let o,i,s=r.i;e[t]=(a,c,l)=>s(a,c,l,i||=ln(Sc,Ec,kc,n).A,o||=k2(n))}function k2(e){let t=e[h0];if(!t){let r=ln(Sc,Ec,kc,e);t=(n,o)=>C2(n,o,r),e[h0]=t}return t}function C2(e,t,r){for(var n=0|e[I],o=512&n?0:-1,i=e.length,s=512&n?1:0,a=i+(256&n?-1:0);s<a;s++){let c=e[s];if(c==null)continue;let l=s-o,h=u0(r,l);h&&h(t,c,l)}if(256&n){n=e[i-1];for(let c in n)o=+c,Number.isNaN(o)||(i=n[o])!=null&&(a=u0(r,o))&&a(t,i,o)}if(e=ju(e))for(yo(t,t.g.end()),r=0;r<e.length;r++)yo(t,Mu(e[r])||new Uint8Array(0))}function u0(e,t){var r=e[t];if(r)return r;if((r=e.H)&&(r=r[t])){var n=(r=S2(r))[0].i;if(r=r[1]){let o=k2(r),i=ln(Sc,Ec,kc,r).A;r=e.I?_2(i,o):(s,a,c)=>n(s,a,c,i,o)}else r=n;return e[t]=r}}function Cc(e,t){if(Array.isArray(t)){var r=0|t[I];if(4&r)return t;for(var n=0,o=0;n<t.length;n++){let i=e(t[n]);i!=null&&(t[o++]=i)}return o<n&&(t.length=o),ke(t,-12289&(5|r)),2&r&&Object.freeze(t),t}}function Me(e,t,r){return new bo(e,t,r)}function Ac(e,t,r){return new bo(e,t,r)}function Le(e,t,r){Ce(e,0|e[I],t,r)}function A2(e,t,r){if(t=(function(n){if(n==null)return n;let o=typeof n;if(o==="bigint")return String(z0(64,n));if(Wu(n)){if(o==="string")return W0(n);if(o==="number")return $0(n)}})(t),t!=null&&(typeof t=="string"&&c0(t),t!=null))switch(Bt(e,r,0),typeof t){case"number":e=e.g,go(t),ho(e,J,ue);break;case"bigint":r=BigInt.asUintN(64,t),r=new Ou(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),ho(e.g,r.i,r.g);break;default:r=c0(t),ho(e.g,r.i,r.g)}}function x2(e,t,r){(t=on(t))!=null&&t!=null&&(Bt(e,r,0),bc(e.g,t))}function T2(e,t,r){(t=t==null||typeof t=="boolean"?t:typeof t=="number"?!!t:void 0)!=null&&(Bt(e,r,0),e.g.g.push(t?1:0))}function I2(e,t,r){(t=Lr(t))!=null&&_c(e,r,I0(t))}function P2(e,t,r,n,o){(t=E2(t,n))!=null&&(r=wc(e,r),o(t,e),vc(e,r))}function R2(e,t,r){(t=t==null||typeof t=="string"||uc(t)||t instanceof Mr?t:void 0)!=null&&_c(e,r,td(t).buffer)}var qw=Me((function(e,t,r){if(e.i!==1)return!1;var n=e.g;e=Pu(n);let o=Pu(n);n=2*(o>>31)+1;let i=o>>>20&2047;return e=4294967296*(1048575&o)+e,Le(t,r,i==2047?e?NaN:n*(1/0):i==0?5e-324*n*e:n*Math.pow(2,i-1075)*(e+4503599627370496)),!0}),(function(e,t,r){(t=ki(t))!=null&&(Bt(e,r,1),e=e.g,(r=V0||=new DataView(new ArrayBuffer(8))).setFloat64(0,+t,!0),J=r.getUint32(0,!0),ue=r.getUint32(4,!0),ic(e,J),ic(e,ue))}),Mt()),D2=Me((function(e,t,r){return e.i===5&&(Le(t,r,Ru(e.g)),!0)}),(function(e,t,r){(t=ki(t))!=null&&(Bt(e,r,5),e=e.g,H0(t),ic(e,J))}),g2),Gw=Ac((function(e,t,r){return(e.i===5||e.i===2)&&(t=Ci(t,0|t[I],r,!1,!1),e.i==2?id(e,Ru,t):t.push(Ru(e.g)),!0)}),(function(e,t,r){if((t=Cc(ki,t))!=null&&t.length){Bt(e,r,2),Ai(e.g,4*t.length);for(let n=0;n<t.length;n++)r=e.g,H0(t[n]),ic(r,J)}}),g2),sc=Me((function(e,t,r){return e.i===0&&(Le(t,r,rd(e.g,zu)),!0)}),A2,m2),Eu=Me((function(e,t,r){return e.i===0&&(Le(t,r,(e=rd(e.g,zu))===0?void 0:e),!0)}),A2,m2),Kw=Me((function(e,t,r){return e.i===0&&(Le(t,r,rd(e.g,Hu)),!0)}),(function(e,t,r){if((t=Mw(t))!=null&&(typeof t=="string"&&a0(t),t!=null))switch(Bt(e,r,0),typeof t){case"number":e=e.g,go(t),ho(e,J,ue);break;case"bigint":r=BigInt.asUintN(64,t),r=new Du(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),ho(e.g,r.i,r.g);break;default:r=a0(t),ho(e.g,r.i,r.g)}}),Mt()),Fr=Me((function(e,t,r){return e.i===0&&(Le(t,r,We(e.g)),!0)}),x2,cd),fd=Ac((function(e,t,r){return(e.i===0||e.i===2)&&(t=Ci(t,0|t[I],r,!1,!1),e.i==2?id(e,We,t):t.push(We(e.g)),!0)}),(function(e,t,r){if((t=Cc(on,t))!=null&&t.length){r=wc(e,r);for(let n=0;n<t.length;n++)bc(e.g,t[n]);vc(e,r)}}),cd),ao=Me((function(e,t,r){return e.i===0&&(Le(t,r,(e=We(e.g))===0?void 0:e),!0)}),x2,cd),it=Me((function(e,t,r){return e.i===0&&(Le(t,r,nd(e.g)),!0)}),T2,f2),uo=Me((function(e,t,r){return e.i===0&&(Le(t,r,(e=nd(e.g))===!1?void 0:e),!0)}),T2,f2),bt=Ac((function(e,t,r){return e.i===2&&(e=od(e),Ci(t,0|t[I],r,!1).push(e),!0)}),(function(e,t,r){if((t=Cc(Lr,t))!=null)for(let s=0;s<t.length;s++){var n=e,o=r,i=t[s];i!=null&&_c(n,o,I0(i))}}),ad),Br=Me((function(e,t,r){return e.i===2&&(Le(t,r,(e=od(e))===""?void 0:e),!0)}),I2,ad),me=Me((function(e,t,r){return e.i===2&&(Le(t,r,od(e)),!0)}),I2,ad),wt=(function(e,t,r=sd){return new bo(e,t,r)})((function(e,t,r,n,o){return e.i===2&&(n=bi(void 0,n,!0),Ci(t,0|t[I],r,!0).push(n),yc(e,n,o),!0)}),(function(e,t,r,n,o){if(Array.isArray(t))for(let i=0;i<t.length;i++)P2(e,t[i],r,n,o)})),Te=ld((function(e,t,r,n,o,i){return e.i===2&&(r2(t,0|t[I],i,r),yc(e,t=Qu(t,n,r),o),!0)}),P2),O2=Me((function(e,t,r){return e.i===2&&(Le(t,r,u2(e)),!0)}),R2,y2),Xw=Me((function(e,t,r){return e.i===0&&(Le(t,r,(e=We(e.g)>>>0)===0?void 0:e),!0)}),(function(e,t,r){t=(function(n){if(n==null)return n;if(typeof n=="string"&&n)n=+n;else if(typeof n!="number")return;return mc(n)?n>>>0:void 0})(t),t!=null&&t!=null&&(Bt(e,r,0),Ai(e.g,t))}),Mt()),sn=Me((function(e,t,r){return e.i===0&&(Le(t,r,We(e.g)),!0)}),(function(e,t,r){(t=on(t))!=null&&(t=parseInt(t,10),Bt(e,r,0),bc(e.g,t))}),b2),ac=class{constructor(t,r){this.i=t,this.g=r,this.j=Ot,this.defaultValue=void 0}};function B2(e,t){return(r,n)=>{if(Ya.length){let i=Ya.pop();i.o(n),Su(i.g,r,n),r=i}else r=new class{constructor(i,s){if(s0.length){let a=s0.pop();Su(a,i,s),i=a}else i=new class{constructor(a,c){this.i=null,this.m=!1,this.g=this.j=this.s=0,Su(this,a,c)}clear(){this.i=null,this.m=!1,this.g=this.j=this.s=0,this.C=!1}}(i,s);this.g=i,this.j=this.g.g,this.i=this.m=-1,this.o(s)}o({G:i=!1}={}){this.G=i}}(r,n);try{let i=new e,s=i.l;pd(t)(s,r);var o=i}finally{r.g.clear(),r.m=-1,r.i=-1,Ya.length<100&&Ya.push(r)}return o}}var d0=[0,Br,Me((function(e,t,r){return e.i===2&&(Le(t,r,(e=u2(e))===fo()?void 0:e),!0)}),(function(e,t,r){if(t!=null){if(t instanceof re){let n=t.R;return void(n&&(t=n(t),t!=null&&_c(e,r,td(t).buffer)))}if(Array.isArray(t))return}R2(e,t,r)}),y2)],ku,p0=globalThis.trustedTypes;function f0(e){ku===void 0&&(ku=(function(){let r=null;if(!p0)return r;try{let n=o=>o;r=p0.createPolicy("goog#html",{createHTML:n,createScript:n,createScriptURL:n})}catch{}return r})());var t=ku;return new class{constructor(r){this.g=r}toString(){return this.g+""}}(t?t.createScriptURL(e):e)}function Jw(e,...t){if(t.length===0)return f0(e[0]);let r=e[0];for(let n=0;n<t.length;n++)r+=encodeURIComponent(t[n])+e[n+1];return f0(r)}var M2=[0,Fr,sn,it,-1,fd,sn,-1],Yw=class extends re{constructor(e){super(e)}},L2=[0,it,me,it,sn,-1,Ac((function(e,t,r){return(e.i===0||e.i===2)&&(t=Ci(t,0|t[I],r,!1,!1),e.i==2?id(e,Nw,t):t.push(We(e.g)),!0)}),(function(e,t,r){if((t=Cc(on,t))!=null&&t.length){r=wc(e,r);for(let n=0;n<t.length;n++)bc(e.g,t[n]);vc(e,r)}}),b2),me,-1,[0,it,-1],sn,it,-1],U2=[0,me,-2],m0=class extends re{constructor(e){super(e)}},F2=[0],N2=[0,Fr,it,1,it,-3],j2=class extends re{constructor(e){super(e,2)}},xc={};xc[336783863]=[0,me,it,-1,Fr,[0,[1,2,3,4,5,6,7,8],Te,F2,Te,L2,Te,U2,Te,N2,Te,M2,Te,[0,me,-2],Te,[0,me,sn],Te,[0,sn,me]],[0,me],it,[0,[1,3],[2,4],Te,[0,fd],-1,Te,[0,bt],-1,wt,[0,me,-1]],me];var g0,y0=[0,Eu,-1,uo,-3,Eu,fd,Br,ao,Eu,-1,uo,ao,uo,-2,Br],md=class extends re{constructor(e){super(e,500)}o(e){return Ot(this,0,7,e)}},wi=[-1,{}],b0=[0,me,1,wi],w0=[0,me,bt,wi],gd=class extends re{constructor(e){super(e,500)}o(e){return Ot(this,0,1001,e)}};gd.prototype.g=(g0=[-500,wt,[-500,Br,-1,bt,-3,[-2,xc,it],wt,d0,ao,-1,b0,w0,wt,[0,Br,uo],Br,y0,ao,bt,987,bt],4,wt,[-500,me,-1,[-1,{}],998,me],wt,[-500,me,bt,-1,[-2,{},it],997,bt,-1],ao,wt,[-500,me,bt,wi,998,bt],bt,ao,b0,w0,wt,[0,Br,-1,wi],bt,-2,y0,Br,-1,uo,[0,uo,Xw],978,wi,wt,d0],function(){let e=new class{constructor(){this.j=[],this.i=0,this.g=new class{constructor(){this.g=[]}length(){return this.g.length}end(){let i=this.g;return this.g=[],i}}}};C2(this.l,e,ln(Sc,Ec,kc,g0)),yo(e,e.g.end());let t=new Uint8Array(e.i),r=e.j,n=r.length,o=0;for(let i=0;i<n;i++){let s=r[i];t.set(s,o),o+=s.length}return e.j=[t],t});var Qw=class extends re{constructor(e){super(e)}},Zw=class extends re{constructor(e){super(e)}g(){return Zu(this,Qw)}},ev=[0,wt,[0,Fr,D2,me,-1]],v0=class extends re{constructor(e){super(e)}},_0=class extends re{constructor(e){super(e)}},V2=[1,2,3,4,5],cc=class extends re{constructor(e){super(e)}g(){return Z0(this)!=null}i(){return Lr(Rt(this,2))!=null}},lc=class extends re{constructor(e){super(e)}},H2=class extends re{constructor(e){super(e)}},z2=[0,[0,O2,me,[0,Fr,sc,-1],[0,Kw,sc]],it,[0,V2,Te,N2,Te,L2,Te,M2,Te,F2,Te,U2],sn],tv=new ac(451755788,H2);xc[451755788]=[0,z2,[0,me,Fr,D2,bt,-1],qw];var S0=class extends re{constructor(e){super(e)}},$2=class extends re{constructor(e){super(e)}},rv=new ac(487277289,$2);xc[487277289]=[0,z2,[0,it,-1]];var nv=class extends re{constructor(e){super(e)}},ov=B2(class extends re{constructor(e){super(e)}},[0,wt,[0,1,Fr,me,ev],sc]),E0=class extends re{constructor(e){super(e)}},iv=class extends re{constructor(e){super(e)}J(){let e=Z0(this);return e??fo()}},sv=class extends re{constructor(e){super(e)}},W2=[1,2],k0=B2(class extends re{constructor(e){super(e)}},[0,wt,[0,W2,Te,[0,Gw],Te,[0,O2],Fr,me],sc]);function av(){var e=navigator;return typeof OffscreenCanvas<"u"&&(!(function(t=navigator){return(t=t.userAgent).includes("Safari")&&!t.includes("Chrome")})(e)||!!((e=e.userAgent.match(/Version\/([\d]+).*Safari/))&&e.length>=1&&Number(e[1])>=17))}async function C0(e){if(typeof importScripts!="function"){let t=document.createElement("script");return t.src=e.toString(),t.crossOrigin="anonymous",new Promise(((r,n)=>{t.addEventListener("load",(()=>{r()}),!1),t.addEventListener("error",(o=>{n(o)}),!1),document.body.appendChild(t)}))}importScripts(e.toString())}function T(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target"),r(t=e.h.stringToNewUTF8(t)),e.h._free(t)}function A0(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target");let n=new Uint32Array(t.length);for(let o=0;o<t.length;o++)n[o]=e.h.stringToNewUTF8(t[o]);t=e.h._malloc(4*n.length),e.h.HEAPU32.set(n,t>>2),r(t);for(let o of n)e.h._free(o);e.h._free(t)}function Rr(e,t,r){e.h.simpleListeners=e.h.simpleListeners||{},e.h.simpleListeners[t]=r}function tn(e,t,r){let n=[];e.h.simpleListeners=e.h.simpleListeners||{},e.h.simpleListeners[t]=(o,i,s)=>{i?(r(n,s),n=[]):n.push(o)}}var cv=(function(e){return class extends e{N(){this.h._registerModelResourcesGraphService()}}})(class{constructor(e,t){this.j=!0,this.h=e,this.g=null,this.i=0,this.m=typeof this.h._addIntToInputStream=="function",t!==void 0?this.h.canvas=t:av()?this.h.canvas=new OffscreenCanvas(1,1):(console.warn("OffscreenCanvas not supported and GraphRunner constructor glCanvas parameter is undefined. Creating backup canvas."),this.h.canvas=document.createElement("canvas"))}async initializeGraph(e){let t=await(await fetch(e)).arrayBuffer();e=!(e.endsWith(".pbtxt")||e.endsWith(".textproto")),this.setGraph(new Uint8Array(t),e)}setGraphFromString(e){this.setGraph(new TextEncoder().encode(e),!1)}setGraph(e,t){let r=e.length,n=this.h._malloc(r);this.h.HEAPU8.set(e,n),t?this.h._changeBinaryGraph(r,n):this.h._changeTextGraph(r,n),this.h._free(n)}configureAudio(e,t,r,n,o){this.h._configureAudio||console.warn('Attempting to use configureAudio without support for input audio. Is build dep ":gl_graph_runner_audio" missing?'),T(this,n||"input_audio",(i=>{T(this,o=o||"audio_header",(s=>{this.h._configureAudio(i,s,e,t??0,r)}))}))}setAutoResizeCanvas(e){this.j=e}setAutoRenderToScreen(e){this.h._setAutoRenderToScreen(e)}setGpuBufferVerticalFlip(e){this.h.gpuOriginForWebTexturesIsBottomLeft=e}attachErrorListener(e){this.h.errorListener=e}attachEmptyPacketListener(e,t){this.h.emptyPacketListeners=this.h.emptyPacketListeners||{},this.h.emptyPacketListeners[e]=t}addAudioToStream(e,t,r){this.addAudioToStreamWithShape(e,0,0,t,r)}addAudioToStreamWithShape(e,t,r,n,o){let i=4*e.length;this.i!==i&&(this.g&&this.h._free(this.g),this.g=this.h._malloc(i),this.i=i),this.h.HEAPF32.set(e,this.g/4),T(this,n,(s=>{this.h._addAudioToInputStream(this.g,t,r,s,o)}))}addGpuBufferToStream(e,t,r){T(this,t,(n=>{if(!this.h.canvas)throw Error("No OpenGL canvas configured.");n?this.h._bindTextureToStream(n):this.h._bindTextureToCanvas();let o=this.h.canvas.getContext("webgl2")||this.h.canvas.getContext("webgl");if(!o)throw Error("Failed to obtain WebGL context from the provided canvas. `getContext()` should only be invoked with `webgl` or `webgl2`.");this.h.gpuOriginForWebTexturesIsBottomLeft&&o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,!0),o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,e),this.h.gpuOriginForWebTexturesIsBottomLeft&&o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,!1);let[i,s]=e.videoWidth!==void 0?[e.videoWidth,e.videoHeight]:e.naturalWidth!==void 0?[e.naturalWidth,e.naturalHeight]:e.displayWidth!==void 0?[e.displayWidth,e.displayHeight]:[e.width,e.height];!this.j||i===this.h.canvas.width&&s===this.h.canvas.height||(this.h.canvas.width=i,this.h.canvas.height=s);let[a,c]=[i,s];this.h._addBoundTextureToStream(n,a,c,r)}))}addBoolToStream(e,t,r){T(this,t,(n=>{this.h._addBoolToInputStream(e,n,r)}))}addDoubleToStream(e,t,r){T(this,t,(n=>{this.h._addDoubleToInputStream(e,n,r)}))}addFloatToStream(e,t,r){T(this,t,(n=>{this.h._addFloatToInputStream(e,n,r)}))}addIntToStream(e,t,r){T(this,t,(n=>{this.h._addIntToInputStream(e,n,r)}))}addUintToStream(e,t,r){T(this,t,(n=>{this.h._addUintToInputStream(e,n,r)}))}addStringToStream(e,t,r){T(this,t,(n=>{T(this,e,(o=>{this.h._addStringToInputStream(o,n,r)}))}))}addStringRecordToStream(e,t,r){T(this,t,(n=>{A0(this,Object.keys(e),(o=>{A0(this,Object.values(e),(i=>{this.h._addFlatHashMapToInputStream(o,i,Object.keys(e).length,n,r)}))}))}))}addProtoToStream(e,t,r,n){T(this,r,(o=>{T(this,t,(i=>{let s=this.h._malloc(e.length);this.h.HEAPU8.set(e,s),this.h._addProtoToInputStream(s,e.length,i,o,n),this.h._free(s)}))}))}addEmptyPacketToStream(e,t){T(this,e,(r=>{this.h._addEmptyPacketToInputStream(r,t)}))}addBoolVectorToStream(e,t,r){T(this,t,(n=>{let o=this.h._allocateBoolVector(e.length);if(!o)throw Error("Unable to allocate new bool vector on heap.");for(let i of e)this.h._addBoolVectorEntry(o,i);this.h._addBoolVectorToInputStream(o,n,r)}))}addDoubleVectorToStream(e,t,r){T(this,t,(n=>{let o=this.h._allocateDoubleVector(e.length);if(!o)throw Error("Unable to allocate new double vector on heap.");for(let i of e)this.h._addDoubleVectorEntry(o,i);this.h._addDoubleVectorToInputStream(o,n,r)}))}addFloatVectorToStream(e,t,r){T(this,t,(n=>{let o=this.h._allocateFloatVector(e.length);if(!o)throw Error("Unable to allocate new float vector on heap.");for(let i of e)this.h._addFloatVectorEntry(o,i);this.h._addFloatVectorToInputStream(o,n,r)}))}addIntVectorToStream(e,t,r){T(this,t,(n=>{let o=this.h._allocateIntVector(e.length);if(!o)throw Error("Unable to allocate new int vector on heap.");for(let i of e)this.h._addIntVectorEntry(o,i);this.h._addIntVectorToInputStream(o,n,r)}))}addUintVectorToStream(e,t,r){T(this,t,(n=>{let o=this.h._allocateUintVector(e.length);if(!o)throw Error("Unable to allocate new unsigned int vector on heap.");for(let i of e)this.h._addUintVectorEntry(o,i);this.h._addUintVectorToInputStream(o,n,r)}))}addStringVectorToStream(e,t,r){T(this,t,(n=>{let o=this.h._allocateStringVector(e.length);if(!o)throw Error("Unable to allocate new string vector on heap.");for(let i of e)T(this,i,(s=>{this.h._addStringVectorEntry(o,s)}));this.h._addStringVectorToInputStream(o,n,r)}))}addBoolToInputSidePacket(e,t){T(this,t,(r=>{this.h._addBoolToInputSidePacket(e,r)}))}addDoubleToInputSidePacket(e,t){T(this,t,(r=>{this.h._addDoubleToInputSidePacket(e,r)}))}addFloatToInputSidePacket(e,t){T(this,t,(r=>{this.h._addFloatToInputSidePacket(e,r)}))}addIntToInputSidePacket(e,t){T(this,t,(r=>{this.h._addIntToInputSidePacket(e,r)}))}addUintToInputSidePacket(e,t){T(this,t,(r=>{this.h._addUintToInputSidePacket(e,r)}))}addStringToInputSidePacket(e,t){T(this,t,(r=>{T(this,e,(n=>{this.h._addStringToInputSidePacket(n,r)}))}))}addProtoToInputSidePacket(e,t,r){T(this,r,(n=>{T(this,t,(o=>{let i=this.h._malloc(e.length);this.h.HEAPU8.set(e,i),this.h._addProtoToInputSidePacket(i,e.length,o,n),this.h._free(i)}))}))}addBoolVectorToInputSidePacket(e,t){T(this,t,(r=>{let n=this.h._allocateBoolVector(e.length);if(!n)throw Error("Unable to allocate new bool vector on heap.");for(let o of e)this.h._addBoolVectorEntry(n,o);this.h._addBoolVectorToInputSidePacket(n,r)}))}addDoubleVectorToInputSidePacket(e,t){T(this,t,(r=>{let n=this.h._allocateDoubleVector(e.length);if(!n)throw Error("Unable to allocate new double vector on heap.");for(let o of e)this.h._addDoubleVectorEntry(n,o);this.h._addDoubleVectorToInputSidePacket(n,r)}))}addFloatVectorToInputSidePacket(e,t){T(this,t,(r=>{let n=this.h._allocateFloatVector(e.length);if(!n)throw Error("Unable to allocate new float vector on heap.");for(let o of e)this.h._addFloatVectorEntry(n,o);this.h._addFloatVectorToInputSidePacket(n,r)}))}addIntVectorToInputSidePacket(e,t){T(this,t,(r=>{let n=this.h._allocateIntVector(e.length);if(!n)throw Error("Unable to allocate new int vector on heap.");for(let o of e)this.h._addIntVectorEntry(n,o);this.h._addIntVectorToInputSidePacket(n,r)}))}addUintVectorToInputSidePacket(e,t){T(this,t,(r=>{let n=this.h._allocateUintVector(e.length);if(!n)throw Error("Unable to allocate new unsigned int vector on heap.");for(let o of e)this.h._addUintVectorEntry(n,o);this.h._addUintVectorToInputSidePacket(n,r)}))}addStringVectorToInputSidePacket(e,t){T(this,t,(r=>{let n=this.h._allocateStringVector(e.length);if(!n)throw Error("Unable to allocate new string vector on heap.");for(let o of e)T(this,o,(i=>{this.h._addStringVectorEntry(n,i)}));this.h._addStringVectorToInputSidePacket(n,r)}))}attachBoolListener(e,t){Rr(this,e,t),T(this,e,(r=>{this.h._attachBoolListener(r)}))}attachBoolVectorListener(e,t){tn(this,e,t),T(this,e,(r=>{this.h._attachBoolVectorListener(r)}))}attachIntListener(e,t){Rr(this,e,t),T(this,e,(r=>{this.h._attachIntListener(r)}))}attachIntVectorListener(e,t){tn(this,e,t),T(this,e,(r=>{this.h._attachIntVectorListener(r)}))}attachUintListener(e,t){Rr(this,e,t),T(this,e,(r=>{this.h._attachUintListener(r)}))}attachUintVectorListener(e,t){tn(this,e,t),T(this,e,(r=>{this.h._attachUintVectorListener(r)}))}attachDoubleListener(e,t){Rr(this,e,t),T(this,e,(r=>{this.h._attachDoubleListener(r)}))}attachDoubleVectorListener(e,t){tn(this,e,t),T(this,e,(r=>{this.h._attachDoubleVectorListener(r)}))}attachFloatListener(e,t){Rr(this,e,t),T(this,e,(r=>{this.h._attachFloatListener(r)}))}attachFloatVectorListener(e,t){tn(this,e,t),T(this,e,(r=>{this.h._attachFloatVectorListener(r)}))}attachStringListener(e,t){Rr(this,e,t),T(this,e,(r=>{this.h._attachStringListener(r)}))}attachStringVectorListener(e,t){tn(this,e,t),T(this,e,(r=>{this.h._attachStringVectorListener(r)}))}attachProtoListener(e,t,r){Rr(this,e,t),T(this,e,(n=>{this.h._attachProtoListener(n,r||!1)}))}attachProtoVectorListener(e,t,r){tn(this,e,t),T(this,e,(n=>{this.h._attachProtoVectorListener(n,r||!1)}))}attachAudioListener(e,t,r){this.h._attachAudioListener||console.warn('Attempting to use attachAudioListener without support for output audio. Is build dep ":gl_graph_runner_audio_out" missing?'),Rr(this,e,((n,o)=>{n=new Float32Array(n.buffer,n.byteOffset,n.length/4),t(n,o)})),T(this,e,(n=>{this.h._attachAudioListener(n,r||!1)}))}finishProcessing(){this.h._waitUntilIdle()}closeGraph(){this.h._closeGraph(),this.h.simpleListeners=void 0,this.h.emptyPacketListeners=void 0}}),q2=class extends cv{};async function lv(e,t,r){return e=await(async(n,o,i,s)=>{if(o&&await C0(o),!self.ModuleFactory||i&&(await C0(i),!self.ModuleFactory))throw Error("ModuleFactory not set.");return self.Module&&s&&((o=self.Module).locateFile=s.locateFile,s.mainScriptUrlOrBlob&&(o.mainScriptUrlOrBlob=s.mainScriptUrlOrBlob)),s=await self.ModuleFactory(self.Module||s),self.ModuleFactory=self.Module=void 0,new n(s,null)})(e,t.wasmLoaderPath,t.assetLoaderPath,{locateFile:n=>n.endsWith(".wasm")?t.wasmBinaryPath.toString():t.assetBinaryPath&&n.endsWith(".data")?t.assetBinaryPath.toString():n}),await e.o(r),e}async function G2(e,t,r){return lv(e,t,r)}function Cu(e,t){let r=Dt(e.baseOptions,cc,1)||new cc;typeof t=="string"?(Ie(r,2,oc(t)),Ie(r,1)):t instanceof Uint8Array&&(Ie(r,1,N0(t,!1)),Ie(r,2)),Ot(e.baseOptions,0,1,r)}function K2(e,t){let r=t.baseOptions||{};if(t.baseOptions?.modelAssetBuffer&&t.baseOptions?.modelAssetPath)throw Error("Cannot set both baseOptions.modelAssetPath and baseOptions.modelAssetBuffer");if(!(Dt(e.baseOptions,cc,1)?.g()||Dt(e.baseOptions,cc,1)?.i()||t.baseOptions?.modelAssetBuffer||t.baseOptions?.modelAssetPath))throw Error("Either baseOptions.modelAssetPath or baseOptions.modelAssetBuffer must be set");if((function(n,o){let i=Dt(n.baseOptions,_0,3);if(!i){var s=i=new _0;_u(s,4,new m0)}"delegate"in o&&(o.delegate==="GPU"?_u(o=i,2,s=new Yw):_u(o=i,4,s=new m0)),Ot(n.baseOptions,0,3,i)})(e,r),r.modelAssetPath)return fetch(r.modelAssetPath.toString()).then((n=>{if(n.ok)return n.arrayBuffer();throw Error(`Failed to fetch model: ${r.modelAssetPath} (${n.status})`)})).then((n=>{try{e.g.h.FS_unlink("/model.dat")}catch{}e.g.h.FS_createDataFile("/","model.dat",new Uint8Array(n),!0,!1,!1),Cu(e,"/model.dat"),e.v()}));if(r.modelAssetBuffer instanceof Uint8Array)Cu(e,r.modelAssetBuffer);else if(r.modelAssetBuffer)return(async function(n){let o=[];for(var i=0;;){let{done:s,value:a}=await n.read();if(s)break;o.push(a),i+=a.length}if(o.length===0)return new Uint8Array(0);if(o.length===1)return o[0];n=new Uint8Array(i),i=0;for(let s of o)n.set(s,i),i+=s.length;return n})(r.modelAssetBuffer).then((n=>{Cu(e,n),e.v()}));return e.v(),Promise.resolve()}function x0(e){try{let t=e.j.length;if(t===1)throw Error(e.j[0].message);if(t>1)throw Error("Encountered multiple errors: "+e.j.map((r=>r.message)).join(", "))}finally{e.j=[]}}function co(e,t){e.s=Math.max(e.s,t)}var ec=class{constructor(e){this.g=e,this.j=[],this.s=0,this.g.setAutoRenderToScreen(!1)}setGraph(e,t){this.g.attachErrorListener(((r,n)=>{this.j.push(Error(n))})),this.g.N(),this.g.setGraph(e,t),x0(this)}finishProcessing(){this.g.finishProcessing(),x0(this)}close(){this.g.closeGraph()}};async function vi(e,t,r){return G2(e,t,r)}ec.prototype.close=ec.prototype.close,(function(e,t){e=e.split(".");var r,n=nn;for((e[0]in n)||n.execScript===void 0||n.execScript("var "+e[0]);e.length&&(r=e.shift());)e.length||t===void 0?n=n[r]&&n[r]!==Object.prototype[r]?n[r]:n[r]={}:n[r]=t})("TaskRunner",ec);var hc=class extends ec{constructor(){super(...arguments),this.F=48e3}O(e){this.F=e}};function hv(e){let t={classifications:Zu(e,nv).map((r=>(function(n,o=-1,i=""){return{categories:n.map((s=>{var a=on(Rt(s,1))??0??-1;let c=s.l,l=0|c[I],h=cn(c,l,2),u=ki(h);return u!=null&&u!==h&&Ce(c,l,2,u),{index:a,score:u??0??0,categoryName:Lr(Rt(s,3))??""??"",displayName:Lr(Rt(s,4))??""??""}})),headIndex:o,headName:i}})(Dt(r,Zw,4)?.g()??[],on(Rt(r,2))??0,Lr(Rt(r,3))??"")))};return Iu(Rt(e,2))!=null&&(t.timestampMs=Iu(Rt(e,2))??0),t}hc.prototype.setDefaultSampleRate=hc.prototype.O;var yt=class extends hc{constructor(e,t){super(new q2(e,t)),this.m=[],Ot(e=this.i=new H2,0,1,t=new lc)}get baseOptions(){return Dt(this.i,lc,1)}set baseOptions(e){Ot(this.i,0,1,e)}o(e){var t=this.i,r=Dt(this.i,v0,2);if(r=r?Q0(r):new v0,e.displayNamesLocale!==void 0?Ie(r,1,oc(e.displayNamesLocale)):e.displayNamesLocale===void 0&&Ie(r,1),e.maxResults!==void 0){var n=e.maxResults;if(n!=null){if(typeof n!="number"||!mc(n))throw Y1();n|=0}Ie(r,2,n)}else"maxResults"in e&&Ie(r,2);if(e.scoreThreshold!==void 0){if((n=e.scoreThreshold)!=null&&typeof n!="number")throw Error(`Value of float/double field must be a number, found ${typeof n}: ${n}`);Ie(r,3,n)}else"scoreThreshold"in e&&Ie(r,3);return e.categoryAllowlist!==void 0?i0(r,4,e.categoryAllowlist):"categoryAllowlist"in e&&Ie(r,4),e.categoryDenylist!==void 0?i0(r,5,e.categoryDenylist):"categoryDenylist"in e&&Ie(r,5),Ot(t,0,2,r),K2(this,e)}K(e,t){return this.D(e,t??this.F,this.s+1)}D(e,t,r){return this.g.addDoubleToStream(t,"sample_rate",r),this.g.addAudioToStreamWithShape(e,1,e.length,"audio_in",r),this.m=[],this.finishProcessing(),[...this.m]}v(){var e=new gd;$e(e,10,"audio_in"),$e(e,10,"sample_rate"),$e(e,15,"timestamped_classifications");let t=new j2;d2(t,tv,this.i);let r=new md;t2(r,oc("mediapipe.tasks.audio.audio_classifier.AudioClassifierGraph")),$e(r,3,"AUDIO:audio_in"),$e(r,3,"SAMPLE_RATE:sample_rate"),$e(r,4,"TIMESTAMPED_CLASSIFICATIONS:timestamped_classifications"),r.o(t),i2(e,r),this.g.attachProtoVectorListener("timestamped_classifications",((n,o)=>{(function(i,s){s.forEach((a=>{a=ov(a),i.m.push(hv(a))}))})(this,n),co(this,o)})),this.g.attachEmptyPacketListener("timestamped_classifications",(n=>{co(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function T0(e){return{embeddings:Zu(e,sv).map((t=>{let r={headIndex:on(Rt(t,3))??0??-1,headName:Lr(Rt(t,4))??""??""};if(n2(t,E0,vu(t,1))!==void 0)r.floatEmbedding=e2(Dt(t,E0,vu(t,1)),1,ki,j0===void 0?2:4).slice();else{let n=new Uint8Array(0);r.quantizedEmbedding=Dt(t,iv,vu(t,2))?.J()?.i()??n}return r})),timestampMs:Iu(Rt(e,2))??0}}yt.prototype.classify=yt.prototype.K,yt.prototype.setOptions=yt.prototype.o,yt.createFromModelPath=function(e,t){return G2(yt,e,{baseOptions:{modelAssetPath:t}})},yt.createFromModelBuffer=function(e,t){return vi(yt,e,{baseOptions:{modelAssetBuffer:t}})},yt.createFromOptions=function(e,t){return vi(yt,e,t)};var Kt=class extends hc{constructor(e,t){super(new q2(e,t)),this.m=[],Ot(e=this.i=new $2,0,1,t=new lc)}get baseOptions(){return Dt(this.i,lc,1)}set baseOptions(e){Ot(this.i,0,1,e)}o(e){var t=this.i,r=Dt(this.i,S0,2);return r=r?Q0(r):new S0,e.l2Normalize!==void 0?Ie(r,1,n0(e.l2Normalize)):"l2Normalize"in e&&Ie(r,1),e.quantize!==void 0?Ie(r,2,n0(e.quantize)):"quantize"in e&&Ie(r,2),Ot(t,0,2,r),K2(this,e)}L(e,t){return this.D(e,t??this.F,this.s+1)}D(e,t,r){return this.g.addDoubleToStream(t,"sample_rate",r),this.g.addAudioToStreamWithShape(e,1,e.length,"audio_in",r),this.m=[],this.finishProcessing(),this.m}v(){var e=new gd;$e(e,10,"audio_in"),$e(e,10,"sample_rate"),$e(e,15,"embeddings_out"),$e(e,15,"timestamped_embeddings_out");let t=new j2;d2(t,rv,this.i);let r=new md;t2(r,oc("mediapipe.tasks.audio.audio_embedder.AudioEmbedderGraph")),$e(r,3,"AUDIO:audio_in"),$e(r,3,"SAMPLE_RATE:sample_rate"),$e(r,4,"EMBEDDINGS:embeddings_out"),$e(r,4,"TIMESTAMPED_EMBEDDINGS:timestamped_embeddings_out"),r.o(t),i2(e,r),this.g.attachProtoListener("embeddings_out",((n,o)=>{n=k0(n),this.m.push(T0(n)),co(this,o)})),this.g.attachEmptyPacketListener("embeddings_out",(n=>{co(this,n)})),this.g.attachProtoVectorListener("timestamped_embeddings_out",((n,o)=>{for(let i of n)n=k0(i),this.m.push(T0(n));co(this,o)})),this.g.attachEmptyPacketListener("timestamped_embeddings_out",(n=>{co(this,n)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}},Qa;Kt.prototype.embed=Kt.prototype.L,Kt.prototype.setOptions=Kt.prototype.o,Kt.createFromModelPath=function(e,t){return vi(Kt,e,{baseOptions:{modelAssetPath:t}})},Kt.createFromModelBuffer=function(e,t){return vi(Kt,e,{baseOptions:{modelAssetBuffer:t}})},Kt.createFromOptions=function(e,t){return vi(Kt,e,t)};var uv=new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]);async function X2(){if(Qa===void 0)try{await WebAssembly.instantiate(uv),Qa=!0}catch{Qa=!1}return Qa}async function mi(e,t=Jw``){let r=await X2()?"wasm_internal":"wasm_nosimd_internal";return{wasmLoaderPath:`${t}/${e}_${r}.js`,wasmBinaryPath:`${t}/${e}_${r}.wasm`}}var Dr=class{};Dr.forVisionTasks=function(e){return mi("vision",e)},Dr.forTextTasks=function(e){return mi("text",e)},Dr.forGenAiExperimentalTasks=function(e){return mi("genai_experimental",e)},Dr.forGenAiTasks=function(e){return mi("genai",e)},Dr.forAudioTasks=function(e){return mi("audio",e)},Dr.isSimdSupported=function(){return X2()};var Tc=class{constructor(t,r,n,o,i,s,a){this.recordingInProgress=!1;this.recordIndex=1;this.countLoopTimes=0;this.examStartTime=0;this.recordingStartTime=0;this.recordingEndTime=0;this.isSpeech=!1;this.optionsProctoring=t,this.proctoringSession=r,this.paramsConfig=n,this.cameraRecorder=o,this.onRealtimeAlertsCallback=i,this.backend=s,this.backendToken=a}setProctoringId(t){this.proctoringId=t,this.proctoringId&&this.backend&&(this.upload=new ir(this.proctoringId,this.backend))}async startRecording(){this.examStartTime=Date.now(),await this.createAudioClassifier(),this.audioRecorder=new Ga(void 0,this.paramsConfig.audioBehaviourParameters),this.intervalNoiseDetection=setInterval(()=>this.onNoiseDetectedRecord(),200),this.streamingAudioClassification()}async stopRecording(){clearInterval(this.intervalNoiseDetection),await this.stopSoundRecord(),await this.volumeMeter.stop(),this.audioWorkletNode&&this.audioWorkletNode.disconnect()}async pauseRecording(){}async resumeRecording(){}async saveOnSession(t){}async onNoiseDetectedRecord(){!this.volumeMeter&&this.cameraRecorder.cameraStream&&(this.volumeMeter=new kr(this.cameraRecorder.cameraStream),this.volumeMeter.start().catch(n=>{console.log(n),this.volumeMeter=void 0}));let t=this.paramsConfig.audioBehaviourParameters?.noiseLimit||40,r=this.volumeMeter?.getVolume()||0;this.isSpeech=this.isSpeech||this.hasDesiredResult(this.audioClassificationResult),!this.isSpeech&&!this.recordingInProgress&&(t=t+t*.25),r>=t&&!this.recordingInProgress?(this.recordingInProgress=!0,this.audioRecorder.startRecording(),this.recordingStartTime=Date.now()-this.examStartTime):r<t&&this.recordingInProgress&&(Date.now()-this.recordingStartTime>=3e3&&this.countLoopTimes>4&&(await this.stopSoundRecord(),this.paramsConfig.videoBehaviourParameters?.detectNoise&&!this.isSpeech&&this.onRealtimeAlertsCallback({status:"ALERT",description:"Barulho detectado",type:"audio_detection_on_stream"}),this.paramsConfig.videoBehaviourParameters?.detectSpeech&&this.isSpeech&&this.onRealtimeAlertsCallback({status:"ALERT",description:"Fala detectada",type:"audio_detection_on_stream"}),this.recordingInProgress=!1,this.recordIndex++,this.countLoopTimes=0,this.isSpeech=!1),this.countLoopTimes++)}async stopSoundRecord(){if(this.audioRecorder.stopRecording&&await this.audioRecorder.stopRecording(),this.recordingEndTime=Date.now()-this.examStartTime,this.optionsProctoring.proctoringType!=="REALTIME")return;let t=new File(this.audioRecorder.blobs,`EP_${this.proctoringSession.id}_${this.recordingStartTime}_${this.recordingEndTime}_${this.isSpeech?"speech":"noise"}.webm`,{type:"audio/webm"});this.uploadRecord(t),this.audioRecorder.blobs=[]}download(t){let r=URL.createObjectURL(t),n=document.createElement("a");document.body.appendChild(n),n.style.display="none",n.href=r,n.download=t.name,n.click(),window.URL.revokeObjectURL(r)}uploadRecord(t){t&&this.upload&&this.backendToken&&this.upload.upload({file:t},this.backendToken)}hasDesiredResult(t){if(t==null)return!1;for(let r of t){let n=r.name.toLowerCase().includes("speech");if(this.optionsProctoring.proctoringType!=="REALTIME")return n;let o=parseFloat(r.score)>.22;if(n&&o)return!0}return!1}async createAudioClassifier(){let t=await Dr.forAudioTasks("https://cdn.jsdelivr.net/npm/@mediapipe/tasks-audio@0.10.0/wasm");this.audioClassifier=await yt.createFromOptions(t,{scoreThreshold:.15,maxResults:1,baseOptions:{modelAssetPath:"https://storage.googleapis.com/mediapipe-models/audio_classifier/yamnet/float32/1/yamnet.tflite"}})}async streamingAudioClassification(){this.context=new AudioContext({sampleRate:16e3});try{await this.context.audioWorklet.addModule(URL.createObjectURL(new Blob([dv],{type:"text/javascript"})))}catch{throw new Error("\u274C Error loading audio worklet module")}let t=this.context.createMediaStreamSource(this.cameraRecorder.cameraStream);this.audioWorkletNode=new AudioWorkletNode(this.context,"audio-processor"),this.audioWorkletNode.port.onmessage=r=>{let n=r.data,i=this.audioClassifier.classify(n)[0].classifications[0].categories;i.length>0&&(this.audioClassificationResult=[{name:i[0].categoryName,score:i[0].score.toFixed(3)}])},t.connect(this.audioWorkletNode),this.audioWorkletNode.connect(this.context.destination)}},dv=`
239
+ Size: ${t.file.size}`,s),o}}throw new Error("Could not upload")}};var Ss=class{constructor(t,r){this.alerts=[];this.onLostFocusCallback=t.onLostFocusCallback,this.onFocusCallback=t.onFocusCallback,this.optionsProctoring=r}async startRecording(){this.startTime=new Date(Date.now()),this.optionsProctoring.captureScreen&&(window.addEventListener("blur",()=>this.onLostFocus()),window.addEventListener("focus",()=>this.onReturnFocus()))}async pauseRecording(){window.removeEventListener("blur",()=>this.onLostFocus()),window.removeEventListener("focus",()=>this.onReturnFocus())}async resumeRecording(){this.optionsProctoring.captureScreen&&(window.addEventListener("blur",()=>this.onLostFocus()),window.addEventListener("focus",()=>this.onReturnFocus()))}async stopRecording(){window.removeEventListener("blur",()=>this.onLostFocus()),window.removeEventListener("focus",()=>this.onReturnFocus())}async saveOnSession(t){this.alerts.forEach(r=>{t.addAlert(r)})}onLostFocus(){Date.now()-this.startTime?.getTime()>1e4&&(this.onLostFocusCallback(),this.alerts.push({begin:Date.now()-this.startTime.getTime(),end:0,alert:25,type:3}))}onReturnFocus(){let t=this.alerts[this.alerts.length-1];t&&(this.onFocusCallback(),t.end=Date.now()-this.startTime.getTime())}addAlert({alert:t,type:r}){this.alerts.push({begin:Date.now()-this.startTime.getTime(),end:Date.now()-this.startTime.getTime(),alert:t,type:r})}};var ks=class{constructor(t,r){this.blobs=[];this.options={cameraId:void 0,microphoneId:void 0};this.audioParams={recordingBitrate:128};r&&(this.audioParams=r),t&&(this.options=t)}async startRecording(){let t={audio:{deviceId:this.options.microphoneId||"default"}};this.audioStream=await navigator.mediaDevices.getUserMedia(t);let{startRecording:r,stopRecording:i,pauseRecording:n,resumeRecording:o}=_r(this.audioStream,this.blobs,void 0,void 0,!0);this.recordingStart=r,this.recordingStop=i,this.recordingPause=n,this.recordingResume=o,this.recordingStart()}async pauseRecording(){}async resumeRecording(){}async stopRecording(){this.recordingStop&&await this.recordingStop()}async saveOnSession(t,r,i){t.addRecording({device:"",file:new File(this.blobs,`EP_${t.id}_audio_${r&&i&&`${r}_${i}`||"0"}.webm`,{type:"audio/webm"}),origin:"Mic"})}};var Tr=typeof self<"u"?self:{};function Ar(){throw Error("Invalid UTF8")}function Nm(e,t){return t=String.fromCharCode.apply(null,t),e==null?t:e+t}var Es,wl,r3=typeof TextDecoder<"u",i3,n3=typeof TextEncoder<"u";function Ef(e){if(n3)e=(i3||=new TextEncoder).encode(e);else{let r=0,i=new Uint8Array(3*e.length);for(let n=0;n<e.length;n++){var t=e.charCodeAt(n);if(t<128)i[r++]=t;else{if(t<2048)i[r++]=t>>6|192;else{if(t>=55296&&t<=57343){if(t<=56319&&n<e.length){let o=e.charCodeAt(++n);if(o>=56320&&o<=57343){t=1024*(t-55296)+o-56320+65536,i[r++]=t>>18|240,i[r++]=t>>12&63|128,i[r++]=t>>6&63|128,i[r++]=63&t|128;continue}n--}t=65533}i[r++]=t>>12|224,i[r++]=t>>6&63|128}i[r++]=63&t|128}}e=r===i.length?i:i.subarray(0,r)}return e}var Ml,Ps;e:{for(Sl=["CLOSURE_FLAGS"],_s=Tr,As=0;As<Sl.length;As++)if((_s=_s[Sl[As]])==null){Ps=null;break e}Ps=_s}var Sl,_s,As,An,jm=Ps&&Ps[610401301];Ml=jm!=null&&jm;var Vm=Tr.navigator;function Pl(e){return!!Ml&&!!An&&An.brands.some(({brand:t})=>t&&t.indexOf(e)!=-1)}function nt(e){var t;return(t=Tr.navigator)&&(t=t.userAgent)||(t=""),t.indexOf(e)!=-1}function cr(){return!!Ml&&!!An&&An.brands.length>0}function kl(){return cr()?Pl("Chromium"):(nt("Chrome")||nt("CriOS"))&&!(!cr()&&nt("Edge"))||nt("Silk")}An=Vm&&Vm.userAgentData||null;var o3=!cr()&&(nt("Trident")||nt("MSIE"));!nt("Android")||kl(),kl(),nt("Safari")&&(kl()||!cr()&&nt("Coast")||!cr()&&nt("Opera")||!cr()&&nt("Edge")||(cr()?Pl("Microsoft Edge"):nt("Edg/"))||cr()&&Pl("Opera"));var _f={},wn=null;function s3(e){let t=e.length,r=3*t/4;r%3?r=Math.floor(r):"=.".indexOf(e[t-1])!=-1&&(r="=.".indexOf(e[t-2])!=-1?r-2:r-1);let i=new Uint8Array(r),n=0;return function(o,s){function a(l){for(;c<o.length;){let d=o.charAt(c++),u=wn[d];if(u!=null)return u;if(!/^[\s\xa0]*$/.test(d))throw Error("Unknown base64 encoding at char: "+d)}return l}Af();let c=0;for(;;){let l=a(-1),d=a(0),u=a(64),m=a(64);if(m===64&&l===-1)break;s(l<<2|d>>4),u!=64&&(s(d<<4&240|u>>2),m!=64&&s(u<<6&192|m))}}(e,function(o){i[n++]=o}),n!==r?i.subarray(0,n):i}function Af(){if(!wn){wn={};var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),t=["+/=","+/","-_=","-_.","-_"];for(let r=0;r<5;r++){let i=e.concat(t[r].split(""));_f[r]=i;for(let n=0;n<i.length;n++){let o=i[n];wn[o]===void 0&&(wn[o]=n)}}}}var xf=typeof Uint8Array<"u",Cf=!o3&&typeof btoa=="function";function zm(e){if(!Cf){var t;t===void 0&&(t=0),Af(),t=_f[t];var r=Array(Math.floor(e.length/3)),i=t[64]||"";let c=0,l=0;for(;c<e.length-2;c+=3){var n=e[c],o=e[c+1],s=e[c+2],a=t[n>>2];n=t[(3&n)<<4|o>>4],o=t[(15&o)<<2|s>>6],s=t[63&s],r[l++]=a+n+o+s}switch(a=0,s=i,e.length-c){case 2:s=t[(15&(a=e[c+1]))<<2]||i;case 1:e=e[c],r[l]=t[e>>2]+t[(3&e)<<4|a>>4]+s+i}return r.join("")}for(t="",r=0,i=e.length-10240;r<i;)t+=String.fromCharCode.apply(null,e.subarray(r,r+=10240));return t+=String.fromCharCode.apply(null,r?e.subarray(r):e),btoa(t)}var Gm=/[-_.]/g,a3={"-":"+",_:"/",".":"="};function c3(e){return a3[e]||""}function Tf(e){if(!Cf)return s3(e);Gm.test(e)&&(e=e.replace(Gm,c3)),e=atob(e);let t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}function js(e){return xf&&e!=null&&e instanceof Uint8Array}var Ti={};function Ri(){return l3||=new dr(null,Ti)}function Nl(e){Rf(Ti);var t=e.g;return(t=t==null||js(t)?t:typeof t=="string"?Tf(t):null)==null?t:e.g=t}var dr=class{i(){return new Uint8Array(Nl(this)||0)}constructor(e,t){if(Rf(t),this.g=e,e!=null&&e.length===0)throw Error("ByteString should be constructed with non-empty values")}},l3,d3;function Rf(e){if(e!==Ti)throw Error("illegal external caller")}function Pf(e,t){e.__closure__error__context__984382||(e.__closure__error__context__984382={}),e.__closure__error__context__984382.severity=t}function Hm(){let e=Error("int32");return Pf(e,"warning"),e}var Vs=typeof Symbol=="function"&&typeof Symbol()=="symbol",u3=new Set;function zs(e,t,r=!1,i=!1){return e=typeof Symbol=="function"&&typeof Symbol()=="symbol"?i&&Symbol.for&&e?Symbol.for(e):e!=null?Symbol(e):Symbol():t,r&&u3.add(e),e}var h3=zs("jas",void 0,!0,!0),El=zs(void 0,"2ex"),bn=zs(void 0,"1oa",!0),Pi=zs(void 0,Symbol(),!0),T=Vs?h3:"M",If={M:{value:0,configurable:!0,writable:!0,enumerable:!1}},Df=Object.defineProperties;function jl(e,t){Vs||T in e||Df(e,If),e[T]|=t}function ue(e,t){Vs||T in e||Df(e,If),e[T]=t}function p3(e,t){ue(t,-30975&(0|e))}function Il(e,t){ue(t,-30941&(34|e))}function Vl(){return typeof BigInt=="function"}function ot(e){return Array.prototype.slice.call(e)}var zl,Cn={},m3={};function Wm(e){return!(!e||typeof e!="object"||e.g!==m3)}function Gl(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)&&e.constructor===Object}function Of(e,t){if(e!=null){if(typeof e=="string")e=e?new dr(e,Ti):Ri();else if(e.constructor!==dr)if(js(e))e=e.length?new dr(new Uint8Array(e),Ti):Ri();else{if(!t)throw Error();e=void 0}}return e}function Is(e){return!(!Array.isArray(e)||e.length)&&!!(1&(0|e[T]))}var qm=[];function Ir(e){if(2&e)throw Error()}function Hl(e){return Pi?e[Pi]:void 0}ue(qm,55),zl=Object.freeze(qm);var Bf=Object.freeze({}),Wl=typeof Tr.BigInt=="function"&&typeof Tr.BigInt(0)=="bigint",Dl=e=>Wl?e>=g3&&e<=b3:e[0]==="-"?$m(e,f3):$m(e,y3),f3=Number.MIN_SAFE_INTEGER.toString(),g3=Wl?BigInt(Number.MIN_SAFE_INTEGER):void 0,y3=Number.MAX_SAFE_INTEGER.toString(),b3=Wl?BigInt(Number.MAX_SAFE_INTEGER):void 0;function $m(e,t){if(e.length>t.length)return!1;if(e.length<t.length||e===t)return!0;for(let r=0;r<e.length;r++){let i=e[r],n=t[r];if(i>n)return!1;if(i<n)return!0}}var v3=typeof Uint8Array.prototype.slice=="function",Ff,G=0,ee=0;function Xm(e){let t=e>>>0;G=t,ee=(e-t)/4294967296>>>0}function Ii(e){if(e<0){Xm(-e);let[t,r]=Xl(G,ee);G=t>>>0,ee=r>>>0}else Xm(e)}function Lf(e){let t=Ff||=new DataView(new ArrayBuffer(8));t.setFloat32(0,+e,!0),ee=0,G=t.getUint32(0,!0)}function ql(e,t){let r=4294967296*t+(e>>>0);return Number.isSafeInteger(r)?r:xn(e,t)}function $l(e,t){let r=2147483648&t;return r&&(t=~t>>>0,(e=1+~e>>>0)==0&&(t=t+1>>>0)),typeof(e=ql(e,t))=="number"?r?-e:e:r?"-"+e:e}function xn(e,t){if(e>>>=0,(t>>>=0)<=2097151)var r=""+(4294967296*t+e);else Vl()?r=""+(BigInt(t)<<BigInt(32)|BigInt(e)):(e=(16777215&e)+6777216*(r=16777215&(e>>>24|t<<8))+6710656*(t=t>>16&65535),r+=8147497*t,t*=2,e>=1e7&&(r+=e/1e7>>>0,e%=1e7),r>=1e7&&(t+=r/1e7>>>0,r%=1e7),r=t+Km(r)+Km(e));return r}function Km(e){return e=String(e),"0000000".slice(e.length)+e}function Gs(e){if(e.length<16)Ii(Number(e));else if(Vl())e=BigInt(e),G=Number(e&BigInt(4294967295))>>>0,ee=Number(e>>BigInt(32)&BigInt(4294967295));else{let t=+(e[0]==="-");ee=G=0;let r=e.length;for(let i=t,n=(r-t)%6+t;n<=r;i=n,n+=6){let o=Number(e.slice(i,n));ee*=1e6,G=1e6*G+o,G>=4294967296&&(ee+=Math.trunc(G/4294967296),ee>>>=0,G>>>=0)}if(t){let[i,n]=Xl(G,ee);G=i,ee=n}}}function Xl(e,t){return t=~t,e?e=1+~e:t+=1,[e,t]}var Uf=typeof BigInt=="function"?BigInt.asIntN:void 0,w3=typeof BigInt=="function"?BigInt.asUintN:void 0,Sn=Number.isSafeInteger,Hs=Number.isFinite,Ds=Math.trunc;function Tn(e){return e==null||typeof e=="number"?e:e==="NaN"||e==="Infinity"||e==="-Infinity"?Number(e):void 0}function Jm(e){if(e!=null&&typeof e!="boolean"){var t=typeof e;throw Error(`Expected boolean but got ${t!="object"?t:e?Array.isArray(e)?"array":t:"null"}: ${e}`)}return e}var S3=/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;function Kl(e){switch(typeof e){case"bigint":return!0;case"number":return Hs(e);case"string":return S3.test(e);default:return!1}}function Rr(e){if(e==null)return e;if(typeof e=="string"&&e)e=+e;else if(typeof e!="number")return;return Hs(e)?0|e:void 0}function Ym(e){if(e[0]==="-")return!1;let t=e.length;return t<20||t===20&&Number(e.substring(0,6))<184467}function Mf(e){return e=Ds(e),Sn(e)||(Ii(e),e=$l(G,ee)),e}function Nf(e){var t=Ds(Number(e));if(Sn(t))return String(t);if((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),t=e.length,!(e[0]==="-"?t<20||t===20&&Number(e.substring(0,7))>-922337:t<19||t===19&&Number(e.substring(0,6))<922337))if(Gs(e),e=G,2147483648&(t=ee))if(Vl())e=""+(BigInt(0|t)<<BigInt(32)|BigInt(e>>>0));else{let[r,i]=Xl(e,t);e="-"+xn(r,i)}else e=xn(e,t);return e}function Ol(e){return e==null?e:typeof e=="bigint"?(Dl(e)?e=Number(e):(e=Uf(64,e),e=Dl(e)?Number(e):String(e)),e):Kl(e)?typeof e=="number"?Mf(e):Nf(e):void 0}function k3(e){if(e==null)return e;var t=typeof e;if(t==="bigint")return String(w3(64,e));if(Kl(e)){if(t==="string")return t=Ds(Number(e)),Sn(t)&&t>=0?e=String(t):((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),Ym(e)||(Gs(e),e=xn(G,ee))),e;if(t==="number")return(e=Ds(e))>=0&&Sn(e)?e:function(r){if(r<0){Ii(r);var i=xn(G,ee);return r=Number(i),Sn(r)?r:i}return Ym(i=String(r))?i:(Ii(r),ql(G,ee))}(e)}}function jf(e){if(typeof e!="string")throw Error();return e}function Os(e){if(e!=null&&typeof e!="string")throw Error();return e}function ur(e){return e==null||typeof e=="string"?e:void 0}function Vf(e,t,r){if(e!=null&&typeof e=="object"&&e.B===Cn)return e;if(Array.isArray(e)){var i=0|e[T],n=i;return n===0&&(n|=32&r),(n|=2&r)!==i&&ue(e,n),new t(e)}}function zf(e,t,r,i,n){if(e!=null){if(Array.isArray(e))e=Is(e)?void 0:n&&2&(0|e[T])?e:Jl(e,t,r,i!==void 0,n);else if(Gl(e)){let o={};for(let s in e)o[s]=zf(e[s],t,r,i,n);e=o}else e=t(e,i);return e}}function Jl(e,t,r,i,n){let o=i||r?0|e[T]:0,s=i?!!(32&o):void 0;i=ot(e);for(let a=0;a<i.length;a++)i[a]=zf(i[a],t,r,s,n);return r&&((e=Hl(e))&&(i[Pi]=ot(e)),r(o,i)),i}function E3(e){return e.B===Cn?e.toJSON():function(t){switch(typeof t){case"number":return isFinite(t)?t:String(t);case"bigint":return Dl(t)?Number(t):String(t);case"boolean":return t?1:0;case"object":if(t)if(Array.isArray(t)){if(Is(t))return}else{if(js(t))return zm(t);if(t instanceof dr){let r=t.g;return r==null?"":typeof r=="string"?r:t.g=zm(r)}}}return t}(e)}function _3(e){return Jl(e,E3,void 0,void 0,!1)}var Gf,A3;function kn(e,t,r){return e=Hf(e,t[0],t[1],r?1:2),t!==Gf&&r&&jl(e,16384),e}function Hf(e,t,r,i){if(e==null){var n=96;r?(e=[r],n|=512):e=[],t&&(n=-33521665&n|(1023&t)<<15)}else{if(!Array.isArray(e))throw Error("narr");if(2048&(n=0|e[T]))throw Error("farr");if(64&n)return e;if(i===1||i===2||(n|=64),r&&(n|=512,r!==e[0]))throw Error("mid");e:{if(i=(r=e).length){let o=i-1;if(Gl(r[o])){if((t=o-(512&(n|=256)?0:-1))>=1024)throw Error("pvtlmt");n=-33521665&n|(1023&t)<<15;break e}}if(t){if((t=Math.max(t,i-(512&n?0:-1)))>1024)throw Error("spvt");n=-33521665&n|(1023&t)<<15}}}return ue(e,n),e}function Wf(e,t,r=Il){if(e!=null){if(xf&&e instanceof Uint8Array)return t?e:new Uint8Array(e);if(Array.isArray(e)){var i=0|e[T];return 2&i?e:(t&&=i===0||!!(32&i)&&!(64&i||!(16&i)),t?(ue(e,-12293&(34|i)),e):Jl(e,Wf,4&i?Il:r,!0,!0))}return e.B===Cn&&(e=2&(i=0|(r=e.l)[T])?e:new e.constructor(Ws(r,i,!0))),e}}function qf(e){let t=e.l;return new e.constructor(Ws(t,0|t[T],!1))}function Ws(e,t,r){let i=r||2&t?Il:p3,n=!!(32&t);return e=function(o,s,a){let c=ot(o);var l=c.length;let d=256&s?c[l-1]:void 0;for(l+=d?-1:0,s=512&s?1:0;s<l;s++)c[s]=a(c[s]);if(d){s=c[s]={};for(let u in d)s[u]=a(d[u])}return(o=Hl(o))&&(c[Pi]=ot(o)),c}(e,t,o=>Wf(o,n,i)),jl(e,32|(r?2:0)),e}function Yl(e){let t=e.l,r=0|t[T];return 2&r?new e.constructor(Ws(t,r,!1)):e}function pt(e,t){return Dr(e=e.l,0|e[T],t)}function Dr(e,t,r,i){if(r===-1)return null;var n=r+(512&t?0:-1);let o=e.length-1;return n>=o&&256&t?e[o][r]:i&&256&t&&(t=e[o][r])!=null?(e[n]!=null&&El!=null&&((n=(e=d3??={})[El]||0)>=4||(e[El]=n+1,Pf(e=Error(),"incident"),function(s){Tr.setTimeout(()=>{throw s},0)}(e))),t):n<=o?e[n]:void 0}function ge(e,t,r){let i=e.l,n=0|i[T];return Ir(n),he(i,n,t,r),e}function he(e,t,r,i){let n=512&t?0:-1,o=r+n;var s=e.length-1;return o>=s&&256&t?(e[s][r]=i,t):o<=s?(e[o]=i,256&t&&r in(e=e[s])&&delete e[r],t):(i!==void 0&&(r>=(s=t>>15&1023||536870912)?i!=null&&(e[s+n]={[r]:i},ue(e,t|=256)):e[o]=i),t)}function $f(e){let t=0|(e=e.l)[T],r=Dr(e,t,1),i=Of(r,!0);return i!=null&&i!==r&&he(e,t,1,i),i}function Xf(e,t,r,i,n){let o=e.l,s=2&(e=0|o[T])?1:i;n=!!n;let a=0|(i=Zl(o,e,t))[T];if(!(4&a)){4&a&&(i=ot(i),a=Gt(a,e),e=he(o,e,t,i));let c=0,l=0;for(;c<i.length;c++){let d=r(i[c]);d!=null&&(i[l++]=d)}l<c&&(i.length=l),a=Ql(a,e),r=-4097&(20|a),a=r&=-8193,ue(i,a),2&a&&Object.freeze(i)}return s===1||s===4&&32&a?zt(a)||(n=a,a|=2,a!==n&&ue(i,a),Object.freeze(i)):(s===2&&zt(a)&&(i=ot(i),a=Gt(a,e),a=hr(a,e,n),ue(i,a),e=he(o,e,t,i)),zt(a)||(t=a,a=hr(a,e,n),a!==t&&ue(i,a))),i}function Zl(e,t,r,i){return e=Dr(e,t,r,i),Array.isArray(e)?e:zl}function Ql(e,t){return e===0&&(e=Gt(e,t)),1|e}function zt(e){return!!(2&e)&&!!(4&e)||!!(2048&e)}function Zm(e,t,r){let i=0|(e=e.l)[T];if(Ir(i),r==null)he(e,i,t);else{var n=0|r[T],o=n,s=zt(n),a=s||Object.isFrozen(r);for(s||(n=0),a||(r=ot(r),o=0,n=hr(n=Gt(n,i),i,!0),a=!1),n|=21,s=0;s<r.length;s++){let c=r[s],l=jf(c);Object.is(c,l)||(a&&(r=ot(r),o=0,n=hr(n=Gt(n,i),i,!0),a=!1),r[s]=l)}n!==o&&(a&&(r=ot(r),n=hr(n=Gt(n,i),i,!0)),ue(r,n)),he(e,i,t,r)}}function Kf(e,t){let r=0|(e=e.l)[T];Ir(r),he(e,r,2,t===""?void 0:t)}function Rn(e,t,r,i,n){Ir(t);var o=!(!(64&t)&&16384&t);let s=(n=Zl(e,t,r,n))!==zl;if(o||!s){let a=o=s?0|n[T]:0;(!s||2&a||zt(a)||4&a&&!(32&a))&&(n=ot(n),a=Gt(a,t),t=he(e,t,r,n)),a=-13&Ql(a,t),a=hr(i?-17&a:16|a,t,!0),a!==o&&ue(n,a)}return n}function _l(e,t){var r=Ng;return td(ed(e=e.l),e,0|e[T],r)===t?t:-1}function ed(e){if(Vs)return e[bn]??(e[bn]=new Map);if(bn in e)return e[bn];let t=new Map;return Object.defineProperty(e,bn,{value:t}),t}function Jf(e,t,r,i){let n=ed(e),o=td(n,e,t,r);return o!==i&&(o&&(t=he(e,t,o)),n.set(r,i)),t}function td(e,t,r,i){let n=e.get(i);if(n!=null)return n;n=0;for(let o=0;o<i.length;o++){let s=i[o];Dr(t,r,s)!=null&&(n!==0&&(r=he(t,r,n)),n=s)}return e.set(i,n),n}function rd(e,t,r,i){let n,o=0|e[T];if((i=Dr(e,o,r,i))!=null&&i.B===Cn)return(t=Yl(i))!==i&&he(e,o,r,t),t.l;if(Array.isArray(i)){let s=0|i[T];n=2&s?kn(Ws(i,s,!1),t,!0):64&s?i:kn(n,t,!0)}else n=kn(void 0,t,!0);return n!==i&&he(e,o,r,n),n}function Yf(e,t,r,i){let n=0|(e=e.l)[T];return(t=Vf(i=Dr(e,n,r,i),t,n))!==i&&t!=null&&he(e,n,r,t),t}function mt(e,t,r){if((t=Yf(e,t,r,!1))==null)return t;let i=0|(e=e.l)[T];if(!(2&i)){let n=Yl(t);n!==t&&he(e,i,r,t=n)}return t}function Zf(e,t,r,i,n,o){e=e.l;var s=!!(2&t);let a=s?1:i;n=!!n,o&&=!s;var c=0|(i=Zl(e,t,1))[T];if(!(s=!!(4&c))){var l=i,d=t;let u=!!(2&(c=Ql(c,t)));u&&(d|=2);let m=!u,y=!0,p=0,f=0;for(;p<l.length;p++){let g=Vf(l[p],r,d);if(g instanceof r){if(!u){let b=!!(2&(0|g.l[T]));m&&=!b,y&&=b}l[f++]=g}}f<p&&(l.length=f),c|=4,c=y?16|c:-17&c,ue(l,c=m?8|c:-9&c),u&&Object.freeze(l)}if(o&&!(8&c||!i.length&&(a===1||a===4&&32&c))){for(zt(c)&&(i=ot(i),c=Gt(c,t),t=he(e,t,1,i)),r=i,o=c,l=0;l<r.length;l++)(c=r[l])!==(d=Yl(c))&&(r[l]=d);o|=8,ue(r,o=r.length?-17&o:16|o),c=o}return a===1||a===4&&32&c?zt(c)||(t=c,(c|=!i.length||16&c&&(!s||32&c)?2:2048)!==t&&ue(i,c),Object.freeze(i)):(a===2&&zt(c)&&(ue(i=ot(i),c=hr(c=Gt(c,t),t,n)),t=he(e,t,1,i)),zt(c)||(e=c,(c=hr(c,t,n))!==e&&ue(i,c))),i}function id(e,t){let r=0|e.l[T];return Zf(e,r,t,Bf===void 0?2:4,!1,!(2&r))}function ft(e,t,r,i){return i==null&&(i=void 0),ge(e,r,i)}function Al(e,t,r){var i=Fg;r==null&&(r=void 0);e:{let n=0|(e=e.l)[T];if(Ir(n),r==null){let o=ed(e);if(td(o,e,n,i)!==t)break e;o.set(i,0)}else n=Jf(e,n,i,t);he(e,n,t,r)}}function Gt(e,t){return-2049&(e=32|(2&t?2|e:-3&e))}function hr(e,t,r){return 32&t&&r||(e&=-33),e}function Qf(e,t){var r=vd;let i=0|e.l[T];Ir(i),e=Zf(e,i,r,2,!0),t=t??new r,e.push(t),e[T]=2&(0|t.l[T])?-9&e[T]:-17&e[T]}function Be(e,t,r){Ir(0|e.l[T]),Xf(e,t,ur,2,!0).push(jf(r))}function eg(e,t){return Error(`Invalid wire type: ${e} (at position ${t})`)}function nd(){return Error("Failed to read varint, encoding is invalid.")}function tg(e,t){return Error(`Tried to read past the end of the data ${t} > ${e}`)}function od(e){if(typeof e=="string")return{buffer:Tf(e),u:!1};if(Array.isArray(e))return{buffer:new Uint8Array(e),u:!1};if(e.constructor===Uint8Array)return{buffer:e,u:!1};if(e.constructor===ArrayBuffer)return{buffer:new Uint8Array(e),u:!1};if(e.constructor===dr)return{buffer:Nl(e)||new Uint8Array(0),u:!0};if(e instanceof Uint8Array)return{buffer:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),u:!1};throw Error("Type not convertible to a Uint8Array, expected a Uint8Array, an ArrayBuffer, a base64 encoded string, a ByteString or an Array of numbers")}function sd(e,t){let r,i=0,n=0,o=0,s=e.i,a=e.g;do r=s[a++],i|=(127&r)<<o,o+=7;while(o<32&&128&r);for(o>32&&(n|=(127&r)>>4),o=3;o<32&&128&r;o+=7)r=s[a++],n|=(127&r)<<o;if(Cr(e,a),r<128)return t(i>>>0,n>>>0);throw nd()}function ad(e){let t=0,r=e.g,i=r+10,n=e.i;for(;r<i;){let o=n[r++];if(t|=o,(128&o)==0)return Cr(e,r),!!(127&t)}throw nd()}function Fe(e){let t=e.i,r=e.g,i=t[r++],n=127&i;if(128&i&&(i=t[r++],n|=(127&i)<<7,128&i&&(i=t[r++],n|=(127&i)<<14,128&i&&(i=t[r++],n|=(127&i)<<21,128&i&&(i=t[r++],n|=i<<28,128&i&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++]&&128&t[r++])))))throw nd();return Cr(e,r),n}function Bl(e){var t=e.i;let r=e.g,i=t[r],n=t[r+1],o=t[r+2];return t=t[r+3],Cr(e,e.g+4),(i<<0|n<<8|o<<16|t<<24)>>>0}function Fl(e){var t=Bl(e);e=2*(t>>31)+1;let r=t>>>23&255;return t&=8388607,r==255?t?NaN:e*(1/0):r==0?1401298464324817e-60*e*t:e*Math.pow(2,r-150)*(t+8388608)}function x3(e){return Fe(e)}function xl(e,t,{C:r=!1}={}){e.C=r,t&&(t=od(t),e.i=t.buffer,e.m=t.u,e.s=0,e.j=e.i.length,e.g=e.s)}function Cr(e,t){if(e.g=t,t>e.j)throw tg(e.j,t)}function rg(e,t){if(t<0)throw Error(`Tried to read a negative byte length: ${t}`);let r=e.g,i=r+t;if(i>e.j)throw tg(t,e.j-r);return e.g=i,r}function ig(e,t){if(t==0)return Ri();var r=rg(e,t);return e.C&&e.m?r=e.i.subarray(r,r+t):(e=e.i,r=r===(t=r+t)?new Uint8Array(0):v3?e.slice(r,t):new Uint8Array(e.subarray(r,t))),r.length==0?Ri():new dr(r,Ti)}var Qm=[];function ng(e){var t=e.g;if(t.g==t.j)return!1;e.j=e.g.g;var r=Fe(e.g)>>>0;if(t=r>>>3,!((r&=7)>=0&&r<=5))throw eg(r,e.j);if(t<1)throw Error(`Invalid field number: ${t} (at position ${e.j})`);return e.m=t,e.i=r,!0}function Ts(e){switch(e.i){case 0:e.i!=0?Ts(e):ad(e.g);break;case 1:Cr(e=e.g,e.g+8);break;case 2:if(e.i!=2)Ts(e);else{var t=Fe(e.g)>>>0;Cr(e=e.g,e.g+t)}break;case 5:Cr(e=e.g,e.g+4);break;case 3:for(t=e.m;;){if(!ng(e))throw Error("Unmatched start-group tag: stream EOF");if(e.i==4){if(e.m!=t)throw Error("Unmatched end-group tag");break}Ts(e)}break;default:throw eg(e.i,e.j)}}function qs(e,t,r){let i=e.g.j,n=Fe(e.g)>>>0,o=e.g.g+n,s=o-i;if(s<=0&&(e.g.j=o,r(t,e,void 0,void 0,void 0),s=o-e.g.g),s)throw Error(`Message parsing ended unexpectedly. Expected to read ${n} bytes, instead read ${n-s} bytes, either the data ended unexpectedly or the message misreported its own length`);e.g.g=o,e.g.j=i}function cd(e){var t=Fe(e.g)>>>0,r=rg(e=e.g,t);if(e=e.i,r3){var i,n=e;(i=wl)||(i=wl=new TextDecoder("utf-8",{fatal:!0})),t=r+t,n=r===0&&t===n.length?n:n.subarray(r,t);try{var o=i.decode(n)}catch(a){if(Es===void 0){try{i.decode(new Uint8Array([128]))}catch{}try{i.decode(new Uint8Array([97])),Es=!0}catch{Es=!1}}throw!Es&&(wl=void 0),a}}else{t=(o=r)+t,r=[];let a,c=null;for(;o<t;){var s=e[o++];s<128?r.push(s):s<224?o>=t?Ar():(a=e[o++],s<194||(192&a)!=128?(o--,Ar()):r.push((31&s)<<6|63&a)):s<240?o>=t-1?Ar():(a=e[o++],(192&a)!=128||s===224&&a<160||s===237&&a>=160||(192&(i=e[o++]))!=128?(o--,Ar()):r.push((15&s)<<12|(63&a)<<6|63&i)):s<=244?o>=t-2?Ar():(a=e[o++],(192&a)!=128||a-144+(s<<28)>>30!=0||(192&(i=e[o++]))!=128||(192&(n=e[o++]))!=128?(o--,Ar()):(s=(7&s)<<18|(63&a)<<12|(63&i)<<6|63&n,s-=65536,r.push(55296+(s>>10&1023),56320+(1023&s)))):Ar(),r.length>=8192&&(c=Nm(c,r),r.length=0)}o=Nm(c,r)}return o}function og(e){let t=Fe(e.g)>>>0;return ig(e.g,t)}function ld(e,t,r){var i=Fe(e.g)>>>0;for(i=e.g.g+i;e.g.g<i;)r.push(t(e.g))}var xs=[];function C3(e){return e}var Ai;function sg(e,t,r){t.g?t.j(e,t.g,t.i,r):t.j(e,t.i,r)}var X=class{constructor(e,t){this.l=Hf(e,t)}toJSON(){let e=!Ai;try{return e&&(Ai=_3),ag(this)}finally{e&&(Ai=void 0)}}u(){return!!(2&(0|this.l[T]))}};function ag(e){var t=e.l;{t=(e=Ai(t))!==t;let l=e.length;if(l){var r=e[l-1],i=Gl(r);i?l--:r=void 0;var n=e;if(i){e:{var o,s=r,a=!1;if(s)for(let d in s)isNaN(+d)?(o??={})[d]=s[d]:(i=s[d],Array.isArray(i)&&(Is(i)||Wm(i)&&i.size===0)&&(i=null),i==null&&(a=!0),i!=null&&((o??={})[d]=i));if(a||(o=s),o)for(let d in o){a=o;break e}a=null}s=a==null?r!=null:a!==r}for(;l>0&&((o=n[l-1])==null||Is(o)||Wm(o)&&o.size===0);l--)var c=!0;(n!==e||s||c)&&(t?(c||s||a)&&(n.length=l):n=Array.prototype.slice.call(n,0,l),a&&n.push(a)),c=n}else c=e}return c}function ef(e){return e?/^\d+$/.test(e)?(Gs(e),new Ll(G,ee)):null:T3||=new Ll(0,0)}X.prototype.B=Cn,X.prototype.toString=function(){try{return Ai=C3,ag(this).toString()}finally{Ai=void 0}};var Ll=class{constructor(e,t){this.i=e>>>0,this.g=t>>>0}},T3;function tf(e){return e?/^-?\d+$/.test(e)?(Gs(e),new Ul(G,ee)):null:R3||=new Ul(0,0)}var Ul=class{constructor(e,t){this.i=e>>>0,this.g=t>>>0}},R3;function xi(e,t,r){for(;r>0||t>127;)e.g.push(127&t|128),t=(t>>>7|r<<25)>>>0,r>>>=7;e.g.push(t)}function Pn(e,t){for(;t>127;)e.g.push(127&t|128),t>>>=7;e.g.push(t)}function $s(e,t){if(t>=0)Pn(e,t);else{for(let r=0;r<9;r++)e.g.push(127&t|128),t>>=7;e.g.push(1)}}function Bs(e,t){e.g.push(t>>>0&255),e.g.push(t>>>8&255),e.g.push(t>>>16&255),e.g.push(t>>>24&255)}function Di(e,t){t.length!==0&&(e.j.push(t),e.i+=t.length)}function gt(e,t,r){Pn(e.g,8*t+r)}function Xs(e,t){return gt(e,t,2),t=e.g.end(),Di(e,t),t.push(e.i),t}function Ks(e,t){var r=t.pop();for(r=e.i+e.g.length()-r;r>127;)t.push(127&r|128),r>>>=7,e.i++;t.push(r),e.i++}function Js(e,t,r){gt(e,t,2),Pn(e.g,r.length),Di(e,e.g.end()),Di(e,r)}function yt(){let e=class{constructor(){throw Error()}};return Object.setPrototypeOf(e,e.prototype),e}var dd=yt(),cg=yt(),ud=yt(),hd=yt(),lg=yt(),dg=yt(),ug=yt(),hg=yt(),Oi=class{constructor(e,t,r){this.g=e,this.i=t,e=dd,this.j=!!e&&r===e||!1}};function pd(e,t){return new Oi(e,t,dd)}function pg(e,t,r,i,n){(t=yg(t,i))!=null&&(r=Xs(e,r),n(t,e),Ks(e,r))}var P3=pd(function(e,t,r,i,n){return e.i===2&&(qs(e,rd(t,i,r),n),!0)},pg),I3=pd(function(e,t,r,i,n){return e.i===2&&(qs(e,rd(t,i,r,!0),n),!0)},pg),Ys=Symbol(),md=Symbol(),rf=Symbol(),nf=Symbol(),mg,fg;function Or(e,t,r,i){var n=i[e];if(n)return n;(n={}).P=i,n.A=function(u){switch(typeof u){case"boolean":return Gf||=[0,void 0,!0];case"number":return u>0?void 0:u===0?A3||=[0,void 0]:[-u,void 0];case"string":return[0,u];case"object":return u}}(i[0]);var o=i[1];let s=1;o&&o.constructor===Object&&(n.H=o,typeof(o=i[++s])=="function"&&(n.I=!0,mg??=o,fg??=i[s+1],o=i[s+=2]));let a={};for(;o&&Array.isArray(o)&&o.length&&typeof o[0]=="number"&&o[0]>0;){for(var c=0;c<o.length;c++)a[o[c]]=o;o=i[++s]}for(c=1;o!==void 0;){let u;typeof o=="number"&&(c+=o,o=i[++s]);var l=void 0;if(o instanceof Oi?u=o:(u=P3,s--),u?.j){o=i[++s],l=i;var d=s;typeof o=="function"&&(o=o(),l[d]=o),l=o}for(d=c+1,typeof(o=i[++s])=="number"&&o<0&&(d-=o,o=i[++s]);c<d;c++){let m=a[c];l?r(n,c,u,l,m):t(n,c,u,m)}}return i[e]=n}function gg(e){return Array.isArray(e)?e[0]instanceof Oi?e:[I3,e]:[e,void 0]}function yg(e,t){return e instanceof X?e.l:Array.isArray(e)?kn(e,t,!1):void 0}function fd(e,t,r,i){let n=r.g;e[t]=i?(o,s,a)=>n(o,s,a,i):n}function gd(e,t,r,i,n){let o=r.g,s,a;e[t]=(c,l,d)=>o(c,l,d,a||=Or(md,fd,gd,i).A,s||=yd(i),n)}function yd(e){let t=e[rf];if(t!=null)return t;let r=Or(md,fd,gd,e);return t=r.I?(i,n)=>mg(i,n,r):(i,n)=>{let o=0|i[T];for(;ng(n)&&n.i!=4;){var s=n.m,a=r[s];if(a==null){var c=r.H;c&&(c=c[s])&&(c=D3(c))!=null&&(a=r[s]=c)}a!=null&&a(n,i,s)||(s=(a=n).j,Ts(a),a.G?a=void 0:(c=a.g.g-s,a.g.g=s,a=ig(a.g,c)),s=i,a&&((c=s[Pi])?c.push(a):s[Pi]=[a]))}return 16384&o&&jl(i,34),!0},e[rf]=t}function D3(e){let t=(e=gg(e))[0].g;if(e=e[1]){let r=yd(e),i=Or(md,fd,gd,e).A;return(n,o,s)=>t(n,o,s,i,r)}return t}function Zs(e,t,r){e[t]=r.i}function Qs(e,t,r,i){let n,o,s=r.i;e[t]=(a,c,l)=>s(a,c,l,o||=Or(Ys,Zs,Qs,i).A,n||=bg(i))}function bg(e){let t=e[nf];if(!t){let r=Or(Ys,Zs,Qs,e);t=(i,n)=>vg(i,n,r),e[nf]=t}return t}function vg(e,t,r){for(var i=0|e[T],n=512&i?0:-1,o=e.length,s=512&i?1:0,a=o+(256&i?-1:0);s<a;s++){let c=e[s];if(c==null)continue;let l=s-n,d=of(r,l);d&&d(t,c,l)}if(256&i){i=e[o-1];for(let c in i)n=+c,Number.isNaN(n)||(o=i[n])!=null&&(a=of(r,n))&&a(t,o,n)}if(e=Hl(e))for(Di(t,t.g.end()),r=0;r<e.length;r++)Di(t,Nl(e[r])||new Uint8Array(0))}function of(e,t){var r=e[t];if(r)return r;if((r=e.H)&&(r=r[t])){var i=(r=gg(r))[0].i;if(r=r[1]){let n=bg(r),o=Or(Ys,Zs,Qs,r).A;r=e.I?fg(o,n):(s,a,c)=>i(s,a,c,o,n)}else r=i;return e[t]=r}}function ea(e,t){if(Array.isArray(t)){var r=0|t[T];if(4&r)return t;for(var i=0,n=0;i<t.length;i++){let o=e(t[i]);o!=null&&(t[n++]=o)}return n<i&&(t.length=n),ue(t,-12289&(5|r)),2&r&&Object.freeze(t),t}}function ke(e,t,r){return new Oi(e,t,r)}function ta(e,t,r){return new Oi(e,t,r)}function Ee(e,t,r){he(e,0|e[T],t,r)}function wg(e,t,r){if(t=function(i){if(i==null)return i;let n=typeof i;if(n==="bigint")return String(Uf(64,i));if(Kl(i)){if(n==="string")return Nf(i);if(n==="number")return Mf(i)}}(t),t!=null&&(typeof t=="string"&&tf(t),t!=null))switch(gt(e,r,0),typeof t){case"number":e=e.g,Ii(t),xi(e,G,ee);break;case"bigint":r=BigInt.asUintN(64,t),r=new Ul(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),xi(e.g,r.i,r.g);break;default:r=tf(t),xi(e.g,r.i,r.g)}}function Sg(e,t,r){(t=Rr(t))!=null&&t!=null&&(gt(e,r,0),$s(e.g,t))}function kg(e,t,r){(t=t==null||typeof t=="boolean"?t:typeof t=="number"?!!t:void 0)!=null&&(gt(e,r,0),e.g.g.push(t?1:0))}function Eg(e,t,r){(t=ur(t))!=null&&Js(e,r,Ef(t))}function _g(e,t,r,i,n){(t=yg(t,i))!=null&&(r=Xs(e,r),n(t,e),Ks(e,r))}function Ag(e,t,r){(t=t==null||typeof t=="string"||js(t)||t instanceof dr?t:void 0)!=null&&Js(e,r,od(t).buffer)}var O3=ke(function(e,t,r){if(e.i!==1)return!1;var i=e.g;e=Bl(i);let n=Bl(i);i=2*(n>>31)+1;let o=n>>>20&2047;return e=4294967296*(1048575&n)+e,Ee(t,r,o==2047?e?NaN:i*(1/0):o==0?5e-324*i*e:i*Math.pow(2,o-1075)*(e+4503599627370496)),!0},function(e,t,r){(t=Tn(t))!=null&&(gt(e,r,1),e=e.g,(r=Ff||=new DataView(new ArrayBuffer(8))).setFloat64(0,+t,!0),G=r.getUint32(0,!0),ee=r.getUint32(4,!0),Bs(e,G),Bs(e,ee))},yt()),xg=ke(function(e,t,r){return e.i===5&&(Ee(t,r,Fl(e.g)),!0)},function(e,t,r){(t=Tn(t))!=null&&(gt(e,r,5),e=e.g,Lf(t),Bs(e,G))},dg),B3=ta(function(e,t,r){return(e.i===5||e.i===2)&&(t=Rn(t,0|t[T],r,!1,!1),e.i==2?ld(e,Fl,t):t.push(Fl(e.g)),!0)},function(e,t,r){if((t=ea(Tn,t))!=null&&t.length){gt(e,r,2),Pn(e.g,4*t.length);for(let i=0;i<t.length;i++)r=e.g,Lf(t[i]),Bs(r,G)}},dg),Fs=ke(function(e,t,r){return e.i===0&&(Ee(t,r,sd(e.g,$l)),!0)},wg,lg),Cl=ke(function(e,t,r){return e.i===0&&(Ee(t,r,(e=sd(e.g,$l))===0?void 0:e),!0)},wg,lg),F3=ke(function(e,t,r){return e.i===0&&(Ee(t,r,sd(e.g,ql)),!0)},function(e,t,r){if((t=k3(t))!=null&&(typeof t=="string"&&ef(t),t!=null))switch(gt(e,r,0),typeof t){case"number":e=e.g,Ii(t),xi(e,G,ee);break;case"bigint":r=BigInt.asUintN(64,t),r=new Ll(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),xi(e.g,r.i,r.g);break;default:r=ef(t),xi(e.g,r.i,r.g)}},yt()),pr=ke(function(e,t,r){return e.i===0&&(Ee(t,r,Fe(e.g)),!0)},Sg,hd),bd=ta(function(e,t,r){return(e.i===0||e.i===2)&&(t=Rn(t,0|t[T],r,!1,!1),e.i==2?ld(e,Fe,t):t.push(Fe(e.g)),!0)},function(e,t,r){if((t=ea(Rr,t))!=null&&t.length){r=Xs(e,r);for(let i=0;i<t.length;i++)$s(e.g,t[i]);Ks(e,r)}},hd),Ei=ke(function(e,t,r){return e.i===0&&(Ee(t,r,(e=Fe(e.g))===0?void 0:e),!0)},Sg,hd),We=ke(function(e,t,r){return e.i===0&&(Ee(t,r,ad(e.g)),!0)},kg,cg),Ci=ke(function(e,t,r){return e.i===0&&(Ee(t,r,(e=ad(e.g))===!1?void 0:e),!0)},kg,cg),rt=ta(function(e,t,r){return e.i===2&&(e=cd(e),Rn(t,0|t[T],r,!1).push(e),!0)},function(e,t,r){if((t=ea(ur,t))!=null)for(let s=0;s<t.length;s++){var i=e,n=r,o=t[s];o!=null&&Js(i,n,Ef(o))}},ud),lr=ke(function(e,t,r){return e.i===2&&(Ee(t,r,(e=cd(e))===""?void 0:e),!0)},Eg,ud),ie=ke(function(e,t,r){return e.i===2&&(Ee(t,r,cd(e)),!0)},Eg,ud),it=function(e,t,r=dd){return new Oi(e,t,r)}(function(e,t,r,i,n){return e.i===2&&(i=kn(void 0,i,!0),Rn(t,0|t[T],r,!0).push(i),qs(e,i,n),!0)},function(e,t,r,i,n){if(Array.isArray(t))for(let o=0;o<t.length;o++)_g(e,t[o],r,i,n)}),fe=pd(function(e,t,r,i,n,o){return e.i===2&&(Jf(t,0|t[T],o,r),qs(e,t=rd(t,i,r),n),!0)},_g),Cg=ke(function(e,t,r){return e.i===2&&(Ee(t,r,og(e)),!0)},Ag,ug),L3=ke(function(e,t,r){return e.i===0&&(Ee(t,r,(e=Fe(e.g)>>>0)===0?void 0:e),!0)},function(e,t,r){t=function(i){if(i==null)return i;if(typeof i=="string"&&i)i=+i;else if(typeof i!="number")return;return Hs(i)?i>>>0:void 0}(t),t!=null&&t!=null&&(gt(e,r,0),Pn(e.g,t))},yt()),Pr=ke(function(e,t,r){return e.i===0&&(Ee(t,r,Fe(e.g)),!0)},function(e,t,r){(t=Rr(t))!=null&&(t=parseInt(t,10),gt(e,r,0),$s(e.g,t))},hg),Ls=class{constructor(t,r){this.i=t,this.g=r,this.j=ft,this.defaultValue=void 0}};function Tg(e,t){return(r,i)=>{if(xs.length){let o=xs.pop();o.o(i),xl(o.g,r,i),r=o}else r=new class{constructor(o,s){if(Qm.length){let a=Qm.pop();xl(a,o,s),o=a}else o=new class{constructor(a,c){this.i=null,this.m=!1,this.g=this.j=this.s=0,xl(this,a,c)}clear(){this.i=null,this.m=!1,this.g=this.j=this.s=0,this.C=!1}}(o,s);this.g=o,this.j=this.g.g,this.i=this.m=-1,this.o(s)}o({G:o=!1}={}){this.G=o}}(r,i);try{let o=new e,s=o.l;yd(t)(s,r);var n=o}finally{r.g.clear(),r.m=-1,r.i=-1,xs.length<100&&xs.push(r)}return n}}var sf=[0,lr,ke(function(e,t,r){return e.i===2&&(Ee(t,r,(e=og(e))===Ri()?void 0:e),!0)},function(e,t,r){if(t!=null){if(t instanceof X){let i=t.R;return void(i&&(t=i(t),t!=null&&Js(e,r,od(t).buffer)))}if(Array.isArray(t))return}Ag(e,t,r)},ug)],Tl,af=globalThis.trustedTypes;function cf(e){Tl===void 0&&(Tl=function(){let r=null;if(!af)return r;try{let i=n=>n;r=af.createPolicy("goog#html",{createHTML:i,createScript:i,createScriptURL:i})}catch{}return r}());var t=Tl;return new class{constructor(r){this.g=r}toString(){return this.g+""}}(t?t.createScriptURL(e):e)}function U3(e,...t){if(t.length===0)return cf(e[0]);let r=e[0];for(let i=0;i<t.length;i++)r+=encodeURIComponent(t[i])+e[i+1];return cf(r)}var Rg=[0,pr,Pr,We,-1,bd,Pr,-1],M3=class extends X{constructor(e){super(e)}},Pg=[0,We,ie,We,Pr,-1,ta(function(e,t,r){return(e.i===0||e.i===2)&&(t=Rn(t,0|t[T],r,!1,!1),e.i==2?ld(e,x3,t):t.push(Fe(e.g)),!0)},function(e,t,r){if((t=ea(Rr,t))!=null&&t.length){r=Xs(e,r);for(let i=0;i<t.length;i++)$s(e.g,t[i]);Ks(e,r)}},hg),ie,-1,[0,We,-1],Pr,We,-1],Ig=[0,ie,-2],lf=class extends X{constructor(e){super(e)}},Dg=[0],Og=[0,pr,We,1,We,-3],Bg=class extends X{constructor(e){super(e,2)}},ra={};ra[336783863]=[0,ie,We,-1,pr,[0,[1,2,3,4,5,6,7,8],fe,Dg,fe,Pg,fe,Ig,fe,Og,fe,Rg,fe,[0,ie,-2],fe,[0,ie,Pr],fe,[0,Pr,ie]],[0,ie],We,[0,[1,3],[2,4],fe,[0,bd],-1,fe,[0,rt],-1,it,[0,ie,-1]],ie];var df,uf=[0,Cl,-1,Ci,-3,Cl,bd,lr,Ei,Cl,-1,Ci,Ei,Ci,-2,lr],vd=class extends X{constructor(e){super(e,500)}o(e){return ft(this,0,7,e)}},En=[-1,{}],hf=[0,ie,1,En],pf=[0,ie,rt,En],wd=class extends X{constructor(e){super(e,500)}o(e){return ft(this,0,1001,e)}};wd.prototype.g=(df=[-500,it,[-500,lr,-1,rt,-3,[-2,ra,We],it,sf,Ei,-1,hf,pf,it,[0,lr,Ci],lr,uf,Ei,rt,987,rt],4,it,[-500,ie,-1,[-1,{}],998,ie],it,[-500,ie,rt,-1,[-2,{},We],997,rt,-1],Ei,it,[-500,ie,rt,En,998,rt],rt,Ei,hf,pf,it,[0,lr,-1,En],rt,-2,uf,lr,-1,Ci,[0,Ci,L3],978,En,it,sf],function(){let e=new class{constructor(){this.j=[],this.i=0,this.g=new class{constructor(){this.g=[]}length(){return this.g.length}end(){let o=this.g;return this.g=[],o}}}};vg(this.l,e,Or(Ys,Zs,Qs,df)),Di(e,e.g.end());let t=new Uint8Array(e.i),r=e.j,i=r.length,n=0;for(let o=0;o<i;o++){let s=r[o];t.set(s,n),n+=s.length}return e.j=[t],t});var N3=class extends X{constructor(e){super(e)}},j3=class extends X{constructor(e){super(e)}g(){return id(this,N3)}},V3=[0,it,[0,pr,xg,ie,-1]],mf=class extends X{constructor(e){super(e)}},ff=class extends X{constructor(e){super(e)}},Fg=[1,2,3,4,5],Us=class extends X{constructor(e){super(e)}g(){return $f(this)!=null}i(){return ur(pt(this,2))!=null}},Ms=class extends X{constructor(e){super(e)}},Lg=class extends X{constructor(e){super(e)}},Ug=[0,[0,Cg,ie,[0,pr,Fs,-1],[0,F3,Fs]],We,[0,Fg,fe,Og,fe,Pg,fe,Rg,fe,Dg,fe,Ig],Pr],z3=new Ls(451755788,Lg);ra[451755788]=[0,Ug,[0,ie,pr,xg,rt,-1],O3];var gf=class extends X{constructor(e){super(e)}},Mg=class extends X{constructor(e){super(e)}},G3=new Ls(487277289,Mg);ra[487277289]=[0,Ug,[0,We,-1]];var H3=class extends X{constructor(e){super(e)}},W3=Tg(class extends X{constructor(e){super(e)}},[0,it,[0,1,pr,ie,V3],Fs]),yf=class extends X{constructor(e){super(e)}},q3=class extends X{constructor(e){super(e)}J(){let e=$f(this);return e??Ri()}},$3=class extends X{constructor(e){super(e)}},Ng=[1,2],bf=Tg(class extends X{constructor(e){super(e)}},[0,it,[0,Ng,fe,[0,B3],fe,[0,Cg],pr,ie],Fs]);function X3(){var e=navigator;return typeof OffscreenCanvas<"u"&&(!function(t=navigator){return(t=t.userAgent).includes("Safari")&&!t.includes("Chrome")}(e)||!!((e=e.userAgent.match(/Version\/([\d]+).*Safari/))&&e.length>=1&&Number(e[1])>=17))}async function vf(e){if(typeof importScripts!="function"){let t=document.createElement("script");return t.src=e.toString(),t.crossOrigin="anonymous",new Promise((r,i)=>{t.addEventListener("load",()=>{r()},!1),t.addEventListener("error",n=>{i(n)},!1),document.body.appendChild(t)})}importScripts(e.toString())}function x(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target"),r(t=e.h.stringToNewUTF8(t)),e.h._free(t)}function wf(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target");let i=new Uint32Array(t.length);for(let n=0;n<t.length;n++)i[n]=e.h.stringToNewUTF8(t[n]);t=e.h._malloc(4*i.length),e.h.HEAPU32.set(i,t>>2),r(t);for(let n of i)e.h._free(n);e.h._free(t)}function sr(e,t,r){e.h.simpleListeners=e.h.simpleListeners||{},e.h.simpleListeners[t]=r}function xr(e,t,r){let i=[];e.h.simpleListeners=e.h.simpleListeners||{},e.h.simpleListeners[t]=(n,o,s)=>{o?(r(i,s),i=[]):i.push(n)}}var K3=function(e){return class extends e{N(){this.h._registerModelResourcesGraphService()}}}(class{constructor(e,t){this.j=!0,this.h=e,this.g=null,this.i=0,this.m=typeof this.h._addIntToInputStream=="function",t!==void 0?this.h.canvas=t:X3()?this.h.canvas=new OffscreenCanvas(1,1):(console.warn("OffscreenCanvas not supported and GraphRunner constructor glCanvas parameter is undefined. Creating backup canvas."),this.h.canvas=document.createElement("canvas"))}async initializeGraph(e){let t=await(await fetch(e)).arrayBuffer();e=!(e.endsWith(".pbtxt")||e.endsWith(".textproto")),this.setGraph(new Uint8Array(t),e)}setGraphFromString(e){this.setGraph(new TextEncoder().encode(e),!1)}setGraph(e,t){let r=e.length,i=this.h._malloc(r);this.h.HEAPU8.set(e,i),t?this.h._changeBinaryGraph(r,i):this.h._changeTextGraph(r,i),this.h._free(i)}configureAudio(e,t,r,i,n){this.h._configureAudio||console.warn('Attempting to use configureAudio without support for input audio. Is build dep ":gl_graph_runner_audio" missing?'),x(this,i||"input_audio",o=>{x(this,n=n||"audio_header",s=>{this.h._configureAudio(o,s,e,t??0,r)})})}setAutoResizeCanvas(e){this.j=e}setAutoRenderToScreen(e){this.h._setAutoRenderToScreen(e)}setGpuBufferVerticalFlip(e){this.h.gpuOriginForWebTexturesIsBottomLeft=e}attachErrorListener(e){this.h.errorListener=e}attachEmptyPacketListener(e,t){this.h.emptyPacketListeners=this.h.emptyPacketListeners||{},this.h.emptyPacketListeners[e]=t}addAudioToStream(e,t,r){this.addAudioToStreamWithShape(e,0,0,t,r)}addAudioToStreamWithShape(e,t,r,i,n){let o=4*e.length;this.i!==o&&(this.g&&this.h._free(this.g),this.g=this.h._malloc(o),this.i=o),this.h.HEAPF32.set(e,this.g/4),x(this,i,s=>{this.h._addAudioToInputStream(this.g,t,r,s,n)})}addGpuBufferToStream(e,t,r){x(this,t,i=>{if(!this.h.canvas)throw Error("No OpenGL canvas configured.");i?this.h._bindTextureToStream(i):this.h._bindTextureToCanvas();let n=this.h.canvas.getContext("webgl2")||this.h.canvas.getContext("webgl");if(!n)throw Error("Failed to obtain WebGL context from the provided canvas. `getContext()` should only be invoked with `webgl` or `webgl2`.");this.h.gpuOriginForWebTexturesIsBottomLeft&&n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!0),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,e),this.h.gpuOriginForWebTexturesIsBottomLeft&&n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,!1);let[o,s]=e.videoWidth!==void 0?[e.videoWidth,e.videoHeight]:e.naturalWidth!==void 0?[e.naturalWidth,e.naturalHeight]:e.displayWidth!==void 0?[e.displayWidth,e.displayHeight]:[e.width,e.height];!this.j||o===this.h.canvas.width&&s===this.h.canvas.height||(this.h.canvas.width=o,this.h.canvas.height=s);let[a,c]=[o,s];this.h._addBoundTextureToStream(i,a,c,r)})}addBoolToStream(e,t,r){x(this,t,i=>{this.h._addBoolToInputStream(e,i,r)})}addDoubleToStream(e,t,r){x(this,t,i=>{this.h._addDoubleToInputStream(e,i,r)})}addFloatToStream(e,t,r){x(this,t,i=>{this.h._addFloatToInputStream(e,i,r)})}addIntToStream(e,t,r){x(this,t,i=>{this.h._addIntToInputStream(e,i,r)})}addUintToStream(e,t,r){x(this,t,i=>{this.h._addUintToInputStream(e,i,r)})}addStringToStream(e,t,r){x(this,t,i=>{x(this,e,n=>{this.h._addStringToInputStream(n,i,r)})})}addStringRecordToStream(e,t,r){x(this,t,i=>{wf(this,Object.keys(e),n=>{wf(this,Object.values(e),o=>{this.h._addFlatHashMapToInputStream(n,o,Object.keys(e).length,i,r)})})})}addProtoToStream(e,t,r,i){x(this,r,n=>{x(this,t,o=>{let s=this.h._malloc(e.length);this.h.HEAPU8.set(e,s),this.h._addProtoToInputStream(s,e.length,o,n,i),this.h._free(s)})})}addEmptyPacketToStream(e,t){x(this,e,r=>{this.h._addEmptyPacketToInputStream(r,t)})}addBoolVectorToStream(e,t,r){x(this,t,i=>{let n=this.h._allocateBoolVector(e.length);if(!n)throw Error("Unable to allocate new bool vector on heap.");for(let o of e)this.h._addBoolVectorEntry(n,o);this.h._addBoolVectorToInputStream(n,i,r)})}addDoubleVectorToStream(e,t,r){x(this,t,i=>{let n=this.h._allocateDoubleVector(e.length);if(!n)throw Error("Unable to allocate new double vector on heap.");for(let o of e)this.h._addDoubleVectorEntry(n,o);this.h._addDoubleVectorToInputStream(n,i,r)})}addFloatVectorToStream(e,t,r){x(this,t,i=>{let n=this.h._allocateFloatVector(e.length);if(!n)throw Error("Unable to allocate new float vector on heap.");for(let o of e)this.h._addFloatVectorEntry(n,o);this.h._addFloatVectorToInputStream(n,i,r)})}addIntVectorToStream(e,t,r){x(this,t,i=>{let n=this.h._allocateIntVector(e.length);if(!n)throw Error("Unable to allocate new int vector on heap.");for(let o of e)this.h._addIntVectorEntry(n,o);this.h._addIntVectorToInputStream(n,i,r)})}addUintVectorToStream(e,t,r){x(this,t,i=>{let n=this.h._allocateUintVector(e.length);if(!n)throw Error("Unable to allocate new unsigned int vector on heap.");for(let o of e)this.h._addUintVectorEntry(n,o);this.h._addUintVectorToInputStream(n,i,r)})}addStringVectorToStream(e,t,r){x(this,t,i=>{let n=this.h._allocateStringVector(e.length);if(!n)throw Error("Unable to allocate new string vector on heap.");for(let o of e)x(this,o,s=>{this.h._addStringVectorEntry(n,s)});this.h._addStringVectorToInputStream(n,i,r)})}addBoolToInputSidePacket(e,t){x(this,t,r=>{this.h._addBoolToInputSidePacket(e,r)})}addDoubleToInputSidePacket(e,t){x(this,t,r=>{this.h._addDoubleToInputSidePacket(e,r)})}addFloatToInputSidePacket(e,t){x(this,t,r=>{this.h._addFloatToInputSidePacket(e,r)})}addIntToInputSidePacket(e,t){x(this,t,r=>{this.h._addIntToInputSidePacket(e,r)})}addUintToInputSidePacket(e,t){x(this,t,r=>{this.h._addUintToInputSidePacket(e,r)})}addStringToInputSidePacket(e,t){x(this,t,r=>{x(this,e,i=>{this.h._addStringToInputSidePacket(i,r)})})}addProtoToInputSidePacket(e,t,r){x(this,r,i=>{x(this,t,n=>{let o=this.h._malloc(e.length);this.h.HEAPU8.set(e,o),this.h._addProtoToInputSidePacket(o,e.length,n,i),this.h._free(o)})})}addBoolVectorToInputSidePacket(e,t){x(this,t,r=>{let i=this.h._allocateBoolVector(e.length);if(!i)throw Error("Unable to allocate new bool vector on heap.");for(let n of e)this.h._addBoolVectorEntry(i,n);this.h._addBoolVectorToInputSidePacket(i,r)})}addDoubleVectorToInputSidePacket(e,t){x(this,t,r=>{let i=this.h._allocateDoubleVector(e.length);if(!i)throw Error("Unable to allocate new double vector on heap.");for(let n of e)this.h._addDoubleVectorEntry(i,n);this.h._addDoubleVectorToInputSidePacket(i,r)})}addFloatVectorToInputSidePacket(e,t){x(this,t,r=>{let i=this.h._allocateFloatVector(e.length);if(!i)throw Error("Unable to allocate new float vector on heap.");for(let n of e)this.h._addFloatVectorEntry(i,n);this.h._addFloatVectorToInputSidePacket(i,r)})}addIntVectorToInputSidePacket(e,t){x(this,t,r=>{let i=this.h._allocateIntVector(e.length);if(!i)throw Error("Unable to allocate new int vector on heap.");for(let n of e)this.h._addIntVectorEntry(i,n);this.h._addIntVectorToInputSidePacket(i,r)})}addUintVectorToInputSidePacket(e,t){x(this,t,r=>{let i=this.h._allocateUintVector(e.length);if(!i)throw Error("Unable to allocate new unsigned int vector on heap.");for(let n of e)this.h._addUintVectorEntry(i,n);this.h._addUintVectorToInputSidePacket(i,r)})}addStringVectorToInputSidePacket(e,t){x(this,t,r=>{let i=this.h._allocateStringVector(e.length);if(!i)throw Error("Unable to allocate new string vector on heap.");for(let n of e)x(this,n,o=>{this.h._addStringVectorEntry(i,o)});this.h._addStringVectorToInputSidePacket(i,r)})}attachBoolListener(e,t){sr(this,e,t),x(this,e,r=>{this.h._attachBoolListener(r)})}attachBoolVectorListener(e,t){xr(this,e,t),x(this,e,r=>{this.h._attachBoolVectorListener(r)})}attachIntListener(e,t){sr(this,e,t),x(this,e,r=>{this.h._attachIntListener(r)})}attachIntVectorListener(e,t){xr(this,e,t),x(this,e,r=>{this.h._attachIntVectorListener(r)})}attachUintListener(e,t){sr(this,e,t),x(this,e,r=>{this.h._attachUintListener(r)})}attachUintVectorListener(e,t){xr(this,e,t),x(this,e,r=>{this.h._attachUintVectorListener(r)})}attachDoubleListener(e,t){sr(this,e,t),x(this,e,r=>{this.h._attachDoubleListener(r)})}attachDoubleVectorListener(e,t){xr(this,e,t),x(this,e,r=>{this.h._attachDoubleVectorListener(r)})}attachFloatListener(e,t){sr(this,e,t),x(this,e,r=>{this.h._attachFloatListener(r)})}attachFloatVectorListener(e,t){xr(this,e,t),x(this,e,r=>{this.h._attachFloatVectorListener(r)})}attachStringListener(e,t){sr(this,e,t),x(this,e,r=>{this.h._attachStringListener(r)})}attachStringVectorListener(e,t){xr(this,e,t),x(this,e,r=>{this.h._attachStringVectorListener(r)})}attachProtoListener(e,t,r){sr(this,e,t),x(this,e,i=>{this.h._attachProtoListener(i,r||!1)})}attachProtoVectorListener(e,t,r){xr(this,e,t),x(this,e,i=>{this.h._attachProtoVectorListener(i,r||!1)})}attachAudioListener(e,t,r){this.h._attachAudioListener||console.warn('Attempting to use attachAudioListener without support for output audio. Is build dep ":gl_graph_runner_audio_out" missing?'),sr(this,e,(i,n)=>{i=new Float32Array(i.buffer,i.byteOffset,i.length/4),t(i,n)}),x(this,e,i=>{this.h._attachAudioListener(i,r||!1)})}finishProcessing(){this.h._waitUntilIdle()}closeGraph(){this.h._closeGraph(),this.h.simpleListeners=void 0,this.h.emptyPacketListeners=void 0}}),jg=class extends K3{};async function J3(e,t,r){return e=await(async(i,n,o,s)=>{if(n&&await vf(n),!self.ModuleFactory||o&&(await vf(o),!self.ModuleFactory))throw Error("ModuleFactory not set.");return self.Module&&s&&((n=self.Module).locateFile=s.locateFile,s.mainScriptUrlOrBlob&&(n.mainScriptUrlOrBlob=s.mainScriptUrlOrBlob)),s=await self.ModuleFactory(self.Module||s),self.ModuleFactory=self.Module=void 0,new i(s,null)})(e,t.wasmLoaderPath,t.assetLoaderPath,{locateFile:i=>i.endsWith(".wasm")?t.wasmBinaryPath.toString():t.assetBinaryPath&&i.endsWith(".data")?t.assetBinaryPath.toString():i}),await e.o(r),e}async function Vg(e,t,r){return J3(e,t,r)}function Rl(e,t){let r=mt(e.baseOptions,Us,1)||new Us;typeof t=="string"?(ge(r,2,Os(t)),ge(r,1)):t instanceof Uint8Array&&(ge(r,1,Of(t,!1)),ge(r,2)),ft(e.baseOptions,0,1,r)}function zg(e,t){let r=t.baseOptions||{};if(t.baseOptions?.modelAssetBuffer&&t.baseOptions?.modelAssetPath)throw Error("Cannot set both baseOptions.modelAssetPath and baseOptions.modelAssetBuffer");if(!(mt(e.baseOptions,Us,1)?.g()||mt(e.baseOptions,Us,1)?.i()||t.baseOptions?.modelAssetBuffer||t.baseOptions?.modelAssetPath))throw Error("Either baseOptions.modelAssetPath or baseOptions.modelAssetBuffer must be set");if(function(i,n){let o=mt(i.baseOptions,ff,3);if(!o){var s=o=new ff;Al(s,4,new lf)}"delegate"in n&&(n.delegate==="GPU"?Al(n=o,2,s=new M3):Al(n=o,4,s=new lf)),ft(i.baseOptions,0,3,o)}(e,r),r.modelAssetPath)return fetch(r.modelAssetPath.toString()).then(i=>{if(i.ok)return i.arrayBuffer();throw Error(`Failed to fetch model: ${r.modelAssetPath} (${i.status})`)}).then(i=>{try{e.g.h.FS_unlink("/model.dat")}catch{}e.g.h.FS_createDataFile("/","model.dat",new Uint8Array(i),!0,!1,!1),Rl(e,"/model.dat"),e.v()});if(r.modelAssetBuffer instanceof Uint8Array)Rl(e,r.modelAssetBuffer);else if(r.modelAssetBuffer)return async function(i){let n=[];for(var o=0;;){let{done:s,value:a}=await i.read();if(s)break;n.push(a),o+=a.length}if(n.length===0)return new Uint8Array(0);if(n.length===1)return n[0];i=new Uint8Array(o),o=0;for(let s of n)i.set(s,o),o+=s.length;return i}(r.modelAssetBuffer).then(i=>{Rl(e,i),e.v()});return e.v(),Promise.resolve()}function Sf(e){try{let t=e.j.length;if(t===1)throw Error(e.j[0].message);if(t>1)throw Error("Encountered multiple errors: "+e.j.map(r=>r.message).join(", "))}finally{e.j=[]}}function _i(e,t){e.s=Math.max(e.s,t)}var Rs=class{constructor(e){this.g=e,this.j=[],this.s=0,this.g.setAutoRenderToScreen(!1)}setGraph(e,t){this.g.attachErrorListener((r,i)=>{this.j.push(Error(i))}),this.g.N(),this.g.setGraph(e,t),Sf(this)}finishProcessing(){this.g.finishProcessing(),Sf(this)}close(){this.g.closeGraph()}};async function _n(e,t,r){return Vg(e,t,r)}Rs.prototype.close=Rs.prototype.close,function(e,t){e=e.split(".");var r,i=Tr;for((e[0]in i)||i.execScript===void 0||i.execScript("var "+e[0]);e.length&&(r=e.shift());)e.length||t===void 0?i=i[r]&&i[r]!==Object.prototype[r]?i[r]:i[r]={}:i[r]=t}("TaskRunner",Rs);var Ns=class extends Rs{constructor(){super(...arguments),this.F=48e3}O(e){this.F=e}};function Y3(e){let t={classifications:id(e,H3).map(r=>function(i,n=-1,o=""){return{categories:i.map(s=>{var a=Rr(pt(s,1))??0??-1;let c=s.l,l=0|c[T],d=Dr(c,l,2),u=Tn(d);return u!=null&&u!==d&&he(c,l,2,u),{index:a,score:u??0??0,categoryName:ur(pt(s,3))??""??"",displayName:ur(pt(s,4))??""??""}}),headIndex:n,headName:o}}(mt(r,j3,4)?.g()??[],Rr(pt(r,2))??0,ur(pt(r,3))??""))};return Ol(pt(e,2))!=null&&(t.timestampMs=Ol(pt(e,2))??0),t}Ns.prototype.setDefaultSampleRate=Ns.prototype.O;var tt=class extends Ns{constructor(e,t){super(new jg(e,t)),this.m=[],ft(e=this.i=new Lg,0,1,t=new Ms)}get baseOptions(){return mt(this.i,Ms,1)}set baseOptions(e){ft(this.i,0,1,e)}o(e){var t=this.i,r=mt(this.i,mf,2);if(r=r?qf(r):new mf,e.displayNamesLocale!==void 0?ge(r,1,Os(e.displayNamesLocale)):e.displayNamesLocale===void 0&&ge(r,1),e.maxResults!==void 0){var i=e.maxResults;if(i!=null){if(typeof i!="number"||!Hs(i))throw Hm();i|=0}ge(r,2,i)}else"maxResults"in e&&ge(r,2);if(e.scoreThreshold!==void 0){if((i=e.scoreThreshold)!=null&&typeof i!="number")throw Error(`Value of float/double field must be a number, found ${typeof i}: ${i}`);ge(r,3,i)}else"scoreThreshold"in e&&ge(r,3);return e.categoryAllowlist!==void 0?Zm(r,4,e.categoryAllowlist):"categoryAllowlist"in e&&ge(r,4),e.categoryDenylist!==void 0?Zm(r,5,e.categoryDenylist):"categoryDenylist"in e&&ge(r,5),ft(t,0,2,r),zg(this,e)}K(e,t){return this.D(e,t??this.F,this.s+1)}D(e,t,r){return this.g.addDoubleToStream(t,"sample_rate",r),this.g.addAudioToStreamWithShape(e,1,e.length,"audio_in",r),this.m=[],this.finishProcessing(),[...this.m]}v(){var e=new wd;Be(e,10,"audio_in"),Be(e,10,"sample_rate"),Be(e,15,"timestamped_classifications");let t=new Bg;sg(t,z3,this.i);let r=new vd;Kf(r,Os("mediapipe.tasks.audio.audio_classifier.AudioClassifierGraph")),Be(r,3,"AUDIO:audio_in"),Be(r,3,"SAMPLE_RATE:sample_rate"),Be(r,4,"TIMESTAMPED_CLASSIFICATIONS:timestamped_classifications"),r.o(t),Qf(e,r),this.g.attachProtoVectorListener("timestamped_classifications",(i,n)=>{(function(o,s){s.forEach(a=>{a=W3(a),o.m.push(Y3(a))})})(this,i),_i(this,n)}),this.g.attachEmptyPacketListener("timestamped_classifications",i=>{_i(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function kf(e){return{embeddings:id(e,$3).map(t=>{let r={headIndex:Rr(pt(t,3))??0??-1,headName:ur(pt(t,4))??""??""};if(Yf(t,yf,_l(t,1))!==void 0)r.floatEmbedding=Xf(mt(t,yf,_l(t,1)),1,Tn,Bf===void 0?2:4).slice();else{let i=new Uint8Array(0);r.quantizedEmbedding=mt(t,q3,_l(t,2))?.J()?.i()??i}return r}),timestampMs:Ol(pt(e,2))??0}}tt.prototype.classify=tt.prototype.K,tt.prototype.setOptions=tt.prototype.o,tt.createFromModelPath=function(e,t){return Vg(tt,e,{baseOptions:{modelAssetPath:t}})},tt.createFromModelBuffer=function(e,t){return _n(tt,e,{baseOptions:{modelAssetBuffer:t}})},tt.createFromOptions=function(e,t){return _n(tt,e,t)};var Rt=class extends Ns{constructor(e,t){super(new jg(e,t)),this.m=[],ft(e=this.i=new Mg,0,1,t=new Ms)}get baseOptions(){return mt(this.i,Ms,1)}set baseOptions(e){ft(this.i,0,1,e)}o(e){var t=this.i,r=mt(this.i,gf,2);return r=r?qf(r):new gf,e.l2Normalize!==void 0?ge(r,1,Jm(e.l2Normalize)):"l2Normalize"in e&&ge(r,1),e.quantize!==void 0?ge(r,2,Jm(e.quantize)):"quantize"in e&&ge(r,2),ft(t,0,2,r),zg(this,e)}L(e,t){return this.D(e,t??this.F,this.s+1)}D(e,t,r){return this.g.addDoubleToStream(t,"sample_rate",r),this.g.addAudioToStreamWithShape(e,1,e.length,"audio_in",r),this.m=[],this.finishProcessing(),this.m}v(){var e=new wd;Be(e,10,"audio_in"),Be(e,10,"sample_rate"),Be(e,15,"embeddings_out"),Be(e,15,"timestamped_embeddings_out");let t=new Bg;sg(t,G3,this.i);let r=new vd;Kf(r,Os("mediapipe.tasks.audio.audio_embedder.AudioEmbedderGraph")),Be(r,3,"AUDIO:audio_in"),Be(r,3,"SAMPLE_RATE:sample_rate"),Be(r,4,"EMBEDDINGS:embeddings_out"),Be(r,4,"TIMESTAMPED_EMBEDDINGS:timestamped_embeddings_out"),r.o(t),Qf(e,r),this.g.attachProtoListener("embeddings_out",(i,n)=>{i=bf(i),this.m.push(kf(i)),_i(this,n)}),this.g.attachEmptyPacketListener("embeddings_out",i=>{_i(this,i)}),this.g.attachProtoVectorListener("timestamped_embeddings_out",(i,n)=>{for(let o of i)i=bf(o),this.m.push(kf(i));_i(this,n)}),this.g.attachEmptyPacketListener("timestamped_embeddings_out",i=>{_i(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}},Cs;Rt.prototype.embed=Rt.prototype.L,Rt.prototype.setOptions=Rt.prototype.o,Rt.createFromModelPath=function(e,t){return _n(Rt,e,{baseOptions:{modelAssetPath:t}})},Rt.createFromModelBuffer=function(e,t){return _n(Rt,e,{baseOptions:{modelAssetBuffer:t}})},Rt.createFromOptions=function(e,t){return _n(Rt,e,t)};var Z3=new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]);async function Gg(){if(Cs===void 0)try{await WebAssembly.instantiate(Z3),Cs=!0}catch{Cs=!1}return Cs}async function vn(e,t=U3``){let r=await Gg()?"wasm_internal":"wasm_nosimd_internal";return{wasmLoaderPath:`${t}/${e}_${r}.js`,wasmBinaryPath:`${t}/${e}_${r}.wasm`}}var ar=class{};ar.forVisionTasks=function(e){return vn("vision",e)},ar.forTextTasks=function(e){return vn("text",e)},ar.forGenAiExperimentalTasks=function(e){return vn("genai_experimental",e)},ar.forGenAiTasks=function(e){return vn("genai",e)},ar.forAudioTasks=function(e){return vn("audio",e)},ar.isSimdSupported=function(){return Gg()};var ia=class{constructor(t,r,i,n,o,s,a){this.recordingInProgress=!1;this.recordIndex=1;this.countLoopTimes=0;this.examStartTime=0;this.recordingStartTime=0;this.recordingEndTime=0;this.isSpeech=!1;this.optionsProctoring=t,this.proctoringSession=r,this.paramsConfig=i,this.cameraRecorder=n,this.onRealtimeAlertsCallback=o,this.backend=s,this.backendToken=a}setProctoringId(t){this.proctoringId=t,this.proctoringId&&this.backend&&(this.upload=new jt(this.proctoringId,this.backend))}async startRecording(){this.examStartTime=Date.now(),await this.createAudioClassifier(),this.audioRecorder=new ks(void 0,this.paramsConfig.audioBehaviourParameters),this.intervalNoiseDetection=setInterval(()=>this.onNoiseDetectedRecord(),200),this.streamingAudioClassification()}async stopRecording(){clearInterval(this.intervalNoiseDetection),await this.stopSoundRecord(),this.volumeMeter&&await this.volumeMeter.stop(),this.audioWorkletNode&&this.audioWorkletNode.disconnect()}async pauseRecording(){}async resumeRecording(){}async saveOnSession(t){}async onNoiseDetectedRecord(){!this.volumeMeter&&this.cameraRecorder.cameraStream&&(this.volumeMeter=new or(this.cameraRecorder.cameraStream),this.volumeMeter.start().catch(i=>{console.log(i),this.volumeMeter=void 0}));let t=this.paramsConfig.audioBehaviourParameters?.noiseLimit||40,r=this.volumeMeter?.getVolume()||0;this.isSpeech=this.isSpeech||this.hasDesiredResult(this.audioClassificationResult),!this.isSpeech&&!this.recordingInProgress&&(t=t+t*.25),r>=t&&!this.recordingInProgress?(this.recordingInProgress=!0,this.audioRecorder.startRecording(),this.recordingStartTime=Date.now()-this.examStartTime):r<t&&this.recordingInProgress&&(Date.now()-this.recordingStartTime>=3e3&&this.countLoopTimes>4&&(await this.stopSoundRecord(),this.paramsConfig.videoBehaviourParameters?.detectNoise&&!this.isSpeech&&this.onRealtimeAlertsCallback({status:"ALERT",description:"Barulho detectado",type:"audio_detection_on_stream"}),this.paramsConfig.videoBehaviourParameters?.detectSpeech&&this.isSpeech&&this.onRealtimeAlertsCallback({status:"ALERT",description:"Fala detectada",type:"audio_detection_on_stream"}),this.recordingInProgress=!1,this.recordIndex++,this.countLoopTimes=0,this.isSpeech=!1),this.countLoopTimes++)}async stopSoundRecord(){if(this.audioRecorder?.stopRecording&&await this.audioRecorder.stopRecording(),this.recordingEndTime=Date.now()-this.examStartTime,this.optionsProctoring.proctoringType!=="REALTIME")return;let t=new File(this.audioRecorder.blobs,`EP_${this.proctoringSession.id}_${this.recordingStartTime}_${this.recordingEndTime}_${this.isSpeech?"speech":"noise"}.webm`,{type:"audio/webm"});this.uploadRecord(t),this.audioRecorder.blobs=[]}download(t){let r=URL.createObjectURL(t),i=document.createElement("a");document.body.appendChild(i),i.style.display="none",i.href=r,i.download=t.name,i.click(),window.URL.revokeObjectURL(r)}uploadRecord(t){t&&this.upload&&this.backendToken&&this.upload.upload({file:t},this.backendToken)}hasDesiredResult(t){if(t==null)return!1;for(let r of t){let i=r.name.toLowerCase().includes("speech");if(this.optionsProctoring.proctoringType!=="REALTIME")return i;let n=parseFloat(r.score)>.22;if(i&&n)return!0}return!1}async createAudioClassifier(){let t=await ar.forAudioTasks("https://cdn.jsdelivr.net/npm/@mediapipe/tasks-audio@0.10.0/wasm");this.audioClassifier=await tt.createFromOptions(t,{scoreThreshold:.15,maxResults:1,baseOptions:{modelAssetPath:"https://storage.googleapis.com/mediapipe-models/audio_classifier/yamnet/float32/1/yamnet.tflite"}})}async streamingAudioClassification(){this.context=new AudioContext({sampleRate:16e3});try{await this.context.audioWorklet.addModule(URL.createObjectURL(new Blob([Q3],{type:"text/javascript"})))}catch{throw new Error("\u274C Error loading audio worklet module")}let t=this.context.createMediaStreamSource(this.cameraRecorder.cameraStream);this.audioWorkletNode=new AudioWorkletNode(this.context,"audio-processor"),this.audioWorkletNode.port.onmessage=r=>{let i=r.data,o=this.audioClassifier.classify(i)[0].classifications[0].categories;o.length>0&&(this.audioClassificationResult=[{name:o[0].categoryName,score:o[0].score.toFixed(3)}])},t.connect(this.audioWorkletNode),this.audioWorkletNode.connect(this.context.destination)}},Q3=`
248
240
  class AudioProcessor extends AudioWorkletProcessor {
249
241
  bufferSize;
250
242
  inputBuffer;
@@ -281,7 +273,7 @@ Clique no bot\xE3o novamente para uma nova captura.`);break;case"CapturePhoto":t
281
273
  }
282
274
 
283
275
  registerProcessor("audio-processor", AudioProcessor);
284
- `;var Ic=class{constructor(t){this.blobs=[];this.blobsFinal=[];this.options=t}setProctoringId(t){this.proctoringId=t,ia(t)}async startRecording(){this.startTime=new Date(Date.now());let{allowOnlyFirstMonitor:t,allowMultipleMonitors:r,onStopSharingScreenCallback:n,onBufferSizeErrorCallback:o}=this.options,i={video:{cursor:"always",width:854,height:480,displaySurface:"monitor"},audio:!1};this.screenStream=await navigator.mediaDevices.getDisplayMedia(i);let s=this.screenStream.getVideoTracks();if(s[0].onended=n,navigator.userAgent.indexOf("Firefox")>-1){let g=s.find(m=>m.label=="");if(g&&t||g&&!r)throw sa}let c=s.find(g=>["screen:0:0","Primary Monitor"].includes(g.label))!=null,l=s.find(g=>["screen:0:0","Primary Monitor",""].includes(g.label)||["screen:"].some(m=>g.label.includes(m)))!=null,h=s.find(g=>["web-contents-media-stream","window"].some(m=>g.label.includes(m)))!=null;if(!c&&t)throw s.forEach(g=>{g.stop()}),Ag;if(!l||h)throw s.forEach(g=>{g.stop()}),xg;let{startRecording:u,stopRecording:p}=Kr(this.screenStream,this.blobs,this.options.onBufferSizeError,o);this.recordingStart=u,this.recordingStop=p,this.recordingStart()}async pauseRecording(){}async resumeRecording(){}async stopRecording(){this.recordingStop&&await this.recordingStop()}async saveOnSession(t){t.addRecording({device:"",file:new File(this.blobs,`EP_${t.id}_screen_0.webm`,{type:"video/webm"}),origin:"Screen"})}};var xi=class{constructor(t,r){this.dbName="EasyProctorDb";this.dbVersion=2;this.storeName="exams2";this.dbName=t,this.storeName=r}async save(t){let{transaction:r,store:n}=await this.connectToStore("readwrite");return this.processRequest(n.put(t),r).then(()=>{})}async delete(t){let{transaction:r,store:n}=await this.connectToStore("readwrite");return this.processRequest(n.delete(t),r)}async get(t){let{transaction:r,store:n}=await this.connectToStore("readwrite");return this.processRequest(n.get(t),r).catch(()=>{})}async getDevices(t){let{transaction:r,store:n}=await this.connectToStore("readwrite");return this.processRequest(n.get(t),r).catch(()=>{})}async list(){let{transaction:t,store:r}=await this.connectToStore("readonly");return this.processRequest(r.getAll(),t)}async clear(){let{transaction:t,store:r}=await this.connectToStore("readwrite");return this.processRequest(r.clear(),t)}async processRequest(t,r){return new Promise((n,o)=>{t.onerror=i=>{o(t.error?.message)},t.onsuccess=i=>{r.commit(),n(t.result)}})}async hasSessions(){return(await this.list()).length>0}async connectToStore(t){let o=(await this.connect()).result.transaction(this.storeName,t),i=o.objectStore(this.storeName);return{transaction:o,store:i}}async connect(){return this.connection?this.connection:new Promise((t,r)=>{let n=window.indexedDB.open(this.dbName,this.dbVersion);n.onerror=o=>{r("Can't connect to IndexedDB")},n.onupgradeneeded=o=>{let i=n.result;i.onerror=s=>{},i.createObjectStore(this.storeName,{keyPath:"id"})},n.onsuccess=o=>{this.connection=n,t(n)}})}};function J2(){let e=navigator.userAgent,t;return e.match(/chrome|chromium|crios/i)?t="chrome":e.match(/firefox|fxios/i)?t="firefox":e.match(/safari/i)?t="safari":e.match(/opr\//i)?t="opera":e.match(/edg/i)?t="edge":t="No browser detection",t}function Y2(){return new Promise((e,t)=>{window.navigator.geolocation.getCurrentPosition(e,t)})}function Ti(){let e=window.navigator.userAgent.split("SEB/");return e.length>1?e[1]:"1.0.0.0"}var Pc=class{constructor(t,r){this.cpf=t,this.backend=r,this.capturePhoto=new Jn}async login(){let t=await this.capturePhoto.takePicture("Login com biometria facial","Encaixe seu rosto no formato e clique no bot\xE3o abaixo",{width:1280,height:720});return this.loading(),new Promise((r,n)=>{this.backend.loginAuth(this.cpf,t.base64.substr(22,t.base64.length)).then(o=>{this.token=o.token,document.querySelector("#authLoader")?.remove(),this.backend.token=this.token,r(this.token)}).catch(o=>{console.log(o),document.querySelector("#authLoader")?.remove(),n(o)})})}loading(){let t=document.createElement("div");t.setAttribute("id","authLoader"),t.style.backgroundColor="rgba(0,0,0,0.4)",t.style.zIndex="1000",t.style.position="fixed",t.style.top="0",t.style.left="0",t.style.height="100vh",t.style.width="100%",t.style.display="flex",t.style.alignItems="center",t.style.justifyContent="center";let r=document.createElement("div");r.setAttribute("class","loader"),t.appendChild(r),document.body.appendChild(t);let n=`
276
+ `;var na=class{constructor(t){this.blobs=[];this.blobsFinal=[];this.options=t}setProctoringId(t){this.proctoringId=t,hs(t)}async startRecording(){this.startTime=new Date(Date.now());let{allowOnlyFirstMonitor:t,allowMultipleMonitors:r,onStopSharingScreenCallback:i,onBufferSizeErrorCallback:n}=this.options,o={video:{cursor:"always",width:this.options.screenRecorderOptions.width,height:this.options.screenRecorderOptions.height,displaySurface:"monitor"},audio:!1},s={video:{cursor:"always",width:1280,height:720,displaySurface:"monitor"},audio:!1},a;try{a=await navigator.mediaDevices.getDisplayMedia(o)}catch(f){if(f instanceof TypeError&&f.message.includes("min constraints are not supported"))console.warn("Navegador n\xE3o suporta restri\xE7\xF5es 'min/max/ideal'. Tentando com 720p fixo."),a=await navigator.mediaDevices.getDisplayMedia(s);else throw f}this.screenStream=a;let c=this.screenStream.getVideoTracks();if(c[0].onended=i,navigator.userAgent.indexOf("Firefox")>-1){let f=c.find(g=>g.label=="");if(f&&t||f&&!r)throw ps}let d=c.find(f=>["screen:0:0","Primary Monitor"].includes(f.label))!=null,u=c.find(f=>["screen:0:0","Primary Monitor",""].includes(f.label)||["screen:"].some(g=>f.label.includes(g)))!=null,m=c.find(f=>["web-contents-media-stream","window"].some(g=>f.label.includes(g)))!=null;if(!d&&t)throw c.forEach(f=>{f.stop()}),Cm;if(!u||m)throw c.forEach(f=>{f.stop()}),Tm;let{startRecording:y,stopRecording:p}=_r(this.screenStream,this.blobs,this.options.onBufferSizeError,n);this.recordingStart=y,this.recordingStop=p,this.recordingStart()}async pauseRecording(){}async resumeRecording(){}async stopRecording(){this.recordingStop&&await this.recordingStop()}async saveOnSession(t){t.addRecording({device:"",file:new File(this.blobs,`EP_${t.id}_screen_0.webm`,{type:"video/webm"}),origin:"Screen"})}};var In=class{constructor(t,r){this.dbName="EasyProctorDb";this.dbVersion=2;this.storeName="exams2";this.dbName=t,this.storeName=r}async save(t){let{transaction:r,store:i}=await this.connectToStore("readwrite");return this.processRequest(i.put(t),r).then(()=>{})}async delete(t){let{transaction:r,store:i}=await this.connectToStore("readwrite");return this.processRequest(i.delete(t),r)}async get(t){let{transaction:r,store:i}=await this.connectToStore("readwrite");return this.processRequest(i.get(t),r).catch(()=>{})}async getDevices(t){let{transaction:r,store:i}=await this.connectToStore("readwrite");return this.processRequest(i.get(t),r).catch(()=>{})}async list(){let{transaction:t,store:r}=await this.connectToStore("readonly");return this.processRequest(r.getAll(),t)}async clear(){let{transaction:t,store:r}=await this.connectToStore("readwrite");return this.processRequest(r.clear(),t)}async processRequest(t,r){return new Promise((i,n)=>{t.onerror=o=>{n(t.error?.message)},t.onsuccess=o=>{r.commit(),i(t.result)}})}async hasSessions(){return(await this.list()).length>0}async connectToStore(t){let n=(await this.connect()).result.transaction(this.storeName,t),o=n.objectStore(this.storeName);return{transaction:n,store:o}}async connect(){return this.connection?this.connection:new Promise((t,r)=>{let i=window.indexedDB.open(this.dbName,this.dbVersion);i.onerror=n=>{r("Can't connect to IndexedDB")},i.onupgradeneeded=n=>{let o=i.result;o.onerror=s=>{},o.createObjectStore(this.storeName,{keyPath:"id"})},i.onsuccess=n=>{this.connection=i,t(i)}})}};function Hg(){let e=navigator.userAgent,t;return e.match(/chrome|chromium|crios/i)?t="chrome":e.match(/firefox|fxios/i)?t="firefox":e.match(/safari/i)?t="safari":e.match(/opr\//i)?t="opera":e.match(/edg/i)?t="edge":t="No browser detection",t}function Wg(){return new Promise((e,t)=>{window.navigator.geolocation.getCurrentPosition(e,t)})}function Dn(){let e=window.navigator.userAgent.split("SEB/");return e.length>1?e[1]:"1.0.0.0"}var oa=class{constructor(t,r){this.cpf=t,this.backend=r,this.capturePhoto=new wi}async login(){let t=await this.capturePhoto.takePicture("Login com biometria facial","Encaixe seu rosto no formato e clique no bot\xE3o abaixo",{width:1280,height:720});return this.loading(),new Promise((r,i)=>{this.backend.loginAuth(this.cpf,t.base64.substr(22,t.base64.length)).then(n=>{this.token=n.token,document.querySelector("#authLoader")?.remove(),this.backend.token=this.token,r(this.token)}).catch(n=>{console.log(n),document.querySelector("#authLoader")?.remove(),i(n)})})}loading(){let t=document.createElement("div");t.setAttribute("id","authLoader"),t.style.backgroundColor="rgba(0,0,0,0.4)",t.style.zIndex="1000",t.style.position="fixed",t.style.top="0",t.style.left="0",t.style.height="100vh",t.style.width="100%",t.style.display="flex",t.style.alignItems="center",t.style.justifyContent="center";let r=document.createElement("div");r.setAttribute("class","loader"),t.appendChild(r),document.body.appendChild(t);let i=`
285
277
  .loader {
286
278
  border: 6px solid #f3f3f3;
287
279
  border-radius: 50%;
@@ -302,17 +294,17 @@ registerProcessor("audio-processor", AudioProcessor);
302
294
  0% { transform: rotate(0deg); }
303
295
  100% { transform: rotate(360deg); }
304
296
  }
305
- `,o=document.createElement("style");o.innerHTML=n,document.head.appendChild(o)}};var Rc=class{constructor(t){this.context=t;this.paramsConfig={audioBehaviourParameters:{recordingBitrate:128,noiseLimit:40},imageBehaviourParameters:{frames:40,useUploadImage:!0,uploadInterval:20,saveVideo:!0},videoBehaviourParameters:{detectFace:!1,detectPerson:!1,detectCellPhone:!1,detectNoise:!1,detectSpeech:!1}};this.proctoringId="";this.insights=void 0;this.state="Stop";this.serviceType="Upload";this.onStopSharingScreenCallback=()=>{};this.onLostFocusCallback=()=>{};this.onFocusCallback=()=>{};this.onChangeDevicesCallback=t=>{};this.onRealtimeAlertsCallback=t=>{};this.onBufferSizeErrorCallback=t=>{};this.backend=new ft({type:t.type||"prod",token:t.token}),this.repository=new xi("EasyProctorDb","exams2"),this.repositoryDevices=new xi("EasyProctorDbDevices","devices"),this.context.credentials?.cpf&&(this.auth=new Pc(this.context.credentials.cpf,this.backend))}setOnStopSharingScreenCallback(t){this.onStopSharingScreenCallback=()=>{N.registerStopSharingScreen(this.proctoringId,"Stop sharing screen"),t()}}setOnLostFocusCallback(t){this.onLostFocusCallback=()=>t()}setOnFocusCallback(t){this.onFocusCallback=()=>t()}async onChangeDevices(t={}){new $a(this.repositoryDevices,this.proctoringId).startRecording(t),this.onChangeDevicesCallback=n=>t.status&&t.status(n)}async onRealtimeAlerts(t={}){this.onRealtimeAlertsCallback=r=>t.data&&t.data(r)}setOnBufferSizeErrorCallback(t){this.onBufferSizeErrorCallback=r=>t(r)}createRecorders(t=mt){this.onChangeDevices();let r=new sr({cameraId:this.sessionOptions.cameraId,microphoneId:this.sessionOptions.microphoneId,onBufferSizeError:this.sessionOptions.onBufferSizeError,onBufferSizeErrorCallback:a=>this.onBufferSizeErrorCallback(a),proctoringType:this.sessionOptions.proctoringType,onChangeDevicesCallback:a=>this.onChangeDevicesCallback(a),onRealtimeAlertsCallback:a=>this.onRealtimeAlertsCallback(a)},{width:this.videoOptions.width,height:this.videoOptions.height,minWidth:this.videoOptions.minWidth,minHeight:this.videoOptions.minHeight},this.paramsConfig,this.backend,this.context.token),n=this.sessionOptions.captureScreen?new Ic({allowOnlyFirstMonitor:this.sessionOptions.allowOnlyFirstMonitor??!0,allowMultipleMonitors:this.sessionOptions.allowMultipleMonitors??!0,onStopSharingScreenCallback:()=>this.onStopSharingScreenCallback(),onBufferSizeError:this.sessionOptions.onBufferSizeError,onBufferSizeErrorCallback:()=>this.onBufferSizeErrorCallback()}):void 0,o=new qa({onFocusCallback:()=>this.onFocusCallback(),onLostFocusCallback:()=>this.onLostFocusCallback()},t),i=new Tc(t,this.proctoringSession,this.paramsConfig,r,a=>this.onRealtimeAlertsCallback(a),this.backend,this.context.token),s=[r,n,o].filter(Boolean);return s.push(i),this.recorder=new Wa(this.proctoringSession,s),{cameraRecorder:r,screenRecorder:n,alertRecorder:o,noiseRecorder:i}}async login(){if(!this.context.credentials?.cpf)throw Og;this.context.token=await this.auth.login()}async start(t=mt,r={}){try{if(this.context.token===void 0)throw Dg;this.extension=new za,this.extension.addEventListener();let n=this.backend.selectBaseUrl(this.context.type),o=await St();await this.repositoryDevices.save({...o,id:"devices"}),this.sessionOptions={...mt,...t},this.videoOptions=na(r),await this.initConfig(t.useGeolocation),await this.verifyBrowser(),this.sessionOptions.captureScreen&&await this.verifyMultipleMonitors(this.sessionOptions);try{t?.useSpyScan&&await this.spyCam.isAlive()}catch{throw Bg}if(this.state!="Stop")throw Tg;this.state="Starting",await this.repository.hasSessions()&&await this.repository.clear(),this.proctoringSession=new Gr,this.allRecorders=this.createRecorders(this.sessionOptions);let i=await this.backend.confirmStart({clientId:this.context.clientId,examId:this.context.examId,token:this.context.token},this.sessionOptions.proctoringType,this.geolocation?this.geolocation.coords.latitude:void 0,this.geolocation?this.geolocation.coords.longitude:void 0);this.proctoringId=i.id;try{t?.useExternalCamera&&(this.appChecker=new oo(this.context,a=>this.onRealtimeAlertsCallback(a)),this.appChecker.setProctoringId(this.proctoringId),await this.appChecker.checkExternalCamera())}catch{throw Mg}t?.useExternalCamera&&await this.appChecker.initializeWebSocketConnection(),this.allRecorders.cameraRecorder.setProctoringId(this.proctoringId),this.allRecorders.noiseRecorder.setProctoringId(this.proctoringId),this.proctoringSession.setProctoringId(this.proctoringId),await this.recorder.startAll(),t?.useSpyScan&&(this.spyCam.setProctoringId(this.proctoringId),this.spyCam.startCheckSpyCam(this.paramsConfig.spyScanInterval??5,{deviceType:3})),await this.repository.save(this.proctoringSession);let s={};for(let a in navigator)s[a]=navigator[a];return N.registerStart(this.proctoringId,!0,`Version: ${Ti()}
306
- Navigator: ${JSON.stringify(s)}`),i.cameraStream=this.allRecorders.cameraRecorder.cameraStream,this.allRecorders.screenRecorder&&(i.screenStream=this.allRecorders.screenRecorder.screenStream),this.state="Recording",i}catch(n){throw await this.cancel(),this.proctoringId&&N.registerStart(this.proctoringId,!1,`Token: ${this.context.token}
307
- Version: ${Ti()}
297
+ `,n=document.createElement("style");n.innerHTML=i,document.head.appendChild(n)}};var sa=class{constructor(t){this.context=t;this.deviceData=null;this.paramsConfig={audioBehaviourParameters:{recordingBitrate:128,noiseLimit:40},imageBehaviourParameters:{frames:40,useUploadImage:!0,uploadInterval:20,saveVideo:!0},videoBehaviourParameters:{detectFace:!1,detectPerson:!1,detectCellPhone:!1,detectNoise:!1,detectSpeech:!1}};this.proctoringId="";this.insights=void 0;this.state="Stop";this.serviceType="Upload";this.onStopSharingScreenCallback=()=>{};this.onLostFocusCallback=()=>{};this.onFocusCallback=()=>{};this.onChangeDevicesCallback=t=>{};this.onRealtimeAlertsCallback=t=>{};this.onBufferSizeErrorCallback=t=>{};this.backend=new Ct({type:t.type||"prod",token:t.token}),this.repository=new In("EasyProctorDb","exams2"),this.repositoryDevices=new In("EasyProctorDbDevices","devices"),this.context.credentials?.cpf&&(this.auth=new oa(this.context.credentials.cpf,this.backend))}setOnStopSharingScreenCallback(t){this.onStopSharingScreenCallback=async()=>{D.registerStopSharingScreen(this.proctoringId,"Stop sharing screen"),this.allRecorders?.alertRecorder?.addAlert({alert:34,type:3}),this.allRecorders?.screenRecorder?.stopRecording(),t()}}setOnLostFocusCallback(t){this.onLostFocusCallback=()=>t()}setOnFocusCallback(t){this.onFocusCallback=()=>t()}async onChangeDevices(t={}){new vs(this.repositoryDevices,this.proctoringId,this.sessionOptions,this.allRecorders).startRecording(t),this.onChangeDevicesCallback=i=>t.status&&t.status(i)}async onRealtimeAlerts(t={}){this.onRealtimeAlertsCallback=r=>t.data&&t.data(r)}setOnBufferSizeErrorCallback(t){this.onBufferSizeErrorCallback=r=>t(r)}setDeviceCheckData(t){this.deviceData=t}createRecorders(t=et){this.onChangeDevices();let r=new Vt({cameraId:this.sessionOptions.cameraId,microphoneId:this.sessionOptions.microphoneId,onBufferSizeError:this.sessionOptions.onBufferSizeError,onBufferSizeErrorCallback:a=>this.onBufferSizeErrorCallback(a),proctoringType:this.sessionOptions.proctoringType,onChangeDevicesCallback:a=>this.onChangeDevicesCallback(a),onRealtimeAlertsCallback:a=>this.onRealtimeAlertsCallback(a)},{width:this.videoOptions.width,height:this.videoOptions.height,minWidth:this.videoOptions.minWidth,minHeight:this.videoOptions.minHeight},this.paramsConfig,this.backend,this.context.token),i=this.sessionOptions.captureScreen?new na({allowOnlyFirstMonitor:this.sessionOptions.allowOnlyFirstMonitor??!0,allowMultipleMonitors:this.sessionOptions.allowMultipleMonitors??!0,screenRecorderOptions:this.sessionOptions.screenRecorderOptions,onStopSharingScreenCallback:()=>this.onStopSharingScreenCallback(),onBufferSizeError:this.sessionOptions.onBufferSizeError,onBufferSizeErrorCallback:()=>this.onBufferSizeErrorCallback()}):void 0,n=new Ss({onFocusCallback:()=>this.onFocusCallback(),onLostFocusCallback:()=>this.onLostFocusCallback()},t),o=new ia(t,this.proctoringSession,this.paramsConfig,r,a=>this.onRealtimeAlertsCallback(a),this.backend,this.context.token),s=[r,i,n].filter(Boolean);return s.push(o),this.recorder=new ws(this.proctoringSession,s),{cameraRecorder:r,screenRecorder:i,alertRecorder:n,noiseRecorder:o}}async login(){if(!this.context.credentials?.cpf)throw Bm;this.context.token=await this.auth.login()}async start(t=et,r={}){try{if(this.context.token===void 0)throw Om;t.useChallenge&&(this.extensionEasycatcher=new bs),this.extension=new ys,this.extension.addEventListener();let i=this.backend.selectBaseUrl(this.context.type),n=await st();await this.repositoryDevices.save({...n,id:"devices"}),this.sessionOptions={...et,...t},this.videoOptions=ds(r),await this.initConfig(t.useGeolocation),await this.verifyBrowser(),this.sessionOptions.captureScreen&&await this.verifyMultipleMonitors(this.sessionOptions);try{t?.useSpyScan&&await this.spyCam.isAlive()}catch{throw Fm}if(this.state!="Stop")throw Rm;this.state="Starting",await this.repository.hasSessions()&&await this.repository.clear(),this.proctoringSession=new Er,this.allRecorders=this.createRecorders(this.sessionOptions),await this.recorder.startAll();let o=await this.backend.confirmStart({clientId:this.context.clientId,examId:this.context.examId,token:this.context.token},this.sessionOptions.proctoringType,this.geolocation?this.geolocation.coords.latitude:void 0,this.geolocation?this.geolocation.coords.longitude:void 0);this.proctoringId=o.id,D.registerDevicesChecked(this.proctoringId,!!this.deviceData,`Devices checked: ${JSON.stringify(this.deviceData)} | Devices List: ${n}`),this.allRecorders.cameraRecorder.setProctoringId(this.proctoringId),this.allRecorders.noiseRecorder.setProctoringId(this.proctoringId),this.proctoringSession.setProctoringId(this.proctoringId),t?.useSpyScan&&(this.spyCam.setProctoringId(this.proctoringId),this.spyCam.startCheckSpyCam(this.paramsConfig.spyScanInterval??5,{deviceType:3})),await this.repository.save(this.proctoringSession);let s={};for(let a in navigator)s[a]=navigator[a];return D.registerStart(this.proctoringId,!0,`Version: ${Dn()}
298
+ Navigator: ${JSON.stringify(s)}`),o.cameraStream=this.allRecorders.cameraRecorder.cameraStream,this.allRecorders.screenRecorder&&(o.screenStream=this.allRecorders.screenRecorder.screenStream),this.state="Recording",o}catch(i){throw await this.cancel(),this.proctoringId&&D.registerStart(this.proctoringId,!1,`Token: ${this.context.token}
299
+ Version: ${Dn()}
308
300
  Navigator: ${navigator}
309
- Error: ${n}`),this.state="Stop",n}}async cancel(){(this.state==="Recording"||this.state==="Starting")&&(await this.recorder.stopAll(),this.spyCam&&await this.spyCam.stopCheckSpyCam()),this.state="Stop"}async finish(t={}){try{if(this.extension.options=t,this.state!=="Recording")throw aa;await this.recorder.stopAll(),this.spyCam&&this.spyCam.stopCheckSpyCam(),this.appChecker&&await this.appChecker.disconnectWebSocket(),await this.recorder.saveAllOnSession(),await this.repository.save(this.proctoringSession);let r,n;Ti()!=="1.0.0.0"?(r=new so(this.proctoringSession,this.proctoringId,[new io(this.proctoringId)]),n="Download",this.serviceType="Download"):(r=new so(this.proctoringSession,this.proctoringId,[new ir(this.proctoringId,this.backend),new io(this.proctoringId)]),n="Upload",this.serviceType="Upload");let o=!1;this.extension.hasExtension&&await this.extension.start().then(s=>{o=s}).catch(s=>{o=!1}),(!o||!this.extension.hasExtension)&&(await r.upload(this.context.token,t.onProgress).catch(async s=>{N.registerUpload(this.proctoringSession.id,!1,`upload error: ${s}
301
+ Error: ${i}`),this.state="Stop",i}}async cancel(){(this.state==="Recording"||this.state==="Starting")&&(await this.recorder.stopAll(),this.spyCam&&await this.spyCam.stopCheckSpyCam()),this.state="Stop"}async finish(t={}){try{if(this.extension.options=t,this.state!=="Recording")throw ms;await this.recorder.stopAll(),this.spyCam&&this.spyCam.stopCheckSpyCam(),await this.recorder.saveAllOnSession(),await this.repository.save(this.proctoringSession);let r,i;Dn()!=="1.0.0.0"?(r=new ki(this.proctoringSession,this.proctoringId,[new Si(this.proctoringId)]),i="Download",this.serviceType="Download"):(r=new ki(this.proctoringSession,this.proctoringId,[new jt(this.proctoringId,this.backend),new Si(this.proctoringId)]),i="Upload",this.serviceType="Upload");let n=!1;this.extension.hasExtension&&await this.extension.start().then(o=>{n=o}).catch(o=>{n=!1}),(!n||!this.extension.hasExtension)&&(await r.upload(this.context.token,t.onProgress).catch(async o=>{D.registerUpload(this.proctoringSession.id,!1,`upload error: ${o}
310
302
 
311
- Upload Services: ${n}`,this.serviceType),Ti()!=="1.0.0.0"&&(r=new so(this.proctoringSession,this.proctoringId,[new ir(this.proctoringId,this.backend),new io(this.proctoringId)]),n="Upload",this.serviceType="Upload",n="Download",this.serviceType="Download",await r.upload(this.context.token,t.onProgress).catch(a=>{N.registerUpload(this.proctoringSession.id,!1,`upload backup error: ${a}
303
+ Upload Services: ${i}`,this.serviceType),Dn()!=="1.0.0.0"&&(r=new ki(this.proctoringSession,this.proctoringId,[new jt(this.proctoringId,this.backend),new Si(this.proctoringId)]),i="Upload",this.serviceType="Upload",i="Download",this.serviceType="Download",await r.upload(this.context.token,t.onProgress).catch(s=>{D.registerUpload(this.proctoringSession.id,!1,`upload backup error: ${s}
312
304
 
313
- Upload Services: ${n}
314
- Upload backup for Safe Browser`,this.serviceType)}))}),N.registerUpload(this.proctoringSession.id,!0,`upload success
305
+ Upload Services: ${i}
306
+ Upload backup for Safe Browser`,this.serviceType)}))}),D.registerUpload(this.proctoringSession.id,!0,`upload success
315
307
 
316
- Upload Services: ${n}`,this.serviceType)),this.proctoringSession.alerts.length>0&&await this.backend.saveAlerts(this.context,this.proctoringSession).catch(s=>{N.registerFinish(this.proctoringSession.id,!1,"save-screen error: "+s)}),await this.backend.finishAndSendUrls(this.context,this.proctoringSession).then(()=>{N.registerFinish(this.proctoringSession.id,!0,"")}).catch(s=>{N.registerFinish(this.proctoringSession.id,!1,"finish error: "+s)});let i=this.appChecker.getExternalCameraSessionId();await this.backend.externalCameraFinish(i),this.state="Stop"}catch(r){throw await this.cancel(),N.registerFinish(this.proctoringId,!1,`Token: ${this.context.token}
317
- Error: `+r),this.state="Stop",r}}async verifyMultipleMonitors(t){if(!t.allowMultipleMonitors&&await $i())throw N.registerError(this.proctoringId,"Multiplas telas detectadas!"),sa}async verifyBrowser(){let t=await J2();if(t!=="chrome"&&t!=="firefox")throw N.registerBrowserNotSupported(this.proctoringId,`Browser n\xE3o suportado:
318
- Tentativa utilizando o browser ${t}`),Rg}async initConfig(t){try{let r=await this.backend.getParamsConfig(this.context);this.paramsConfig={...this.paramsConfig,...r,audioBehaviourParameters:{...this.paramsConfig.audioBehaviourParameters,...r.audioBehaviourParameters},imageBehaviourParameters:{...this.paramsConfig.imageBehaviourParameters,...r.imageBehaviourParameters},videoBehaviourParameters:{...this.paramsConfig.videoBehaviourParameters,...r.videoBehaviourParameters}},t&&(this.geolocation=await Y2().then(n=>n).catch(n=>{throw n.message})),Cg(this.backend),this.sessionOptions?.useSpyScan&&(this.spyCam=new Xn(this.context,{onRealtimeAlertsCallback:n=>this.onRealtimeAlertsCallback(n)}))}catch(r){throw this.proctoringId&&N.registerError(this.proctoringId,"Erro no initConfig!"),await this.cancel(),r}}async getServerDate(){let t=await this.backend.getServerHour(this.context.token).catch(n=>{N.registerError(this.proctoringId,"N\xE3o foi poss\xEDvel requisitar a data do servidor!")});return t?new Date(t.toString()):new Date}async pause(){if(this.state!=="Recording")throw N.registerError(this.proctoringId,"Proctoring n\xE3o iniciado!"),aa;await this.recorder.stopAll(),await this.recorder.saveAllOnSession(),await this.repository.save(this.proctoringSession),this.state="Paused"}async resume(){if(this.state!="Paused")throw aa;return await this.verifyBrowser(),await this.verifyMultipleMonitors(this.sessionOptions),await this.recorder.startAll(),this.proctoringSession.recordings=[],await this.repository.save(this.proctoringSession),this.state="Recording",{cameraStream:this.allRecorders.cameraRecorder.cameraStream,_screenStream:this.allRecorders.screenRecorder?.screenStream}}};var Dc=class e{static{this.isModalOpen=!1}constructor(t){this.backend=new ft({type:t?.type||"prod",token:t.token})}async signInTerms(){if(e.isModalOpen)return Promise.reject();e.isModalOpen=!0;try{let t=await this.openModal();return new Promise(r=>{r(t)})}catch(t){return this.closeModal(),Promise.reject(t)}}openModal(){return new Promise((t,r)=>{let n=document.createElement("div");n.setAttribute("id","signTermModal");let o={backgroundColor:"rgba(0,0,0,0.4)",zIndex:"1000",position:"fixed",top:"0",left:"0",height:"100vh",width:"100%",display:"flex",alignItems:"center",justifyContent:"center"};this.applyStyles(n,o);let i=document.createElement("div"),s={backgroundColor:"#fff",zIndex:"1001",width:"850px",maxHeight:"95%",borderRadius:"10px",display:"flex",flexDirection:"column",alignItems:"center"};this.applyStyles(i,s);let a=document.createElement("h3");a.innerText="Termo de consentimento para coleta e uso de dados";let c={color:"rgba(0, 0, 0, .7)",fontWeight:"bold",fontSize:"20px",marginBottom:"15px",padding:"20px 0px",borderBottom:"2px solid rgba(0, 0, 0, .1)",width:"100%",textAlign:"center"};this.applyStyles(a,c),i.appendChild(a);let l=document.createElement("iframe"),h="https://docs.google.com/document/u/3/d/e/2PACX-1vRMgrLhDLyDP8BHmotfPDpwAFaDHqK-mA4eBJ0Cy1mDdvHcWLsx47H4otII_4qi4rhtSf6B0OO97e9c/pub";this.backend.signTermUrl().then(se=>{if(!se)throw new Error("N\xE3o foi poss\xEDvel obter o termo de consentimento");l.setAttribute("src",se)}).catch(()=>{l.setAttribute("src",h)});let u={width:"100%",height:"500px",border:"1px solid rgba(0, 0, 0, .1)",margin:"20px",borderRadius:"5px"};this.applyStyles(l,u),i.appendChild(l);let p=document.createElement("div"),g=document.createElement("input");g.setAttribute("type","checkbox"),g.setAttribute("id","termsCheckbox");let m=document.createElement("label");m.setAttribute("for","termsCheckbox"),m.innerText="Li e aceito os termos e condi\xE7\xF5es";let y={display:"flex",alignItems:"center",gap:"10px",margin:"20px",width:"100%",paddingLeft:"20px"};this.applyStyles(p,y),p.appendChild(g),p.appendChild(m),i.appendChild(p);let b=document.createElement("div"),w={width:"100%",display:"flex",alignItems:"center",justifyContent:"center",borderTop:"2px solid rgba(0, 0, 0, .1)"};this.applyStyles(b,w);let S=document.createElement("button");S.innerText="Cancelar";let A={width:"100%",height:"70px",backgroundColor:"#FFF",border:"none",color:"rgba(0, 0, 0, .7)",fontWeight:"bold",borderRadius:"10px",paddingTop:"5px",paddingBottom:"5px"};this.applyStyles(S,A),S.addEventListener("click",()=>{this.closeModal(),t(!1)});let B=document.createElement("span"),O={width:"3px",height:"70px",margin:"0px 2px",background:"rgba(0, 0, 0, .1)"};this.applyStyles(B,O);let R=document.createElement("button");R.innerText="Continuar",R.setAttribute("id","confirmBtn");let de={width:"100%",height:"70px",backgroundColor:"#FFF",border:"none",color:"rgba(0, 0, 0, .7)",fontWeight:"bold",borderRadius:"10px",paddingTop:"5px",paddingBottom:"5px",disabled:!0,cursor:"not-allowed"};this.applyStyles(R,de),R.disabled=!0,R.addEventListener("click",()=>{this.closeModal(),this.backend.signTerm().then(()=>{t(!0)})}),g.addEventListener("change",se=>{R.disabled=!se.target.checked,se.target.checked?(R.style.color="#007bff",R.style.cursor="pointer"):(R.style.color="rgba(0, 0, 0, .7)",R.style.cursor="not-allowed")}),b.appendChild(S),b.appendChild(B),b.appendChild(R),i.appendChild(b),n.appendChild(i),document.body.appendChild(n)})}async closeModal(){e.isModalOpen=!1,document.querySelector("#signTermModal")?.remove()}applyStyles(t,r){for(let[n,o]of Object.entries(r))t.style[n]=o}};function yd(e,t="prod"){e.showConsole||(console.log=()=>{},console.warn=()=>{},console.error=()=>{});let r={type:t,clientId:e.clientId,examId:e.examId,token:e.token,credentials:e.credentials,showConsole:e.showConsole},n=new Rc(r),o=new ha(r),i=new oo(r,()=>{}),s=new Dc(r),a=new Jn,c=n.login.bind(n),l=n.start.bind(n),h=n.finish.bind(n),u=n.pause.bind(n),p=n.resume.bind(n),g=n.setOnFocusCallback.bind(n),m=n.setOnLostFocusCallback.bind(n),y=n.onChangeDevices.bind(n),b=n.setOnBufferSizeErrorCallback.bind(n),w=n.setOnStopSharingScreenCallback.bind(n),S=n.onRealtimeAlerts.bind(n),A=s.signInTerms.bind(s),B=o.checkDevices.bind(o),O=i.checkExternalCamera.bind(i),R=o.runCheckDevicesFlow.bind(o),de=o.changeSelectedDevice.bind(o),se=a.takePicture.bind(a);return{login:c,start:l,finish:h,onFocus:g,onLostFocus:m,onChangeDevices:y,onBufferSizeError:b,onRealtimeAlerts:S,checkDevices:B,runCheckDevicesFlow:R,changeSelectedDevice:de,capturePhoto:se,enumarateDevices:St,checkPermissions:zi,checkIfhasMultipleMonitors:$i,onStopSharingScreen:w,signInTerms:A,checkExternalCamera:O}}typeof window<"u"&&(window.useProctoring=yd);})();
308
+ Upload Services: ${i}`,this.serviceType)),this.proctoringSession.alerts.length>0&&await this.backend.saveAlerts(this.context,this.proctoringSession).catch(o=>{D.registerFinish(this.proctoringSession.id,!1,"save-screen error: "+o)}),await this.backend.finishAndSendUrls(this.context,this.sessionOptions).then(()=>{D.registerFinish(this.proctoringSession.id,!0,"")}).catch(o=>{D.registerFinish(this.proctoringSession.id,!1,"finish error: "+o)}),this.state="Stop"}catch(r){throw await this.cancel(),D.registerFinish(this.proctoringId,!1,`Token: ${this.context.token}
309
+ Error: `+r),this.state="Stop",r}}async verifyMultipleMonitors(t){if(!t.allowMultipleMonitors&&await Yn())throw D.registerError(this.proctoringId,"Multiplas telas detectadas!"),ps}async verifyBrowser(){let t=await Hg();if(t!=="chrome"&&t!=="firefox")throw D.registerBrowserNotSupported(this.proctoringId,`Browser n\xE3o suportado:
310
+ Tentativa utilizando o browser ${t}`),Dm}async initConfig(t){try{let r=await this.backend.getParamsConfig(this.context);this.paramsConfig={...this.paramsConfig,...r,audioBehaviourParameters:{...this.paramsConfig.audioBehaviourParameters,...r.audioBehaviourParameters},imageBehaviourParameters:{...this.paramsConfig.imageBehaviourParameters,...r.imageBehaviourParameters},videoBehaviourParameters:{...this.paramsConfig.videoBehaviourParameters,...r.videoBehaviourParameters}},t&&(this.geolocation=await Wg().then(i=>i).catch(i=>{throw i.message})),xm(this.backend),this.sessionOptions?.useSpyScan&&(this.spyCam=new vi(this.context,{onRealtimeAlertsCallback:i=>this.onRealtimeAlertsCallback(i)}))}catch(r){throw this.proctoringId&&D.registerError(this.proctoringId,"Erro no initConfig!"),await this.cancel(),r}}async getServerDate(){let t=await this.backend.getServerHour(this.context.token).catch(i=>{D.registerError(this.proctoringId,"N\xE3o foi poss\xEDvel requisitar a data do servidor!")});return t?new Date(t.toString()):new Date}async pause(){if(this.state!=="Recording")throw D.registerError(this.proctoringId,"Proctoring n\xE3o iniciado!"),ms;await this.recorder.stopAll(),await this.recorder.saveAllOnSession(),await this.repository.save(this.proctoringSession),this.state="Paused"}async resume(){if(this.state!="Paused")throw ms;return await this.verifyBrowser(),await this.verifyMultipleMonitors(this.sessionOptions),await this.recorder.startAll(),this.proctoringSession.recordings=[],await this.repository.save(this.proctoringSession),this.state="Recording",{cameraStream:this.allRecorders.cameraRecorder.cameraStream,_screenStream:this.allRecorders.screenRecorder?.screenStream}}async startChallenge(t){if(!this.sessionOptions.useChallenge)throw new Error("useChallenge is set as false on start method");await this.extensionEasycatcher.checkExtensionInstalled().catch(i=>{throw new Error("EasyCatcher Extension is not installed")}),this.extensionEasycatcher.start();let r=Date.now();await this.backend.startChallenge({proctoringId:this.proctoringId,templateId:t,start:r}).then(i=>{console.log(i),this.challengeId=i.id}).catch(i=>{throw D.registerError(this.proctoringId,"N\xE3o foi poss\xEDvel iniciar desafio!"),i}),this.isChallengeRunning=!0}async stopChallenge(){if(!this.isChallengeRunning)throw new Error("Challenge not started");try{let t=await this.extensionEasycatcher.getSessionData(),r=Date.now();await this.backend.stopChallenge(this.challengeId,{end:r,data:t}).catch(i=>{D.registerError(this.proctoringId,"N\xE3o foi poss\xEDvel finalizar o desafio no backend!")}),this.isChallengeRunning=!1}catch(t){D.registerError(this.proctoringId,"Erro ao recuperar dados da extens\xE3o: "+t.message)}}};var Bn=class{constructor(t){this.backend=new Ct({type:t?.type||"prod",token:t.token})}async signInTerms(){if(Bn.isModalOpen)return Promise.reject();Bn.isModalOpen=!0;try{let t=await this.openModal();return new Promise(r=>{r(t)})}catch(t){return this.closeModal(),Promise.reject(t)}}openModal(){return new Promise((t,r)=>{let i=document.createElement("div");i.setAttribute("id","signTermModal");let n={backgroundColor:"rgba(0,0,0,0.4)",zIndex:"1000",position:"fixed",top:"0",left:"0",height:"100vh",width:"100%",display:"flex",alignItems:"center",justifyContent:"center"};this.applyStyles(i,n);let o=document.createElement("div"),s={backgroundColor:"#fff",zIndex:"1001",width:"850px",maxHeight:"95%",borderRadius:"10px",display:"flex",flexDirection:"column",alignItems:"center"};this.applyStyles(o,s);let a=document.createElement("h3");a.innerText="Termo de consentimento para coleta e uso de dados";let c={color:"rgba(0, 0, 0, .7)",fontWeight:"bold",fontSize:"20px",marginBottom:"15px",padding:"20px 0px",borderBottom:"2px solid rgba(0, 0, 0, .1)",width:"100%",textAlign:"center"};this.applyStyles(a,c),o.appendChild(a);let l=document.createElement("iframe"),d="https://docs.google.com/document/u/3/d/e/2PACX-1vRMgrLhDLyDP8BHmotfPDpwAFaDHqK-mA4eBJ0Cy1mDdvHcWLsx47H4otII_4qi4rhtSf6B0OO97e9c/pub";this.backend.signTermUrl().then(pe=>{if(!pe)throw new Error("N\xE3o foi poss\xEDvel obter o termo de consentimento");l.setAttribute("src",pe)}).catch(()=>{l.setAttribute("src",d)});let u={width:"100%",height:"500px",border:"1px solid rgba(0, 0, 0, .1)",margin:"20px",borderRadius:"5px"};this.applyStyles(l,u),o.appendChild(l);let m=document.createElement("div"),y=document.createElement("input");y.setAttribute("type","checkbox"),y.setAttribute("id","termsCheckbox");let p=document.createElement("label");p.setAttribute("for","termsCheckbox"),p.innerText="Li e aceito os termos e condi\xE7\xF5es";let f={display:"flex",alignItems:"center",gap:"10px",margin:"20px",width:"100%",paddingLeft:"20px"};this.applyStyles(m,f),m.appendChild(y),m.appendChild(p),o.appendChild(m);let g=document.createElement("div"),b={width:"100%",display:"flex",alignItems:"center",justifyContent:"center",borderTop:"2px solid rgba(0, 0, 0, .1)"};this.applyStyles(g,b);let k=document.createElement("button");k.innerText="Cancelar";let C={width:"100%",height:"70px",backgroundColor:"#FFF",border:"none",color:"rgba(0, 0, 0, .7)",fontWeight:"bold",borderRadius:"10px",paddingTop:"5px",paddingBottom:"5px"};this.applyStyles(k,C),k.addEventListener("click",()=>{this.closeModal(),t(!1)});let O=document.createElement("span"),F={width:"3px",height:"70px",margin:"0px 2px",background:"rgba(0, 0, 0, .1)"};this.applyStyles(O,F);let P=document.createElement("button");P.innerText="Continuar",P.setAttribute("id","confirmBtn");let _e={width:"100%",height:"70px",backgroundColor:"#FFF",border:"none",color:"rgba(0, 0, 0, .7)",fontWeight:"bold",borderRadius:"10px",paddingTop:"5px",paddingBottom:"5px",disabled:!0,cursor:"not-allowed"};this.applyStyles(P,_e),P.disabled=!0,P.addEventListener("click",()=>{this.closeModal(),this.backend.signTerm().then(()=>{t(!0)})}),y.addEventListener("change",pe=>{P.disabled=!pe.target.checked,pe.target.checked?(P.style.color="#007bff",P.style.cursor="pointer"):(P.style.color="rgba(0, 0, 0, .7)",P.style.cursor="not-allowed")}),g.appendChild(k),g.appendChild(O),g.appendChild(P),o.appendChild(g),i.appendChild(o),document.body.appendChild(i)})}async closeModal(){Bn.isModalOpen=!1,document.querySelector("#signTermModal")?.remove()}applyStyles(t,r){for(let[i,n]of Object.entries(r))t.style[i]=n}},On=Bn;On.isModalOpen=!1;function Sd(e,t="prod"){e.showConsole||(console.log=()=>{},console.warn=()=>{},console.error=()=>{});let r={type:t,clientId:e.clientId,examId:e.examId,token:e.token,credentials:e.credentials,showConsole:e.showConsole},i=new sa(r),n=new yn(r),o=new On(r),s=new wi,a=i.login.bind(i),c=i.start.bind(i),l=async Fn=>{let Ht=n.getDeviceCheckResult();return Ht&&i.setDeviceCheckData(Ht),c(Fn)},d=i.finish.bind(i),u=i.startChallenge.bind(i),m=i.stopChallenge.bind(i),y=i.pause.bind(i),p=i.resume.bind(i),f=i.setOnFocusCallback.bind(i),g=i.setOnLostFocusCallback.bind(i),b=i.onChangeDevices.bind(i),k=i.setOnBufferSizeErrorCallback.bind(i),C=i.setOnStopSharingScreenCallback.bind(i),O=i.onRealtimeAlerts.bind(i),F=o.signInTerms.bind(o),P=n.checkDevices.bind(n),_e=n.runCheckDevicesFlow.bind(n),pe=n.changeSelectedDevice.bind(n),mr=s.takePicture.bind(s);return{login:a,start:l,finish:d,startChallenge:u,stopChallenge:m,onFocus:f,onLostFocus:g,onChangeDevices:b,onBufferSizeError:k,onRealtimeAlerts:O,checkDevices:P,runCheckDevicesFlow:_e,changeSelectedDevice:pe,capturePhoto:mr,enumarateDevices:st,checkPermissions:Jn,checkIfhasMultipleMonitors:Yn,onStopSharingScreen:C,signInTerms:F}}typeof window<"u"&&(window.useProctoring=Sd);})();