interview-widget 3.1.2 → 3.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/components/interview/proctoring/interview-proctoring.d.ts +1 -0
- package/dist/types.d.ts +1 -1
- package/dist/utils/helper.d.ts +1 -1
- package/dist/widget.es.js +2031 -2025
- package/dist/widget.umd.js +6 -6
- package/package.json +1 -1
package/dist/widget.umd.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
(function(he,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("react/jsx-runtime"),require("react"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","react-dom"],o):(he=typeof globalThis<"u"?globalThis:he||self,o(he.InterviewWidget={},he.jsxRuntime,he.React,he.ReactDOM))})(this,function(he,o,u,$s){"use strict";var n1=Object.defineProperty;var s1=(he,o,u)=>o in he?n1(he,o,{enumerable:!0,configurable:!0,writable:!0,value:u}):he[o]=u;var Oe=(he,o,u)=>s1(he,typeof o!="symbol"?o+"":o,u);var rn=typeof document<"u"?document.currentScript:null;const nn={},Je={api:{baseUrl:"/api",retryConfig:{attempts:3,backoff:"exponential",baseDelay:1e3}},ui:{baseColor:"#3B82F6",borderRadius:"8px"},interview:{allow_answer_editing:!0,capture_screenshots:!1,timers:{thinkingDuration:30,answeringDuration:120,editingDuration:30},stt:{provider:"groq",model:"whisper-large-v3-turbo",language:"en"},tts:{provider:"piper"},proctoring:{enabled:!0,gazeAnalysisEnabled:!0}}},sn="iw-storage";function _l(){if(!(typeof{url:typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:rn&&rn.tagName.toUpperCase()==="SCRIPT"&&rn.src||new URL("widget.umd.js",document.baseURI).href}<"u"&&(nn!=null&&nn.VITE_IW_SECRET)))return typeof process<"u"&&process.env.NEXT_PUBLIC_IW_SECRET?process.env.NEXT_PUBLIC_IW_SECRET:typeof window<"u"&&window.__IW_SECRET__?window.__IW_SECRET__:"proctoring-data-seed"}const zs=_l(),li=30,kl={SCREENSHOT:"screenshot"},on="AES-GCM",an=12;async function Hs(e){const r=new TextEncoder().encode(e),i=await crypto.subtle.digest("SHA-256",r);return crypto.subtle.importKey("raw",i,on,!1,["encrypt","decrypt"])}function Tl(){return crypto.getRandomValues(new Uint8Array(an))}async function Al(e,t="default-seed"){try{const r=typeof e=="string"?e:JSON.stringify(e),n=new TextEncoder().encode(r),s=await Hs(t),a=Tl(),c=await crypto.subtle.encrypt({name:on,iv:a},s,n),l=new Uint8Array(a.length+c.byteLength);return l.set(new Uint8Array(a),0),l.set(new Uint8Array(c),a.length),btoa(String.fromCharCode(...Array.from(l)))}catch(r){throw console.error("Encryption failed:",r),new Error("Failed to encrypt data")}}async function Cl(e,t="default-seed"){try{const r=atob(e),i=new Uint8Array(r.length);for(let h=0;h<r.length;h++)i[h]=r.charCodeAt(h);const n=i.slice(0,an),s=i.slice(an),a=await Hs(t),c=await crypto.subtle.decrypt({name:on,iv:n},a,s);return new TextDecoder().decode(c)}catch(r){throw console.error("Decryption failed:",r),new Error("Failed to decrypt data")}}async function Sl(e,t="default-seed"){return Al(e,t)}async function Nl(e,t="default-seed"){const r=await Cl(e,t);try{return JSON.parse(r)}catch{return r}}const Pr=u.createContext(null),Il=async()=>{try{const e=sessionStorage.getItem(sn);if(e){const r=(await Nl(e,zs)).state;return{logViolations:(r==null?void 0:r.logViolations)||[],totalViolations:(r==null?void 0:r.totalViolations)||0,gazeViolationCounters:(r==null?void 0:r.gazeViolationCounters)||{lookingAwayCount:0,noFaceDetectedCount:0,multipleFacesCount:0,totalGazeViolations:0},referenceSet:(r==null?void 0:r.referenceSet)??!1,referenceRef:(r==null?void 0:r.referenceRef)??{x:.5,y:.5,noseX:.5,noseY:.5}}}}catch(e){console.error("Failed to load proctoring data from session storage:",e)}return{logViolations:[],totalViolations:0,gazeViolationCounters:{lookingAwayCount:0,noFaceDetectedCount:0,multipleFacesCount:0,totalGazeViolations:0},referenceSet:!1,referenceRef:{x:.5,y:.5,noseX:.5,noseY:.5}}},Dr=async e=>{try{const t=await Sl({state:e,version:0},zs);sessionStorage.setItem(sn,t)}catch(t){console.error("Failed to save proctoring data to session storage:",t)}},Fl=({children:e})=>{const t=u.useRef({logViolations:[],totalViolations:0,gazeViolationCounters:{lookingAwayCount:0,noFaceDetectedCount:0,multipleFacesCount:0,totalGazeViolations:0},referenceSet:!1,referenceRef:{x:.5,y:.5,noseX:.5,noseY:.5}}),r=u.useRef(new Set);u.useEffect(()=>{Il().then(w=>{t.current=w,i()})},[]);const i=u.useCallback(()=>{r.current.forEach(w=>w())},[]),n=u.useCallback(w=>(r.current.add(w),()=>{r.current.delete(w)}),[]),s=u.useCallback(()=>t.current,[]),a=u.useCallback(w=>{t.current={...t.current,logViolations:[...t.current.logViolations,w],totalViolations:t.current.totalViolations+1},Dr(t.current),i()},[i]),c=u.useCallback(w=>{const g={...t.current.gazeViolationCounters};w==="looking_away"&&(g.lookingAwayCount+=1),w==="no_face_detected"&&(g.noFaceDetectedCount+=1),w==="multiple_faces"&&(g.multipleFacesCount+=1),g.totalGazeViolations=g.lookingAwayCount+g.noFaceDetectedCount+g.multipleFacesCount,t.current={...t.current,gazeViolationCounters:g},Dr(t.current),i()},[i]),l=u.useCallback(()=>{t.current={...t.current,logViolations:[],totalViolations:0},Dr(t.current),i()},[i]),h=u.useCallback(()=>{t.current={...t.current,gazeViolationCounters:{lookingAwayCount:0,noFaceDetectedCount:0,multipleFacesCount:0,totalGazeViolations:0}},Dr(t.current),i()},[i]),d=u.useCallback((w,g)=>{t.current={...t.current,referenceSet:w,referenceRef:g},Dr(t.current),i()},[i]),f=u.useMemo(()=>({getState:s,addViolation:a,clearViolations:l,subscribe:n,incrementGazeViolation:c,clearGazeViolationCounters:h,setReferenceData:d}),[s,a,l,n,c,h,d]);return o.jsx(Pr.Provider,{value:f,children:e})},qs=()=>{const e=u.useContext(Pr);if(!e)throw new Error("useProctoringStore must be used within a ProctoringProvider");const t=u.useSyncExternalStore(e.subscribe,e.getState,e.getState);return{logViolations:t.logViolations,totalViolations:t.totalViolations,addViolation:e.addViolation,clearViolations:e.clearViolations,gazeViolationCounters:t.gazeViolationCounters,referenceSet:t.referenceSet,referenceRef:t.referenceRef,incrementGazeViolation:e.incrementGazeViolation,clearGazeViolationCounters:e.clearGazeViolationCounters,setReferenceData:e.setReferenceData}},Ll=()=>{const e=u.useContext(Pr);if(!e)throw new Error("useViolations must be used within a ProctoringProvider");return u.useSyncExternalStore(e.subscribe,()=>e.getState().logViolations,()=>e.getState().logViolations)},Ml=()=>{const e=u.useContext(Pr);if(!e)throw new Error("useTotalViolations must be used within a ProctoringProvider");return u.useSyncExternalStore(e.subscribe,()=>e.getState().totalViolations,()=>e.getState().totalViolations)},Pl=()=>{const e=u.useContext(Pr);if(!e)throw new Error("useProctoringActions must be used within a ProctoringProvider");return{addViolation:e.addViolation,clearViolations:e.clearViolations}},Ks=u.createContext(null);function Ys({config:e={},children:t}){var i,n,s,a;const r={api:{...Je.api,...e.api,retryConfig:{...Je.api.retryConfig,...(i=e.api)==null?void 0:i.retryConfig}},ui:{...Je.ui,...e.ui},interview:{...Je.interview,...e.interview,timers:{...Je.interview.timers,...(n=e.interview)==null?void 0:n.timers},stt:{...Je.interview.stt,...(s=e.interview)==null?void 0:s.stt},tts:{...Je.interview.tts,...(a=e.interview)==null?void 0:a.tts}}};return o.jsx(Ks.Provider,{value:r,children:o.jsx(Fl,{children:t})})}function di(){const e=u.useContext(Ks);if(!e)throw new Error("useInterviewConfig must be used within an InterviewWidgetProvider. Wrap your component tree with <InterviewWidgetProvider config={...}>");return e}function Xs(){return di().api||Je.api}function Qt(){return di().ui||Je.ui}function cn(){return di().interview||Je.interview}function Dl(e){const t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null}function Ol(e,t,r){return"#"+[e,t,r].map(i=>{const n=Math.round(i).toString(16);return n.length===1?"0"+n:n}).join("")}function Bl(e,t){const r=Dl(e);if(!r)return e;const i=r.r+(255-r.r)*t,n=r.g+(255-r.g)*t,s=r.b+(255-r.b)*t;return Ol(i,n,s)}function Ul(e){return new Promise(t=>setTimeout(t,e))}function Gl(e){return`linear-gradient(to left, ${Bl(e,.4)}, ${e})`}const Vl=()=>Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15);function jl(e){try{const t=e.split(".");if(t.length!==3||!t[1])throw new Error("Invalid JWT token");const i=t[1].replace(/-/g,"+").replace(/_/g,"/"),n=i.padEnd(i.length+(4-i.length%4)%4,"="),s=atob(n);return JSON.parse(s)}catch(t){return console.error("Error decoding JWT:",t),null}}const Wl=e=>{var t;return!e||typeof e!="string"?"":(t=e.charAt(0))==null?void 0:t.toUpperCase()},ln=e=>{const t=Math.max(0,Math.floor(e)),r=Math.floor(t/60).toString().padStart(2,"0"),i=(t%60).toString().padStart(2,"0");return`${r}:${i}`},dn=({brandLogo:e,brandName:t,className:r="",showFallbackStyles:i=!0})=>{const{baseColor:n}=Qt();return e?o.jsx("div",{className:r,children:e}):o.jsx("div",{className:i?`iw-h-7 iw-w-7 iw-rounded-md iw-flex iw-items-center iw-justify-center iw-text-white iw-font-semibold ${r}`:r,style:i?{backgroundColor:n}:{},children:Wl(t)})};function $l(e){var t;if(!navigator.onLine)return{type:"network",message:"No internet connection",retryable:!0,userMessage:"Please check your internet connection and try again."};if(e.name==="AbortError"||(t=e.message)!=null&&t.includes("timeout"))return{type:"timeout",message:"Request timed out",retryable:!0,userMessage:"The request is taking longer than expected. Please try again."};if(e.status){const{status:r}=e;if(r===401||r===403)return{type:"auth",status:r,message:"Authentication failed",retryable:!1,userMessage:"Your session has expired. Please refresh the page."};if(r===429)return{type:"rate-limit",status:r,message:"Too many requests",retryable:!0,userMessage:"Please wait a moment before trying again."};if(r>=500)return{type:"server",status:r,message:`Server error: ${r}`,retryable:!0,userMessage:"Our servers are experiencing issues. Please try again in a few moments."};if(r>=400)return{type:"client",status:r,message:`Client error: ${r}`,retryable:!1,userMessage:"There was an issue with your request. Please check your input."}}return{type:"unknown",message:e.message||"Unknown error occurred",retryable:!0,userMessage:"Something unexpected happened. Please try again.",originalError:e}}async function mt(e,t={},r={attempts:3,backoff:"exponential",baseDelay:1e3,maxDelay:1e4,jitter:!0}){let i;for(let n=1;n<=r.attempts;n++)try{const s=new AbortController,a=setTimeout(()=>s.abort(),6e4),c=await fetch(e,{...t,signal:s.signal});if(clearTimeout(a),c.status>=400&&c.status<500&&c.status!==429)return c;if(!c.ok)throw new Error(`HTTP ${c.status}: ${c.statusText}`);return c}catch(s){i=s;const a=$l(s);if(!a.retryable||n===r.attempts)throw a;const c=zl(n,r);console.warn(`API request failed (attempt ${n}/${r.attempts}), retrying in ${c}ms:`,a.message),await new Promise(l=>setTimeout(l,c))}throw i}function zl(e,t){let r;return t.backoff==="exponential"?r=t.baseDelay*Math.pow(2,e-1):r=t.baseDelay,r=Math.min(r,t.maxDelay),t.jitter&&(r=r*(.5+Math.random()*.5)),Math.round(r)}const yt={v2:"/v2"},bt={GENERATE_QUESTION:e=>`${yt.v2}/interviews/${e}/next-question`,SCREENSHOT_UPLOAD:e=>`${yt.v2}/interviews/${e}/assets/upload-url`,CONFIRM_UPLOAD:e=>`${yt.v2}/interviews/assets/${e}/confirm`,TRANSCRIBE_ANSWER:e=>`${yt.v2}/interviews/${e}/transcribe-answer`,SUBMIT_ANSWER:e=>`${yt.v2}/interviews/${e}/submit-answer`,EXIT:e=>`${yt.v2}/interviews/${e}/exit`,CONFIG:e=>`${yt.v2}/interviews/${e}/config`,TRANSCRIPTION:e=>`${yt.v2}/interviews/${e}/transcript`};class Qs{constructor(t={}){Oe(this,"config");this.config=t}updateConfig(t){this.config={...this.config,...t}}getHeaders(){var r;const t={"Content-Type":"application/json"};return(r=this.config)!=null&&r.authToken&&(t.Authorization=`Bearer ${this.config.authToken}`),t}getBaseUrl(){var t;return((t=this.config)==null?void 0:t.baseUrl)||"/api"}async generateQuestion({interviewId:t,isInterviewDone:r=!1}){const i=await mt(`${this.getBaseUrl()}${bt.GENERATE_QUESTION(t)}`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({interview_id:t,is_interview_done:r})});if(!i.ok)throw new Error(`Failed to get questions: ${i.status}`);return await i.json()}async submitAnswer({interviewId:t,qnaId:r,answer:i}){const n=await mt(`${this.getBaseUrl()}${bt.SUBMIT_ANSWER(t)}`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({qna_id:r,answer_text:i})});if(!n.ok)throw new Error(`Failed to submit answer: ${n.status}`);return await n.json()}async exitInterview(t){const r=await mt(`${this.getBaseUrl()}${bt.EXIT(t)}`,{method:"POST",headers:this.getHeaders()});if(!r.ok)throw new Error(`Failed to exit interview: ${r.status}`)}async getInterviewConfig(t){const r=await mt(`${this.getBaseUrl()}${bt.CONFIG(t)}`,{method:"GET",headers:this.getHeaders()});if(!r.ok)throw new Error(`Failed to get interview config: ${r.status}`);return await r.json()}async requestScreenshotUploadUrl(t,r=`screenshot-${Date.now()}.jpeg`){const i=await mt(`${this.getBaseUrl()}${bt.SCREENSHOT_UPLOAD(t)}`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({filename:r,mime_type:"image/jpeg",asset_type:kl.SCREENSHOT})});if(!i.ok)throw new Error(`Failed to request screenshot upload URL: ${i.status}`);return await i.json()}async uploadScreenshot(t,r){const i=await fetch(t,{method:"PUT",body:r,headers:{"Content-Type":"image/jpeg"}});if(!i.ok)throw new Error(`Failed to upload screenshot: ${i.status}`)}async confirmScreenshotUpload(t){const r=await mt(`${this.getBaseUrl()}${bt.CONFIRM_UPLOAD(t)}`,{method:"POST",headers:this.getHeaders()});if(!r.ok)throw new Error(`Failed to confirm screenshot upload: ${r.status}`)}async getInterviewTranscription(t){const r=await mt(`${this.getBaseUrl()}${bt.TRANSCRIPTION(t)}`,{method:"GET",headers:{...this.getHeaders()}});if(!r.ok)throw new Error(`Failed to get interview transcription: ${r.status}`);return await r.json()}}const ui=new Qs,Hl=({gazeAnalysisEnabled:e,isModelLoaded:t,stats:r,statusMessage:i,loadingProgress:n})=>o.jsx("div",{className:"iw-w-full",children:o.jsxs("div",{className:"iw-border-strock iw-rounded-md iw-border iw-bg-gray-50 iw-p-4",children:[o.jsxs("h3",{className:"iw-m-0 iw-mb-2.5",children:["Status: ",i]}),n>0&&n<100&&o.jsxs("div",{className:"iw-mb-2.5",children:[o.jsx("div",{className:"iw-h-2 iw-w-full iw-rounded iw-bg-gray-300",children:o.jsx("div",{className:"iw-h-full iw-rounded iw-bg-blue-600 iw-transition-all iw-duration-300 iw-ease-out",style:{width:`${n}%`}})}),o.jsxs("small",{className:"iw-text-gray-600",children:["Loading model... ",n.toFixed(1),"%"]})]}),o.jsxs("div",{className:"iw-grid iw-grid-cols-2 iw-gap-2.5 iw-text-sm",children:[o.jsxs("div",{children:[o.jsx("strong",{children:"FPS:"})," ",o.jsx("span",{className:r.fps<15?"iw-text-red-600":r.fps<25?"iw-text-orange-500":"iw-text-green-600",children:r.fps})]}),o.jsxs("div",{children:[o.jsx("strong",{children:"Model:"})," ",t?"✓ Loaded":"✗ Loading"]}),e&&o.jsxs(o.Fragment,{children:[o.jsxs("div",{children:[o.jsx("strong",{children:"Engagement:"})," ",r.engagement.toFixed(1),"%"]}),o.jsxs("div",{children:[o.jsx("strong",{children:"Looking:"})," ",o.jsx("span",{className:r.isLookingAway?"iw-text-red-600":"iw-text-green-600",children:r.isLookingAway?"Away":"At Screen"})]})]})]}),r.referenceFaceNotDetected&&o.jsxs("div",{className:"iw-text-gray-dark iw-mt-2.5 iw-w-full iw-rounded-md iw-bg-[#ffeb3b] iw-p-2.5 iw-text-sm",children:[o.jsx("strong",{children:"Reference Face Not Detected"}),o.jsx("br",{}),"The previously set reference face is no longer in view."]}),r.multipleFacesDetected&&o.jsxs("div",{className:"iw-mt-2.5 iw-rounded iw-bg-red-50 iw-p-2.5 iw-text-sm iw-text-red-700",children:[o.jsx("strong",{children:"Multiple Faces Detected"}),o.jsx("br",{}),"Please ensure only one person is in the frame."]}),!e&&o.jsxs("div",{className:"iw-mt-2.5 iw-rounded iw-bg-blue-50 iw-p-2.5 iw-text-sm iw-text-blue-700",children:[o.jsx("strong",{children:"Gaze Analysis Disabled"}),o.jsx("br",{}),"Enable to track engagement and attention levels."]})]})}),un=e=>o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[o.jsx("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}),o.jsx("path",{d:"M12 9v4"}),o.jsx("path",{d:"M12 17h.01"})]}),ql=e=>o.jsxs("svg",{width:24,height:24,fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"prefix__lucide prefix__lucide-bolt-icon prefix__lucide-bolt",...e,children:[o.jsx("path",{d:"M21 16V8a2 2 0 00-1-1.73l-7-4a2 2 0 00-2 0l-7 4A2 2 0 003 8v8a2 2 0 001 1.73l7 4a2 2 0 002 0l7-4A2 2 0 0021 16z"}),o.jsx("circle",{cx:12,cy:12,r:4})]}),Kl=e=>o.jsxs("svg",{width:24,height:24,fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"prefix__lucide prefix__lucide-camera-off-icon prefix__lucide-camera-off",...e,children:[o.jsx("path",{d:"M14.564 14.558a3 3 0 11-4.122-4.121M2 2l20 20"}),o.jsx("path",{d:"M20 20H4a2 2 0 01-2-2V9a2 2 0 012-2h1.997a2 2 0 00.819-.175M9.695 4.024A2 2 0 0110.004 4h3.993a2 2 0 011.76 1.05l.486.9A2 2 0 0018.003 7H20a2 2 0 012 2v7.344"})]}),hn=e=>o.jsx("svg",{width:"10",height:"9",viewBox:"0 0 10 9",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:o.jsx("path",{d:"M0.75 5.5C0.75 5.5 2.35 6.4125 3.15 7.75C3.15 7.75 5.55 2.5 8.75 0.75",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),Js=e=>o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[o.jsx("path",{d:"M12 2a10 10 0 0 1 7.38 16.75"}),o.jsx("path",{d:"M12 6v6l4 2"}),o.jsx("path",{d:"M2.5 8.875a10 10 0 0 0-.5 3"}),o.jsx("path",{d:"M2.83 16a10 10 0 0 0 2.43 3.4"}),o.jsx("path",{d:"M4.636 5.235a10 10 0 0 1 .891-.857"}),o.jsx("path",{d:"M8.644 21.42a10 10 0 0 0 7.631-.38"})]}),Or=e=>o.jsx("svg",{className:"iw-w-5 iw-h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",...e,children:o.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})}),Yl=e=>o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[o.jsx("path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"}),o.jsx("circle",{cx:"12",cy:"12",r:"3"})]}),Xl=e=>o.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M2.66797 2H13.3346",stroke:"#5C6686",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M3.66797 2V3.35359C3.66797 4.18151 4.05252 4.96247 4.70874 5.46726L8.0013 8L11.2938 5.46726C11.9501 4.96247 12.3346 4.18151 12.3346 3.35359V2",stroke:"#5C6686",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M3.66797 14V12.6464C3.66797 11.8185 4.05252 11.0375 4.70874 10.5327L8.0013 8L11.2938 10.5327C11.9501 11.0375 12.3346 11.8185 12.3346 12.6464V14",stroke:"#5C6686",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M2.66797 14H13.3346",stroke:"#5C6686",strokeLinecap:"round",strokeLinejoin:"round"})]}),Zs=({className:e,...t})=>o.jsx("div",{children:o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:`iw-animate-spin ${e}`,...t,children:[o.jsx("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),o.jsx("path",{d:"M12 6l0 -3"}),o.jsx("path",{d:"M16.25 7.75l2.15 -2.15"}),o.jsx("path",{d:"M18 12l3 0"}),o.jsx("path",{d:"M16.25 16.25l2.15 2.15"}),o.jsx("path",{d:"M12 18l0 3"}),o.jsx("path",{d:"M7.75 16.25l-2.15 2.15"}),o.jsx("path",{d:"M6 12l-3 0"}),o.jsx("path",{d:"M7.75 7.75l-2.15 -2.15"})]})}),Ql=e=>o.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M17 7V11C17 13.7614 14.7614 16 12 16C9.23858 16 7 13.7614 7 11V7C7 4.23858 9.23858 2 12 2C14.7614 2 17 4.23858 17 7Z",stroke:"currentColor",strokeWidth:"1.5"}),o.jsx("path",{d:"M20 11C20 15.4183 16.4183 19 12 19M12 19C7.58172 19 4 15.4183 4 11M12 19V22M12 22H15M12 22H9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]}),Jl=e=>o.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M2 2L22 22",stroke:"#062260",strokeWidth:"1.5",strokeLinecap:"round"}),o.jsx("path",{d:"M4 11C4 15.4183 7.58172 19 12 19M12 19C13.9545 19 15.7454 18.2991 17.1348 17.1348M12 19V22M12 22H15M12 22H9M20 11C20 12.6514 19.4996 14.1859 18.6422 15.4603",stroke:"#062260",strokeWidth:"1.5",strokeLinecap:"round"}),o.jsx("path",{d:"M7 6.98V11C7 13.7614 9.23858 16 12 16C13.1354 16 14.1647 15.6096 15.004 14.972M16.4387 13.244C16.7973 12.5545 17 11.8309 17 11V6.98C17 4.21858 14.7614 2 12 2C10.1312 2 8.53009 2.96527 7.672 4.484",stroke:"#062260",strokeWidth:"1.5",strokeLinecap:"round"})]}),Rs=e=>o.jsxs("svg",{width:24,height:24,fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"prefix__lucide prefix__lucide-target-icon prefix__lucide-target",...e,children:[o.jsx("circle",{cx:12,cy:12,r:10}),o.jsx("circle",{cx:12,cy:12,r:6}),o.jsx("circle",{cx:12,cy:12,r:2})]}),Zl=e=>o.jsxs("svg",{width:24,height:24,fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"prefix__lucide prefix__lucide-users-icon prefix__lucide-users",...e,children:[o.jsx("path",{d:"M16 21v-2a4 4 0 00-4-4H6a4 4 0 00-4 4v2M16 3.128a4 4 0 010 7.744M22 21v-2a4 4 0 00-3-3.87"}),o.jsx("circle",{cx:9,cy:7,r:4})]}),Rl=e=>o.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M11 8H13",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),o.jsx("path",{d:"M2 11C2 7.70017 2 6.05025 3.02513 5.02513C4.05025 4 5.70017 4 9 4H10C13.2998 4 14.9497 4 15.9749 5.02513C17 6.05025 17 7.70017 17 11V13C17 16.2998 17 17.9497 15.9749 18.9749C14.9497 20 13.2998 20 10 20H9C5.70017 20 4.05025 20 3.02513 18.9749C2 17.9497 2 16.2998 2 13V11Z",stroke:"currentColor",strokeWidth:"1.5"}),o.jsx("path",{d:"M17 8.90585L17.1259 8.80196C19.2417 7.05623 20.2996 6.18336 21.1498 6.60482C22 7.02628 22 8.42355 22 11.2181V12.7819C22 15.5765 22 16.9737 21.1498 17.3952C20.2996 17.8166 19.2417 16.9438 17.1259 15.198L17 15.0941",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]}),ed=e=>o.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M2.00195 2L21.9773 22",stroke:"#062260",strokeWidth:"1.5",strokeLinecap:"round"}),o.jsx("path",{d:"M16.8517 16.8668C16.7225 17.8052 16.4666 18.4659 15.9596 18.9735C14.9357 19.9987 13.2878 19.9987 9.99206 19.9987H8.99329C5.69755 19.9987 4.04967 19.9987 3.02581 18.9735C2.00195 17.9484 2.00195 16.2985 2.00195 12.9987V10.9987C2.00195 7.69885 2.00195 6.04893 3.02581 5.0238C3.36833 4.68086 3.78068 4.45265 4.3012 4.30078",stroke:"#062260",strokeWidth:"1.5",strokeLinecap:"round"}),o.jsx("path",{d:"M8.23633 4.00052C8.47821 4 8.73001 4 8.99223 4H9.99099C13.2868 4 14.9347 4 15.9585 5.02513C16.9823 6.05025 16.9823 7.70017 16.9823 11V12.7574M16.9823 9.23142L19.3019 7.52913C20.773 6.54073 21.449 7.17196 21.6675 7.64847C22.1192 8.92813 21.9769 11.3936 21.9769 14.5417C21.8704 16.555 21.5953 16.7719 21.3138 16.9939L21.3108 16.9962",stroke:"#062260",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]}),td=({showControls:e,isBubbleOpen:t,setIsBubbleOpen:r,setReference:i,clearCache:n,isModelLoaded:s,gazeAnalysisEnabled:a,referenceSet:c,showLandmarks:l,setShowLandmarks:h,showEngagementBar:d,setShowEngagementBar:f,handleToggleGazeAnalysis:w,stats:g,statusMessage:p,loadingProgress:b})=>e?o.jsxs(o.Fragment,{children:[o.jsx("button",{onClick:()=>r(!t),className:"iw-absolute iw-right-4 iw-bottom-4 iw-z-10 iw-flex iw-h-10 iw-w-10 iw-items-center iw-justify-center iw-rounded-full iw-text-white",children:o.jsx(ql,{className:"iw-size-4.5"})}),t&&o.jsxs("div",{className:"iw-absolute iw-right-4 iw-bottom-16 iw-z-10 iw-max-h-96 iw-w-80 iw-overflow-y-auto iw-rounded-md iw-bg-gray-50 iw-p-4 iw-shadow-lg",children:[o.jsx("h4",{className:"m-0 mb-2.5",children:"Controls"}),o.jsx("button",{onClick:i,disabled:!s||!a,className:`iw-mb-2.5 iw-block iw-w-full iw-rounded border-none iw-px-4 iw-py-2 iw-text-sm iw-text-white ${!s||!a?"iw-cursor-not-allowed iw-bg-gray-400":"iw-cursor-pointer iw-bg-blue-600 hover:iw-bg-blue-700"}`,children:c?"Reference Set ✓":"Set Reference"}),o.jsx("button",{onClick:n,className:"iw-mb-4 iw-block iw-w-full iw-cursor-pointer iw-rounded iw-border-none iw-bg-red-600 iw-px-4 iw-py-2 iw-text-sm iw-text-white hover:iw-bg-red-700",children:"Clear Model Cache"}),o.jsxs("div",{className:"iw-flex iw-flex-col iw-gap-2.5",children:[o.jsxs("label",{className:"iw-flex iw-cursor-pointer iw-items-center iw-gap-2",children:[o.jsx("input",{type:"checkbox",checked:a,onChange:y=>w(y.target.checked)}),o.jsx("strong",{children:"Enable Gaze Analysis"})]}),o.jsxs("label",{className:`iw-flex iw-cursor-pointer iw-items-center iw-gap-2 ${a?"iw-opacity-100":"iw-opacity-60"}`,children:[o.jsx("input",{type:"checkbox",checked:l,onChange:y=>h(y.target.checked),disabled:!a}),"Show Landmarks"]}),o.jsxs("label",{className:`iw-flex iw-cursor-pointer iw-items-center iw-gap-2 ${a?"iw-opacity-100":"iw-opacity-60"}`,children:[o.jsx("input",{type:"checkbox",checked:d,onChange:y=>f(y.target.checked),disabled:!a}),"Show Engagement Bar"]})]}),c&&o.jsx(Hl,{gazeAnalysisEnabled:a,isModelLoaded:s,loadingProgress:b,stats:g,statusMessage:p})]})]}):null;var Jt=typeof self<"u"?self:{};function Br(e,t){e:{for(var r=["CLOSURE_FLAGS"],i=Jt,n=0;n<r.length;n++)if((i=i[r[n]])==null){r=null;break e}r=i}return(e=r&&r[e])!=null?e:t}function Mt(){throw Error("Invalid UTF8")}function eo(e,t){return t=String.fromCharCode.apply(null,t),e==null?t:e+t}let hi,fn;const rd=typeof TextDecoder<"u";let id;const nd=typeof TextEncoder<"u";function to(e){if(nd)e=(id||(id=new TextEncoder)).encode(e);else{let r=0;const 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){const s=e.charCodeAt(++n);if(s>=56320&&s<=57343){t=1024*(t-55296)+s-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}function ro(e){Jt.setTimeout(()=>{throw e},0)}var wn,sd=Br(610401301,!1),io=Br(748402147,!0),gn=Br(824648567,!0),pn=Br(824656860,Br(1,!0));function no(){var e=Jt.navigator;return e&&(e=e.userAgent)?e:""}const so=Jt.navigator;function fi(e){return fi[" "](e),e}wn=so&&so.userAgentData||null,fi[" "]=function(){};const oo={};let Ur=null;function od(e){const t=e.length;let 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);const i=new Uint8Array(r);let n=0;return function(s,a){function c(h){for(;l<s.length;){const d=s.charAt(l++),f=Ur[d];if(f!=null)return f;if(!/^[\s\xa0]*$/.test(d))throw Error("Unknown base64 encoding at char: "+d)}return h}ao();let l=0;for(;;){const h=c(-1),d=c(0),f=c(64),w=c(64);if(w===64&&h===-1)break;a(h<<2|d>>4),f!=64&&(a(d<<4&240|f>>2),w!=64&&a(f<<6&192|w))}}(e,function(s){i[n++]=s}),n!==r?i.subarray(0,n):i}function ao(){if(!Ur){Ur={};var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),t=["+/=","+/","-_=","-_.","-_"];for(let r=0;r<5;r++){const i=e.concat(t[r].split(""));oo[r]=i;for(let n=0;n<i.length;n++){const s=i[n];Ur[s]===void 0&&(Ur[s]=n)}}}}var ad=typeof Uint8Array<"u",co=!(!(sd&&wn&&wn.brands.length>0)&&(no().indexOf("Trident")!=-1||no().indexOf("MSIE")!=-1))&&typeof btoa=="function";const lo=/[-_.]/g,cd={"-":"+",_:"/",".":"="};function ld(e){return cd[e]||""}function uo(e){if(!co)return od(e);e=lo.test(e)?e.replace(lo,ld):e,e=atob(e);const t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}function mn(e){return ad&&e!=null&&e instanceof Uint8Array}var Zt={};function Pt(){return dd||(dd=new Ze(null,Zt))}function yn(e){ho(Zt);var t=e.g;return(t=t==null||mn(t)?t:typeof t=="string"?uo(t):null)==null?t:e.g=t}var Ze=class{h(){return new Uint8Array(yn(this)||0)}constructor(e,t){if(ho(t),this.g=e,e!=null&&e.length===0)throw Error("ByteString should be constructed with non-empty values")}};let dd,ud;function ho(e){if(e!==Zt)throw Error("illegal external caller")}function fo(e,t){e.__closure__error__context__984382||(e.__closure__error__context__984382={}),e.__closure__error__context__984382.severity=t}function bn(e){return fo(e=Error(e),"warning"),e}function Rt(e,t){if(e!=null){var r=ud??(ud={}),i=r[e]||0;i>=t||(r[e]=i+1,fo(e=Error(),"incident"),ro(e))}}function er(){return typeof BigInt=="function"}var tr=typeof Symbol=="function"&&typeof Symbol()=="symbol";function Re(e,t,r=!1){return typeof Symbol=="function"&&typeof Symbol()=="symbol"?r&&Symbol.for&&e?Symbol.for(e):e!=null?Symbol(e):Symbol():t}var hd=Re("jas",void 0,!0),wo=Re(void 0,"0di"),Gr=Re(void 0,"1oa"),_e=Re(void 0,Symbol()),fd=Re(void 0,"0ub"),wd=Re(void 0,"0ubs"),vn=Re(void 0,"0ubsb"),gd=Re(void 0,"0actk"),rr=Re("m_m","Pa",!0),go=Re();const po={Ga:{value:0,configurable:!0,writable:!0,enumerable:!1}},mo=Object.defineProperties,x=tr?hd:"Ga";var Dt;const yo=[];function Vr(e,t){tr||x in e||mo(e,po),e[x]|=t}function ne(e,t){tr||x in e||mo(e,po),e[x]=t}function jr(e){return Vr(e,34),e}function Wr(e){return Vr(e,8192),e}ne(yo,7),Dt=Object.freeze(yo);var ir={};function ke(e,t){return t===void 0?e.h!==Ot&&!!(2&(0|e.v[x])):!!(2&t)&&e.h!==Ot}const Ot={};function xn(e,t){if(e!=null){if(typeof e=="string")e=e?new Ze(e,Zt):Pt();else if(e.constructor!==Ze)if(mn(e))e=e.length?new Ze(new Uint8Array(e),Zt):Pt();else{if(!t)throw Error();e=void 0}}return e}class bo{constructor(t,r,i){this.g=t,this.h=r,this.l=i}next(){const t=this.g.next();return t.done||(t.value=this.h.call(this.l,t.value)),t}[Symbol.iterator](){return this}}var pd=Object.freeze({});function vo(e,t,r){const i=128&t?0:-1,n=e.length;var s;(s=!!n)&&(s=(s=e[n-1])!=null&&typeof s=="object"&&s.constructor===Object);const a=n+(s?-1:0);for(t=128&t?1:0;t<a;t++)r(t-i,e[t]);if(s){e=e[n-1];for(const c in e)!isNaN(c)&&r(+c,e[c])}}var xo={};function nr(e){return 128&e?xo:void 0}function wi(e){return e.Na=!0,e}var md=wi(e=>typeof e=="number"),Eo=wi(e=>typeof e=="string"),yd=wi(e=>typeof e=="boolean"),gi=typeof Jt.BigInt=="function"&&typeof Jt.BigInt(0)=="bigint";function Te(e){var t=e;if(Eo(t)){if(!/^\s*(?:-?[1-9]\d*|0)?\s*$/.test(t))throw Error(String(t))}else if(md(t)&&!Number.isSafeInteger(t))throw Error(String(t));return gi?BigInt(e):e=yd(e)?e?"1":"0":Eo(e)?e.trim()||"0":String(e)}var En=wi(e=>gi?e>=vd&&e<=Ed:e[0]==="-"?_o(e,bd):_o(e,xd));const bd=Number.MIN_SAFE_INTEGER.toString(),vd=gi?BigInt(Number.MIN_SAFE_INTEGER):void 0,xd=Number.MAX_SAFE_INTEGER.toString(),Ed=gi?BigInt(Number.MAX_SAFE_INTEGER):void 0;function _o(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++){const i=e[r],n=t[r];if(i>n)return!1;if(i<n)return!0}}const _d=typeof Uint8Array.prototype.slice=="function";let kd,H=0,te=0;function ko(e){const t=e>>>0;H=t,te=(e-t)/4294967296>>>0}function sr(e){if(e<0){ko(-e);const[t,r]=Cn(H,te);H=t>>>0,te=r>>>0}else ko(e)}function _n(e){const t=kd||(kd=new DataView(new ArrayBuffer(8)));t.setFloat32(0,+e,!0),te=0,H=t.getUint32(0,!0)}function kn(e,t){const r=4294967296*t+(e>>>0);return Number.isSafeInteger(r)?r:$r(e,t)}function Td(e,t){return Te(er()?BigInt.asUintN(64,(BigInt(t>>>0)<<BigInt(32))+BigInt(e>>>0)):$r(e,t))}function Tn(e,t){const r=2147483648&t;return r&&(t=~t>>>0,(e=1+~e>>>0)==0&&(t=t+1>>>0)),typeof(e=kn(e,t))=="number"?r?-e:e:r?"-"+e:e}function To(e,t){return er()?Te(BigInt.asIntN(64,(BigInt.asUintN(32,BigInt(t))<<BigInt(32))+BigInt.asUintN(32,BigInt(e)))):Te(An(e,t))}function $r(e,t){if(e>>>=0,(t>>>=0)<=2097151)var r=""+(4294967296*t+e);else er()?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+Ao(r)+Ao(e));return r}function Ao(e){return e=String(e),"0000000".slice(e.length)+e}function An(e,t){if(2147483648&t)if(er())e=""+(BigInt(0|t)<<BigInt(32)|BigInt(e>>>0));else{const[r,i]=Cn(e,t);e="-"+$r(r,i)}else e=$r(e,t);return e}function pi(e){if(e.length<16)sr(Number(e));else if(er())e=BigInt(e),H=Number(e&BigInt(4294967295))>>>0,te=Number(e>>BigInt(32)&BigInt(4294967295));else{const t=+(e[0]==="-");te=H=0;const r=e.length;for(let i=t,n=(r-t)%6+t;n<=r;i=n,n+=6){const s=Number(e.slice(i,n));te*=1e6,H=1e6*H+s,H>=4294967296&&(te+=Math.trunc(H/4294967296),te>>>=0,H>>>=0)}if(t){const[i,n]=Cn(H,te);H=i,te=n}}}function Cn(e,t){return t=~t,e?e=1+~e:t+=1,[e,t]}function He(e){return Array.prototype.slice.call(e)}const zr=typeof BigInt=="function"?BigInt.asIntN:void 0,Ad=typeof BigInt=="function"?BigInt.asUintN:void 0,Bt=Number.isSafeInteger,mi=Number.isFinite,or=Math.trunc,Cd=Te(0);function Hr(e){if(e!=null&&typeof e!="number")throw Error(`Value of float/double field must be a number, found ${typeof e}: ${e}`);return e}function et(e){return e==null||typeof e=="number"?e:e==="NaN"||e==="Infinity"||e==="-Infinity"?Number(e):void 0}function qr(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}function Co(e){return e==null||typeof e=="boolean"?e:typeof e=="number"?!!e:void 0}const Sd=/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;function Kr(e){switch(typeof e){case"bigint":return!0;case"number":return mi(e);case"string":return Sd.test(e);default:return!1}}function ar(e){if(e==null)return e;if(typeof e=="string"&&e)e=+e;else if(typeof e!="number")return;return mi(e)?0|e:void 0}function So(e){if(e==null)return e;if(typeof e=="string"&&e)e=+e;else if(typeof e!="number")return;return mi(e)?e>>>0:void 0}function No(e){const t=e.length;return(e[0]==="-"?t<20||t===20&&e<="-9223372036854775808":t<19||t===19&&e<="9223372036854775807")?e:(pi(e),An(H,te))}function Sn(e){return e=or(e),Bt(e)||(sr(e),e=Tn(H,te)),e}function Io(e){var t=or(Number(e));return Bt(t)?String(t):((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),No(e))}function Fo(e){var t=or(Number(e));return Bt(t)?Te(t):((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),er()?Te(zr(64,BigInt(e))):Te(No(e)))}function Lo(e){return Bt(e)?e=Te(Sn(e)):(e=or(e),Bt(e)?e=String(e):(sr(e),e=An(H,te)),e=Te(e)),e}function Nd(e){return e==null?e:typeof e=="bigint"?(En(e)?e=Number(e):(e=zr(64,e),e=En(e)?Number(e):String(e)),e):Kr(e)?typeof e=="number"?Sn(e):Io(e):void 0}function yi(e){const t=typeof e;return e==null?e:t==="bigint"?Te(zr(64,e)):Kr(e)?t==="string"?Fo(e):Lo(e):void 0}function Mo(e){if(typeof e!="string")throw Error();return e}function Yr(e){if(e!=null&&typeof e!="string")throw Error();return e}function fe(e){return e==null||typeof e=="string"?e:void 0}function Nn(e,t,r,i){return e!=null&&e[rr]===ir?e:Array.isArray(e)?((i=(r=0|e[x])|32&i|2&i)!==r&&ne(e,i),new t(e)):(r?2&i?((e=t[wo])||(jr((e=new t).v),e=t[wo]=e),t=e):t=new t:t=void 0,t)}function Id(e,t,r){if(t)e:{if(!Kr(t=e))throw bn("int64");switch(typeof t){case"string":t=Fo(t);break e;case"bigint":t=Te(zr(64,t));break e;default:t=Lo(t)}}else t=yi(e);return(e=t)==null?r?Cd:void 0:e}const Fd={};let Ld=function(){try{return fi(new class extends Map{constructor(){super()}}),!1}catch{return!0}}();class In{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()}}const Md=Ld?(Object.setPrototypeOf(In.prototype,Map.prototype),Object.defineProperties(In.prototype,{size:{value:0,configurable:!0,enumerable:!0,writable:!0}}),In):class extends Map{constructor(){super()}};function Po(e){return e}function Fn(e){if(2&e.J)throw Error("Cannot mutate an immutable Map")}var dt=class extends Md{constructor(e,t,r=Po,i=Po){super(),this.J=0|e[x],this.K=t,this.S=r,this.fa=this.K?Pd:i;for(let n=0;n<e.length;n++){const s=e[n],a=r(s[0],!1,!0);let c=s[1];t?c===void 0&&(c=null):c=i(s[1],!1,!0,void 0,void 0,this.J),super.set(a,c)}}V(e){return Wr(Array.from(super.entries(),e))}clear(){Fn(this),super.clear()}delete(e){return Fn(this),super.delete(this.S(e,!0,!1))}entries(){if(this.K){var e=super.keys();e=new bo(e,Dd,this)}else e=super.entries();return e}values(){if(this.K){var e=super.keys();e=new bo(e,dt.prototype.get,this)}else e=super.values();return e}forEach(e,t){this.K?super.forEach((r,i,n)=>{e.call(t,n.get(i),i,n)}):super.forEach(e,t)}set(e,t){return Fn(this),(e=this.S(e,!0,!1))==null?this:t==null?(super.delete(e),this):super.set(e,this.fa(t,!0,!0,this.K,!1,this.J))}Ma(e){const t=this.S(e[0],!1,!0);e=e[1],e=this.K?e===void 0?null:e:this.fa(e,!1,!0,void 0,!1,this.J),super.set(t,e)}has(e){return super.has(this.S(e,!1,!1))}get(e){e=this.S(e,!1,!1);const t=super.get(e);if(t!==void 0){var r=this.K;return r?((r=this.fa(t,!1,!0,r,this.ra,this.J))!==t&&super.set(e,r),r):t}}[Symbol.iterator](){return this.entries()}};function Pd(e,t,r,i,n,s){return e=Nn(e,i,r,s),n&&(e=Pn(e)),e}function Dd(e){return[e,this.get(e)]}let Od;function Do(){return Od||(Od=new dt(jr([]),void 0,void 0,void 0,Fd))}function bi(e){return _e?e[_e]:void 0}function vi(e,t){for(const r in e)!isNaN(r)&&t(e,+r,e[r])}dt.prototype.toJSON=void 0;var Ln=class{};const Bd={Ka:!0};function Ud(e,t){t<100||Rt(wd,1)}function xi(e,t,r,i){const n=i!==void 0;i=!!i;var s,a=_e;!n&&tr&&a&&(s=e[a])&&vi(s,Ud),a=[];var c=e.length;let l;s=4294967295;let h=!1;const d=!!(64&t),f=d?128&t?0:-1:void 0;1&t||(l=c&&e[c-1],l!=null&&typeof l=="object"&&l.constructor===Object?s=--c:l=void 0,!d||128&t||n||(h=!0,s=s-f+f)),t=void 0;for(var w=0;w<c;w++){let g=e[w];if(g!=null&&(g=r(g,i))!=null)if(d&&w>=s){const p=w-f;(t??(t={}))[p]=g}else a[w]=g}if(l)for(let g in l){if((c=l[g])==null||(c=r(c,i))==null)continue;let p;w=+g,d&&!Number.isNaN(w)&&(p=w+f)<s?a[p]=c:(t??(t={}))[g]=c}return t&&(h?a.push(t):a[s]=t),n&&_e&&(e=bi(e))&&e instanceof Ln&&(a[_e]=function(g){const p=new Ln;return vi(g,(b,y,m)=>{p[y]=He(m)}),p.da=g.da,p}(e)),a}function Gd(e){return e[0]=Xr(e[0]),e[1]=Xr(e[1]),e}function Xr(e){switch(typeof e){case"number":return Number.isFinite(e)?e:""+e;case"bigint":return En(e)?Number(e):""+e;case"boolean":return e?1:0;case"object":if(Array.isArray(e)){var t=0|e[x];return e.length===0&&1&t?void 0:xi(e,t,Xr)}if(e!=null&&e[rr]===ir)return Oo(e);if(e instanceof Ze){if((t=e.g)==null)e="";else if(typeof t=="string")e=t;else{if(co){for(var r="",i=0,n=t.length-10240;i<n;)r+=String.fromCharCode.apply(null,t.subarray(i,i+=10240));r+=String.fromCharCode.apply(null,i?t.subarray(i):t),t=btoa(r)}else{r===void 0&&(r=0),ao(),r=oo[r],i=Array(Math.floor(t.length/3)),n=r[64]||"";let h=0,d=0;for(;h<t.length-2;h+=3){var s=t[h],a=t[h+1],c=t[h+2],l=r[s>>2];s=r[(3&s)<<4|a>>4],a=r[(15&a)<<2|c>>6],c=r[63&c],i[d++]=l+s+a+c}switch(l=0,c=n,t.length-h){case 2:c=r[(15&(l=t[h+1]))<<2]||n;case 1:t=t[h],i[d]=r[t>>2]+r[(3&t)<<4|l>>4]+c+n}t=i.join("")}e=e.g=t}return e}return e instanceof dt?e=e.size!==0?e.V(Gd):void 0:void 0}return e}function Oo(e){return xi(e=e.v,0|e[x],Xr)}let Vd,jd;function Ut(e,t){return Bo(e,t[0],t[1])}function Bo(e,t,r,i=0){if(e==null){var n=32;r?(e=[r],n|=128):e=[],t&&(n=-16760833&n|(1023&t)<<14)}else{if(!Array.isArray(e))throw Error("narr");if(n=0|e[x],io&&1&n)throw Error("rfarr");if(2048&n&&!(2&n)&&function(){if(io)throw Error("carr");Rt(gd,5)}(),256&n)throw Error("farr");if(64&n)return(n|i)!==n&&ne(e,n|i),e;if(r&&(n|=128,r!==e[0]))throw Error("mid");e:{n|=64;var s=(r=e).length;if(s){var a=s-1;const l=r[a];if(l!=null&&typeof l=="object"&&l.constructor===Object){if((a-=t=128&n?0:-1)>=1024)throw Error("pvtlmt");for(var c in l)(s=+c)<a&&(r[s+t]=l[c],delete l[c]);n=-16760833&n|(1023&a)<<14;break e}}if(t){if((c=Math.max(t,s-(128&n?0:-1)))>1024)throw Error("spvt");n=-16760833&n|(1023&c)<<14}}}return ne(e,64|n|i),e}function Wd(e,t){if(typeof e!="object")return e;if(Array.isArray(e)){var r=0|e[x];return e.length===0&&1&r?void 0:Uo(e,r,t)}if(e!=null&&e[rr]===ir)return Go(e);if(e instanceof dt){if(2&(t=e.J))return e;if(!e.size)return;if(r=jr(e.V()),e.K)for(e=0;e<r.length;e++){const i=r[e];let n=i[1];n=n==null||typeof n!="object"?void 0:n!=null&&n[rr]===ir?Go(n):Array.isArray(n)?Uo(n,0|n[x],!!(32&t)):void 0,i[1]=n}return r}return e instanceof Ze?e:void 0}function Uo(e,t,r){return 2&t||(!r||4096&t||16&t?e=cr(e,t,!1,r&&!(16&t)):(Vr(e,34),4&t&&Object.freeze(e))),e}function Mn(e,t,r){return e=new e.constructor(t),r&&(e.h=Ot),e.m=Ot,e}function Go(e){const t=e.v,r=0|t[x];return ke(e,r)?e:Dn(e,t,r)?Mn(e,t):cr(t,r)}function cr(e,t,r,i){return i??(i=!!(34&t)),e=xi(e,t,Wd,i),i=32,r&&(i|=2),ne(e,t=16769217&t|i),e}function Pn(e){const t=e.v,r=0|t[x];return ke(e,r)?Dn(e,t,r)?Mn(e,t,!0):new e.constructor(cr(t,r,!1)):e}function lr(e){if(e.h!==Ot)return!1;var t=e.v;return Vr(t=cr(t,0|t[x]),2048),e.v=t,e.h=void 0,e.m=void 0,!0}function dr(e){if(!lr(e)&&ke(e,0|e.v[x]))throw Error()}function Gt(e,t){t===void 0&&(t=0|e[x]),32&t&&!(4096&t)&&ne(e,4096|t)}function Dn(e,t,r){return!!(2&r)||!(!(32&r)||4096&r)&&(ne(t,2|r),e.h=Ot,!0)}const $d=Te(0),vt={};function W(e,t,r,i,n){if((t=ut(e.v,t,r,n))!==null||i&&e.m!==Ot)return t}function ut(e,t,r,i){if(t===-1)return null;const n=t+(r?0:-1),s=e.length-1;let a,c;if(!(s<1+(r?0:-1))){if(n>=s)if(a=e[s],a!=null&&typeof a=="object"&&a.constructor===Object)r=a[t],c=!0;else{if(n!==s)return;r=a}else r=e[n];if(i&&r!=null){if((i=i(r))==null)return i;if(!Object.is(i,r))return c?a[t]=i:e[n]=i,i}return r}}function U(e,t,r,i){dr(e),se(e=e.v,0|e[x],t,r,i)}function se(e,t,r,i,n){const s=r+(n?0:-1);var a=e.length-1;if(a>=1+(n?0:-1)&&s>=a){const c=e[a];if(c!=null&&typeof c=="object"&&c.constructor===Object)return c[r]=i,t}return s<=a?(e[s]=i,t):(i!==void 0&&(r>=(a=(t??(t=0|e[x]))>>14&1023||536870912)?i!=null&&(e[a+(n?0:-1)]={[r]:i}):e[s]=i),t)}function Vt(){return pd===void 0?2:4}function jt(e,t,r,i,n){let s=e.v,a=0|s[x];i=ke(e,a)?1:i,n=!!n||i===3,i===2&&lr(e)&&(s=e.v,a=0|s[x]);let c=(e=On(s,t))===Dt?7:0|e[x],l=Bn(c,a);var h=!(4&l);if(h){4&l&&(e=He(e),c=0,l=$t(l,a),a=se(s,a,t,e));let d=0,f=0;for(;d<e.length;d++){const w=r(e[d]);w!=null&&(e[f++]=w)}f<d&&(e.length=f),r=-513&(4|l),l=r&=-1025,l&=-4097}return l!==c&&(ne(e,l),2&l&&Object.freeze(e)),Vo(e,l,s,a,t,i,h,n)}function Vo(e,t,r,i,n,s,a,c){let l=t;return s===1||s===4&&(2&t||!(16&t)&&32&i)?Wt(t)||((t|=!e.length||a&&!(4096&t)||32&i&&!(4096&t||16&t)?2:256)!==l&&ne(e,t),Object.freeze(e)):(s===2&&Wt(t)&&(e=He(e),l=0,t=$t(t,i),i=se(r,i,n,e)),Wt(t)||(c||(t|=16),t!==l&&ne(e,t))),2&t||!(4096&t||16&t)||Gt(r,i),e}function On(e,t,r){return e=ut(e,t,r),Array.isArray(e)?e:Dt}function Bn(e,t){return 2&t&&(e|=2),1|e}function Wt(e){return!!(2&e)&&!!(4&e)||!!(256&e)}function jo(e){return xn(e,!0)}function Wo(e){e=He(e);for(let t=0;t<e.length;t++){const r=e[t]=He(e[t]);Array.isArray(r[1])&&(r[1]=jr(r[1]))}return Wr(e)}function xt(e,t,r,i){dr(e),se(e=e.v,0|e[x],t,(i==="0"?Number(r)===0:r===i)?void 0:r)}function ur(e,t,r){if(2&t)throw Error();const i=nr(t);let n=On(e,r,i),s=n===Dt?7:0|n[x],a=Bn(s,t);return(2&a||Wt(a)||16&a)&&(a===s||Wt(a)||ne(n,a),n=He(n),s=0,a=$t(a,t),se(e,t,r,n,i)),a&=-13,a!==s&&ne(n,a),n}function Un(e,t){var r=Ya;return Vn(Gn(e=e.v),e,void 0,r)===t?t:-1}function Gn(e){if(tr)return e[Gr]??(e[Gr]=new Map);if(Gr in e)return e[Gr];const t=new Map;return Object.defineProperty(e,Gr,{value:t}),t}function $o(e,t,r,i,n){const s=Gn(e),a=Vn(s,e,t,r,n);return a!==i&&(a&&(t=se(e,t,a,void 0,n)),s.set(r,i)),t}function Vn(e,t,r,i,n){let s=e.get(i);if(s!=null)return s;s=0;for(let a=0;a<i.length;a++){const c=i[a];ut(t,c,n)!=null&&(s!==0&&(r=se(t,r,s,void 0,n)),s=c)}return e.set(i,s),s}function jn(e,t,r){let i=0|e[x];const n=nr(i),s=ut(e,r,n);let a;if(s!=null&&s[rr]===ir){if(!ke(s))return lr(s),s.v;a=s.v}else Array.isArray(s)&&(a=s);if(a){const c=0|a[x];2&c&&(a=cr(a,c))}return a=Ut(a,t),a!==s&&se(e,i,r,a,n),a}function zo(e,t,r,i,n){let s=!1;if((i=ut(e,i,n,a=>{const c=Nn(a,r,!1,t);return s=c!==a&&c!=null,c}))!=null)return s&&!ke(i)&&Gt(e,t),i}function O(e,t,r,i){let n=e.v,s=0|n[x];if((t=zo(n,s,t,r,i))==null)return t;if(s=0|n[x],!ke(e,s)){const a=Pn(t);a!==t&&(lr(e)&&(n=e.v,s=0|n[x]),s=se(n,s,r,t=a,i),Gt(n,s))}return t}function Ho(e,t,r,i,n,s,a,c){var l=ke(e,r);s=l?1:s,a=!!a||s===3,l=c&&!l,(s===2||l)&&lr(e)&&(r=0|(t=e.v)[x]);var h=(e=On(t,n))===Dt?7:0|e[x],d=Bn(h,r);if(c=!(4&d)){var f=e,w=r;const g=!!(2&d);g&&(w|=2);let p=!g,b=!0,y=0,m=0;for(;y<f.length;y++){const A=Nn(f[y],i,!1,w);if(A instanceof i){if(!g){const S=ke(A);p&&(p=!S),b&&(b=S)}f[m++]=A}}m<y&&(f.length=m),d|=4,d=b?-4097&d:4096|d,d=p?8|d:-9&d}if(d!==h&&(ne(e,d),2&d&&Object.freeze(e)),l&&!(8&d||!e.length&&(s===1||s===4&&(2&d||!(16&d)&&32&r)))){for(Wt(d)&&(e=He(e),d=$t(d,r),r=se(t,r,n,e)),i=e,l=d,h=0;h<i.length;h++)(f=i[h])!==(d=Pn(f))&&(i[h]=d);l|=8,ne(e,d=l=i.length?4096|l:-4097&l)}return Vo(e,d,t,r,n,s,c,a)}function ht(e,t,r){const i=e.v;return Ho(e,i,0|i[x],t,r,Vt(),!1,!0)}function qo(e){return e==null&&(e=void 0),e}function T(e,t,r,i,n){return U(e,r,i=qo(i),n),i&&!ke(i)&&Gt(e.v),e}function Qr(e,t,r,i){e:{var n=i=qo(i);dr(e);const s=e.v;let a=0|s[x];if(n==null){const c=Gn(s);if(Vn(c,s,a,r)!==t)break e;c.set(r,0)}else a=$o(s,a,r,t);se(s,a,t,n)}i&&!ke(i)&&Gt(e.v)}function $t(e,t){return-273&(2&t?2|e:-3&e)}function Wn(e,t,r,i){var n=i;dr(e),e=Ho(e,i=e.v,0|i[x],r,t,2,!0),n=n??new r,e.push(n),t=r=e===Dt?7:0|e[x],(n=ke(n))?(r&=-9,e.length===1&&(r&=-4097)):r|=4096,r!==t&&ne(e,r),n||Gt(i)}function Be(e,t,r){return ar(W(e,t,void 0,r))}function Ko(e){return(pn?W(e,2,void 0,void 0,yi):yi(W(e,2)))??$d}function Z(e,t){return W(e,t,void 0,void 0,et)??0}function ft(e,t,r){if(r!=null){if(typeof r!="number"||!mi(r))throw bn("int32");r|=0}U(e,t,r)}function k(e,t,r){U(e,t,Hr(r))}function Ae(e,t,r){xt(e,t,Yr(r),"")}function Ei(e,t,r){{dr(e);const a=e.v;let c=0|a[x];if(r==null)se(a,c,t);else{var i=e=r===Dt?7:0|r[x],n=Wt(e),s=n||Object.isFrozen(r);for(n||(e=0),s||(r=He(r),i=0,e=$t(e,c),s=!1),e|=5,e|=(4&e?512&e?512:1024&e?1024:0:void 0)??(pn?1024:0),n=0;n<r.length;n++){const l=r[n],h=Mo(l);Object.is(l,h)||(s&&(r=He(r),i=0,e=$t(e,c),s=!1),r[n]=h)}e!==i&&(s&&(r=He(r),e=$t(e,c)),ne(r,e)),se(a,c,t,r)}}}function _i(e,t,r){dr(e),jt(e,t,fe,2,!0).push(Mo(r))}var hr=class{constructor(e,t,r){if(this.buffer=e,r&&!t)throw Error();this.g=t}};function $n(e,t){if(typeof e=="string")return new hr(uo(e),t);if(Array.isArray(e))return new hr(new Uint8Array(e),t);if(e.constructor===Uint8Array)return new hr(e,!1);if(e.constructor===ArrayBuffer)return e=new Uint8Array(e),new hr(e,!1);if(e.constructor===Ze)return t=yn(e)||new Uint8Array(0),new hr(t,!0,e);if(e instanceof Uint8Array)return e=e.constructor===Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new hr(e,!1);throw Error()}function fr(e,t){let r,i=0,n=0,s=0;const a=e.h;let c=e.g;do r=a[c++],i|=(127&r)<<s,s+=7;while(s<32&&128&r);if(s>32)for(n|=(127&r)>>4,s=3;s<32&&128&r;s+=7)r=a[c++],n|=(127&r)<<s;if(zt(e,c),!(128&r))return t(i>>>0,n>>>0);throw Error()}function zn(e){let t=0,r=e.g;const i=r+10,n=e.h;for(;r<i;){const s=n[r++];if(t|=s,(128&s)==0)return zt(e,r),!!(127&t)}throw Error()}function Et(e){const t=e.h;let 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 Error();return zt(e,r),n}function wt(e){return Et(e)>>>0}function ki(e){var t=e.h;const r=e.g;var i=t[r],n=t[r+1];const s=t[r+2];return t=t[r+3],zt(e,e.g+4),e=2*((n=(i<<0|n<<8|s<<16|t<<24)>>>0)>>31)+1,i=n>>>23&255,n&=8388607,i==255?n?NaN:e*(1/0):i==0?1401298464324817e-60*e*n:e*Math.pow(2,i-150)*(n+8388608)}function zd(e){return Et(e)}function zt(e,t){if(e.g=t,t>e.l)throw Error()}function Yo(e,t){if(t<0)throw Error();const r=e.g;if((t=r+t)>e.l)throw Error();return e.g=t,r}function Xo(e,t){if(t==0)return Pt();var r=Yo(e,t);return e.Y&&e.j?r=e.h.subarray(r,r+t):(e=e.h,r=r===(t=r+t)?new Uint8Array(0):_d?e.slice(r,t):new Uint8Array(e.subarray(r,t))),r.length==0?Pt():new Ze(r,Zt)}var Qo=[];function Jo(e,t,r,i){if(Ci.length){const n=Ci.pop();return n.o(i),n.g.init(e,t,r,i),n}return new Hd(e,t,r,i)}function Zo(e){e.g.clear(),e.l=-1,e.h=-1,Ci.length<100&&Ci.push(e)}function Ro(e){var t=e.g;if(t.g==t.l)return!1;e.m=e.g.g;var r=wt(e.g);if(t=r>>>3,!((r&=7)>=0&&r<=5)||t<1)throw Error();return e.l=t,e.h=r,!0}function Ti(e){switch(e.h){case 0:e.h!=0?Ti(e):zn(e.g);break;case 1:zt(e=e.g,e.g+8);break;case 2:if(e.h!=2)Ti(e);else{var t=wt(e.g);zt(e=e.g,e.g+t)}break;case 5:zt(e=e.g,e.g+4);break;case 3:for(t=e.l;;){if(!Ro(e))throw Error();if(e.h==4){if(e.l!=t)throw Error();break}Ti(e)}break;default:throw Error()}}function Jr(e,t,r){const i=e.g.l;var n=wt(e.g);let s=(n=e.g.g+n)-i;if(s<=0&&(e.g.l=n,r(t,e,void 0,void 0,void 0),s=n-e.g.g),s)throw Error();return e.g.g=n,e.g.l=i,t}function Hn(e){var t=wt(e.g),r=Yo(e=e.g,t);if(e=e.h,rd){var i,n=e;(i=fn)||(i=fn=new TextDecoder("utf-8",{fatal:!0})),t=r+t,n=r===0&&t===n.length?n:n.subarray(r,t);try{var s=i.decode(n)}catch(c){if(hi===void 0){try{i.decode(new Uint8Array([128]))}catch{}try{i.decode(new Uint8Array([97])),hi=!0}catch{hi=!1}}throw!hi&&(fn=void 0),c}}else{t=(s=r)+t,r=[];let c,l=null;for(;s<t;){var a=e[s++];a<128?r.push(a):a<224?s>=t?Mt():(c=e[s++],a<194||(192&c)!=128?(s--,Mt()):r.push((31&a)<<6|63&c)):a<240?s>=t-1?Mt():(c=e[s++],(192&c)!=128||a===224&&c<160||a===237&&c>=160||(192&(i=e[s++]))!=128?(s--,Mt()):r.push((15&a)<<12|(63&c)<<6|63&i)):a<=244?s>=t-2?Mt():(c=e[s++],(192&c)!=128||c-144+(a<<28)>>30||(192&(i=e[s++]))!=128||(192&(n=e[s++]))!=128?(s--,Mt()):(a=(7&a)<<18|(63&c)<<12|(63&i)<<6|63&n,a-=65536,r.push(55296+(a>>10&1023),56320+(1023&a)))):Mt(),r.length>=8192&&(l=eo(l,r),r.length=0)}s=eo(l,r)}return s}function ea(e){const t=wt(e.g);return Xo(e.g,t)}function Ai(e,t,r){var i=wt(e.g);for(i=e.g.g+i;e.g.g<i;)r.push(t(e.g))}var Hd=class{constructor(e,t,r,i){if(Qo.length){const n=Qo.pop();n.init(e,t,r,i),e=n}else e=new class{constructor(n,s,a,c){this.h=null,this.j=!1,this.g=this.l=this.m=0,this.init(n,s,a,c)}init(n,s,a,{Y:c=!1,ea:l=!1}={}){this.Y=c,this.ea=l,n&&(n=$n(n,this.ea),this.h=n.buffer,this.j=n.g,this.m=s||0,this.l=a!==void 0?this.m+a:this.h.length,this.g=this.m)}clear(){this.h=null,this.j=!1,this.g=this.l=this.m=0,this.Y=!1}}(e,t,r,i);this.g=e,this.m=this.g.g,this.h=this.l=-1,this.o(i)}o({ha:e=!1}={}){this.ha=e}},Ci=[];function ta(e){return e?/^\d+$/.test(e)?(pi(e),new qn(H,te)):null:qd||(qd=new qn(0,0))}var qn=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}};let qd;function ra(e){return e?/^-?\d+$/.test(e)?(pi(e),new Kn(H,te)):null:Kd||(Kd=new Kn(0,0))}var Kn=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}};let Kd;function wr(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 gr(e,t){for(;t>127;)e.g.push(127&t|128),t>>>=7;e.g.push(t)}function Si(e,t){if(t>=0)gr(e,t);else{for(let r=0;r<9;r++)e.g.push(127&t|128),t>>=7;e.g.push(1)}}function Yn(e){var t=H;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 pr(e,t){t.length!==0&&(e.l.push(t),e.h+=t.length)}function Ue(e,t,r){gr(e.g,8*t+r)}function Xn(e,t){return Ue(e,t,2),t=e.g.end(),pr(e,t),t.push(e.h),t}function Qn(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 Ni(e,t,r){Ue(e,t,2),gr(e.g,r.length),pr(e,e.g.end()),pr(e,r)}function Ii(e,t,r,i){r!=null&&(t=Xn(e,t),i(r,e),Qn(e,t))}function tt(){const e=class{constructor(){throw Error()}};return Object.setPrototypeOf(e,e.prototype),e}var Jn=tt(),ia=tt(),Zn=tt(),Rn=tt(),na=tt(),sa=tt(),Yd=tt(),Fi=tt(),oa=tt(),aa=tt();function rt(e,t,r){var i=e.v;_e&&_e in i&&(i=i[_e])&&delete i[t.g],t.h?t.j(e,t.h,t.g,r,t.l):t.j(e,t.g,r,t.l)}var E=class{constructor(e,t){this.v=Bo(e,t,void 0,2048)}toJSON(){return Oo(this)}j(){var n;var e=Iu,t=this.v,r=e.g,i=_e;if(tr&&i&&((n=t[i])==null?void 0:n[r])!=null&&Rt(fd,3),t=e.g,go&&_e&&go===void 0&&(i=(r=this.v)[_e])&&(i=i.da))try{i(r,t,Bd)}catch(s){ro(s)}return e.h?e.m(this,e.h,e.g,e.l):e.m(this,e.g,e.defaultValue,e.l)}clone(){const e=this.v,t=0|e[x];return Dn(this,e,t)?Mn(this,e,!0):new this.constructor(cr(e,t,!1))}};E.prototype[rr]=ir,E.prototype.toString=function(){return this.v.toString()};var mr=class{constructor(e,t,r){this.g=e,this.h=t,e=Jn,this.l=!!e&&r===e||!1}};function Li(e,t){return new mr(e,t,Jn)}function ca(e,t,r,i,n){Ii(e,r,wa(t,i),n)}const Xd=Li(function(e,t,r,i,n){return e.h===2&&(Jr(e,jn(t,i,r),n),!0)},ca),Qd=Li(function(e,t,r,i,n){return e.h===2&&(Jr(e,jn(t,i,r),n),!0)},ca);var Mi=Symbol(),Pi=Symbol(),es=Symbol(),la=Symbol(),da=Symbol();let ua,ha;function Ht(e,t,r,i){var n=i[e];if(n)return n;(n={}).qa=i,n.T=function(f){switch(typeof f){case"boolean":return Vd||(Vd=[0,void 0,!0]);case"number":return f>0?void 0:f===0?jd||(jd=[0,void 0]):[-f,void 0];case"string":return[0,f];case"object":return f}}(i[0]);var s=i[1];let a=1;s&&s.constructor===Object&&(n.ba=s,typeof(s=i[++a])=="function"&&(n.ma=!0,ua??(ua=s),ha??(ha=i[a+1]),s=i[a+=2]));const c={};for(;s&&Array.isArray(s)&&s.length&&typeof s[0]=="number"&&s[0]>0;){for(var l=0;l<s.length;l++)c[s[l]]=s;s=i[++a]}for(l=1;s!==void 0;){let f;typeof s=="number"&&(l+=s,s=i[++a]);var h=void 0;if(s instanceof mr?f=s:(f=Xd,a--),f==null?void 0:f.l){s=i[++a],h=i;var d=a;typeof s=="function"&&(s=s(),h[d]=s),h=s}for(d=l+1,typeof(s=i[++a])=="number"&&s<0&&(d-=s,s=i[++a]);l<d;l++){const w=c[l];h?r(n,l,f,h,w):t(n,l,f,w)}}return i[e]=n}function fa(e){return Array.isArray(e)?e[0]instanceof mr?e:[Qd,e]:[e,void 0]}function wa(e,t){return e instanceof E?e.v:Array.isArray(e)?Ut(e,t):void 0}function ts(e,t,r,i){const n=r.g;e[t]=i?(s,a,c)=>n(s,a,c,i):n}function rs(e,t,r,i,n){const s=r.g;let a,c;e[t]=(l,h,d)=>s(l,h,d,c||(c=Ht(Pi,ts,rs,i).T),a||(a=is(i)),n)}function is(e){let t=e[es];if(t!=null)return t;const r=Ht(Pi,ts,rs,e);return t=r.ma?(i,n)=>ua(i,n,r):(i,n)=>{for(;Ro(n)&&n.h!=4;){var s=n.l,a=r[s];if(a==null){var c=r.ba;c&&(c=c[s])&&(c=Zd(c))!=null&&(a=r[s]=c)}if(a==null||!a(n,i,s)){if(a=(c=n).m,Ti(c),c.ha)var l=void 0;else l=c.g.g-a,c.g.g=a,l=Xo(c.g,l);a=void 0,c=i,l&&((a=c[_e]??(c[_e]=new Ln))[s]??(a[s]=[])).push(l)}}return(i=bi(i))&&(i.da=r.qa[da]),!0},e[es]=t,e[da]=Jd.bind(e),t}function Jd(e,t,r,i){var n=this[Pi];const s=this[es],a=Ut(void 0,n.T),c=bi(e);if(c){var l=!1,h=n.ba;if(h){if(n=(d,f,w)=>{if(w.length!==0)if(h[f])for(const g of w){d=Jo(g);try{l=!0,s(a,d)}finally{Zo(d)}}else i==null||i(e,f,w)},t==null)vi(c,n);else if(c!=null){const d=c[t];d&&n(c,t,d)}if(l){let d=0|e[x];if(2&d&&2048&d&&!(r!=null&&r.Ka))throw Error();const f=nr(d),w=(g,p)=>{if(ut(e,g,f)!=null){if((r==null?void 0:r.Qa)===1)return;throw Error()}p!=null&&(d=se(e,d,g,p,f)),delete c[g]};t==null?vo(a,0|a[x],(g,p)=>{w(g,p)}):w(t,ut(a,t,f))}}}}function Zd(e){const t=(e=fa(e))[0].g;if(e=e[1]){const r=is(e),i=Ht(Pi,ts,rs,e).T;return(n,s,a)=>t(n,s,a,i,r)}return t}function Di(e,t,r){e[t]=r.h}function Oi(e,t,r,i){let n,s;const a=r.h;e[t]=(c,l,h)=>a(c,l,h,s||(s=Ht(Mi,Di,Oi,i).T),n||(n=ga(i)))}function ga(e){let t=e[la];if(!t){const r=Ht(Mi,Di,Oi,e);t=(i,n)=>pa(i,n,r),e[la]=t}return t}function pa(e,t,r){vo(e,0|e[x],(i,n)=>{if(n!=null){var s=function(a,c){var l=a[c];if(l)return l;if((l=a.ba)&&(l=l[c])){var h=(l=fa(l))[0].h;if(l=l[1]){const d=ga(l),f=Ht(Mi,Di,Oi,l).T;l=a.ma?ha(f,d):(w,g,p)=>h(w,g,p,f,d)}else l=h;return a[c]=l}}(r,i);s?s(t,n,i):i<500||Rt(vn,3)}}),(e=bi(e))&&vi(e,(i,n,s)=>{for(pr(t,t.g.end()),i=0;i<s.length;i++)pr(t,yn(s[i])||new Uint8Array(0))})}const Rd=Te(0);function yr(e,t){if(Array.isArray(t)){var r=0|t[x];if(4&r)return t;for(var i=0,n=0;i<t.length;i++){const s=e(t[i]);s!=null&&(t[n++]=s)}return n<i&&(t.length=n),(e=-1537&(5|r))!==r&&ne(t,e),2&e&&Object.freeze(t),t}}function me(e,t,r){return new mr(e,t,r)}function br(e,t,r){return new mr(e,t,r)}function ce(e,t,r){se(e,0|e[x],t,r,nr(0|e[x]))}var eu=Li(function(e,t,r,i,n){if(e.h!==2)return!1;if(e=He(e=Jr(e,Ut([void 0,void 0],i),n)),n=nr(i=0|t[x]),2&i)throw Error();let s=ut(t,r,n);if(s instanceof dt)2&s.J?(s=s.V(),s.push(e),se(t,i,r,s,n)):s.Ma(e);else if(Array.isArray(s)){var a=0|s[x];8192&a||ne(s,a|=8192),2&a&&(s=Wo(s),se(t,i,r,s,n)),s.push(e)}else se(t,i,r,Wr([e]),n);return!0},function(e,t,r,i,n){if(t instanceof dt)t.forEach((s,a)=>{Ii(e,r,Ut([a,s],i),n)});else if(Array.isArray(t)){for(let s=0;s<t.length;s++){const a=t[s];Array.isArray(a)&&Ii(e,r,Ut(a,i),n)}Wr(t)}});function ma(e,t,r){(t=et(t))!=null&&(Ue(e,r,5),e=e.g,_n(t),Yn(e))}function ya(e,t,r){if(t=function(i){if(i==null)return i;const n=typeof i;if(n==="bigint")return String(zr(64,i));if(Kr(i)){if(n==="string")return Io(i);if(n==="number")return Sn(i)}}(t),t!=null&&(typeof t=="string"&&ra(t),t!=null))switch(Ue(e,r,0),typeof t){case"number":e=e.g,sr(t),wr(e,H,te);break;case"bigint":r=BigInt.asUintN(64,t),r=new Kn(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),wr(e.g,r.h,r.g);break;default:r=ra(t),wr(e.g,r.h,r.g)}}function ba(e,t,r){(t=ar(t))!=null&&t!=null&&(Ue(e,r,0),Si(e.g,t))}function va(e,t,r){(t=Co(t))!=null&&(Ue(e,r,0),e.g.g.push(t?1:0))}function xa(e,t,r){(t=fe(t))!=null&&Ni(e,r,to(t))}function Ea(e,t,r,i,n){Ii(e,r,wa(t,i),n)}function _a(e,t,r){(t=t==null||typeof t=="string"||t instanceof Ze?t:void 0)!=null&&Ni(e,r,$n(t,!0).buffer)}function ka(e,t,r){return(e.h===5||e.h===2)&&(t=ur(t,0|t[x],r),e.h==2?Ai(e,ki,t):t.push(ki(e.g)),!0)}var re=me(function(e,t,r){return e.h===5&&(ce(t,r,ki(e.g)),!0)},ma,Fi),tu=br(ka,function(e,t,r){if((t=yr(et,t))!=null)for(let a=0;a<t.length;a++){var i=e,n=r,s=t[a];s!=null&&(Ue(i,n,5),i=i.g,_n(s),Yn(i))}},Fi),ns=br(ka,function(e,t,r){if((t=yr(et,t))!=null&&t.length){Ue(e,r,2),gr(e.g,4*t.length);for(let i=0;i<t.length;i++)r=e.g,_n(t[i]),Yn(r)}},Fi),ru=me(function(e,t,r){return e.h===5&&(ce(t,r,(e=ki(e.g))===0?void 0:e),!0)},ma,Fi),_t=me(function(e,t,r){return gn?(e.h!==0?e=!1:(ce(t,r,fr(e.g,To)),e=!0),e):e.h===0&&(ce(t,r,fr(e.g,Tn)),!0)},ya,sa),ss=me(function(e,t,r){return gn?(e.h!==0?t=!1:(ce(t,r,(e=fr(e.g,To))===Rd?void 0:e),t=!0),t):e.h===0&&(ce(t,r,(e=fr(e.g,Tn))===0?void 0:e),!0)},ya,sa),iu=me(function(e,t,r){return gn?(e.h!==0?e=!1:(ce(t,r,fr(e.g,Td)),e=!0),e):e.h===0&&(ce(t,r,fr(e.g,kn)),!0)},function(e,t,r){if(t=function(i){if(i==null)return i;var n=typeof i;if(n==="bigint")return String(Ad(64,i));if(Kr(i)){if(n==="string")return n=or(Number(i)),Bt(n)&&n>=0?i=String(n):((n=i.indexOf("."))!==-1&&(i=i.substring(0,n)),(n=i[0]!=="-"&&((n=i.length)<20||n===20&&i<="18446744073709551615"))||(pi(i),i=$r(H,te))),i;if(n==="number")return(i=or(i))>=0&&Bt(i)||(sr(i),i=kn(H,te)),i}}(t),t!=null&&(typeof t=="string"&&ta(t),t!=null))switch(Ue(e,r,0),typeof t){case"number":e=e.g,sr(t),wr(e,H,te);break;case"bigint":r=BigInt.asUintN(64,t),r=new qn(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),wr(e.g,r.h,r.g);break;default:r=ta(t),wr(e.g,r.h,r.g)}},Yd),le=me(function(e,t,r){return e.h===0&&(ce(t,r,Et(e.g)),!0)},ba,Rn),Zr=br(function(e,t,r){return(e.h===0||e.h===2)&&(t=ur(t,0|t[x],r),e.h==2?Ai(e,Et,t):t.push(Et(e.g)),!0)},function(e,t,r){if((t=yr(ar,t))!=null&&t.length){r=Xn(e,r);for(let i=0;i<t.length;i++)Si(e.g,t[i]);Qn(e,r)}},Rn),vr=me(function(e,t,r){return e.h===0&&(ce(t,r,(e=Et(e.g))===0?void 0:e),!0)},ba,Rn),R=me(function(e,t,r){return e.h===0&&(ce(t,r,zn(e.g)),!0)},va,ia),qt=me(function(e,t,r){return e.h===0&&(ce(t,r,(e=zn(e.g))===!1?void 0:e),!0)},va,ia),ge=br(function(e,t,r){return e.h===2&&(e=Hn(e),ur(t,0|t[x],r).push(e),!0)},function(e,t,r){if((t=yr(fe,t))!=null)for(let a=0;a<t.length;a++){var i=e,n=r,s=t[a];s!=null&&Ni(i,n,to(s))}},Zn),kt=me(function(e,t,r){return e.h===2&&(ce(t,r,(e=Hn(e))===""?void 0:e),!0)},xa,Zn),V=me(function(e,t,r){return e.h===2&&(ce(t,r,Hn(e)),!0)},xa,Zn),de=function(e,t,r=Jn){return new mr(e,t,r)}(function(e,t,r,i,n){return e.h===2&&(i=Ut(void 0,i),ur(t,0|t[x],r).push(i),Jr(e,i,n),!0)},function(e,t,r,i,n){if(Array.isArray(t)){for(let s=0;s<t.length;s++)Ea(e,t[s],r,i,n);1&(e=0|t[x])||ne(t,1|e)}}),ee=Li(function(e,t,r,i,n,s){if(e.h!==2)return!1;let a=0|t[x];return $o(t,a,s,r,nr(a)),Jr(e,t=jn(t,i,r),n),!0},Ea),Ta=me(function(e,t,r){return e.h===2&&(ce(t,r,ea(e)),!0)},_a,oa),nu=br(function(e,t,r){return(e.h===0||e.h===2)&&(t=ur(t,0|t[x],r),e.h==2?Ai(e,wt,t):t.push(wt(e.g)),!0)},function(e,t,r){if((t=yr(So,t))!=null)for(let a=0;a<t.length;a++){var i=e,n=r,s=t[a];s!=null&&(Ue(i,n,0),gr(i.g,s))}},na),su=me(function(e,t,r){return e.h===0&&(ce(t,r,(e=wt(e.g))===0?void 0:e),!0)},function(e,t,r){(t=So(t))!=null&&t!=null&&(Ue(e,r,0),gr(e.g,t))},na),Ce=me(function(e,t,r){return e.h===0&&(ce(t,r,Et(e.g)),!0)},function(e,t,r){(t=ar(t))!=null&&(t=parseInt(t,10),Ue(e,r,0),Si(e.g,t))},aa);class ou{constructor(t,r){var i=Se;this.g=t,this.h=r,this.m=O,this.j=T,this.defaultValue=void 0,this.l=i.Oa!=null?xo:void 0}register(){fi(this)}}function it(e,t){return new ou(e,t)}function Tt(e,t){return(r,i)=>{{const s={ea:!0};i&&Object.assign(s,i),r=Jo(r,void 0,void 0,s);try{const a=new e,c=a.v;is(t)(c,r);var n=a}finally{Zo(r)}}return n}}function Bi(e){return function(){const t=new class{constructor(){this.l=[],this.h=0,this.g=new class{constructor(){this.g=[]}length(){return this.g.length}end(){const a=this.g;return this.g=[],a}}}};pa(this.v,t,Ht(Mi,Di,Oi,e)),pr(t,t.g.end());const r=new Uint8Array(t.h),i=t.l,n=i.length;let s=0;for(let a=0;a<n;a++){const c=i[a];r.set(c,s),s+=c.length}return t.l=[r],r}}var Aa=class extends E{constructor(e){super(e)}},Ca=[0,kt,me(function(e,t,r){return e.h===2&&(ce(t,r,(e=ea(e))===Pt()?void 0:e),!0)},function(e,t,r){if(t!=null){if(t instanceof E){const i=t.Ra;return void(i?(t=i(t),t!=null&&Ni(e,r,$n(t,!0).buffer)):Rt(vn,3))}if(Array.isArray(t))return void Rt(vn,3)}_a(e,t,r)},oa)];let os,Sa=globalThis.trustedTypes;function Na(e){var t;return os===void 0&&(os=function(){let r=null;if(!Sa)return r;try{const i=n=>n;r=Sa.createPolicy("goog#html",{createHTML:i,createScript:i,createScriptURL:i})}catch{}return r}()),e=(t=os)?t.createScriptURL(e):e,new class{constructor(r){this.g=r}toString(){return this.g+""}}(e)}function au(e,...t){if(t.length===0)return Na(e[0]);let r=e[0];for(let i=0;i<t.length;i++)r+=encodeURIComponent(t[i])+e[i+1];return Na(r)}var Ia=[0,le,Ce,R,-1,Zr,Ce,-1,R],cu=class extends E{constructor(e){super(e)}},Fa=[0,R,V,R,Ce,-1,br(function(e,t,r){return(e.h===0||e.h===2)&&(t=ur(t,0|t[x],r),e.h==2?Ai(e,zd,t):t.push(Et(e.g)),!0)},function(e,t,r){if((t=yr(ar,t))!=null&&t.length){r=Xn(e,r);for(let i=0;i<t.length;i++)Si(e.g,t[i]);Qn(e,r)}},aa),V,-1,[0,R,-1],Ce,R,-1],La=[0,3,R,-1,2,[0,le],[0,Ce,R],[0,V,-1],[0]],Ma=[0,V,-2],Pa=class extends E{constructor(e){super(e)}},Da=[0],Oa=[0,le,R,1,R,-4],Se=class extends E{constructor(e){super(e,2)}},oe={};oe[336783863]=[0,V,R,-1,le,[0,[1,2,3,4,5,6,7,8,9],ee,Da,ee,Fa,ee,Ma,ee,Oa,ee,Ia,ee,[0,V,-2],ee,[0,V,Ce],ee,La,ee,[0,Ce,-1,R]],[0,V],R,[0,[1,3],[2,4],ee,[0,Zr],-1,ee,[0,ge],-1,de,[0,V,-1]],V];var Ba=[0,ss,-1,qt,-3,ss,Zr,kt,vr,ss,-1,qt,vr,qt,-2,kt];function $(e,t){_i(e,3,t)}function L(e,t){_i(e,4,t)}var ve=class extends E{constructor(e){super(e,500)}o(e){return T(this,0,7,e)}},Rr=[-1,{}],Ua=[0,V,1,Rr],Ga=[0,V,ge,Rr];function Ge(e,t){Wn(e,1,ve,t)}function q(e,t){_i(e,10,t)}function B(e,t){_i(e,15,t)}var Ne=class extends E{constructor(e){super(e,500)}o(e){return T(this,0,1001,e)}},Va=[-500,de,[-500,kt,-1,ge,-3,[-2,oe,R],de,Ca,vr,-1,Ua,Ga,de,[0,kt,qt],kt,Ba,vr,ge,987,ge],4,de,[-500,V,-1,[-1,{}],998,V],de,[-500,V,ge,-1,[-2,{},R],997,ge,-1],vr,de,[-500,V,ge,Rr,998,ge],ge,vr,Ua,Ga,de,[0,kt,-1,Rr],ge,-2,Ba,kt,-1,qt,[0,qt,su],978,Rr,de,Ca];Ne.prototype.g=Bi(Va);var lu=Tt(Ne,Va),du=class extends E{constructor(e){super(e)}},ja=class extends E{constructor(e){super(e)}g(){return ht(this,du,1)}},Wa=[0,de,[0,le,re,V,-1]],Ui=Tt(ja,Wa),uu=class extends E{constructor(e){super(e)}},hu=class extends E{constructor(e){super(e)}},as=class extends E{constructor(e){super(e)}l(){return O(this,uu,2)}g(){return ht(this,hu,5)}},$a=Tt(class extends E{constructor(e){super(e)}},[0,ge,Zr,ns,[0,Ce,[0,le,-3],[0,re,-3],[0,le,-1,[0,de,[0,le,-2]]],de,[0,re,-1,V,re]],V,-1,_t,de,[0,le,re],ge,_t]),za=class extends E{constructor(e){super(e)}},xr=Tt(class extends E{constructor(e){super(e)}},[0,de,[0,re,-4]]),Ha=class extends E{constructor(e){super(e)}},ei=Tt(class extends E{constructor(e){super(e)}},[0,de,[0,re,-4]]),fu=class extends E{constructor(e){super(e)}},wu=[0,le,-1,ns,Ce],qa=class extends E{constructor(e){super(e)}};qa.prototype.g=Bi([0,re,-4,_t]);var gu=class extends E{constructor(e){super(e)}},pu=Tt(class extends E{constructor(e){super(e)}},[0,de,[0,1,le,V,Wa],_t]),Ka=class extends E{constructor(e){super(e)}},mu=class extends E{constructor(e){super(e)}na(){const e=W(this,1,void 0,void 0,jo);return e??Pt()}},yu=class extends E{constructor(e){super(e)}},Ya=[1,2],bu=Tt(class extends E{constructor(e){super(e)}},[0,de,[0,Ya,ee,[0,ns],ee,[0,Ta],le,V],_t]),cs=class extends E{constructor(e){super(e)}},Xa=[0,V,le,re,ge,-1],Qa=class extends E{constructor(e){super(e)}},vu=[0,R,-1],Ja=class extends E{constructor(e){super(e)}},Gi=[1,2,3,4,5,6],Vi=class extends E{constructor(e){super(e)}g(){return W(this,1,void 0,void 0,jo)!=null}l(){return fe(W(this,2))!=null}},Q=class extends E{constructor(e){super(e)}g(){return Co(W(this,2))??!1}},Za=[0,Ta,V,[0,le,_t,-1],[0,iu,_t]],ie=[0,Za,R,[0,Gi,ee,Oa,ee,Fa,ee,Ia,ee,Da,ee,Ma,ee,La],Ce],ji=class extends E{constructor(e){super(e)}},ls=[0,ie,re,-1,le],xu=it(502141897,ji);oe[502141897]=ls;var Eu=Tt(class extends E{constructor(e){super(e)}},[0,[0,Ce,-1,tu,nu],wu]),Ra=class extends E{constructor(e){super(e)}},ec=class extends E{constructor(e){super(e)}},ds=[0,ie,re,[0,ie],R],_u=it(508968150,ec);oe[508968150]=[0,ie,ls,ds,re,[0,[0,Za]]],oe[508968149]=ds;var Er=class extends E{constructor(e){super(e)}l(){return O(this,cs,2)}g(){U(this,2)}},tc=[0,ie,Xa];oe[478825465]=tc;var ku=class extends E{constructor(e){super(e)}},rc=class extends E{constructor(e){super(e)}},us=class extends E{constructor(e){super(e)}},hs=class extends E{constructor(e){super(e)}},ic=class extends E{constructor(e){super(e)}},nc=[0,ie,[0,ie],tc,-1],sc=[0,ie,re,le],fs=[0,ie,re],oc=[0,ie,sc,fs,re],Tu=it(479097054,ic);oe[479097054]=[0,ie,oc,nc],oe[463370452]=nc,oe[464864288]=sc;var Au=it(462713202,hs);oe[462713202]=oc,oe[474472470]=fs;var Cu=class extends E{constructor(e){super(e)}},ac=class extends E{constructor(e){super(e)}},cc=class extends E{constructor(e){super(e)}},lc=class extends E{constructor(e){super(e)}},ws=[0,ie,re,-1,le],gs=[0,ie,re,R];lc.prototype.g=Bi([0,ie,fs,[0,ie],ls,ds,ws,gs]);var dc=class extends E{constructor(e){super(e)}},Su=it(456383383,dc);oe[456383383]=[0,ie,Xa];var uc=class extends E{constructor(e){super(e)}},Nu=it(476348187,uc);oe[476348187]=[0,ie,vu];var hc=class extends E{constructor(e){super(e)}},fc=class extends E{constructor(e){super(e)}},wc=[0,Ce,-1],Iu=it(458105876,class extends E{constructor(e){super(e)}g(){let e;var t=this.v;const r=0|t[x];return e=ke(this,r),t=function(i,n,s,a){var c=fc;!a&&lr(i)&&(s=0|(n=i.v)[x]);var l=ut(n,2);if(i=!1,l==null){if(a)return Do();l=[]}else if(l.constructor===dt){if(!(2&l.J)||a)return l;l=l.V()}else Array.isArray(l)?i=!!(2&(0|l[x])):l=[];if(a){if(!l.length)return Do();i||(i=!0,jr(l))}else i&&(i=!1,Wr(l),l=Wo(l));return!i&&32&s&&Vr(l,32),s=se(n,s,2,a=new dt(l,c,Id,void 0)),i||Gt(n,s),a}(this,t,r,e),!e&&fc&&(t.ra=!0),t}});oe[458105876]=[0,wc,eu,[!0,_t,[0,V,-1,ge]],[0,Zr,R,Ce]];var ps=class extends E{constructor(e){super(e)}},gc=it(458105758,ps);oe[458105758]=[0,ie,V,wc];var ms=class extends E{constructor(e){super(e)}},pc=[0,ru,-1,qt],Fu=class extends E{constructor(e){super(e)}},mc=class extends E{constructor(e){super(e)}},ys=[1,2];mc.prototype.g=Bi([0,ys,ee,pc,ee,[0,de,pc]]);var yc=class extends E{constructor(e){super(e)}},Lu=it(443442058,yc);oe[443442058]=[0,ie,V,le,re,ge,-1,R,re],oe[514774813]=ws;var bc=class extends E{constructor(e){super(e)}},Mu=it(516587230,bc);function bs(e,t){return t=t?t.clone():new cs,e.displayNamesLocale!==void 0?U(t,1,Yr(e.displayNamesLocale)):e.displayNamesLocale===void 0&&U(t,1),e.maxResults!==void 0?ft(t,2,e.maxResults):"maxResults"in e&&U(t,2),e.scoreThreshold!==void 0?k(t,3,e.scoreThreshold):"scoreThreshold"in e&&U(t,3),e.categoryAllowlist!==void 0?Ei(t,4,e.categoryAllowlist):"categoryAllowlist"in e&&U(t,4),e.categoryDenylist!==void 0?Ei(t,5,e.categoryDenylist):"categoryDenylist"in e&&U(t,5),t}function vc(e){const t=Number(e);return Number.isSafeInteger(t)?t:String(e)}function vs(e,t=-1,r=""){return{categories:e.map(i=>({index:Be(i,1)??0??-1,score:Z(i,2)??0,categoryName:fe(W(i,3))??""??"",displayName:fe(W(i,4))??""??""})),headIndex:t,headName:r}}function Pu(e){const t={classifications:ht(e,gu,1).map(r=>{var i;return vs(((i=O(r,ja,4))==null?void 0:i.g())??[],Be(r,2)??0,fe(W(r,3))??"")})};return function(r){return Nd(pn?W(r,2,void 0,void 0,yi):W(r,2))}(e)!=null&&(t.timestampMs=vc(Ko(e))),t}function xc(e){var a,c;var t=jt(e,3,et,Vt()),r=jt(e,2,ar,Vt()),i=jt(e,1,fe,Vt()),n=jt(e,9,fe,Vt());const s={categories:[],keypoints:[]};for(let l=0;l<t.length;l++)s.categories.push({score:t[l],index:r[l]??-1,categoryName:i[l]??"",displayName:n[l]??""});if((t=(a=O(e,as,4))==null?void 0:a.l())&&(s.boundingBox={originX:Be(t,1,vt)??0,originY:Be(t,2,vt)??0,width:Be(t,3,vt)??0,height:Be(t,4,vt)??0,angle:0}),(c=O(e,as,4))==null?void 0:c.g().length)for(const l of O(e,as,4).g())s.keypoints.push({x:W(l,1,void 0,vt,et)??0,y:W(l,2,void 0,vt,et)??0,score:W(l,4,void 0,vt,et)??0,label:fe(W(l,3,void 0,vt))??""});return s}function Wi(e){const t=[];for(const r of ht(e,Ha,1))t.push({x:Z(r,1)??0,y:Z(r,2)??0,z:Z(r,3)??0,visibility:Z(r,4)??0});return t}function ti(e){const t=[];for(const r of ht(e,za,1))t.push({x:Z(r,1)??0,y:Z(r,2)??0,z:Z(r,3)??0,visibility:Z(r,4)??0});return t}function Ec(e){return Array.from(e,t=>t>127?t-256:t)}function _c(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 s=0;s<e.length;s++)r+=e[s]*t[s],i+=e[s]*e[s],n+=t[s]*t[s];if(i<=0||n<=0)throw Error("Cannot compute cosine similarity on embedding with 0 norm.");return r/Math.sqrt(i*n)}let $i;oe[516587230]=[0,ie,ws,gs,re],oe[518928384]=gs;const Du=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 kc(){if($i===void 0)try{await WebAssembly.instantiate(Du),$i=!0}catch{$i=!1}return $i}async function ri(e,t=au``){const r=await kc()?"wasm_internal":"wasm_nosimd_internal";return{wasmLoaderPath:`${t}/${e}_${r}.js`,wasmBinaryPath:`${t}/${e}_${r}.wasm`}}var Kt=class{};function Tc(){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 Ac(e){if(typeof importScripts!="function"){const 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)})}try{importScripts(e.toString())}catch(t){if(!(t instanceof TypeError))throw t;await self.import(e.toString())}}function Cc(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,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 Sc(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);const[i,n]=Cc(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 Nc(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target");const 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(const n of i)e.i._free(n);e.i._free(t)}function nt(e,t,r){e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=r}function At(e,t,r){let i=[];e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=(n,s,a)=>{s?(r(i,a),i=[]):i.push(n)}}Kt.forVisionTasks=function(e){return ri("vision",e)},Kt.forTextTasks=function(e){return ri("text",e)},Kt.forGenAiExperimentalTasks=function(e){return ri("genai_experimental",e)},Kt.forGenAiTasks=function(e){return ri("genai",e)},Kt.forAudioTasks=function(e){return ri("audio",e)},Kt.isSimdSupported=function(){return kc()};async function Ou(e,t,r,i){return e=await(async(n,s,a,c,l)=>{if(s&&await Ac(s),!self.ModuleFactory||a&&(await Ac(a),!self.ModuleFactory))throw Error("ModuleFactory not set.");return self.Module&&l&&((s=self.Module).locateFile=l.locateFile,l.mainScriptUrlOrBlob&&(s.mainScriptUrlOrBlob=l.mainScriptUrlOrBlob)),l=await self.ModuleFactory(self.Module||l),self.ModuleFactory=self.Module=void 0,new n(l,c)})(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 xs(e,t){const r=O(e.baseOptions,Vi,1)||new Vi;typeof t=="string"?(U(r,2,Yr(t)),U(r,1)):t instanceof Uint8Array&&(U(r,1,xn(t,!1)),U(r,2)),T(e.baseOptions,0,1,r)}function Ic(e){try{const t=e.H.length;if(t===1)throw Error(e.H[0].message);if(t>1)throw Error("Encountered multiple errors: "+e.H.map(r=>r.message).join(", "))}finally{e.H=[]}}function v(e,t){e.C=Math.max(e.C,t)}function zi(e,t){e.B=new ve,Ae(e.B,2,"PassThroughCalculator"),$(e.B,"free_memory"),L(e.B,"free_memory_unused_out"),q(t,"free_memory"),Ge(t,e.B)}function _r(e,t){$(e.B,t),L(e.B,t+"_unused_out")}function Hi(e){e.g.addBoolToStream(!0,"free_memory",e.C)}var Es=class{constructor(e){this.g=e,this.H=[],this.C=0,this.g.setAutoRenderToScreen(!1)}l(e,t=!0){var r,i,n,s,a,c;if(t){const l=e.baseOptions||{};if((r=e.baseOptions)!=null&&r.modelAssetBuffer&&((i=e.baseOptions)!=null&&i.modelAssetPath))throw Error("Cannot set both baseOptions.modelAssetPath and baseOptions.modelAssetBuffer");if(!((n=O(this.baseOptions,Vi,1))!=null&&n.g()||(s=O(this.baseOptions,Vi,1))!=null&&s.l()||(a=e.baseOptions)!=null&&a.modelAssetBuffer||(c=e.baseOptions)!=null&&c.modelAssetPath))throw Error("Either baseOptions.modelAssetPath or baseOptions.modelAssetBuffer must be set");if(function(h,d){let f=O(h.baseOptions,Ja,3);if(!f){var w=f=new Ja,g=new Pa;Qr(w,4,Gi,g)}"delegate"in d&&(d.delegate==="GPU"?(d=f,w=new cu,Qr(d,2,Gi,w)):(d=f,w=new Pa,Qr(d,4,Gi,w))),T(h.baseOptions,0,3,f)}(this,l),l.modelAssetPath)return fetch(l.modelAssetPath.toString()).then(h=>{if(h.ok)return h.arrayBuffer();throw Error(`Failed to fetch model: ${l.modelAssetPath} (${h.status})`)}).then(h=>{try{this.g.i.FS_unlink("/model.dat")}catch{}this.g.i.FS_createDataFile("/","model.dat",new Uint8Array(h),!0,!1,!1),xs(this,"/model.dat"),this.m(),this.L()});if(l.modelAssetBuffer instanceof Uint8Array)xs(this,l.modelAssetBuffer);else if(l.modelAssetBuffer)return async function(h){const d=[];for(var f=0;;){const{done:w,value:g}=await h.read();if(w)break;d.push(g),f+=g.length}if(d.length===0)return new Uint8Array(0);if(d.length===1)return d[0];h=new Uint8Array(f),f=0;for(const w of d)h.set(w,f),f+=w.length;return h}(l.modelAssetBuffer).then(h=>{xs(this,h),this.m(),this.L()})}return this.m(),this.L(),Promise.resolve()}L(){}ca(){let e;if(this.g.ca(t=>{e=lu(t)}),!e)throw Error("Failed to retrieve CalculatorGraphConfig");return e}setGraph(e,t){this.g.attachErrorListener((r,i)=>{this.H.push(Error(i))}),this.g.Ja(),this.g.setGraph(e,t),this.B=void 0,Ic(this)}finishProcessing(){this.g.finishProcessing(),Ic(this)}close(){this.B=void 0,this.g.closeGraph()}};function Ct(e,t){if(!e)throw Error(`Unable to obtain required WebGL resource: ${t}`);return e}Es.prototype.close=Es.prototype.close;class Bu{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 Fc(e,t,r){const i=e.g;if(r=Ct(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 Lc(e,t){const r=e.g,i=Ct(r.createVertexArray(),"Failed to create vertex array");r.bindVertexArray(i);const n=Ct(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);const s=Ct(r.createBuffer(),"Failed to create buffer");return r.bindBuffer(r.ARRAY_BUFFER,s),r.enableVertexAttribArray(e.L),r.vertexAttribPointer(e.L,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 Bu(r,i,n,s)}function _s(e,t){if(e.g){if(t!==e.g)throw Error("Cannot change GL context once initialized")}else e.g=t}function Uu(e,t,r,i){return _s(e,t),e.h||(e.m(),e.D()),r?(e.u||(e.u=Lc(e,!0)),r=e.u):(e.A||(e.A=Lc(e,!1)),r=e.A),t.useProgram(e.h),r.bind(),e.l(),e=i(),r.g.bindVertexArray(null),e}function Mc(e,t,r){return _s(e,t),e=Ct(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 Pc(e,t,r){_s(e,t),e.B||(e.B=Ct(t.createFramebuffer(),"Failed to create framebuffe.")),t.bindFramebuffer(t.FRAMEBUFFER,e.B),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,r,0)}function Gu(e){var t;(t=e.g)==null||t.bindFramebuffer(e.g.FRAMEBUFFER,null)}var Dc=class{H(){return`
|
|
1
|
+
(function(he,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("react/jsx-runtime"),require("react"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","react-dom"],o):(he=typeof globalThis<"u"?globalThis:he||self,o(he.InterviewWidget={},he.jsxRuntime,he.React,he.ReactDOM))})(this,function(he,o,u,Hs){"use strict";var n1=Object.defineProperty;var s1=(he,o,u)=>o in he?n1(he,o,{enumerable:!0,configurable:!0,writable:!0,value:u}):he[o]=u;var Oe=(he,o,u)=>s1(he,typeof o!="symbol"?o+"":o,u);var sn=typeof document<"u"?document.currentScript:null;const on={},Ze={api:{baseUrl:"/api",retryConfig:{attempts:3,backoff:"exponential",baseDelay:1e3}},ui:{baseColor:"#3B82F6",borderRadius:"8px"},interview:{allow_answer_editing:!0,capture_screenshots:!1,timers:{thinkingDuration:30,answeringDuration:120,editingDuration:30},stt:{provider:"groq",model:"whisper-large-v3-turbo",language:"en"},tts:{provider:"piper"},proctoring:{enabled:!0,gazeAnalysisEnabled:!0}}},an="iw-storage";function kl(){if(!(typeof{url:typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:sn&&sn.tagName.toUpperCase()==="SCRIPT"&&sn.src||new URL("widget.umd.js",document.baseURI).href}<"u"&&(on!=null&&on.VITE_IW_SECRET)))return typeof process<"u"&&process.env.NEXT_PUBLIC_IW_SECRET?process.env.NEXT_PUBLIC_IW_SECRET:typeof window<"u"&&window.__IW_SECRET__?window.__IW_SECRET__:"proctoring-data-seed"}const qs=kl(),ui=30,Tl={SCREENSHOT:"screenshot"},cn="AES-GCM",ln=12;async function Ks(e){const r=new TextEncoder().encode(e),i=await crypto.subtle.digest("SHA-256",r);return crypto.subtle.importKey("raw",i,cn,!1,["encrypt","decrypt"])}function Al(){return crypto.getRandomValues(new Uint8Array(ln))}async function Cl(e,t="default-seed"){try{const r=typeof e=="string"?e:JSON.stringify(e),n=new TextEncoder().encode(r),s=await Ks(t),a=Al(),c=await crypto.subtle.encrypt({name:cn,iv:a},s,n),l=new Uint8Array(a.length+c.byteLength);return l.set(new Uint8Array(a),0),l.set(new Uint8Array(c),a.length),btoa(String.fromCharCode(...Array.from(l)))}catch(r){throw console.error("Encryption failed:",r),new Error("Failed to encrypt data")}}async function Sl(e,t="default-seed"){try{const r=atob(e),i=new Uint8Array(r.length);for(let h=0;h<r.length;h++)i[h]=r.charCodeAt(h);const n=i.slice(0,ln),s=i.slice(ln),a=await Ks(t),c=await crypto.subtle.decrypt({name:cn,iv:n},a,s);return new TextDecoder().decode(c)}catch(r){throw console.error("Decryption failed:",r),new Error("Failed to decrypt data")}}async function Nl(e,t="default-seed"){return Cl(e,t)}async function Il(e,t="default-seed"){const r=await Sl(e,t);try{return JSON.parse(r)}catch{return r}}const Or=u.createContext(null),Fl=async()=>{try{const e=sessionStorage.getItem(an);if(e){const r=(await Il(e,qs)).state;return{logViolations:(r==null?void 0:r.logViolations)||[],totalViolations:(r==null?void 0:r.totalViolations)||0,gazeViolationCounters:(r==null?void 0:r.gazeViolationCounters)||{lookingAwayCount:0,noFaceDetectedCount:0,multipleFacesCount:0,totalGazeViolations:0},referenceSet:(r==null?void 0:r.referenceSet)??!1,referenceRef:(r==null?void 0:r.referenceRef)??{x:.5,y:.5,noseX:.5,noseY:.5}}}}catch(e){console.error("Failed to load proctoring data from session storage:",e)}return{logViolations:[],totalViolations:0,gazeViolationCounters:{lookingAwayCount:0,noFaceDetectedCount:0,multipleFacesCount:0,totalGazeViolations:0},referenceSet:!1,referenceRef:{x:.5,y:.5,noseX:.5,noseY:.5}}},Br=async e=>{try{const t=await Nl({state:e,version:0},qs);sessionStorage.setItem(an,t)}catch(t){console.error("Failed to save proctoring data to session storage:",t)}},Ll=({children:e})=>{const t=u.useRef({logViolations:[],totalViolations:0,gazeViolationCounters:{lookingAwayCount:0,noFaceDetectedCount:0,multipleFacesCount:0,totalGazeViolations:0},referenceSet:!1,referenceRef:{x:.5,y:.5,noseX:.5,noseY:.5}}),r=u.useRef(new Set);u.useEffect(()=>{Fl().then(w=>{t.current=w,i()})},[]);const i=u.useCallback(()=>{r.current.forEach(w=>w())},[]),n=u.useCallback(w=>(r.current.add(w),()=>{r.current.delete(w)}),[]),s=u.useCallback(()=>t.current,[]),a=u.useCallback(w=>{t.current={...t.current,logViolations:[...t.current.logViolations,w],totalViolations:t.current.totalViolations+1},Br(t.current),i()},[i]),c=u.useCallback(w=>{const g={...t.current.gazeViolationCounters};w==="looking_away"&&(g.lookingAwayCount+=1),w==="no_face_detected"&&(g.noFaceDetectedCount+=1),w==="multiple_faces"&&(g.multipleFacesCount+=1),g.totalGazeViolations=g.lookingAwayCount+g.noFaceDetectedCount+g.multipleFacesCount,t.current={...t.current,gazeViolationCounters:g},Br(t.current),i()},[i]),l=u.useCallback(()=>{t.current={...t.current,logViolations:[],totalViolations:0},Br(t.current),i()},[i]),h=u.useCallback(()=>{t.current={...t.current,gazeViolationCounters:{lookingAwayCount:0,noFaceDetectedCount:0,multipleFacesCount:0,totalGazeViolations:0}},Br(t.current),i()},[i]),d=u.useCallback((w,g)=>{t.current={...t.current,referenceSet:w,referenceRef:g},Br(t.current),i()},[i]),f=u.useMemo(()=>({getState:s,addViolation:a,clearViolations:l,subscribe:n,incrementGazeViolation:c,clearGazeViolationCounters:h,setReferenceData:d}),[s,a,l,n,c,h,d]);return o.jsx(Or.Provider,{value:f,children:e})},Ys=()=>{const e=u.useContext(Or);if(!e)throw new Error("useProctoringStore must be used within a ProctoringProvider");const t=u.useSyncExternalStore(e.subscribe,e.getState,e.getState);return{logViolations:t.logViolations,totalViolations:t.totalViolations,addViolation:e.addViolation,clearViolations:e.clearViolations,gazeViolationCounters:t.gazeViolationCounters,referenceSet:t.referenceSet,referenceRef:t.referenceRef,incrementGazeViolation:e.incrementGazeViolation,clearGazeViolationCounters:e.clearGazeViolationCounters,setReferenceData:e.setReferenceData}},Ml=()=>{const e=u.useContext(Or);if(!e)throw new Error("useViolations must be used within a ProctoringProvider");return u.useSyncExternalStore(e.subscribe,()=>e.getState().logViolations,()=>e.getState().logViolations)},Pl=()=>{const e=u.useContext(Or);if(!e)throw new Error("useTotalViolations must be used within a ProctoringProvider");return u.useSyncExternalStore(e.subscribe,()=>e.getState().totalViolations,()=>e.getState().totalViolations)},Dl=()=>{const e=u.useContext(Or);if(!e)throw new Error("useProctoringActions must be used within a ProctoringProvider");return{addViolation:e.addViolation,clearViolations:e.clearViolations}},Xs=u.createContext(null);function Qs({config:e={},children:t}){var i,n,s,a;const r={api:{...Ze.api,...e.api,retryConfig:{...Ze.api.retryConfig,...(i=e.api)==null?void 0:i.retryConfig}},ui:{...Ze.ui,...e.ui},interview:{...Ze.interview,...e.interview,timers:{...Ze.interview.timers,...(n=e.interview)==null?void 0:n.timers},stt:{...Ze.interview.stt,...(s=e.interview)==null?void 0:s.stt},tts:{...Ze.interview.tts,...(a=e.interview)==null?void 0:a.tts}}};return o.jsx(Xs.Provider,{value:r,children:o.jsx(Ll,{children:t})})}function hi(){const e=u.useContext(Xs);if(!e)throw new Error("useInterviewConfig must be used within an InterviewWidgetProvider. Wrap your component tree with <InterviewWidgetProvider config={...}>");return e}function Js(){return hi().api||Ze.api}function Qt(){return hi().ui||Ze.ui}function dn(){return hi().interview||Ze.interview}function Ol(e){const t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null}function Bl(e,t,r){return"#"+[e,t,r].map(i=>{const n=Math.round(i).toString(16);return n.length===1?"0"+n:n}).join("")}function Ul(e,t){const r=Ol(e);if(!r)return e;const i=r.r+(255-r.r)*t,n=r.g+(255-r.g)*t,s=r.b+(255-r.b)*t;return Bl(i,n,s)}function Gl(e){return new Promise(t=>setTimeout(t,e))}function Vl(e){return`linear-gradient(to left, ${Ul(e,.4)}, ${e})`}const jl=()=>Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15);function Wl(e){try{const t=e.split(".");if(t.length!==3||!t[1])throw new Error("Invalid JWT token");const i=t[1].replace(/-/g,"+").replace(/_/g,"/"),n=i.padEnd(i.length+(4-i.length%4)%4,"="),s=atob(n);return JSON.parse(s)}catch(t){return console.error("Error decoding JWT:",t),null}}const $l=e=>{var t;return!e||typeof e!="string"?"":(t=e.charAt(0))==null?void 0:t.toUpperCase()},un=(e,t)=>{const r=Math.max(0,Math.floor(e));if(t&&r<60)return`${r}`;const i=Math.floor(r/60).toString().padStart(2,"0"),n=(r%60).toString().padStart(2,"0");return`${i}:${n}`},hn=({brandLogo:e,brandName:t,className:r="",showFallbackStyles:i=!0})=>{const{baseColor:n}=Qt();return e?o.jsx("div",{className:r,children:e}):o.jsx("div",{className:i?`iw-h-7 iw-w-7 iw-rounded-md iw-flex iw-items-center iw-justify-center iw-text-white iw-font-semibold ${r}`:r,style:i?{backgroundColor:n}:{},children:$l(t)})};function zl(e){var t;if(!navigator.onLine)return{type:"network",message:"No internet connection",retryable:!0,userMessage:"Please check your internet connection and try again."};if(e.name==="AbortError"||(t=e.message)!=null&&t.includes("timeout"))return{type:"timeout",message:"Request timed out",retryable:!0,userMessage:"The request is taking longer than expected. Please try again."};if(e.status){const{status:r}=e;if(r===401||r===403)return{type:"auth",status:r,message:"Authentication failed",retryable:!1,userMessage:"Your session has expired. Please refresh the page."};if(r===429)return{type:"rate-limit",status:r,message:"Too many requests",retryable:!0,userMessage:"Please wait a moment before trying again."};if(r>=500)return{type:"server",status:r,message:`Server error: ${r}`,retryable:!0,userMessage:"Our servers are experiencing issues. Please try again in a few moments."};if(r>=400)return{type:"client",status:r,message:`Client error: ${r}`,retryable:!1,userMessage:"There was an issue with your request. Please check your input."}}return{type:"unknown",message:e.message||"Unknown error occurred",retryable:!0,userMessage:"Something unexpected happened. Please try again.",originalError:e}}async function mt(e,t={},r={attempts:3,backoff:"exponential",baseDelay:1e3,maxDelay:1e4,jitter:!0}){let i;for(let n=1;n<=r.attempts;n++)try{const s=new AbortController,a=setTimeout(()=>s.abort(),6e4),c=await fetch(e,{...t,signal:s.signal});if(clearTimeout(a),c.status>=400&&c.status<500&&c.status!==429)return c;if(!c.ok)throw new Error(`HTTP ${c.status}: ${c.statusText}`);return c}catch(s){i=s;const a=zl(s);if(!a.retryable||n===r.attempts)throw a;const c=Hl(n,r);console.warn(`API request failed (attempt ${n}/${r.attempts}), retrying in ${c}ms:`,a.message),await new Promise(l=>setTimeout(l,c))}throw i}function Hl(e,t){let r;return t.backoff==="exponential"?r=t.baseDelay*Math.pow(2,e-1):r=t.baseDelay,r=Math.min(r,t.maxDelay),t.jitter&&(r=r*(.5+Math.random()*.5)),Math.round(r)}const yt={v2:"/v2"},bt={GENERATE_QUESTION:e=>`${yt.v2}/interviews/${e}/next-question`,SCREENSHOT_UPLOAD:e=>`${yt.v2}/interviews/${e}/assets/upload-url`,CONFIRM_UPLOAD:e=>`${yt.v2}/interviews/assets/${e}/confirm`,TRANSCRIBE_ANSWER:e=>`${yt.v2}/interviews/${e}/transcribe-answer`,SUBMIT_ANSWER:e=>`${yt.v2}/interviews/${e}/submit-answer`,EXIT:e=>`${yt.v2}/interviews/${e}/exit`,CONFIG:e=>`${yt.v2}/interviews/${e}/config`,TRANSCRIPTION:e=>`${yt.v2}/interviews/${e}/transcript`};class Zs{constructor(t={}){Oe(this,"config");this.config=t}updateConfig(t){this.config={...this.config,...t}}getHeaders(){var r;const t={"Content-Type":"application/json"};return(r=this.config)!=null&&r.authToken&&(t.Authorization=`Bearer ${this.config.authToken}`),t}getBaseUrl(){var t;return((t=this.config)==null?void 0:t.baseUrl)||"/api"}async generateQuestion({interviewId:t,isInterviewDone:r=!1}){const i=await mt(`${this.getBaseUrl()}${bt.GENERATE_QUESTION(t)}`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({interview_id:t,is_interview_done:r})});if(!i.ok)throw new Error(`Failed to get questions: ${i.status}`);return await i.json()}async submitAnswer({interviewId:t,qnaId:r,answer:i}){const n=await mt(`${this.getBaseUrl()}${bt.SUBMIT_ANSWER(t)}`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({qna_id:r,answer_text:i})});if(!n.ok)throw new Error(`Failed to submit answer: ${n.status}`);return await n.json()}async exitInterview(t){const r=await mt(`${this.getBaseUrl()}${bt.EXIT(t)}`,{method:"POST",headers:this.getHeaders()});if(!r.ok)throw new Error(`Failed to exit interview: ${r.status}`)}async getInterviewConfig(t){const r=await mt(`${this.getBaseUrl()}${bt.CONFIG(t)}`,{method:"GET",headers:this.getHeaders()});if(!r.ok)throw new Error(`Failed to get interview config: ${r.status}`);return await r.json()}async requestScreenshotUploadUrl(t,r=`screenshot-${Date.now()}.jpeg`){const i=await mt(`${this.getBaseUrl()}${bt.SCREENSHOT_UPLOAD(t)}`,{method:"POST",headers:this.getHeaders(),body:JSON.stringify({filename:r,mime_type:"image/jpeg",asset_type:Tl.SCREENSHOT})});if(!i.ok)throw new Error(`Failed to request screenshot upload URL: ${i.status}`);return await i.json()}async uploadScreenshot(t,r){const i=await fetch(t,{method:"PUT",body:r,headers:{"Content-Type":"image/jpeg"}});if(!i.ok)throw new Error(`Failed to upload screenshot: ${i.status}`)}async confirmScreenshotUpload(t){const r=await mt(`${this.getBaseUrl()}${bt.CONFIRM_UPLOAD(t)}`,{method:"POST",headers:this.getHeaders()});if(!r.ok)throw new Error(`Failed to confirm screenshot upload: ${r.status}`)}async getInterviewTranscription(t){const r=await mt(`${this.getBaseUrl()}${bt.TRANSCRIPTION(t)}`,{method:"GET",headers:{...this.getHeaders()}});if(!r.ok)throw new Error(`Failed to get interview transcription: ${r.status}`);return await r.json()}}const fi=new Zs,ql=({gazeAnalysisEnabled:e,isModelLoaded:t,stats:r,statusMessage:i,loadingProgress:n})=>o.jsx("div",{className:"iw-w-full",children:o.jsxs("div",{className:"iw-border-strock iw-rounded-md iw-border iw-bg-gray-50 iw-p-4",children:[o.jsxs("h3",{className:"iw-m-0 iw-mb-2.5",children:["Status: ",i]}),n>0&&n<100&&o.jsxs("div",{className:"iw-mb-2.5",children:[o.jsx("div",{className:"iw-h-2 iw-w-full iw-rounded iw-bg-gray-300",children:o.jsx("div",{className:"iw-h-full iw-rounded iw-bg-blue-600 iw-transition-all iw-duration-300 iw-ease-out",style:{width:`${n}%`}})}),o.jsxs("small",{className:"iw-text-gray-600",children:["Loading model... ",n.toFixed(1),"%"]})]}),o.jsxs("div",{className:"iw-grid iw-grid-cols-2 iw-gap-2.5 iw-text-sm",children:[o.jsxs("div",{children:[o.jsx("strong",{children:"FPS:"})," ",o.jsx("span",{className:r.fps<15?"iw-text-red-600":r.fps<25?"iw-text-orange-500":"iw-text-green-600",children:r.fps})]}),o.jsxs("div",{children:[o.jsx("strong",{children:"Model:"})," ",t?"✓ Loaded":"✗ Loading"]}),e&&o.jsxs(o.Fragment,{children:[o.jsxs("div",{children:[o.jsx("strong",{children:"Engagement:"})," ",r.engagement.toFixed(1),"%"]}),o.jsxs("div",{children:[o.jsx("strong",{children:"Looking:"})," ",o.jsx("span",{className:r.isLookingAway?"iw-text-red-600":"iw-text-green-600",children:r.isLookingAway?"Away":"At Screen"})]})]})]}),r.referenceFaceNotDetected&&o.jsxs("div",{className:"iw-text-gray-dark iw-mt-2.5 iw-w-full iw-rounded-md iw-bg-[#ffeb3b] iw-p-2.5 iw-text-sm",children:[o.jsx("strong",{children:"Reference Face Not Detected"}),o.jsx("br",{}),"The previously set reference face is no longer in view."]}),r.multipleFacesDetected&&o.jsxs("div",{className:"iw-mt-2.5 iw-rounded iw-bg-red-50 iw-p-2.5 iw-text-sm iw-text-red-700",children:[o.jsx("strong",{children:"Multiple Faces Detected"}),o.jsx("br",{}),"Please ensure only one person is in the frame."]}),!e&&o.jsxs("div",{className:"iw-mt-2.5 iw-rounded iw-bg-blue-50 iw-p-2.5 iw-text-sm iw-text-blue-700",children:[o.jsx("strong",{children:"Gaze Analysis Disabled"}),o.jsx("br",{}),"Enable to track engagement and attention levels."]})]})}),fn=e=>o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[o.jsx("path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"}),o.jsx("path",{d:"M12 9v4"}),o.jsx("path",{d:"M12 17h.01"})]}),Kl=e=>o.jsxs("svg",{width:24,height:24,fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"prefix__lucide prefix__lucide-bolt-icon prefix__lucide-bolt",...e,children:[o.jsx("path",{d:"M21 16V8a2 2 0 00-1-1.73l-7-4a2 2 0 00-2 0l-7 4A2 2 0 003 8v8a2 2 0 001 1.73l7 4a2 2 0 002 0l7-4A2 2 0 0021 16z"}),o.jsx("circle",{cx:12,cy:12,r:4})]}),Yl=e=>o.jsxs("svg",{width:24,height:24,fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"prefix__lucide prefix__lucide-camera-off-icon prefix__lucide-camera-off",...e,children:[o.jsx("path",{d:"M14.564 14.558a3 3 0 11-4.122-4.121M2 2l20 20"}),o.jsx("path",{d:"M20 20H4a2 2 0 01-2-2V9a2 2 0 012-2h1.997a2 2 0 00.819-.175M9.695 4.024A2 2 0 0110.004 4h3.993a2 2 0 011.76 1.05l.486.9A2 2 0 0018.003 7H20a2 2 0 012 2v7.344"})]}),wn=e=>o.jsx("svg",{width:"10",height:"9",viewBox:"0 0 10 9",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:o.jsx("path",{d:"M0.75 5.5C0.75 5.5 2.35 6.4125 3.15 7.75C3.15 7.75 5.55 2.5 8.75 0.75",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})}),Rs=e=>o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[o.jsx("path",{d:"M12 2a10 10 0 0 1 7.38 16.75"}),o.jsx("path",{d:"M12 6v6l4 2"}),o.jsx("path",{d:"M2.5 8.875a10 10 0 0 0-.5 3"}),o.jsx("path",{d:"M2.83 16a10 10 0 0 0 2.43 3.4"}),o.jsx("path",{d:"M4.636 5.235a10 10 0 0 1 .891-.857"}),o.jsx("path",{d:"M8.644 21.42a10 10 0 0 0 7.631-.38"})]}),Ur=e=>o.jsx("svg",{className:"iw-w-5 iw-h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",...e,children:o.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})}),Xl=e=>o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[o.jsx("path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"}),o.jsx("circle",{cx:"12",cy:"12",r:"3"})]}),Ql=e=>o.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M2.66797 2H13.3346",stroke:"#5C6686",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M3.66797 2V3.35359C3.66797 4.18151 4.05252 4.96247 4.70874 5.46726L8.0013 8L11.2938 5.46726C11.9501 4.96247 12.3346 4.18151 12.3346 3.35359V2",stroke:"#5C6686",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M3.66797 14V12.6464C3.66797 11.8185 4.05252 11.0375 4.70874 10.5327L8.0013 8L11.2938 10.5327C11.9501 11.0375 12.3346 11.8185 12.3346 12.6464V14",stroke:"#5C6686",strokeLinecap:"round",strokeLinejoin:"round"}),o.jsx("path",{d:"M2.66797 14H13.3346",stroke:"#5C6686",strokeLinecap:"round",strokeLinejoin:"round"})]}),eo=({className:e,...t})=>o.jsx("div",{children:o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:`iw-animate-spin ${e}`,...t,children:[o.jsx("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),o.jsx("path",{d:"M12 6l0 -3"}),o.jsx("path",{d:"M16.25 7.75l2.15 -2.15"}),o.jsx("path",{d:"M18 12l3 0"}),o.jsx("path",{d:"M16.25 16.25l2.15 2.15"}),o.jsx("path",{d:"M12 18l0 3"}),o.jsx("path",{d:"M7.75 16.25l-2.15 2.15"}),o.jsx("path",{d:"M6 12l-3 0"}),o.jsx("path",{d:"M7.75 7.75l-2.15 -2.15"})]})}),Jl=e=>o.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M17 7V11C17 13.7614 14.7614 16 12 16C9.23858 16 7 13.7614 7 11V7C7 4.23858 9.23858 2 12 2C14.7614 2 17 4.23858 17 7Z",stroke:"currentColor",strokeWidth:"1.5"}),o.jsx("path",{d:"M20 11C20 15.4183 16.4183 19 12 19M12 19C7.58172 19 4 15.4183 4 11M12 19V22M12 22H15M12 22H9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]}),Zl=e=>o.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M2 2L22 22",stroke:"#062260",strokeWidth:"1.5",strokeLinecap:"round"}),o.jsx("path",{d:"M4 11C4 15.4183 7.58172 19 12 19M12 19C13.9545 19 15.7454 18.2991 17.1348 17.1348M12 19V22M12 22H15M12 22H9M20 11C20 12.6514 19.4996 14.1859 18.6422 15.4603",stroke:"#062260",strokeWidth:"1.5",strokeLinecap:"round"}),o.jsx("path",{d:"M7 6.98V11C7 13.7614 9.23858 16 12 16C13.1354 16 14.1647 15.6096 15.004 14.972M16.4387 13.244C16.7973 12.5545 17 11.8309 17 11V6.98C17 4.21858 14.7614 2 12 2C10.1312 2 8.53009 2.96527 7.672 4.484",stroke:"#062260",strokeWidth:"1.5",strokeLinecap:"round"})]}),to=e=>o.jsxs("svg",{width:24,height:24,fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"prefix__lucide prefix__lucide-target-icon prefix__lucide-target",...e,children:[o.jsx("circle",{cx:12,cy:12,r:10}),o.jsx("circle",{cx:12,cy:12,r:6}),o.jsx("circle",{cx:12,cy:12,r:2})]}),Rl=e=>o.jsxs("svg",{width:24,height:24,fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:"prefix__lucide prefix__lucide-users-icon prefix__lucide-users",...e,children:[o.jsx("path",{d:"M16 21v-2a4 4 0 00-4-4H6a4 4 0 00-4 4v2M16 3.128a4 4 0 010 7.744M22 21v-2a4 4 0 00-3-3.87"}),o.jsx("circle",{cx:9,cy:7,r:4})]}),ed=e=>o.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M11 8H13",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),o.jsx("path",{d:"M2 11C2 7.70017 2 6.05025 3.02513 5.02513C4.05025 4 5.70017 4 9 4H10C13.2998 4 14.9497 4 15.9749 5.02513C17 6.05025 17 7.70017 17 11V13C17 16.2998 17 17.9497 15.9749 18.9749C14.9497 20 13.2998 20 10 20H9C5.70017 20 4.05025 20 3.02513 18.9749C2 17.9497 2 16.2998 2 13V11Z",stroke:"currentColor",strokeWidth:"1.5"}),o.jsx("path",{d:"M17 8.90585L17.1259 8.80196C19.2417 7.05623 20.2996 6.18336 21.1498 6.60482C22 7.02628 22 8.42355 22 11.2181V12.7819C22 15.5765 22 16.9737 21.1498 17.3952C20.2996 17.8166 19.2417 16.9438 17.1259 15.198L17 15.0941",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]}),td=e=>o.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M2.00195 2L21.9773 22",stroke:"#062260",strokeWidth:"1.5",strokeLinecap:"round"}),o.jsx("path",{d:"M16.8517 16.8668C16.7225 17.8052 16.4666 18.4659 15.9596 18.9735C14.9357 19.9987 13.2878 19.9987 9.99206 19.9987H8.99329C5.69755 19.9987 4.04967 19.9987 3.02581 18.9735C2.00195 17.9484 2.00195 16.2985 2.00195 12.9987V10.9987C2.00195 7.69885 2.00195 6.04893 3.02581 5.0238C3.36833 4.68086 3.78068 4.45265 4.3012 4.30078",stroke:"#062260",strokeWidth:"1.5",strokeLinecap:"round"}),o.jsx("path",{d:"M8.23633 4.00052C8.47821 4 8.73001 4 8.99223 4H9.99099C13.2868 4 14.9347 4 15.9585 5.02513C16.9823 6.05025 16.9823 7.70017 16.9823 11V12.7574M16.9823 9.23142L19.3019 7.52913C20.773 6.54073 21.449 7.17196 21.6675 7.64847C22.1192 8.92813 21.9769 11.3936 21.9769 14.5417C21.8704 16.555 21.5953 16.7719 21.3138 16.9939L21.3108 16.9962",stroke:"#062260",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]}),rd=({showControls:e,isBubbleOpen:t,setIsBubbleOpen:r,setReference:i,clearCache:n,isModelLoaded:s,gazeAnalysisEnabled:a,referenceSet:c,showLandmarks:l,setShowLandmarks:h,showEngagementBar:d,setShowEngagementBar:f,handleToggleGazeAnalysis:w,stats:g,statusMessage:p,loadingProgress:b})=>e?o.jsxs(o.Fragment,{children:[o.jsx("button",{onClick:()=>r(!t),className:"iw-absolute iw-right-4 iw-bottom-4 iw-z-10 iw-flex iw-h-10 iw-w-10 iw-items-center iw-justify-center iw-rounded-full iw-text-white",children:o.jsx(Kl,{className:"iw-size-4.5"})}),t&&o.jsxs("div",{className:"iw-absolute iw-right-4 iw-bottom-16 iw-z-10 iw-max-h-96 iw-w-80 iw-overflow-y-auto iw-rounded-md iw-bg-gray-50 iw-p-4 iw-shadow-lg",children:[o.jsx("h4",{className:"m-0 mb-2.5",children:"Controls"}),o.jsx("button",{onClick:i,disabled:!s||!a,className:`iw-mb-2.5 iw-block iw-w-full iw-rounded border-none iw-px-4 iw-py-2 iw-text-sm iw-text-white ${!s||!a?"iw-cursor-not-allowed iw-bg-gray-400":"iw-cursor-pointer iw-bg-blue-600 hover:iw-bg-blue-700"}`,children:c?"Reference Set ✓":"Set Reference"}),o.jsx("button",{onClick:n,className:"iw-mb-4 iw-block iw-w-full iw-cursor-pointer iw-rounded iw-border-none iw-bg-red-600 iw-px-4 iw-py-2 iw-text-sm iw-text-white hover:iw-bg-red-700",children:"Clear Model Cache"}),o.jsxs("div",{className:"iw-flex iw-flex-col iw-gap-2.5",children:[o.jsxs("label",{className:"iw-flex iw-cursor-pointer iw-items-center iw-gap-2",children:[o.jsx("input",{type:"checkbox",checked:a,onChange:y=>w(y.target.checked)}),o.jsx("strong",{children:"Enable Gaze Analysis"})]}),o.jsxs("label",{className:`iw-flex iw-cursor-pointer iw-items-center iw-gap-2 ${a?"iw-opacity-100":"iw-opacity-60"}`,children:[o.jsx("input",{type:"checkbox",checked:l,onChange:y=>h(y.target.checked),disabled:!a}),"Show Landmarks"]}),o.jsxs("label",{className:`iw-flex iw-cursor-pointer iw-items-center iw-gap-2 ${a?"iw-opacity-100":"iw-opacity-60"}`,children:[o.jsx("input",{type:"checkbox",checked:d,onChange:y=>f(y.target.checked),disabled:!a}),"Show Engagement Bar"]})]}),c&&o.jsx(ql,{gazeAnalysisEnabled:a,isModelLoaded:s,loadingProgress:b,stats:g,statusMessage:p})]})]}):null;var Jt=typeof self<"u"?self:{};function Gr(e,t){e:{for(var r=["CLOSURE_FLAGS"],i=Jt,n=0;n<r.length;n++)if((i=i[r[n]])==null){r=null;break e}r=i}return(e=r&&r[e])!=null?e:t}function Mt(){throw Error("Invalid UTF8")}function ro(e,t){return t=String.fromCharCode.apply(null,t),e==null?t:e+t}let wi,gn;const id=typeof TextDecoder<"u";let nd;const sd=typeof TextEncoder<"u";function io(e){if(sd)e=(nd||(nd=new TextEncoder)).encode(e);else{let r=0;const 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){const s=e.charCodeAt(++n);if(s>=56320&&s<=57343){t=1024*(t-55296)+s-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}function no(e){Jt.setTimeout(()=>{throw e},0)}var pn,od=Gr(610401301,!1),so=Gr(748402147,!0),mn=Gr(824648567,!0),yn=Gr(824656860,Gr(1,!0));function oo(){var e=Jt.navigator;return e&&(e=e.userAgent)?e:""}const ao=Jt.navigator;function gi(e){return gi[" "](e),e}pn=ao&&ao.userAgentData||null,gi[" "]=function(){};const co={};let Vr=null;function ad(e){const t=e.length;let 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);const i=new Uint8Array(r);let n=0;return function(s,a){function c(h){for(;l<s.length;){const d=s.charAt(l++),f=Vr[d];if(f!=null)return f;if(!/^[\s\xa0]*$/.test(d))throw Error("Unknown base64 encoding at char: "+d)}return h}lo();let l=0;for(;;){const h=c(-1),d=c(0),f=c(64),w=c(64);if(w===64&&h===-1)break;a(h<<2|d>>4),f!=64&&(a(d<<4&240|f>>2),w!=64&&a(f<<6&192|w))}}(e,function(s){i[n++]=s}),n!==r?i.subarray(0,n):i}function lo(){if(!Vr){Vr={};var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),t=["+/=","+/","-_=","-_.","-_"];for(let r=0;r<5;r++){const i=e.concat(t[r].split(""));co[r]=i;for(let n=0;n<i.length;n++){const s=i[n];Vr[s]===void 0&&(Vr[s]=n)}}}}var cd=typeof Uint8Array<"u",uo=!(!(od&&pn&&pn.brands.length>0)&&(oo().indexOf("Trident")!=-1||oo().indexOf("MSIE")!=-1))&&typeof btoa=="function";const ho=/[-_.]/g,ld={"-":"+",_:"/",".":"="};function dd(e){return ld[e]||""}function fo(e){if(!uo)return ad(e);e=ho.test(e)?e.replace(ho,dd):e,e=atob(e);const t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}function bn(e){return cd&&e!=null&&e instanceof Uint8Array}var Zt={};function Pt(){return ud||(ud=new Re(null,Zt))}function vn(e){wo(Zt);var t=e.g;return(t=t==null||bn(t)?t:typeof t=="string"?fo(t):null)==null?t:e.g=t}var Re=class{h(){return new Uint8Array(vn(this)||0)}constructor(e,t){if(wo(t),this.g=e,e!=null&&e.length===0)throw Error("ByteString should be constructed with non-empty values")}};let ud,hd;function wo(e){if(e!==Zt)throw Error("illegal external caller")}function go(e,t){e.__closure__error__context__984382||(e.__closure__error__context__984382={}),e.__closure__error__context__984382.severity=t}function xn(e){return go(e=Error(e),"warning"),e}function Rt(e,t){if(e!=null){var r=hd??(hd={}),i=r[e]||0;i>=t||(r[e]=i+1,go(e=Error(),"incident"),no(e))}}function er(){return typeof BigInt=="function"}var tr=typeof Symbol=="function"&&typeof Symbol()=="symbol";function et(e,t,r=!1){return typeof Symbol=="function"&&typeof Symbol()=="symbol"?r&&Symbol.for&&e?Symbol.for(e):e!=null?Symbol(e):Symbol():t}var fd=et("jas",void 0,!0),po=et(void 0,"0di"),jr=et(void 0,"1oa"),_e=et(void 0,Symbol()),wd=et(void 0,"0ub"),gd=et(void 0,"0ubs"),En=et(void 0,"0ubsb"),pd=et(void 0,"0actk"),rr=et("m_m","Pa",!0),mo=et();const yo={Ga:{value:0,configurable:!0,writable:!0,enumerable:!1}},bo=Object.defineProperties,x=tr?fd:"Ga";var Dt;const vo=[];function Wr(e,t){tr||x in e||bo(e,yo),e[x]|=t}function ne(e,t){tr||x in e||bo(e,yo),e[x]=t}function $r(e){return Wr(e,34),e}function zr(e){return Wr(e,8192),e}ne(vo,7),Dt=Object.freeze(vo);var ir={};function ke(e,t){return t===void 0?e.h!==Ot&&!!(2&(0|e.v[x])):!!(2&t)&&e.h!==Ot}const Ot={};function _n(e,t){if(e!=null){if(typeof e=="string")e=e?new Re(e,Zt):Pt();else if(e.constructor!==Re)if(bn(e))e=e.length?new Re(new Uint8Array(e),Zt):Pt();else{if(!t)throw Error();e=void 0}}return e}class xo{constructor(t,r,i){this.g=t,this.h=r,this.l=i}next(){const t=this.g.next();return t.done||(t.value=this.h.call(this.l,t.value)),t}[Symbol.iterator](){return this}}var md=Object.freeze({});function Eo(e,t,r){const i=128&t?0:-1,n=e.length;var s;(s=!!n)&&(s=(s=e[n-1])!=null&&typeof s=="object"&&s.constructor===Object);const a=n+(s?-1:0);for(t=128&t?1:0;t<a;t++)r(t-i,e[t]);if(s){e=e[n-1];for(const c in e)!isNaN(c)&&r(+c,e[c])}}var _o={};function nr(e){return 128&e?_o:void 0}function pi(e){return e.Na=!0,e}var yd=pi(e=>typeof e=="number"),ko=pi(e=>typeof e=="string"),bd=pi(e=>typeof e=="boolean"),mi=typeof Jt.BigInt=="function"&&typeof Jt.BigInt(0)=="bigint";function Te(e){var t=e;if(ko(t)){if(!/^\s*(?:-?[1-9]\d*|0)?\s*$/.test(t))throw Error(String(t))}else if(yd(t)&&!Number.isSafeInteger(t))throw Error(String(t));return mi?BigInt(e):e=bd(e)?e?"1":"0":ko(e)?e.trim()||"0":String(e)}var kn=pi(e=>mi?e>=xd&&e<=_d:e[0]==="-"?To(e,vd):To(e,Ed));const vd=Number.MIN_SAFE_INTEGER.toString(),xd=mi?BigInt(Number.MIN_SAFE_INTEGER):void 0,Ed=Number.MAX_SAFE_INTEGER.toString(),_d=mi?BigInt(Number.MAX_SAFE_INTEGER):void 0;function To(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++){const i=e[r],n=t[r];if(i>n)return!1;if(i<n)return!0}}const kd=typeof Uint8Array.prototype.slice=="function";let Td,H=0,te=0;function Ao(e){const t=e>>>0;H=t,te=(e-t)/4294967296>>>0}function sr(e){if(e<0){Ao(-e);const[t,r]=Nn(H,te);H=t>>>0,te=r>>>0}else Ao(e)}function Tn(e){const t=Td||(Td=new DataView(new ArrayBuffer(8)));t.setFloat32(0,+e,!0),te=0,H=t.getUint32(0,!0)}function An(e,t){const r=4294967296*t+(e>>>0);return Number.isSafeInteger(r)?r:Hr(e,t)}function Ad(e,t){return Te(er()?BigInt.asUintN(64,(BigInt(t>>>0)<<BigInt(32))+BigInt(e>>>0)):Hr(e,t))}function Cn(e,t){const r=2147483648&t;return r&&(t=~t>>>0,(e=1+~e>>>0)==0&&(t=t+1>>>0)),typeof(e=An(e,t))=="number"?r?-e:e:r?"-"+e:e}function Co(e,t){return er()?Te(BigInt.asIntN(64,(BigInt.asUintN(32,BigInt(t))<<BigInt(32))+BigInt.asUintN(32,BigInt(e)))):Te(Sn(e,t))}function Hr(e,t){if(e>>>=0,(t>>>=0)<=2097151)var r=""+(4294967296*t+e);else er()?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+So(r)+So(e));return r}function So(e){return e=String(e),"0000000".slice(e.length)+e}function Sn(e,t){if(2147483648&t)if(er())e=""+(BigInt(0|t)<<BigInt(32)|BigInt(e>>>0));else{const[r,i]=Nn(e,t);e="-"+Hr(r,i)}else e=Hr(e,t);return e}function yi(e){if(e.length<16)sr(Number(e));else if(er())e=BigInt(e),H=Number(e&BigInt(4294967295))>>>0,te=Number(e>>BigInt(32)&BigInt(4294967295));else{const t=+(e[0]==="-");te=H=0;const r=e.length;for(let i=t,n=(r-t)%6+t;n<=r;i=n,n+=6){const s=Number(e.slice(i,n));te*=1e6,H=1e6*H+s,H>=4294967296&&(te+=Math.trunc(H/4294967296),te>>>=0,H>>>=0)}if(t){const[i,n]=Nn(H,te);H=i,te=n}}}function Nn(e,t){return t=~t,e?e=1+~e:t+=1,[e,t]}function He(e){return Array.prototype.slice.call(e)}const qr=typeof BigInt=="function"?BigInt.asIntN:void 0,Cd=typeof BigInt=="function"?BigInt.asUintN:void 0,Bt=Number.isSafeInteger,bi=Number.isFinite,or=Math.trunc,Sd=Te(0);function Kr(e){if(e!=null&&typeof e!="number")throw Error(`Value of float/double field must be a number, found ${typeof e}: ${e}`);return e}function tt(e){return e==null||typeof e=="number"?e:e==="NaN"||e==="Infinity"||e==="-Infinity"?Number(e):void 0}function Yr(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}function No(e){return e==null||typeof e=="boolean"?e:typeof e=="number"?!!e:void 0}const Nd=/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/;function Xr(e){switch(typeof e){case"bigint":return!0;case"number":return bi(e);case"string":return Nd.test(e);default:return!1}}function ar(e){if(e==null)return e;if(typeof e=="string"&&e)e=+e;else if(typeof e!="number")return;return bi(e)?0|e:void 0}function Io(e){if(e==null)return e;if(typeof e=="string"&&e)e=+e;else if(typeof e!="number")return;return bi(e)?e>>>0:void 0}function Fo(e){const t=e.length;return(e[0]==="-"?t<20||t===20&&e<="-9223372036854775808":t<19||t===19&&e<="9223372036854775807")?e:(yi(e),Sn(H,te))}function In(e){return e=or(e),Bt(e)||(sr(e),e=Cn(H,te)),e}function Lo(e){var t=or(Number(e));return Bt(t)?String(t):((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),Fo(e))}function Mo(e){var t=or(Number(e));return Bt(t)?Te(t):((t=e.indexOf("."))!==-1&&(e=e.substring(0,t)),er()?Te(qr(64,BigInt(e))):Te(Fo(e)))}function Po(e){return Bt(e)?e=Te(In(e)):(e=or(e),Bt(e)?e=String(e):(sr(e),e=Sn(H,te)),e=Te(e)),e}function Id(e){return e==null?e:typeof e=="bigint"?(kn(e)?e=Number(e):(e=qr(64,e),e=kn(e)?Number(e):String(e)),e):Xr(e)?typeof e=="number"?In(e):Lo(e):void 0}function vi(e){const t=typeof e;return e==null?e:t==="bigint"?Te(qr(64,e)):Xr(e)?t==="string"?Mo(e):Po(e):void 0}function Do(e){if(typeof e!="string")throw Error();return e}function Qr(e){if(e!=null&&typeof e!="string")throw Error();return e}function fe(e){return e==null||typeof e=="string"?e:void 0}function Fn(e,t,r,i){return e!=null&&e[rr]===ir?e:Array.isArray(e)?((i=(r=0|e[x])|32&i|2&i)!==r&&ne(e,i),new t(e)):(r?2&i?((e=t[po])||($r((e=new t).v),e=t[po]=e),t=e):t=new t:t=void 0,t)}function Fd(e,t,r){if(t)e:{if(!Xr(t=e))throw xn("int64");switch(typeof t){case"string":t=Mo(t);break e;case"bigint":t=Te(qr(64,t));break e;default:t=Po(t)}}else t=vi(e);return(e=t)==null?r?Sd:void 0:e}const Ld={};let Md=function(){try{return gi(new class extends Map{constructor(){super()}}),!1}catch{return!0}}();class Ln{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()}}const Pd=Md?(Object.setPrototypeOf(Ln.prototype,Map.prototype),Object.defineProperties(Ln.prototype,{size:{value:0,configurable:!0,enumerable:!0,writable:!0}}),Ln):class extends Map{constructor(){super()}};function Oo(e){return e}function Mn(e){if(2&e.J)throw Error("Cannot mutate an immutable Map")}var ut=class extends Pd{constructor(e,t,r=Oo,i=Oo){super(),this.J=0|e[x],this.K=t,this.S=r,this.fa=this.K?Dd:i;for(let n=0;n<e.length;n++){const s=e[n],a=r(s[0],!1,!0);let c=s[1];t?c===void 0&&(c=null):c=i(s[1],!1,!0,void 0,void 0,this.J),super.set(a,c)}}V(e){return zr(Array.from(super.entries(),e))}clear(){Mn(this),super.clear()}delete(e){return Mn(this),super.delete(this.S(e,!0,!1))}entries(){if(this.K){var e=super.keys();e=new xo(e,Od,this)}else e=super.entries();return e}values(){if(this.K){var e=super.keys();e=new xo(e,ut.prototype.get,this)}else e=super.values();return e}forEach(e,t){this.K?super.forEach((r,i,n)=>{e.call(t,n.get(i),i,n)}):super.forEach(e,t)}set(e,t){return Mn(this),(e=this.S(e,!0,!1))==null?this:t==null?(super.delete(e),this):super.set(e,this.fa(t,!0,!0,this.K,!1,this.J))}Ma(e){const t=this.S(e[0],!1,!0);e=e[1],e=this.K?e===void 0?null:e:this.fa(e,!1,!0,void 0,!1,this.J),super.set(t,e)}has(e){return super.has(this.S(e,!1,!1))}get(e){e=this.S(e,!1,!1);const t=super.get(e);if(t!==void 0){var r=this.K;return r?((r=this.fa(t,!1,!0,r,this.ra,this.J))!==t&&super.set(e,r),r):t}}[Symbol.iterator](){return this.entries()}};function Dd(e,t,r,i,n,s){return e=Fn(e,i,r,s),n&&(e=On(e)),e}function Od(e){return[e,this.get(e)]}let Bd;function Bo(){return Bd||(Bd=new ut($r([]),void 0,void 0,void 0,Ld))}function xi(e){return _e?e[_e]:void 0}function Ei(e,t){for(const r in e)!isNaN(r)&&t(e,+r,e[r])}ut.prototype.toJSON=void 0;var Pn=class{};const Ud={Ka:!0};function Gd(e,t){t<100||Rt(gd,1)}function _i(e,t,r,i){const n=i!==void 0;i=!!i;var s,a=_e;!n&&tr&&a&&(s=e[a])&&Ei(s,Gd),a=[];var c=e.length;let l;s=4294967295;let h=!1;const d=!!(64&t),f=d?128&t?0:-1:void 0;1&t||(l=c&&e[c-1],l!=null&&typeof l=="object"&&l.constructor===Object?s=--c:l=void 0,!d||128&t||n||(h=!0,s=s-f+f)),t=void 0;for(var w=0;w<c;w++){let g=e[w];if(g!=null&&(g=r(g,i))!=null)if(d&&w>=s){const p=w-f;(t??(t={}))[p]=g}else a[w]=g}if(l)for(let g in l){if((c=l[g])==null||(c=r(c,i))==null)continue;let p;w=+g,d&&!Number.isNaN(w)&&(p=w+f)<s?a[p]=c:(t??(t={}))[g]=c}return t&&(h?a.push(t):a[s]=t),n&&_e&&(e=xi(e))&&e instanceof Pn&&(a[_e]=function(g){const p=new Pn;return Ei(g,(b,y,m)=>{p[y]=He(m)}),p.da=g.da,p}(e)),a}function Vd(e){return e[0]=Jr(e[0]),e[1]=Jr(e[1]),e}function Jr(e){switch(typeof e){case"number":return Number.isFinite(e)?e:""+e;case"bigint":return kn(e)?Number(e):""+e;case"boolean":return e?1:0;case"object":if(Array.isArray(e)){var t=0|e[x];return e.length===0&&1&t?void 0:_i(e,t,Jr)}if(e!=null&&e[rr]===ir)return Uo(e);if(e instanceof Re){if((t=e.g)==null)e="";else if(typeof t=="string")e=t;else{if(uo){for(var r="",i=0,n=t.length-10240;i<n;)r+=String.fromCharCode.apply(null,t.subarray(i,i+=10240));r+=String.fromCharCode.apply(null,i?t.subarray(i):t),t=btoa(r)}else{r===void 0&&(r=0),lo(),r=co[r],i=Array(Math.floor(t.length/3)),n=r[64]||"";let h=0,d=0;for(;h<t.length-2;h+=3){var s=t[h],a=t[h+1],c=t[h+2],l=r[s>>2];s=r[(3&s)<<4|a>>4],a=r[(15&a)<<2|c>>6],c=r[63&c],i[d++]=l+s+a+c}switch(l=0,c=n,t.length-h){case 2:c=r[(15&(l=t[h+1]))<<2]||n;case 1:t=t[h],i[d]=r[t>>2]+r[(3&t)<<4|l>>4]+c+n}t=i.join("")}e=e.g=t}return e}return e instanceof ut?e=e.size!==0?e.V(Vd):void 0:void 0}return e}function Uo(e){return _i(e=e.v,0|e[x],Jr)}let jd,Wd;function Ut(e,t){return Go(e,t[0],t[1])}function Go(e,t,r,i=0){if(e==null){var n=32;r?(e=[r],n|=128):e=[],t&&(n=-16760833&n|(1023&t)<<14)}else{if(!Array.isArray(e))throw Error("narr");if(n=0|e[x],so&&1&n)throw Error("rfarr");if(2048&n&&!(2&n)&&function(){if(so)throw Error("carr");Rt(pd,5)}(),256&n)throw Error("farr");if(64&n)return(n|i)!==n&&ne(e,n|i),e;if(r&&(n|=128,r!==e[0]))throw Error("mid");e:{n|=64;var s=(r=e).length;if(s){var a=s-1;const l=r[a];if(l!=null&&typeof l=="object"&&l.constructor===Object){if((a-=t=128&n?0:-1)>=1024)throw Error("pvtlmt");for(var c in l)(s=+c)<a&&(r[s+t]=l[c],delete l[c]);n=-16760833&n|(1023&a)<<14;break e}}if(t){if((c=Math.max(t,s-(128&n?0:-1)))>1024)throw Error("spvt");n=-16760833&n|(1023&c)<<14}}}return ne(e,64|n|i),e}function $d(e,t){if(typeof e!="object")return e;if(Array.isArray(e)){var r=0|e[x];return e.length===0&&1&r?void 0:Vo(e,r,t)}if(e!=null&&e[rr]===ir)return jo(e);if(e instanceof ut){if(2&(t=e.J))return e;if(!e.size)return;if(r=$r(e.V()),e.K)for(e=0;e<r.length;e++){const i=r[e];let n=i[1];n=n==null||typeof n!="object"?void 0:n!=null&&n[rr]===ir?jo(n):Array.isArray(n)?Vo(n,0|n[x],!!(32&t)):void 0,i[1]=n}return r}return e instanceof Re?e:void 0}function Vo(e,t,r){return 2&t||(!r||4096&t||16&t?e=cr(e,t,!1,r&&!(16&t)):(Wr(e,34),4&t&&Object.freeze(e))),e}function Dn(e,t,r){return e=new e.constructor(t),r&&(e.h=Ot),e.m=Ot,e}function jo(e){const t=e.v,r=0|t[x];return ke(e,r)?e:Bn(e,t,r)?Dn(e,t):cr(t,r)}function cr(e,t,r,i){return i??(i=!!(34&t)),e=_i(e,t,$d,i),i=32,r&&(i|=2),ne(e,t=16769217&t|i),e}function On(e){const t=e.v,r=0|t[x];return ke(e,r)?Bn(e,t,r)?Dn(e,t,!0):new e.constructor(cr(t,r,!1)):e}function lr(e){if(e.h!==Ot)return!1;var t=e.v;return Wr(t=cr(t,0|t[x]),2048),e.v=t,e.h=void 0,e.m=void 0,!0}function dr(e){if(!lr(e)&&ke(e,0|e.v[x]))throw Error()}function Gt(e,t){t===void 0&&(t=0|e[x]),32&t&&!(4096&t)&&ne(e,4096|t)}function Bn(e,t,r){return!!(2&r)||!(!(32&r)||4096&r)&&(ne(t,2|r),e.h=Ot,!0)}const zd=Te(0),vt={};function W(e,t,r,i,n){if((t=ht(e.v,t,r,n))!==null||i&&e.m!==Ot)return t}function ht(e,t,r,i){if(t===-1)return null;const n=t+(r?0:-1),s=e.length-1;let a,c;if(!(s<1+(r?0:-1))){if(n>=s)if(a=e[s],a!=null&&typeof a=="object"&&a.constructor===Object)r=a[t],c=!0;else{if(n!==s)return;r=a}else r=e[n];if(i&&r!=null){if((i=i(r))==null)return i;if(!Object.is(i,r))return c?a[t]=i:e[n]=i,i}return r}}function G(e,t,r,i){dr(e),se(e=e.v,0|e[x],t,r,i)}function se(e,t,r,i,n){const s=r+(n?0:-1);var a=e.length-1;if(a>=1+(n?0:-1)&&s>=a){const c=e[a];if(c!=null&&typeof c=="object"&&c.constructor===Object)return c[r]=i,t}return s<=a?(e[s]=i,t):(i!==void 0&&(r>=(a=(t??(t=0|e[x]))>>14&1023||536870912)?i!=null&&(e[a+(n?0:-1)]={[r]:i}):e[s]=i),t)}function Vt(){return md===void 0?2:4}function jt(e,t,r,i,n){let s=e.v,a=0|s[x];i=ke(e,a)?1:i,n=!!n||i===3,i===2&&lr(e)&&(s=e.v,a=0|s[x]);let c=(e=Un(s,t))===Dt?7:0|e[x],l=Gn(c,a);var h=!(4&l);if(h){4&l&&(e=He(e),c=0,l=$t(l,a),a=se(s,a,t,e));let d=0,f=0;for(;d<e.length;d++){const w=r(e[d]);w!=null&&(e[f++]=w)}f<d&&(e.length=f),r=-513&(4|l),l=r&=-1025,l&=-4097}return l!==c&&(ne(e,l),2&l&&Object.freeze(e)),Wo(e,l,s,a,t,i,h,n)}function Wo(e,t,r,i,n,s,a,c){let l=t;return s===1||s===4&&(2&t||!(16&t)&&32&i)?Wt(t)||((t|=!e.length||a&&!(4096&t)||32&i&&!(4096&t||16&t)?2:256)!==l&&ne(e,t),Object.freeze(e)):(s===2&&Wt(t)&&(e=He(e),l=0,t=$t(t,i),i=se(r,i,n,e)),Wt(t)||(c||(t|=16),t!==l&&ne(e,t))),2&t||!(4096&t||16&t)||Gt(r,i),e}function Un(e,t,r){return e=ht(e,t,r),Array.isArray(e)?e:Dt}function Gn(e,t){return 2&t&&(e|=2),1|e}function Wt(e){return!!(2&e)&&!!(4&e)||!!(256&e)}function $o(e){return _n(e,!0)}function zo(e){e=He(e);for(let t=0;t<e.length;t++){const r=e[t]=He(e[t]);Array.isArray(r[1])&&(r[1]=$r(r[1]))}return zr(e)}function xt(e,t,r,i){dr(e),se(e=e.v,0|e[x],t,(i==="0"?Number(r)===0:r===i)?void 0:r)}function ur(e,t,r){if(2&t)throw Error();const i=nr(t);let n=Un(e,r,i),s=n===Dt?7:0|n[x],a=Gn(s,t);return(2&a||Wt(a)||16&a)&&(a===s||Wt(a)||ne(n,a),n=He(n),s=0,a=$t(a,t),se(e,t,r,n,i)),a&=-13,a!==s&&ne(n,a),n}function Vn(e,t){var r=Qa;return Wn(jn(e=e.v),e,void 0,r)===t?t:-1}function jn(e){if(tr)return e[jr]??(e[jr]=new Map);if(jr in e)return e[jr];const t=new Map;return Object.defineProperty(e,jr,{value:t}),t}function Ho(e,t,r,i,n){const s=jn(e),a=Wn(s,e,t,r,n);return a!==i&&(a&&(t=se(e,t,a,void 0,n)),s.set(r,i)),t}function Wn(e,t,r,i,n){let s=e.get(i);if(s!=null)return s;s=0;for(let a=0;a<i.length;a++){const c=i[a];ht(t,c,n)!=null&&(s!==0&&(r=se(t,r,s,void 0,n)),s=c)}return e.set(i,s),s}function $n(e,t,r){let i=0|e[x];const n=nr(i),s=ht(e,r,n);let a;if(s!=null&&s[rr]===ir){if(!ke(s))return lr(s),s.v;a=s.v}else Array.isArray(s)&&(a=s);if(a){const c=0|a[x];2&c&&(a=cr(a,c))}return a=Ut(a,t),a!==s&&se(e,i,r,a,n),a}function qo(e,t,r,i,n){let s=!1;if((i=ht(e,i,n,a=>{const c=Fn(a,r,!1,t);return s=c!==a&&c!=null,c}))!=null)return s&&!ke(i)&&Gt(e,t),i}function O(e,t,r,i){let n=e.v,s=0|n[x];if((t=qo(n,s,t,r,i))==null)return t;if(s=0|n[x],!ke(e,s)){const a=On(t);a!==t&&(lr(e)&&(n=e.v,s=0|n[x]),s=se(n,s,r,t=a,i),Gt(n,s))}return t}function Ko(e,t,r,i,n,s,a,c){var l=ke(e,r);s=l?1:s,a=!!a||s===3,l=c&&!l,(s===2||l)&&lr(e)&&(r=0|(t=e.v)[x]);var h=(e=Un(t,n))===Dt?7:0|e[x],d=Gn(h,r);if(c=!(4&d)){var f=e,w=r;const g=!!(2&d);g&&(w|=2);let p=!g,b=!0,y=0,m=0;for(;y<f.length;y++){const _=Fn(f[y],i,!1,w);if(_ instanceof i){if(!g){const S=ke(_);p&&(p=!S),b&&(b=S)}f[m++]=_}}m<y&&(f.length=m),d|=4,d=b?-4097&d:4096|d,d=p?8|d:-9&d}if(d!==h&&(ne(e,d),2&d&&Object.freeze(e)),l&&!(8&d||!e.length&&(s===1||s===4&&(2&d||!(16&d)&&32&r)))){for(Wt(d)&&(e=He(e),d=$t(d,r),r=se(t,r,n,e)),i=e,l=d,h=0;h<i.length;h++)(f=i[h])!==(d=On(f))&&(i[h]=d);l|=8,ne(e,d=l=i.length?4096|l:-4097&l)}return Wo(e,d,t,r,n,s,c,a)}function ft(e,t,r){const i=e.v;return Ko(e,i,0|i[x],t,r,Vt(),!1,!0)}function Yo(e){return e==null&&(e=void 0),e}function A(e,t,r,i,n){return G(e,r,i=Yo(i),n),i&&!ke(i)&&Gt(e.v),e}function Zr(e,t,r,i){e:{var n=i=Yo(i);dr(e);const s=e.v;let a=0|s[x];if(n==null){const c=jn(s);if(Wn(c,s,a,r)!==t)break e;c.set(r,0)}else a=Ho(s,a,r,t);se(s,a,t,n)}i&&!ke(i)&&Gt(e.v)}function $t(e,t){return-273&(2&t?2|e:-3&e)}function zn(e,t,r,i){var n=i;dr(e),e=Ko(e,i=e.v,0|i[x],r,t,2,!0),n=n??new r,e.push(n),t=r=e===Dt?7:0|e[x],(n=ke(n))?(r&=-9,e.length===1&&(r&=-4097)):r|=4096,r!==t&&ne(e,r),n||Gt(i)}function Be(e,t,r){return ar(W(e,t,void 0,r))}function Xo(e){return(yn?W(e,2,void 0,void 0,vi):vi(W(e,2)))??zd}function Z(e,t){return W(e,t,void 0,void 0,tt)??0}function wt(e,t,r){if(r!=null){if(typeof r!="number"||!bi(r))throw xn("int32");r|=0}G(e,t,r)}function T(e,t,r){G(e,t,Kr(r))}function Ae(e,t,r){xt(e,t,Qr(r),"")}function ki(e,t,r){{dr(e);const a=e.v;let c=0|a[x];if(r==null)se(a,c,t);else{var i=e=r===Dt?7:0|r[x],n=Wt(e),s=n||Object.isFrozen(r);for(n||(e=0),s||(r=He(r),i=0,e=$t(e,c),s=!1),e|=5,e|=(4&e?512&e?512:1024&e?1024:0:void 0)??(yn?1024:0),n=0;n<r.length;n++){const l=r[n],h=Do(l);Object.is(l,h)||(s&&(r=He(r),i=0,e=$t(e,c),s=!1),r[n]=h)}e!==i&&(s&&(r=He(r),e=$t(e,c)),ne(r,e)),se(a,c,t,r)}}}function Ti(e,t,r){dr(e),jt(e,t,fe,2,!0).push(Do(r))}var hr=class{constructor(e,t,r){if(this.buffer=e,r&&!t)throw Error();this.g=t}};function Hn(e,t){if(typeof e=="string")return new hr(fo(e),t);if(Array.isArray(e))return new hr(new Uint8Array(e),t);if(e.constructor===Uint8Array)return new hr(e,!1);if(e.constructor===ArrayBuffer)return e=new Uint8Array(e),new hr(e,!1);if(e.constructor===Re)return t=vn(e)||new Uint8Array(0),new hr(t,!0,e);if(e instanceof Uint8Array)return e=e.constructor===Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new hr(e,!1);throw Error()}function fr(e,t){let r,i=0,n=0,s=0;const a=e.h;let c=e.g;do r=a[c++],i|=(127&r)<<s,s+=7;while(s<32&&128&r);if(s>32)for(n|=(127&r)>>4,s=3;s<32&&128&r;s+=7)r=a[c++],n|=(127&r)<<s;if(zt(e,c),!(128&r))return t(i>>>0,n>>>0);throw Error()}function qn(e){let t=0,r=e.g;const i=r+10,n=e.h;for(;r<i;){const s=n[r++];if(t|=s,(128&s)==0)return zt(e,r),!!(127&t)}throw Error()}function Et(e){const t=e.h;let 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 Error();return zt(e,r),n}function gt(e){return Et(e)>>>0}function Ai(e){var t=e.h;const r=e.g;var i=t[r],n=t[r+1];const s=t[r+2];return t=t[r+3],zt(e,e.g+4),e=2*((n=(i<<0|n<<8|s<<16|t<<24)>>>0)>>31)+1,i=n>>>23&255,n&=8388607,i==255?n?NaN:e*(1/0):i==0?1401298464324817e-60*e*n:e*Math.pow(2,i-150)*(n+8388608)}function Hd(e){return Et(e)}function zt(e,t){if(e.g=t,t>e.l)throw Error()}function Qo(e,t){if(t<0)throw Error();const r=e.g;if((t=r+t)>e.l)throw Error();return e.g=t,r}function Jo(e,t){if(t==0)return Pt();var r=Qo(e,t);return e.Y&&e.j?r=e.h.subarray(r,r+t):(e=e.h,r=r===(t=r+t)?new Uint8Array(0):kd?e.slice(r,t):new Uint8Array(e.subarray(r,t))),r.length==0?Pt():new Re(r,Zt)}var Zo=[];function Ro(e,t,r,i){if(Ni.length){const n=Ni.pop();return n.o(i),n.g.init(e,t,r,i),n}return new qd(e,t,r,i)}function ea(e){e.g.clear(),e.l=-1,e.h=-1,Ni.length<100&&Ni.push(e)}function ta(e){var t=e.g;if(t.g==t.l)return!1;e.m=e.g.g;var r=gt(e.g);if(t=r>>>3,!((r&=7)>=0&&r<=5)||t<1)throw Error();return e.l=t,e.h=r,!0}function Ci(e){switch(e.h){case 0:e.h!=0?Ci(e):qn(e.g);break;case 1:zt(e=e.g,e.g+8);break;case 2:if(e.h!=2)Ci(e);else{var t=gt(e.g);zt(e=e.g,e.g+t)}break;case 5:zt(e=e.g,e.g+4);break;case 3:for(t=e.l;;){if(!ta(e))throw Error();if(e.h==4){if(e.l!=t)throw Error();break}Ci(e)}break;default:throw Error()}}function Rr(e,t,r){const i=e.g.l;var n=gt(e.g);let s=(n=e.g.g+n)-i;if(s<=0&&(e.g.l=n,r(t,e,void 0,void 0,void 0),s=n-e.g.g),s)throw Error();return e.g.g=n,e.g.l=i,t}function Kn(e){var t=gt(e.g),r=Qo(e=e.g,t);if(e=e.h,id){var i,n=e;(i=gn)||(i=gn=new TextDecoder("utf-8",{fatal:!0})),t=r+t,n=r===0&&t===n.length?n:n.subarray(r,t);try{var s=i.decode(n)}catch(c){if(wi===void 0){try{i.decode(new Uint8Array([128]))}catch{}try{i.decode(new Uint8Array([97])),wi=!0}catch{wi=!1}}throw!wi&&(gn=void 0),c}}else{t=(s=r)+t,r=[];let c,l=null;for(;s<t;){var a=e[s++];a<128?r.push(a):a<224?s>=t?Mt():(c=e[s++],a<194||(192&c)!=128?(s--,Mt()):r.push((31&a)<<6|63&c)):a<240?s>=t-1?Mt():(c=e[s++],(192&c)!=128||a===224&&c<160||a===237&&c>=160||(192&(i=e[s++]))!=128?(s--,Mt()):r.push((15&a)<<12|(63&c)<<6|63&i)):a<=244?s>=t-2?Mt():(c=e[s++],(192&c)!=128||c-144+(a<<28)>>30||(192&(i=e[s++]))!=128||(192&(n=e[s++]))!=128?(s--,Mt()):(a=(7&a)<<18|(63&c)<<12|(63&i)<<6|63&n,a-=65536,r.push(55296+(a>>10&1023),56320+(1023&a)))):Mt(),r.length>=8192&&(l=ro(l,r),r.length=0)}s=ro(l,r)}return s}function ra(e){const t=gt(e.g);return Jo(e.g,t)}function Si(e,t,r){var i=gt(e.g);for(i=e.g.g+i;e.g.g<i;)r.push(t(e.g))}var qd=class{constructor(e,t,r,i){if(Zo.length){const n=Zo.pop();n.init(e,t,r,i),e=n}else e=new class{constructor(n,s,a,c){this.h=null,this.j=!1,this.g=this.l=this.m=0,this.init(n,s,a,c)}init(n,s,a,{Y:c=!1,ea:l=!1}={}){this.Y=c,this.ea=l,n&&(n=Hn(n,this.ea),this.h=n.buffer,this.j=n.g,this.m=s||0,this.l=a!==void 0?this.m+a:this.h.length,this.g=this.m)}clear(){this.h=null,this.j=!1,this.g=this.l=this.m=0,this.Y=!1}}(e,t,r,i);this.g=e,this.m=this.g.g,this.h=this.l=-1,this.o(i)}o({ha:e=!1}={}){this.ha=e}},Ni=[];function ia(e){return e?/^\d+$/.test(e)?(yi(e),new Yn(H,te)):null:Kd||(Kd=new Yn(0,0))}var Yn=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}};let Kd;function na(e){return e?/^-?\d+$/.test(e)?(yi(e),new Xn(H,te)):null:Yd||(Yd=new Xn(0,0))}var Xn=class{constructor(e,t){this.h=e>>>0,this.g=t>>>0}};let Yd;function wr(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 gr(e,t){for(;t>127;)e.g.push(127&t|128),t>>>=7;e.g.push(t)}function Ii(e,t){if(t>=0)gr(e,t);else{for(let r=0;r<9;r++)e.g.push(127&t|128),t>>=7;e.g.push(1)}}function Qn(e){var t=H;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 pr(e,t){t.length!==0&&(e.l.push(t),e.h+=t.length)}function Ue(e,t,r){gr(e.g,8*t+r)}function Jn(e,t){return Ue(e,t,2),t=e.g.end(),pr(e,t),t.push(e.h),t}function Zn(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 Fi(e,t,r){Ue(e,t,2),gr(e.g,r.length),pr(e,e.g.end()),pr(e,r)}function Li(e,t,r,i){r!=null&&(t=Jn(e,t),i(r,e),Zn(e,t))}function rt(){const e=class{constructor(){throw Error()}};return Object.setPrototypeOf(e,e.prototype),e}var Rn=rt(),sa=rt(),es=rt(),ts=rt(),oa=rt(),aa=rt(),Xd=rt(),Mi=rt(),ca=rt(),la=rt();function it(e,t,r){var i=e.v;_e&&_e in i&&(i=i[_e])&&delete i[t.g],t.h?t.j(e,t.h,t.g,r,t.l):t.j(e,t.g,r,t.l)}var E=class{constructor(e,t){this.v=Go(e,t,void 0,2048)}toJSON(){return Uo(this)}j(){var n;var e=Fu,t=this.v,r=e.g,i=_e;if(tr&&i&&((n=t[i])==null?void 0:n[r])!=null&&Rt(wd,3),t=e.g,mo&&_e&&mo===void 0&&(i=(r=this.v)[_e])&&(i=i.da))try{i(r,t,Ud)}catch(s){no(s)}return e.h?e.m(this,e.h,e.g,e.l):e.m(this,e.g,e.defaultValue,e.l)}clone(){const e=this.v,t=0|e[x];return Bn(this,e,t)?Dn(this,e,!0):new this.constructor(cr(e,t,!1))}};E.prototype[rr]=ir,E.prototype.toString=function(){return this.v.toString()};var mr=class{constructor(e,t,r){this.g=e,this.h=t,e=Rn,this.l=!!e&&r===e||!1}};function Pi(e,t){return new mr(e,t,Rn)}function da(e,t,r,i,n){Li(e,r,pa(t,i),n)}const Qd=Pi(function(e,t,r,i,n){return e.h===2&&(Rr(e,$n(t,i,r),n),!0)},da),Jd=Pi(function(e,t,r,i,n){return e.h===2&&(Rr(e,$n(t,i,r),n),!0)},da);var Di=Symbol(),Oi=Symbol(),rs=Symbol(),ua=Symbol(),ha=Symbol();let fa,wa;function Ht(e,t,r,i){var n=i[e];if(n)return n;(n={}).qa=i,n.T=function(f){switch(typeof f){case"boolean":return jd||(jd=[0,void 0,!0]);case"number":return f>0?void 0:f===0?Wd||(Wd=[0,void 0]):[-f,void 0];case"string":return[0,f];case"object":return f}}(i[0]);var s=i[1];let a=1;s&&s.constructor===Object&&(n.ba=s,typeof(s=i[++a])=="function"&&(n.ma=!0,fa??(fa=s),wa??(wa=i[a+1]),s=i[a+=2]));const c={};for(;s&&Array.isArray(s)&&s.length&&typeof s[0]=="number"&&s[0]>0;){for(var l=0;l<s.length;l++)c[s[l]]=s;s=i[++a]}for(l=1;s!==void 0;){let f;typeof s=="number"&&(l+=s,s=i[++a]);var h=void 0;if(s instanceof mr?f=s:(f=Qd,a--),f==null?void 0:f.l){s=i[++a],h=i;var d=a;typeof s=="function"&&(s=s(),h[d]=s),h=s}for(d=l+1,typeof(s=i[++a])=="number"&&s<0&&(d-=s,s=i[++a]);l<d;l++){const w=c[l];h?r(n,l,f,h,w):t(n,l,f,w)}}return i[e]=n}function ga(e){return Array.isArray(e)?e[0]instanceof mr?e:[Jd,e]:[e,void 0]}function pa(e,t){return e instanceof E?e.v:Array.isArray(e)?Ut(e,t):void 0}function is(e,t,r,i){const n=r.g;e[t]=i?(s,a,c)=>n(s,a,c,i):n}function ns(e,t,r,i,n){const s=r.g;let a,c;e[t]=(l,h,d)=>s(l,h,d,c||(c=Ht(Oi,is,ns,i).T),a||(a=ss(i)),n)}function ss(e){let t=e[rs];if(t!=null)return t;const r=Ht(Oi,is,ns,e);return t=r.ma?(i,n)=>fa(i,n,r):(i,n)=>{for(;ta(n)&&n.h!=4;){var s=n.l,a=r[s];if(a==null){var c=r.ba;c&&(c=c[s])&&(c=Rd(c))!=null&&(a=r[s]=c)}if(a==null||!a(n,i,s)){if(a=(c=n).m,Ci(c),c.ha)var l=void 0;else l=c.g.g-a,c.g.g=a,l=Jo(c.g,l);a=void 0,c=i,l&&((a=c[_e]??(c[_e]=new Pn))[s]??(a[s]=[])).push(l)}}return(i=xi(i))&&(i.da=r.qa[ha]),!0},e[rs]=t,e[ha]=Zd.bind(e),t}function Zd(e,t,r,i){var n=this[Oi];const s=this[rs],a=Ut(void 0,n.T),c=xi(e);if(c){var l=!1,h=n.ba;if(h){if(n=(d,f,w)=>{if(w.length!==0)if(h[f])for(const g of w){d=Ro(g);try{l=!0,s(a,d)}finally{ea(d)}}else i==null||i(e,f,w)},t==null)Ei(c,n);else if(c!=null){const d=c[t];d&&n(c,t,d)}if(l){let d=0|e[x];if(2&d&&2048&d&&!(r!=null&&r.Ka))throw Error();const f=nr(d),w=(g,p)=>{if(ht(e,g,f)!=null){if((r==null?void 0:r.Qa)===1)return;throw Error()}p!=null&&(d=se(e,d,g,p,f)),delete c[g]};t==null?Eo(a,0|a[x],(g,p)=>{w(g,p)}):w(t,ht(a,t,f))}}}}function Rd(e){const t=(e=ga(e))[0].g;if(e=e[1]){const r=ss(e),i=Ht(Oi,is,ns,e).T;return(n,s,a)=>t(n,s,a,i,r)}return t}function Bi(e,t,r){e[t]=r.h}function Ui(e,t,r,i){let n,s;const a=r.h;e[t]=(c,l,h)=>a(c,l,h,s||(s=Ht(Di,Bi,Ui,i).T),n||(n=ma(i)))}function ma(e){let t=e[ua];if(!t){const r=Ht(Di,Bi,Ui,e);t=(i,n)=>ya(i,n,r),e[ua]=t}return t}function ya(e,t,r){Eo(e,0|e[x],(i,n)=>{if(n!=null){var s=function(a,c){var l=a[c];if(l)return l;if((l=a.ba)&&(l=l[c])){var h=(l=ga(l))[0].h;if(l=l[1]){const d=ma(l),f=Ht(Di,Bi,Ui,l).T;l=a.ma?wa(f,d):(w,g,p)=>h(w,g,p,f,d)}else l=h;return a[c]=l}}(r,i);s?s(t,n,i):i<500||Rt(En,3)}}),(e=xi(e))&&Ei(e,(i,n,s)=>{for(pr(t,t.g.end()),i=0;i<s.length;i++)pr(t,vn(s[i])||new Uint8Array(0))})}const eu=Te(0);function yr(e,t){if(Array.isArray(t)){var r=0|t[x];if(4&r)return t;for(var i=0,n=0;i<t.length;i++){const s=e(t[i]);s!=null&&(t[n++]=s)}return n<i&&(t.length=n),(e=-1537&(5|r))!==r&&ne(t,e),2&e&&Object.freeze(t),t}}function me(e,t,r){return new mr(e,t,r)}function br(e,t,r){return new mr(e,t,r)}function ce(e,t,r){se(e,0|e[x],t,r,nr(0|e[x]))}var tu=Pi(function(e,t,r,i,n){if(e.h!==2)return!1;if(e=He(e=Rr(e,Ut([void 0,void 0],i),n)),n=nr(i=0|t[x]),2&i)throw Error();let s=ht(t,r,n);if(s instanceof ut)2&s.J?(s=s.V(),s.push(e),se(t,i,r,s,n)):s.Ma(e);else if(Array.isArray(s)){var a=0|s[x];8192&a||ne(s,a|=8192),2&a&&(s=zo(s),se(t,i,r,s,n)),s.push(e)}else se(t,i,r,zr([e]),n);return!0},function(e,t,r,i,n){if(t instanceof ut)t.forEach((s,a)=>{Li(e,r,Ut([a,s],i),n)});else if(Array.isArray(t)){for(let s=0;s<t.length;s++){const a=t[s];Array.isArray(a)&&Li(e,r,Ut(a,i),n)}zr(t)}});function ba(e,t,r){(t=tt(t))!=null&&(Ue(e,r,5),e=e.g,Tn(t),Qn(e))}function va(e,t,r){if(t=function(i){if(i==null)return i;const n=typeof i;if(n==="bigint")return String(qr(64,i));if(Xr(i)){if(n==="string")return Lo(i);if(n==="number")return In(i)}}(t),t!=null&&(typeof t=="string"&&na(t),t!=null))switch(Ue(e,r,0),typeof t){case"number":e=e.g,sr(t),wr(e,H,te);break;case"bigint":r=BigInt.asUintN(64,t),r=new Xn(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),wr(e.g,r.h,r.g);break;default:r=na(t),wr(e.g,r.h,r.g)}}function xa(e,t,r){(t=ar(t))!=null&&t!=null&&(Ue(e,r,0),Ii(e.g,t))}function Ea(e,t,r){(t=No(t))!=null&&(Ue(e,r,0),e.g.g.push(t?1:0))}function _a(e,t,r){(t=fe(t))!=null&&Fi(e,r,io(t))}function ka(e,t,r,i,n){Li(e,r,pa(t,i),n)}function Ta(e,t,r){(t=t==null||typeof t=="string"||t instanceof Re?t:void 0)!=null&&Fi(e,r,Hn(t,!0).buffer)}function Aa(e,t,r){return(e.h===5||e.h===2)&&(t=ur(t,0|t[x],r),e.h==2?Si(e,Ai,t):t.push(Ai(e.g)),!0)}var re=me(function(e,t,r){return e.h===5&&(ce(t,r,Ai(e.g)),!0)},ba,Mi),ru=br(Aa,function(e,t,r){if((t=yr(tt,t))!=null)for(let a=0;a<t.length;a++){var i=e,n=r,s=t[a];s!=null&&(Ue(i,n,5),i=i.g,Tn(s),Qn(i))}},Mi),os=br(Aa,function(e,t,r){if((t=yr(tt,t))!=null&&t.length){Ue(e,r,2),gr(e.g,4*t.length);for(let i=0;i<t.length;i++)r=e.g,Tn(t[i]),Qn(r)}},Mi),iu=me(function(e,t,r){return e.h===5&&(ce(t,r,(e=Ai(e.g))===0?void 0:e),!0)},ba,Mi),_t=me(function(e,t,r){return mn?(e.h!==0?e=!1:(ce(t,r,fr(e.g,Co)),e=!0),e):e.h===0&&(ce(t,r,fr(e.g,Cn)),!0)},va,aa),as=me(function(e,t,r){return mn?(e.h!==0?t=!1:(ce(t,r,(e=fr(e.g,Co))===eu?void 0:e),t=!0),t):e.h===0&&(ce(t,r,(e=fr(e.g,Cn))===0?void 0:e),!0)},va,aa),nu=me(function(e,t,r){return mn?(e.h!==0?e=!1:(ce(t,r,fr(e.g,Ad)),e=!0),e):e.h===0&&(ce(t,r,fr(e.g,An)),!0)},function(e,t,r){if(t=function(i){if(i==null)return i;var n=typeof i;if(n==="bigint")return String(Cd(64,i));if(Xr(i)){if(n==="string")return n=or(Number(i)),Bt(n)&&n>=0?i=String(n):((n=i.indexOf("."))!==-1&&(i=i.substring(0,n)),(n=i[0]!=="-"&&((n=i.length)<20||n===20&&i<="18446744073709551615"))||(yi(i),i=Hr(H,te))),i;if(n==="number")return(i=or(i))>=0&&Bt(i)||(sr(i),i=An(H,te)),i}}(t),t!=null&&(typeof t=="string"&&ia(t),t!=null))switch(Ue(e,r,0),typeof t){case"number":e=e.g,sr(t),wr(e,H,te);break;case"bigint":r=BigInt.asUintN(64,t),r=new Yn(Number(r&BigInt(4294967295)),Number(r>>BigInt(32))),wr(e.g,r.h,r.g);break;default:r=ia(t),wr(e.g,r.h,r.g)}},Xd),le=me(function(e,t,r){return e.h===0&&(ce(t,r,Et(e.g)),!0)},xa,ts),ei=br(function(e,t,r){return(e.h===0||e.h===2)&&(t=ur(t,0|t[x],r),e.h==2?Si(e,Et,t):t.push(Et(e.g)),!0)},function(e,t,r){if((t=yr(ar,t))!=null&&t.length){r=Jn(e,r);for(let i=0;i<t.length;i++)Ii(e.g,t[i]);Zn(e,r)}},ts),vr=me(function(e,t,r){return e.h===0&&(ce(t,r,(e=Et(e.g))===0?void 0:e),!0)},xa,ts),R=me(function(e,t,r){return e.h===0&&(ce(t,r,qn(e.g)),!0)},Ea,sa),qt=me(function(e,t,r){return e.h===0&&(ce(t,r,(e=qn(e.g))===!1?void 0:e),!0)},Ea,sa),ge=br(function(e,t,r){return e.h===2&&(e=Kn(e),ur(t,0|t[x],r).push(e),!0)},function(e,t,r){if((t=yr(fe,t))!=null)for(let a=0;a<t.length;a++){var i=e,n=r,s=t[a];s!=null&&Fi(i,n,io(s))}},es),kt=me(function(e,t,r){return e.h===2&&(ce(t,r,(e=Kn(e))===""?void 0:e),!0)},_a,es),j=me(function(e,t,r){return e.h===2&&(ce(t,r,Kn(e)),!0)},_a,es),de=function(e,t,r=Rn){return new mr(e,t,r)}(function(e,t,r,i,n){return e.h===2&&(i=Ut(void 0,i),ur(t,0|t[x],r).push(i),Rr(e,i,n),!0)},function(e,t,r,i,n){if(Array.isArray(t)){for(let s=0;s<t.length;s++)ka(e,t[s],r,i,n);1&(e=0|t[x])||ne(t,1|e)}}),ee=Pi(function(e,t,r,i,n,s){if(e.h!==2)return!1;let a=0|t[x];return Ho(t,a,s,r,nr(a)),Rr(e,t=$n(t,i,r),n),!0},ka),Ca=me(function(e,t,r){return e.h===2&&(ce(t,r,ra(e)),!0)},Ta,ca),su=br(function(e,t,r){return(e.h===0||e.h===2)&&(t=ur(t,0|t[x],r),e.h==2?Si(e,gt,t):t.push(gt(e.g)),!0)},function(e,t,r){if((t=yr(Io,t))!=null)for(let a=0;a<t.length;a++){var i=e,n=r,s=t[a];s!=null&&(Ue(i,n,0),gr(i.g,s))}},oa),ou=me(function(e,t,r){return e.h===0&&(ce(t,r,(e=gt(e.g))===0?void 0:e),!0)},function(e,t,r){(t=Io(t))!=null&&t!=null&&(Ue(e,r,0),gr(e.g,t))},oa),Ce=me(function(e,t,r){return e.h===0&&(ce(t,r,Et(e.g)),!0)},function(e,t,r){(t=ar(t))!=null&&(t=parseInt(t,10),Ue(e,r,0),Ii(e.g,t))},la);class au{constructor(t,r){var i=Se;this.g=t,this.h=r,this.m=O,this.j=A,this.defaultValue=void 0,this.l=i.Oa!=null?_o:void 0}register(){gi(this)}}function nt(e,t){return new au(e,t)}function Tt(e,t){return(r,i)=>{{const s={ea:!0};i&&Object.assign(s,i),r=Ro(r,void 0,void 0,s);try{const a=new e,c=a.v;ss(t)(c,r);var n=a}finally{ea(r)}}return n}}function Gi(e){return function(){const t=new class{constructor(){this.l=[],this.h=0,this.g=new class{constructor(){this.g=[]}length(){return this.g.length}end(){const a=this.g;return this.g=[],a}}}};ya(this.v,t,Ht(Di,Bi,Ui,e)),pr(t,t.g.end());const r=new Uint8Array(t.h),i=t.l,n=i.length;let s=0;for(let a=0;a<n;a++){const c=i[a];r.set(c,s),s+=c.length}return t.l=[r],r}}var Sa=class extends E{constructor(e){super(e)}},Na=[0,kt,me(function(e,t,r){return e.h===2&&(ce(t,r,(e=ra(e))===Pt()?void 0:e),!0)},function(e,t,r){if(t!=null){if(t instanceof E){const i=t.Ra;return void(i?(t=i(t),t!=null&&Fi(e,r,Hn(t,!0).buffer)):Rt(En,3))}if(Array.isArray(t))return void Rt(En,3)}Ta(e,t,r)},ca)];let cs,Ia=globalThis.trustedTypes;function Fa(e){var t;return cs===void 0&&(cs=function(){let r=null;if(!Ia)return r;try{const i=n=>n;r=Ia.createPolicy("goog#html",{createHTML:i,createScript:i,createScriptURL:i})}catch{}return r}()),e=(t=cs)?t.createScriptURL(e):e,new class{constructor(r){this.g=r}toString(){return this.g+""}}(e)}function cu(e,...t){if(t.length===0)return Fa(e[0]);let r=e[0];for(let i=0;i<t.length;i++)r+=encodeURIComponent(t[i])+e[i+1];return Fa(r)}var La=[0,le,Ce,R,-1,ei,Ce,-1,R],lu=class extends E{constructor(e){super(e)}},Ma=[0,R,j,R,Ce,-1,br(function(e,t,r){return(e.h===0||e.h===2)&&(t=ur(t,0|t[x],r),e.h==2?Si(e,Hd,t):t.push(Et(e.g)),!0)},function(e,t,r){if((t=yr(ar,t))!=null&&t.length){r=Jn(e,r);for(let i=0;i<t.length;i++)Ii(e.g,t[i]);Zn(e,r)}},la),j,-1,[0,R,-1],Ce,R,-1],Pa=[0,3,R,-1,2,[0,le],[0,Ce,R],[0,j,-1],[0]],Da=[0,j,-2],Oa=class extends E{constructor(e){super(e)}},Ba=[0],Ua=[0,le,R,1,R,-4],Se=class extends E{constructor(e){super(e,2)}},oe={};oe[336783863]=[0,j,R,-1,le,[0,[1,2,3,4,5,6,7,8,9],ee,Ba,ee,Ma,ee,Da,ee,Ua,ee,La,ee,[0,j,-2],ee,[0,j,Ce],ee,Pa,ee,[0,Ce,-1,R]],[0,j],R,[0,[1,3],[2,4],ee,[0,ei],-1,ee,[0,ge],-1,de,[0,j,-1]],j];var Ga=[0,as,-1,qt,-3,as,ei,kt,vr,as,-1,qt,vr,qt,-2,kt];function $(e,t){Ti(e,3,t)}function L(e,t){Ti(e,4,t)}var ve=class extends E{constructor(e){super(e,500)}o(e){return A(this,0,7,e)}},ti=[-1,{}],Va=[0,j,1,ti],ja=[0,j,ge,ti];function Ge(e,t){zn(e,1,ve,t)}function q(e,t){Ti(e,10,t)}function B(e,t){Ti(e,15,t)}var Ne=class extends E{constructor(e){super(e,500)}o(e){return A(this,0,1001,e)}},Wa=[-500,de,[-500,kt,-1,ge,-3,[-2,oe,R],de,Na,vr,-1,Va,ja,de,[0,kt,qt],kt,Ga,vr,ge,987,ge],4,de,[-500,j,-1,[-1,{}],998,j],de,[-500,j,ge,-1,[-2,{},R],997,ge,-1],vr,de,[-500,j,ge,ti,998,ge],ge,vr,Va,ja,de,[0,kt,-1,ti],ge,-2,Ga,kt,-1,qt,[0,qt,ou],978,ti,de,Na];Ne.prototype.g=Gi(Wa);var du=Tt(Ne,Wa),uu=class extends E{constructor(e){super(e)}},$a=class extends E{constructor(e){super(e)}g(){return ft(this,uu,1)}},za=[0,de,[0,le,re,j,-1]],Vi=Tt($a,za),hu=class extends E{constructor(e){super(e)}},fu=class extends E{constructor(e){super(e)}},ls=class extends E{constructor(e){super(e)}l(){return O(this,hu,2)}g(){return ft(this,fu,5)}},Ha=Tt(class extends E{constructor(e){super(e)}},[0,ge,ei,os,[0,Ce,[0,le,-3],[0,re,-3],[0,le,-1,[0,de,[0,le,-2]]],de,[0,re,-1,j,re]],j,-1,_t,de,[0,le,re],ge,_t]),qa=class extends E{constructor(e){super(e)}},xr=Tt(class extends E{constructor(e){super(e)}},[0,de,[0,re,-4]]),Ka=class extends E{constructor(e){super(e)}},ri=Tt(class extends E{constructor(e){super(e)}},[0,de,[0,re,-4]]),wu=class extends E{constructor(e){super(e)}},gu=[0,le,-1,os,Ce],Ya=class extends E{constructor(e){super(e)}};Ya.prototype.g=Gi([0,re,-4,_t]);var pu=class extends E{constructor(e){super(e)}},mu=Tt(class extends E{constructor(e){super(e)}},[0,de,[0,1,le,j,za],_t]),Xa=class extends E{constructor(e){super(e)}},yu=class extends E{constructor(e){super(e)}na(){const e=W(this,1,void 0,void 0,$o);return e??Pt()}},bu=class extends E{constructor(e){super(e)}},Qa=[1,2],vu=Tt(class extends E{constructor(e){super(e)}},[0,de,[0,Qa,ee,[0,os],ee,[0,Ca],le,j],_t]),ds=class extends E{constructor(e){super(e)}},Ja=[0,j,le,re,ge,-1],Za=class extends E{constructor(e){super(e)}},xu=[0,R,-1],Ra=class extends E{constructor(e){super(e)}},ji=[1,2,3,4,5,6],Wi=class extends E{constructor(e){super(e)}g(){return W(this,1,void 0,void 0,$o)!=null}l(){return fe(W(this,2))!=null}},Q=class extends E{constructor(e){super(e)}g(){return No(W(this,2))??!1}},ec=[0,Ca,j,[0,le,_t,-1],[0,nu,_t]],ie=[0,ec,R,[0,ji,ee,Ua,ee,Ma,ee,La,ee,Ba,ee,Da,ee,Pa],Ce],$i=class extends E{constructor(e){super(e)}},us=[0,ie,re,-1,le],Eu=nt(502141897,$i);oe[502141897]=us;var _u=Tt(class extends E{constructor(e){super(e)}},[0,[0,Ce,-1,ru,su],gu]),tc=class extends E{constructor(e){super(e)}},rc=class extends E{constructor(e){super(e)}},hs=[0,ie,re,[0,ie],R],ku=nt(508968150,rc);oe[508968150]=[0,ie,us,hs,re,[0,[0,ec]]],oe[508968149]=hs;var Er=class extends E{constructor(e){super(e)}l(){return O(this,ds,2)}g(){G(this,2)}},ic=[0,ie,Ja];oe[478825465]=ic;var Tu=class extends E{constructor(e){super(e)}},nc=class extends E{constructor(e){super(e)}},fs=class extends E{constructor(e){super(e)}},ws=class extends E{constructor(e){super(e)}},sc=class extends E{constructor(e){super(e)}},oc=[0,ie,[0,ie],ic,-1],ac=[0,ie,re,le],gs=[0,ie,re],cc=[0,ie,ac,gs,re],Au=nt(479097054,sc);oe[479097054]=[0,ie,cc,oc],oe[463370452]=oc,oe[464864288]=ac;var Cu=nt(462713202,ws);oe[462713202]=cc,oe[474472470]=gs;var Su=class extends E{constructor(e){super(e)}},lc=class extends E{constructor(e){super(e)}},dc=class extends E{constructor(e){super(e)}},uc=class extends E{constructor(e){super(e)}},ps=[0,ie,re,-1,le],ms=[0,ie,re,R];uc.prototype.g=Gi([0,ie,gs,[0,ie],us,hs,ps,ms]);var hc=class extends E{constructor(e){super(e)}},Nu=nt(456383383,hc);oe[456383383]=[0,ie,Ja];var fc=class extends E{constructor(e){super(e)}},Iu=nt(476348187,fc);oe[476348187]=[0,ie,xu];var wc=class extends E{constructor(e){super(e)}},gc=class extends E{constructor(e){super(e)}},pc=[0,Ce,-1],Fu=nt(458105876,class extends E{constructor(e){super(e)}g(){let e;var t=this.v;const r=0|t[x];return e=ke(this,r),t=function(i,n,s,a){var c=gc;!a&&lr(i)&&(s=0|(n=i.v)[x]);var l=ht(n,2);if(i=!1,l==null){if(a)return Bo();l=[]}else if(l.constructor===ut){if(!(2&l.J)||a)return l;l=l.V()}else Array.isArray(l)?i=!!(2&(0|l[x])):l=[];if(a){if(!l.length)return Bo();i||(i=!0,$r(l))}else i&&(i=!1,zr(l),l=zo(l));return!i&&32&s&&Wr(l,32),s=se(n,s,2,a=new ut(l,c,Fd,void 0)),i||Gt(n,s),a}(this,t,r,e),!e&&gc&&(t.ra=!0),t}});oe[458105876]=[0,pc,tu,[!0,_t,[0,j,-1,ge]],[0,ei,R,Ce]];var ys=class extends E{constructor(e){super(e)}},mc=nt(458105758,ys);oe[458105758]=[0,ie,j,pc];var bs=class extends E{constructor(e){super(e)}},yc=[0,iu,-1,qt],Lu=class extends E{constructor(e){super(e)}},bc=class extends E{constructor(e){super(e)}},vs=[1,2];bc.prototype.g=Gi([0,vs,ee,yc,ee,[0,de,yc]]);var vc=class extends E{constructor(e){super(e)}},Mu=nt(443442058,vc);oe[443442058]=[0,ie,j,le,re,ge,-1,R,re],oe[514774813]=ps;var xc=class extends E{constructor(e){super(e)}},Pu=nt(516587230,xc);function xs(e,t){return t=t?t.clone():new ds,e.displayNamesLocale!==void 0?G(t,1,Qr(e.displayNamesLocale)):e.displayNamesLocale===void 0&&G(t,1),e.maxResults!==void 0?wt(t,2,e.maxResults):"maxResults"in e&&G(t,2),e.scoreThreshold!==void 0?T(t,3,e.scoreThreshold):"scoreThreshold"in e&&G(t,3),e.categoryAllowlist!==void 0?ki(t,4,e.categoryAllowlist):"categoryAllowlist"in e&&G(t,4),e.categoryDenylist!==void 0?ki(t,5,e.categoryDenylist):"categoryDenylist"in e&&G(t,5),t}function Ec(e){const t=Number(e);return Number.isSafeInteger(t)?t:String(e)}function Es(e,t=-1,r=""){return{categories:e.map(i=>({index:Be(i,1)??0??-1,score:Z(i,2)??0,categoryName:fe(W(i,3))??""??"",displayName:fe(W(i,4))??""??""})),headIndex:t,headName:r}}function Du(e){const t={classifications:ft(e,pu,1).map(r=>{var i;return Es(((i=O(r,$a,4))==null?void 0:i.g())??[],Be(r,2)??0,fe(W(r,3))??"")})};return function(r){return Id(yn?W(r,2,void 0,void 0,vi):W(r,2))}(e)!=null&&(t.timestampMs=Ec(Xo(e))),t}function _c(e){var a,c;var t=jt(e,3,tt,Vt()),r=jt(e,2,ar,Vt()),i=jt(e,1,fe,Vt()),n=jt(e,9,fe,Vt());const s={categories:[],keypoints:[]};for(let l=0;l<t.length;l++)s.categories.push({score:t[l],index:r[l]??-1,categoryName:i[l]??"",displayName:n[l]??""});if((t=(a=O(e,ls,4))==null?void 0:a.l())&&(s.boundingBox={originX:Be(t,1,vt)??0,originY:Be(t,2,vt)??0,width:Be(t,3,vt)??0,height:Be(t,4,vt)??0,angle:0}),(c=O(e,ls,4))==null?void 0:c.g().length)for(const l of O(e,ls,4).g())s.keypoints.push({x:W(l,1,void 0,vt,tt)??0,y:W(l,2,void 0,vt,tt)??0,score:W(l,4,void 0,vt,tt)??0,label:fe(W(l,3,void 0,vt))??""});return s}function zi(e){const t=[];for(const r of ft(e,Ka,1))t.push({x:Z(r,1)??0,y:Z(r,2)??0,z:Z(r,3)??0,visibility:Z(r,4)??0});return t}function ii(e){const t=[];for(const r of ft(e,qa,1))t.push({x:Z(r,1)??0,y:Z(r,2)??0,z:Z(r,3)??0,visibility:Z(r,4)??0});return t}function kc(e){return Array.from(e,t=>t>127?t-256:t)}function Tc(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 s=0;s<e.length;s++)r+=e[s]*t[s],i+=e[s]*e[s],n+=t[s]*t[s];if(i<=0||n<=0)throw Error("Cannot compute cosine similarity on embedding with 0 norm.");return r/Math.sqrt(i*n)}let Hi;oe[516587230]=[0,ie,ps,ms,re],oe[518928384]=ms;const Ou=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 Ac(){if(Hi===void 0)try{await WebAssembly.instantiate(Ou),Hi=!0}catch{Hi=!1}return Hi}async function ni(e,t=cu``){const r=await Ac()?"wasm_internal":"wasm_nosimd_internal";return{wasmLoaderPath:`${t}/${e}_${r}.js`,wasmBinaryPath:`${t}/${e}_${r}.wasm`}}var Kt=class{};function Cc(){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 Sc(e){if(typeof importScripts!="function"){const 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)})}try{importScripts(e.toString())}catch(t){if(!(t instanceof TypeError))throw t;await self.import(e.toString())}}function Nc(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 Ic(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);const[i,n]=Nc(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 Fc(e,t,r){e.m||console.error("No wasm multistream support detected: ensure dependency inclusion of :gl_graph_runner_internal_multi_input target");const 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(const n of i)e.i._free(n);e.i._free(t)}function st(e,t,r){e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=r}function At(e,t,r){let i=[];e.i.simpleListeners=e.i.simpleListeners||{},e.i.simpleListeners[t]=(n,s,a)=>{s?(r(i,a),i=[]):i.push(n)}}Kt.forVisionTasks=function(e){return ni("vision",e)},Kt.forTextTasks=function(e){return ni("text",e)},Kt.forGenAiExperimentalTasks=function(e){return ni("genai_experimental",e)},Kt.forGenAiTasks=function(e){return ni("genai",e)},Kt.forAudioTasks=function(e){return ni("audio",e)},Kt.isSimdSupported=function(){return Ac()};async function Bu(e,t,r,i){return e=await(async(n,s,a,c,l)=>{if(s&&await Sc(s),!self.ModuleFactory||a&&(await Sc(a),!self.ModuleFactory))throw Error("ModuleFactory not set.");return self.Module&&l&&((s=self.Module).locateFile=l.locateFile,l.mainScriptUrlOrBlob&&(s.mainScriptUrlOrBlob=l.mainScriptUrlOrBlob)),l=await self.ModuleFactory(self.Module||l),self.ModuleFactory=self.Module=void 0,new n(l,c)})(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 _s(e,t){const r=O(e.baseOptions,Wi,1)||new Wi;typeof t=="string"?(G(r,2,Qr(t)),G(r,1)):t instanceof Uint8Array&&(G(r,1,_n(t,!1)),G(r,2)),A(e.baseOptions,0,1,r)}function Lc(e){try{const t=e.H.length;if(t===1)throw Error(e.H[0].message);if(t>1)throw Error("Encountered multiple errors: "+e.H.map(r=>r.message).join(", "))}finally{e.H=[]}}function v(e,t){e.C=Math.max(e.C,t)}function qi(e,t){e.B=new ve,Ae(e.B,2,"PassThroughCalculator"),$(e.B,"free_memory"),L(e.B,"free_memory_unused_out"),q(t,"free_memory"),Ge(t,e.B)}function _r(e,t){$(e.B,t),L(e.B,t+"_unused_out")}function Ki(e){e.g.addBoolToStream(!0,"free_memory",e.C)}var ks=class{constructor(e){this.g=e,this.H=[],this.C=0,this.g.setAutoRenderToScreen(!1)}l(e,t=!0){var r,i,n,s,a,c;if(t){const l=e.baseOptions||{};if((r=e.baseOptions)!=null&&r.modelAssetBuffer&&((i=e.baseOptions)!=null&&i.modelAssetPath))throw Error("Cannot set both baseOptions.modelAssetPath and baseOptions.modelAssetBuffer");if(!((n=O(this.baseOptions,Wi,1))!=null&&n.g()||(s=O(this.baseOptions,Wi,1))!=null&&s.l()||(a=e.baseOptions)!=null&&a.modelAssetBuffer||(c=e.baseOptions)!=null&&c.modelAssetPath))throw Error("Either baseOptions.modelAssetPath or baseOptions.modelAssetBuffer must be set");if(function(h,d){let f=O(h.baseOptions,Ra,3);if(!f){var w=f=new Ra,g=new Oa;Zr(w,4,ji,g)}"delegate"in d&&(d.delegate==="GPU"?(d=f,w=new lu,Zr(d,2,ji,w)):(d=f,w=new Oa,Zr(d,4,ji,w))),A(h.baseOptions,0,3,f)}(this,l),l.modelAssetPath)return fetch(l.modelAssetPath.toString()).then(h=>{if(h.ok)return h.arrayBuffer();throw Error(`Failed to fetch model: ${l.modelAssetPath} (${h.status})`)}).then(h=>{try{this.g.i.FS_unlink("/model.dat")}catch{}this.g.i.FS_createDataFile("/","model.dat",new Uint8Array(h),!0,!1,!1),_s(this,"/model.dat"),this.m(),this.L()});if(l.modelAssetBuffer instanceof Uint8Array)_s(this,l.modelAssetBuffer);else if(l.modelAssetBuffer)return async function(h){const d=[];for(var f=0;;){const{done:w,value:g}=await h.read();if(w)break;d.push(g),f+=g.length}if(d.length===0)return new Uint8Array(0);if(d.length===1)return d[0];h=new Uint8Array(f),f=0;for(const w of d)h.set(w,f),f+=w.length;return h}(l.modelAssetBuffer).then(h=>{_s(this,h),this.m(),this.L()})}return this.m(),this.L(),Promise.resolve()}L(){}ca(){let e;if(this.g.ca(t=>{e=du(t)}),!e)throw Error("Failed to retrieve CalculatorGraphConfig");return e}setGraph(e,t){this.g.attachErrorListener((r,i)=>{this.H.push(Error(i))}),this.g.Ja(),this.g.setGraph(e,t),this.B=void 0,Lc(this)}finishProcessing(){this.g.finishProcessing(),Lc(this)}close(){this.B=void 0,this.g.closeGraph()}};function Ct(e,t){if(!e)throw Error(`Unable to obtain required WebGL resource: ${t}`);return e}ks.prototype.close=ks.prototype.close;class Uu{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 Mc(e,t,r){const i=e.g;if(r=Ct(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 Pc(e,t){const r=e.g,i=Ct(r.createVertexArray(),"Failed to create vertex array");r.bindVertexArray(i);const n=Ct(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);const s=Ct(r.createBuffer(),"Failed to create buffer");return r.bindBuffer(r.ARRAY_BUFFER,s),r.enableVertexAttribArray(e.L),r.vertexAttribPointer(e.L,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 Uu(r,i,n,s)}function Ts(e,t){if(e.g){if(t!==e.g)throw Error("Cannot change GL context once initialized")}else e.g=t}function Gu(e,t,r,i){return Ts(e,t),e.h||(e.m(),e.D()),r?(e.u||(e.u=Pc(e,!0)),r=e.u):(e.A||(e.A=Pc(e,!1)),r=e.A),t.useProgram(e.h),r.bind(),e.l(),e=i(),r.g.bindVertexArray(null),e}function Dc(e,t,r){return Ts(e,t),e=Ct(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 Oc(e,t,r){Ts(e,t),e.B||(e.B=Ct(t.createFramebuffer(),"Failed to create framebuffe.")),t.bindFramebuffer(t.FRAMEBUFFER,e.B),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,r,0)}function Vu(e){var t;(t=e.g)==null||t.bindFramebuffer(e.g.FRAMEBUFFER,null)}var Bc=class{H(){return`
|
|
2
2
|
precision mediump float;
|
|
3
3
|
varying vec2 vTex;
|
|
4
4
|
uniform sampler2D inputTexture;
|
|
5
5
|
void main() {
|
|
6
6
|
gl_FragColor = texture2D(inputTexture, vTex);
|
|
7
7
|
}
|
|
8
|
-
`}m(){const e=this.g;if(this.h=Ct(e.createProgram(),"Failed to create WebGL program"),this.X=
|
|
8
|
+
`}m(){const e=this.g;if(this.h=Ct(e.createProgram(),"Failed to create WebGL program"),this.X=Mc(this,`
|
|
9
9
|
attribute vec2 aVertex;
|
|
10
10
|
attribute vec2 aTex;
|
|
11
11
|
varying vec2 vTex;
|
|
12
12
|
void main(void) {
|
|
13
13
|
gl_Position = vec4(aVertex, 0.0, 1.0);
|
|
14
14
|
vTex = aTex;
|
|
15
|
-
}`,e.VERTEX_SHADER),this.W=Fc(this,this.H(),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.L=e.getAttribLocation(this.h,"aTex")}D(){}l(){}close(){if(this.h){const e=this.g;e.deleteProgram(this.h),e.deleteShader(this.X),e.deleteShader(this.W)}this.B&&this.g.deleteFramebuffer(this.B),this.A&&this.A.close(),this.u&&this.u.close()}};function gt(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 ks(e){var t=gt(e,1);if(!t){if(t=gt(e,0))t=new Float32Array(t).map(i=>i/255);else{t=new Float32Array(e.width*e.height);const i=kr(e);var r=Ts(e);if(Pc(r,i,Oc(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,s=0;n<t.length;++n,s+=4)t[n]=r[s]}else i.readPixels(0,0,e.width,e.height,i.RED,i.FLOAT,t)}e.g.push(t)}return t}function Oc(e){let t=gt(e,2);if(!t){const r=kr(e);t=Uc(e);const i=ks(e),n=Bc(e);r.texImage2D(r.TEXTURE_2D,0,n,e.width,e.height,0,r.RED,r.FLOAT,i),As(e)}return t}function kr(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=Ct(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function Bc(e){if(e=kr(e),!qi)if(e.getExtension("EXT_color_buffer_float")&&e.getExtension("OES_texture_float_linear")&&e.getExtension("EXT_float_blend"))qi=e.R32F;else{if(!e.getExtension("EXT_color_buffer_half_float"))throw Error("GPU does not fully support 4-channel float32 or float16 formats");qi=e.R16F}return qi}function Ts(e){return e.l||(e.l=new Dc),e.l}function Uc(e){const t=kr(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let r=gt(e,2);return r||(r=Mc(Ts(e),t,e.m?t.LINEAR:t.NEAREST),e.g.push(r),e.j=!0),t.bindTexture(t.TEXTURE_2D,r),r}function As(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}var qi,ue=class{constructor(e,t,r,i,n,s,a){this.g=e,this.m=t,this.j=r,this.canvas=i,this.l=n,this.width=s,this.height=a,this.j&&--Gc===0&&console.error("You seem to be creating MPMask instances without invoking .close(). This leaks resources.")}Fa(){return!!gt(this,0)}ka(){return!!gt(this,1)}R(){return!!gt(this,2)}ja(){return(t=gt(e=this,0))||(t=ks(e),t=new Uint8Array(t.map(r=>Math.round(255*r))),e.g.push(t)),t;var e,t}ia(){return ks(this)}N(){return Oc(this)}clone(){const e=[];for(const 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}`);{const i=kr(this),n=Ts(this);i.activeTexture(i.TEXTURE1),r=Mc(n,i,this.m?i.LINEAR:i.NEAREST),i.bindTexture(i.TEXTURE_2D,r);const s=Bc(this);i.texImage2D(i.TEXTURE_2D,0,s,this.width,this.height,0,i.RED,i.FLOAT,null),i.bindTexture(i.TEXTURE_2D,null),Pc(n,i,r),Uu(n,i,!1,()=>{Uc(this),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT),i.drawArrays(i.TRIANGLE_FAN,0,4),As(this)}),Gu(n),As(this)}}e.push(r)}return new ue(e,this.m,this.R(),this.canvas,this.l,this.width,this.height)}close(){this.j&&kr(this).deleteTexture(gt(this,2)),Gc=-1}};ue.prototype.close=ue.prototype.close,ue.prototype.clone=ue.prototype.clone,ue.prototype.getAsWebGLTexture=ue.prototype.N,ue.prototype.getAsFloat32Array=ue.prototype.ia,ue.prototype.getAsUint8Array=ue.prototype.ja,ue.prototype.hasWebGLTexture=ue.prototype.R,ue.prototype.hasFloat32Array=ue.prototype.ka,ue.prototype.hasUint8Array=ue.prototype.Fa;var Gc=250;function qe(...e){return e.map(([t,r])=>({start:t,end:r}))}const Vu=function(e){return class extends e{Ja(){this.i._registerModelResourcesGraphService()}}}((Vc=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:Tc()?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){const 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){const 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?'),_(this,i||"input_audio",s=>{_(this,n=n||"audio_header",a=>{this.i._configureAudio(s,a,e,t??0,r)})})}setAutoResizeCanvas(e){this.l=e}setAutoRenderToScreen(e){this.i._setAutoRenderToScreen(e)}setGpuBufferVerticalFlip(e){this.i.gpuOriginForWebTexturesIsBottomLeft=e}ca(e){nt(this,"__graph_config__",t=>{e(t)}),_(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){const s=4*e.length;this.h!==s&&(this.g&&this.i._free(this.g),this.g=this.i._malloc(s),this.h=s),this.i.HEAPF32.set(e,this.g/4),_(this,i,a=>{this.i._addAudioToInputStream(this.g,t,r,a,n)})}addGpuBufferToStream(e,t,r){_(this,t,i=>{const[n,s]=Sc(this,e,i);this.i._addBoundTextureToStream(i,n,s,r)})}addBoolToStream(e,t,r){_(this,t,i=>{this.i._addBoolToInputStream(e,i,r)})}addDoubleToStream(e,t,r){_(this,t,i=>{this.i._addDoubleToInputStream(e,i,r)})}addFloatToStream(e,t,r){_(this,t,i=>{this.i._addFloatToInputStream(e,i,r)})}addIntToStream(e,t,r){_(this,t,i=>{this.i._addIntToInputStream(e,i,r)})}addUintToStream(e,t,r){_(this,t,i=>{this.i._addUintToInputStream(e,i,r)})}addStringToStream(e,t,r){_(this,t,i=>{_(this,e,n=>{this.i._addStringToInputStream(n,i,r)})})}addStringRecordToStream(e,t,r){_(this,t,i=>{Nc(this,Object.keys(e),n=>{Nc(this,Object.values(e),s=>{this.i._addFlatHashMapToInputStream(n,s,Object.keys(e).length,i,r)})})})}addProtoToStream(e,t,r,i){_(this,r,n=>{_(this,t,s=>{const a=this.i._malloc(e.length);this.i.HEAPU8.set(e,a),this.i._addProtoToInputStream(a,e.length,s,n,i),this.i._free(a)})})}addEmptyPacketToStream(e,t){_(this,e,r=>{this.i._addEmptyPacketToInputStream(r,t)})}addBoolVectorToStream(e,t,r){_(this,t,i=>{const n=this.i._allocateBoolVector(e.length);if(!n)throw Error("Unable to allocate new bool vector on heap.");for(const s of e)this.i._addBoolVectorEntry(n,s);this.i._addBoolVectorToInputStream(n,i,r)})}addDoubleVectorToStream(e,t,r){_(this,t,i=>{const n=this.i._allocateDoubleVector(e.length);if(!n)throw Error("Unable to allocate new double vector on heap.");for(const s of e)this.i._addDoubleVectorEntry(n,s);this.i._addDoubleVectorToInputStream(n,i,r)})}addFloatVectorToStream(e,t,r){_(this,t,i=>{const n=this.i._allocateFloatVector(e.length);if(!n)throw Error("Unable to allocate new float vector on heap.");for(const s of e)this.i._addFloatVectorEntry(n,s);this.i._addFloatVectorToInputStream(n,i,r)})}addIntVectorToStream(e,t,r){_(this,t,i=>{const n=this.i._allocateIntVector(e.length);if(!n)throw Error("Unable to allocate new int vector on heap.");for(const s of e)this.i._addIntVectorEntry(n,s);this.i._addIntVectorToInputStream(n,i,r)})}addUintVectorToStream(e,t,r){_(this,t,i=>{const n=this.i._allocateUintVector(e.length);if(!n)throw Error("Unable to allocate new unsigned int vector on heap.");for(const s of e)this.i._addUintVectorEntry(n,s);this.i._addUintVectorToInputStream(n,i,r)})}addStringVectorToStream(e,t,r){_(this,t,i=>{const n=this.i._allocateStringVector(e.length);if(!n)throw Error("Unable to allocate new string vector on heap.");for(const s of e)_(this,s,a=>{this.i._addStringVectorEntry(n,a)});this.i._addStringVectorToInputStream(n,i,r)})}addBoolToInputSidePacket(e,t){_(this,t,r=>{this.i._addBoolToInputSidePacket(e,r)})}addDoubleToInputSidePacket(e,t){_(this,t,r=>{this.i._addDoubleToInputSidePacket(e,r)})}addFloatToInputSidePacket(e,t){_(this,t,r=>{this.i._addFloatToInputSidePacket(e,r)})}addIntToInputSidePacket(e,t){_(this,t,r=>{this.i._addIntToInputSidePacket(e,r)})}addUintToInputSidePacket(e,t){_(this,t,r=>{this.i._addUintToInputSidePacket(e,r)})}addStringToInputSidePacket(e,t){_(this,t,r=>{_(this,e,i=>{this.i._addStringToInputSidePacket(i,r)})})}addProtoToInputSidePacket(e,t,r){_(this,r,i=>{_(this,t,n=>{const s=this.i._malloc(e.length);this.i.HEAPU8.set(e,s),this.i._addProtoToInputSidePacket(s,e.length,n,i),this.i._free(s)})})}addBoolVectorToInputSidePacket(e,t){_(this,t,r=>{const i=this.i._allocateBoolVector(e.length);if(!i)throw Error("Unable to allocate new bool vector on heap.");for(const n of e)this.i._addBoolVectorEntry(i,n);this.i._addBoolVectorToInputSidePacket(i,r)})}addDoubleVectorToInputSidePacket(e,t){_(this,t,r=>{const i=this.i._allocateDoubleVector(e.length);if(!i)throw Error("Unable to allocate new double vector on heap.");for(const n of e)this.i._addDoubleVectorEntry(i,n);this.i._addDoubleVectorToInputSidePacket(i,r)})}addFloatVectorToInputSidePacket(e,t){_(this,t,r=>{const i=this.i._allocateFloatVector(e.length);if(!i)throw Error("Unable to allocate new float vector on heap.");for(const n of e)this.i._addFloatVectorEntry(i,n);this.i._addFloatVectorToInputSidePacket(i,r)})}addIntVectorToInputSidePacket(e,t){_(this,t,r=>{const i=this.i._allocateIntVector(e.length);if(!i)throw Error("Unable to allocate new int vector on heap.");for(const n of e)this.i._addIntVectorEntry(i,n);this.i._addIntVectorToInputSidePacket(i,r)})}addUintVectorToInputSidePacket(e,t){_(this,t,r=>{const i=this.i._allocateUintVector(e.length);if(!i)throw Error("Unable to allocate new unsigned int vector on heap.");for(const n of e)this.i._addUintVectorEntry(i,n);this.i._addUintVectorToInputSidePacket(i,r)})}addStringVectorToInputSidePacket(e,t){_(this,t,r=>{const i=this.i._allocateStringVector(e.length);if(!i)throw Error("Unable to allocate new string vector on heap.");for(const n of e)_(this,n,s=>{this.i._addStringVectorEntry(i,s)});this.i._addStringVectorToInputSidePacket(i,r)})}attachBoolListener(e,t){nt(this,e,t),_(this,e,r=>{this.i._attachBoolListener(r)})}attachBoolVectorListener(e,t){At(this,e,t),_(this,e,r=>{this.i._attachBoolVectorListener(r)})}attachIntListener(e,t){nt(this,e,t),_(this,e,r=>{this.i._attachIntListener(r)})}attachIntVectorListener(e,t){At(this,e,t),_(this,e,r=>{this.i._attachIntVectorListener(r)})}attachUintListener(e,t){nt(this,e,t),_(this,e,r=>{this.i._attachUintListener(r)})}attachUintVectorListener(e,t){At(this,e,t),_(this,e,r=>{this.i._attachUintVectorListener(r)})}attachDoubleListener(e,t){nt(this,e,t),_(this,e,r=>{this.i._attachDoubleListener(r)})}attachDoubleVectorListener(e,t){At(this,e,t),_(this,e,r=>{this.i._attachDoubleVectorListener(r)})}attachFloatListener(e,t){nt(this,e,t),_(this,e,r=>{this.i._attachFloatListener(r)})}attachFloatVectorListener(e,t){At(this,e,t),_(this,e,r=>{this.i._attachFloatVectorListener(r)})}attachStringListener(e,t){nt(this,e,t),_(this,e,r=>{this.i._attachStringListener(r)})}attachStringVectorListener(e,t){At(this,e,t),_(this,e,r=>{this.i._attachStringVectorListener(r)})}attachProtoListener(e,t,r){nt(this,e,t),_(this,e,i=>{this.i._attachProtoListener(i,r||!1)})}attachProtoVectorListener(e,t,r){At(this,e,t),_(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?'),nt(this,e,(i,n)=>{i=new Float32Array(i.buffer,i.byteOffset,i.length/4),t(i,n)}),_(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 Vc{get ga(){return this.i}pa(e,t,r){_(this,t,i=>{const[n,s]=Sc(this,e,i);this.ga._addBoundTextureAsImageToStream(i,n,s,r)})}Z(e,t){nt(this,e,t),_(this,e,r=>{this.ga._attachImageListener(r)})}aa(e,t){At(this,e,t),_(this,e,r=>{this.ga._attachImageVectorListener(r)})}}));var Vc,Ke=class extends Vu{};async function P(e,t,r){return async function(i,n,s,a){return Ou(i,n,s,a)}(e,r.canvas??(Tc()?void 0:document.createElement("canvas")),t,r)}function jc(e,t,r,i){if(e.U){const s=new qa;if(r!=null&&r.regionOfInterest){if(!e.oa)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].");k(s,1,(n.left+n.right)/2),k(s,2,(n.top+n.bottom)/2),k(s,4,n.right-n.left),k(s,3,n.bottom-n.top)}else k(s,1,.5),k(s,2,.5),k(s,4,1),k(s,3,1);if(r!=null&&r.rotationDegrees){if((r==null?void 0:r.rotationDegrees)%90!=0)throw Error("Expected rotation to be a multiple of 90°.");if(k(s,5,-Math.PI*r.rotationDegrees/180),(r==null?void 0:r.rotationDegrees)%180!=0){const[a,c]=Cc(t);r=Z(s,3)*c/a,n=Z(s,4)*a/c,k(s,4,r),k(s,3,n)}}e.g.addProtoToStream(s.g(),"mediapipe.NormalizedRect",e.U,i)}e.g.pa(t,e.X,i??performance.now()),e.finishProcessing()}function Ye(e,t,r){var i;if((i=e.baseOptions)!=null&&i.g())throw Error("Task is not initialized with image mode. 'runningMode' must be set to 'IMAGE'.");jc(e,t,r,e.C+1)}function st(e,t,r,i){var n;if(!((n=e.baseOptions)!=null&&n.g()))throw Error("Task is not initialized with video mode. 'runningMode' must be set to 'VIDEO'.");jc(e,t,r,i)}function Tr(e,t,r,i){var n=t.data;const s=t.width,a=s*(t=t.height);if((n instanceof Uint8Array||n instanceof Float32Array)&&n.length!==a)throw Error("Unsupported channel count: "+n.length/a);return e=new ue([n],r,!1,e.g.i.canvas,e.P,s,t),i?e.clone():e}var Ie=class extends Es{constructor(e,t,r,i){super(e),this.g=e,this.X=t,this.U=r,this.oa=i,this.P=new Dc}l(e,t=!0){if("runningMode"in e&&U(this.baseOptions,2,qr(!!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.P.close(),super.close()}};Ie.prototype.close=Ie.prototype.close;var Ve=class extends Ie{constructor(e,t){super(new Ke(e,t),"image_in","norm_rect_in",!1),this.j={detections:[]},T(e=this.h=new ji,0,1,t=new Q),k(this.h,2,.5),k(this.h,3,.3)}get baseOptions(){return O(this.h,Q,1)}set baseOptions(e){T(this.h,0,1,e)}o(e){return"minDetectionConfidence"in e&&k(this.h,2,e.minDetectionConfidence??.5),"minSuppressionThreshold"in e&&k(this.h,3,e.minSuppressionThreshold??.3),this.l(e)}F(e,t){return this.j={detections:[]},Ye(this,e,t),this.j}G(e,t,r){return this.j={detections:[]},st(this,e,r,t),this.j}m(){var e=new Ne;q(e,"image_in"),q(e,"norm_rect_in"),B(e,"detections");const t=new Se;rt(t,xu,this.h);const r=new ve;Ae(r,2,"mediapipe.tasks.vision.face_detector.FaceDetectorGraph"),$(r,"IMAGE:image_in"),$(r,"NORM_RECT:norm_rect_in"),L(r,"DETECTIONS:detections"),r.o(t),Ge(e,r),this.g.attachProtoVectorListener("detections",(i,n)=>{for(const s of i)i=$a(s),this.j.detections.push(xc(i));v(this,n)}),this.g.attachEmptyPacketListener("detections",i=>{v(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ve.prototype.detectForVideo=Ve.prototype.G,Ve.prototype.detect=Ve.prototype.F,Ve.prototype.setOptions=Ve.prototype.o,Ve.createFromModelPath=async function(e,t){return P(Ve,e,{baseOptions:{modelAssetPath:t}})},Ve.createFromModelBuffer=function(e,t){return P(Ve,e,{baseOptions:{modelAssetBuffer:t}})},Ve.createFromOptions=function(e,t){return P(Ve,e,t)};var Cs=qe([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]),Ss=qe([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]),Ns=qe([276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]),Wc=qe([474,475],[475,476],[476,477],[477,474]),Is=qe([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]),Fs=qe([46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]),$c=qe([469,470],[470,471],[471,472],[472,469]),Ls=qe([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]),zc=[...Cs,...Ss,...Ns,...Is,...Fs,...Ls],Hc=qe([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 qc(e){e.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]}}var K=class extends Ie{constructor(e,t){super(new Ke(e,t),"image_in","norm_rect",!1),this.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]},this.outputFacialTransformationMatrixes=this.outputFaceBlendshapes=!1,T(e=this.h=new ec,0,1,t=new Q),this.A=new Ra,T(this.h,0,3,this.A),this.u=new ji,T(this.h,0,2,this.u),ft(this.u,4,1),k(this.u,2,.5),k(this.A,2,.5),k(this.h,4,.5)}get baseOptions(){return O(this.h,Q,1)}set baseOptions(e){T(this.h,0,1,e)}o(e){return"numFaces"in e&&ft(this.u,4,e.numFaces??1),"minFaceDetectionConfidence"in e&&k(this.u,2,e.minFaceDetectionConfidence??.5),"minTrackingConfidence"in e&&k(this.h,4,e.minTrackingConfidence??.5),"minFacePresenceConfidence"in e&&k(this.A,2,e.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"outputFacialTransformationMatrixes"in e&&(this.outputFacialTransformationMatrixes=!!e.outputFacialTransformationMatrixes),this.l(e)}F(e,t){return qc(this),Ye(this,e,t),this.j}G(e,t,r){return qc(this),st(this,e,r,t),this.j}m(){var e=new Ne;q(e,"image_in"),q(e,"norm_rect"),B(e,"face_landmarks");const t=new Se;rt(t,_u,this.h);const r=new ve;Ae(r,2,"mediapipe.tasks.vision.face_landmarker.FaceLandmarkerGraph"),$(r,"IMAGE:image_in"),$(r,"NORM_RECT:norm_rect"),L(r,"NORM_LANDMARKS:face_landmarks"),r.o(t),Ge(e,r),this.g.attachProtoVectorListener("face_landmarks",(i,n)=>{for(const s of i)i=ei(s),this.j.faceLandmarks.push(Wi(i));v(this,n)}),this.g.attachEmptyPacketListener("face_landmarks",i=>{v(this,i)}),this.outputFaceBlendshapes&&(B(e,"blendshapes"),L(r,"BLENDSHAPES:blendshapes"),this.g.attachProtoVectorListener("blendshapes",(i,n)=>{if(this.outputFaceBlendshapes)for(const s of i)i=Ui(s),this.j.faceBlendshapes.push(vs(i.g()??[]));v(this,n)}),this.g.attachEmptyPacketListener("blendshapes",i=>{v(this,i)})),this.outputFacialTransformationMatrixes&&(B(e,"face_geometry"),L(r,"FACE_GEOMETRY:face_geometry"),this.g.attachProtoVectorListener("face_geometry",(i,n)=>{if(this.outputFacialTransformationMatrixes)for(const s of i)(i=O(i=Eu(s),fu,2))&&this.j.facialTransformationMatrixes.push({rows:Be(i,1)??0??0,columns:Be(i,2)??0??0,data:jt(i,3,et,Vt()).slice()??[]});v(this,n)}),this.g.attachEmptyPacketListener("face_geometry",i=>{v(this,i)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};K.prototype.detectForVideo=K.prototype.G,K.prototype.detect=K.prototype.F,K.prototype.setOptions=K.prototype.o,K.createFromModelPath=function(e,t){return P(K,e,{baseOptions:{modelAssetPath:t}})},K.createFromModelBuffer=function(e,t){return P(K,e,{baseOptions:{modelAssetBuffer:t}})},K.createFromOptions=function(e,t){return P(K,e,t)},K.FACE_LANDMARKS_LIPS=Cs,K.FACE_LANDMARKS_LEFT_EYE=Ss,K.FACE_LANDMARKS_LEFT_EYEBROW=Ns,K.FACE_LANDMARKS_LEFT_IRIS=Wc,K.FACE_LANDMARKS_RIGHT_EYE=Is,K.FACE_LANDMARKS_RIGHT_EYEBROW=Fs,K.FACE_LANDMARKS_RIGHT_IRIS=$c,K.FACE_LANDMARKS_FACE_OVAL=Ls,K.FACE_LANDMARKS_CONTOURS=zc,K.FACE_LANDMARKS_TESSELATION=Hc;var Ms=qe([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 Kc(e){e.gestures=[],e.landmarks=[],e.worldLandmarks=[],e.handedness=[]}function Yc(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 Xc(e,t=!0){const r=[];for(const n of e){var i=Ui(n);e=[];for(const s of i.g())i=t&&Be(s,1)!=null?Be(s,1)??0:-1,e.push({score:Z(s,2)??0,index:i,categoryName:fe(W(s,3))??""??"",displayName:fe(W(s,4))??""??""});r.push(e)}return r}var Fe=class extends Ie{constructor(e,t){super(new Ke(e,t),"image_in","norm_rect",!1),this.gestures=[],this.landmarks=[],this.worldLandmarks=[],this.handedness=[],T(e=this.j=new ic,0,1,t=new Q),this.u=new hs,T(this.j,0,2,this.u),this.D=new us,T(this.u,0,3,this.D),this.A=new rc,T(this.u,0,2,this.A),this.h=new ku,T(this.j,0,3,this.h),k(this.A,2,.5),k(this.u,4,.5),k(this.D,2,.5)}get baseOptions(){return O(this.j,Q,1)}set baseOptions(e){T(this.j,0,1,e)}o(e){var n,s,a,c;if(ft(this.A,3,e.numHands??1),"minHandDetectionConfidence"in e&&k(this.A,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&k(this.u,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&k(this.D,2,e.minHandPresenceConfidence??.5),e.cannedGesturesClassifierOptions){var t=new Er,r=t,i=bs(e.cannedGesturesClassifierOptions,(n=O(this.h,Er,3))==null?void 0:n.l());T(r,0,2,i),T(this.h,0,3,t)}else e.cannedGesturesClassifierOptions===void 0&&((s=O(this.h,Er,3))==null||s.g());return e.customGesturesClassifierOptions?(T(r=t=new Er,0,2,i=bs(e.customGesturesClassifierOptions,(a=O(this.h,Er,4))==null?void 0:a.l())),T(this.h,0,4,t)):e.customGesturesClassifierOptions===void 0&&((c=O(this.h,Er,4))==null||c.g()),this.l(e)}Ha(e,t){return Kc(this),Ye(this,e,t),Yc(this)}Ia(e,t,r){return Kc(this),st(this,e,r,t),Yc(this)}m(){var e=new Ne;q(e,"image_in"),q(e,"norm_rect"),B(e,"hand_gestures"),B(e,"hand_landmarks"),B(e,"world_hand_landmarks"),B(e,"handedness");const t=new Se;rt(t,Tu,this.j);const r=new ve;Ae(r,2,"mediapipe.tasks.vision.gesture_recognizer.GestureRecognizerGraph"),$(r,"IMAGE:image_in"),$(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),Ge(e,r),this.g.attachProtoVectorListener("hand_landmarks",(i,n)=>{for(const s of i){i=ei(s);const a=[];for(const c of ht(i,Ha,1))a.push({x:Z(c,1)??0,y:Z(c,2)??0,z:Z(c,3)??0,visibility:Z(c,4)??0});this.landmarks.push(a)}v(this,n)}),this.g.attachEmptyPacketListener("hand_landmarks",i=>{v(this,i)}),this.g.attachProtoVectorListener("world_hand_landmarks",(i,n)=>{for(const s of i){i=xr(s);const a=[];for(const c of ht(i,za,1))a.push({x:Z(c,1)??0,y:Z(c,2)??0,z:Z(c,3)??0,visibility:Z(c,4)??0});this.worldLandmarks.push(a)}v(this,n)}),this.g.attachEmptyPacketListener("world_hand_landmarks",i=>{v(this,i)}),this.g.attachProtoVectorListener("hand_gestures",(i,n)=>{this.gestures.push(...Xc(i,!1)),v(this,n)}),this.g.attachEmptyPacketListener("hand_gestures",i=>{v(this,i)}),this.g.attachProtoVectorListener("handedness",(i,n)=>{this.handedness.push(...Xc(i)),v(this,n)}),this.g.attachEmptyPacketListener("handedness",i=>{v(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function Qc(e){return{landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handednesses:e.handedness,handedness:e.handedness}}Fe.prototype.recognizeForVideo=Fe.prototype.Ia,Fe.prototype.recognize=Fe.prototype.Ha,Fe.prototype.setOptions=Fe.prototype.o,Fe.createFromModelPath=function(e,t){return P(Fe,e,{baseOptions:{modelAssetPath:t}})},Fe.createFromModelBuffer=function(e,t){return P(Fe,e,{baseOptions:{modelAssetBuffer:t}})},Fe.createFromOptions=function(e,t){return P(Fe,e,t)},Fe.HAND_CONNECTIONS=Ms;var Le=class extends Ie{constructor(e,t){super(new Ke(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.handedness=[],T(e=this.h=new hs,0,1,t=new Q),this.u=new us,T(this.h,0,3,this.u),this.j=new rc,T(this.h,0,2,this.j),ft(this.j,3,1),k(this.j,2,.5),k(this.u,2,.5),k(this.h,4,.5)}get baseOptions(){return O(this.h,Q,1)}set baseOptions(e){T(this.h,0,1,e)}o(e){return"numHands"in e&&ft(this.j,3,e.numHands??1),"minHandDetectionConfidence"in e&&k(this.j,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&k(this.h,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&k(this.u,2,e.minHandPresenceConfidence??.5),this.l(e)}F(e,t){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],Ye(this,e,t),Qc(this)}G(e,t,r){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],st(this,e,r,t),Qc(this)}m(){var e=new Ne;q(e,"image_in"),q(e,"norm_rect"),B(e,"hand_landmarks"),B(e,"world_hand_landmarks"),B(e,"handedness");const t=new Se;rt(t,Au,this.h);const r=new ve;Ae(r,2,"mediapipe.tasks.vision.hand_landmarker.HandLandmarkerGraph"),$(r,"IMAGE:image_in"),$(r,"NORM_RECT:norm_rect"),L(r,"LANDMARKS:hand_landmarks"),L(r,"WORLD_LANDMARKS:world_hand_landmarks"),L(r,"HANDEDNESS:handedness"),r.o(t),Ge(e,r),this.g.attachProtoVectorListener("hand_landmarks",(i,n)=>{for(const s of i)i=ei(s),this.landmarks.push(Wi(i));v(this,n)}),this.g.attachEmptyPacketListener("hand_landmarks",i=>{v(this,i)}),this.g.attachProtoVectorListener("world_hand_landmarks",(i,n)=>{for(const s of i)i=xr(s),this.worldLandmarks.push(ti(i));v(this,n)}),this.g.attachEmptyPacketListener("world_hand_landmarks",i=>{v(this,i)}),this.g.attachProtoVectorListener("handedness",(i,n)=>{var s=this.handedness,a=s.push;const c=[];for(const l of i){i=Ui(l);const h=[];for(const d of i.g())h.push({score:Z(d,2)??0,index:Be(d,1)??0??-1,categoryName:fe(W(d,3))??""??"",displayName:fe(W(d,4))??""??""});c.push(h)}a.call(s,...c),v(this,n)}),this.g.attachEmptyPacketListener("handedness",i=>{v(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Le.prototype.detectForVideo=Le.prototype.G,Le.prototype.detect=Le.prototype.F,Le.prototype.setOptions=Le.prototype.o,Le.createFromModelPath=function(e,t){return P(Le,e,{baseOptions:{modelAssetPath:t}})},Le.createFromModelBuffer=function(e,t){return P(Le,e,{baseOptions:{modelAssetBuffer:t}})},Le.createFromOptions=function(e,t){return P(Le,e,t)},Le.HAND_CONNECTIONS=Ms;var Jc=qe([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 Zc(e){e.h={faceLandmarks:[],faceBlendshapes:[],poseLandmarks:[],poseWorldLandmarks:[],poseSegmentationMasks:[],leftHandLandmarks:[],leftHandWorldLandmarks:[],rightHandLandmarks:[],rightHandWorldLandmarks:[]}}function Rc(e){try{if(!e.D)return e.h;e.D(e.h)}finally{Hi(e)}}function Ki(e,t){e=ei(e),t.push(Wi(e))}var z=class extends Ie{constructor(e,t){super(new Ke(e,t),"input_frames_image",null,!1),this.h={faceLandmarks:[],faceBlendshapes:[],poseLandmarks:[],poseWorldLandmarks:[],poseSegmentationMasks:[],leftHandLandmarks:[],leftHandWorldLandmarks:[],rightHandLandmarks:[],rightHandWorldLandmarks:[]},this.outputPoseSegmentationMasks=this.outputFaceBlendshapes=!1,T(e=this.j=new lc,0,1,t=new Q),this.I=new us,T(this.j,0,2,this.I),this.W=new Cu,T(this.j,0,3,this.W),this.u=new ji,T(this.j,0,4,this.u),this.O=new Ra,T(this.j,0,5,this.O),this.A=new ac,T(this.j,0,6,this.A),this.M=new cc,T(this.j,0,7,this.M),k(this.u,2,.5),k(this.u,3,.3),k(this.O,2,.5),k(this.A,2,.5),k(this.A,3,.3),k(this.M,2,.5),k(this.I,2,.5)}get baseOptions(){return O(this.j,Q,1)}set baseOptions(e){T(this.j,0,1,e)}o(e){return"minFaceDetectionConfidence"in e&&k(this.u,2,e.minFaceDetectionConfidence??.5),"minFaceSuppressionThreshold"in e&&k(this.u,3,e.minFaceSuppressionThreshold??.3),"minFacePresenceConfidence"in e&&k(this.O,2,e.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"minPoseDetectionConfidence"in e&&k(this.A,2,e.minPoseDetectionConfidence??.5),"minPoseSuppressionThreshold"in e&&k(this.A,3,e.minPoseSuppressionThreshold??.3),"minPosePresenceConfidence"in e&&k(this.M,2,e.minPosePresenceConfidence??.5),"outputPoseSegmentationMasks"in e&&(this.outputPoseSegmentationMasks=!!e.outputPoseSegmentationMasks),"minHandLandmarksConfidence"in e&&k(this.I,2,e.minHandLandmarksConfidence??.5),this.l(e)}F(e,t,r){const i=typeof t!="function"?t:{};return this.D=typeof t=="function"?t:r,Zc(this),Ye(this,e,i),Rc(this)}G(e,t,r,i){const n=typeof r!="function"?r:{};return this.D=typeof r=="function"?r:i,Zc(this),st(this,e,n,t),Rc(this)}m(){var e=new Ne;q(e,"input_frames_image"),B(e,"pose_landmarks"),B(e,"pose_world_landmarks"),B(e,"face_landmarks"),B(e,"left_hand_landmarks"),B(e,"left_hand_world_landmarks"),B(e,"right_hand_landmarks"),B(e,"right_hand_world_landmarks");const t=new Se,r=new Aa;Ae(r,1,"type.googleapis.com/mediapipe.tasks.vision.holistic_landmarker.proto.HolisticLandmarkerGraphOptions"),function(n,s){if(s!=null)if(Array.isArray(s))U(n,2,xi(s,0,Xr));else{if(!(typeof s=="string"||s instanceof Ze||mn(s)))throw Error("invalid value in Any.value field: "+s+" expected a ByteString, a base64 encoded string, a Uint8Array or a jspb array");xt(n,2,xn(s,!1),Pt())}}(r,this.j.g());const i=new ve;Ae(i,2,"mediapipe.tasks.vision.holistic_landmarker.HolisticLandmarkerGraph"),Wn(i,8,Aa,r),$(i,"IMAGE:input_frames_image"),L(i,"POSE_LANDMARKS:pose_landmarks"),L(i,"POSE_WORLD_LANDMARKS:pose_world_landmarks"),L(i,"FACE_LANDMARKS:face_landmarks"),L(i,"LEFT_HAND_LANDMARKS:left_hand_landmarks"),L(i,"LEFT_HAND_WORLD_LANDMARKS:left_hand_world_landmarks"),L(i,"RIGHT_HAND_LANDMARKS:right_hand_landmarks"),L(i,"RIGHT_HAND_WORLD_LANDMARKS:right_hand_world_landmarks"),i.o(t),Ge(e,i),zi(this,e),this.g.attachProtoListener("pose_landmarks",(n,s)=>{Ki(n,this.h.poseLandmarks),v(this,s)}),this.g.attachEmptyPacketListener("pose_landmarks",n=>{v(this,n)}),this.g.attachProtoListener("pose_world_landmarks",(n,s)=>{var a=this.h.poseWorldLandmarks;n=xr(n),a.push(ti(n)),v(this,s)}),this.g.attachEmptyPacketListener("pose_world_landmarks",n=>{v(this,n)}),this.outputPoseSegmentationMasks&&(L(i,"POSE_SEGMENTATION_MASK:pose_segmentation_mask"),_r(this,"pose_segmentation_mask"),this.g.Z("pose_segmentation_mask",(n,s)=>{this.h.poseSegmentationMasks=[Tr(this,n,!0,!this.D)],v(this,s)}),this.g.attachEmptyPacketListener("pose_segmentation_mask",n=>{this.h.poseSegmentationMasks=[],v(this,n)})),this.g.attachProtoListener("face_landmarks",(n,s)=>{Ki(n,this.h.faceLandmarks),v(this,s)}),this.g.attachEmptyPacketListener("face_landmarks",n=>{v(this,n)}),this.outputFaceBlendshapes&&(B(e,"extra_blendshapes"),L(i,"FACE_BLENDSHAPES:extra_blendshapes"),this.g.attachProtoListener("extra_blendshapes",(n,s)=>{var a=this.h.faceBlendshapes;this.outputFaceBlendshapes&&(n=Ui(n),a.push(vs(n.g()??[]))),v(this,s)}),this.g.attachEmptyPacketListener("extra_blendshapes",n=>{v(this,n)})),this.g.attachProtoListener("left_hand_landmarks",(n,s)=>{Ki(n,this.h.leftHandLandmarks),v(this,s)}),this.g.attachEmptyPacketListener("left_hand_landmarks",n=>{v(this,n)}),this.g.attachProtoListener("left_hand_world_landmarks",(n,s)=>{var a=this.h.leftHandWorldLandmarks;n=xr(n),a.push(ti(n)),v(this,s)}),this.g.attachEmptyPacketListener("left_hand_world_landmarks",n=>{v(this,n)}),this.g.attachProtoListener("right_hand_landmarks",(n,s)=>{Ki(n,this.h.rightHandLandmarks),v(this,s)}),this.g.attachEmptyPacketListener("right_hand_landmarks",n=>{v(this,n)}),this.g.attachProtoListener("right_hand_world_landmarks",(n,s)=>{var a=this.h.rightHandWorldLandmarks;n=xr(n),a.push(ti(n)),v(this,s)}),this.g.attachEmptyPacketListener("right_hand_world_landmarks",n=>{v(this,n)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};z.prototype.detectForVideo=z.prototype.G,z.prototype.detect=z.prototype.F,z.prototype.setOptions=z.prototype.o,z.createFromModelPath=function(e,t){return P(z,e,{baseOptions:{modelAssetPath:t}})},z.createFromModelBuffer=function(e,t){return P(z,e,{baseOptions:{modelAssetBuffer:t}})},z.createFromOptions=function(e,t){return P(z,e,t)},z.HAND_CONNECTIONS=Ms,z.POSE_CONNECTIONS=Jc,z.FACE_LANDMARKS_LIPS=Cs,z.FACE_LANDMARKS_LEFT_EYE=Ss,z.FACE_LANDMARKS_LEFT_EYEBROW=Ns,z.FACE_LANDMARKS_LEFT_IRIS=Wc,z.FACE_LANDMARKS_RIGHT_EYE=Is,z.FACE_LANDMARKS_RIGHT_EYEBROW=Fs,z.FACE_LANDMARKS_RIGHT_IRIS=$c,z.FACE_LANDMARKS_FACE_OVAL=Ls,z.FACE_LANDMARKS_CONTOURS=zc,z.FACE_LANDMARKS_TESSELATION=Hc;var je=class extends Ie{constructor(e,t){super(new Ke(e,t),"input_image","norm_rect",!0),this.j={classifications:[]},T(e=this.h=new dc,0,1,t=new Q)}get baseOptions(){return O(this.h,Q,1)}set baseOptions(e){T(this.h,0,1,e)}o(e){return T(this.h,0,2,bs(e,O(this.h,cs,2))),this.l(e)}sa(e,t){return this.j={classifications:[]},Ye(this,e,t),this.j}ta(e,t,r){return this.j={classifications:[]},st(this,e,r,t),this.j}m(){var e=new Ne;q(e,"input_image"),q(e,"norm_rect"),B(e,"classifications");const t=new Se;rt(t,Su,this.h);const r=new ve;Ae(r,2,"mediapipe.tasks.vision.image_classifier.ImageClassifierGraph"),$(r,"IMAGE:input_image"),$(r,"NORM_RECT:norm_rect"),L(r,"CLASSIFICATIONS:classifications"),r.o(t),Ge(e,r),this.g.attachProtoListener("classifications",(i,n)=>{this.j=Pu(pu(i)),v(this,n)}),this.g.attachEmptyPacketListener("classifications",i=>{v(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};je.prototype.classifyForVideo=je.prototype.ta,je.prototype.classify=je.prototype.sa,je.prototype.setOptions=je.prototype.o,je.createFromModelPath=function(e,t){return P(je,e,{baseOptions:{modelAssetPath:t}})},je.createFromModelBuffer=function(e,t){return P(je,e,{baseOptions:{modelAssetBuffer:t}})},je.createFromOptions=function(e,t){return P(je,e,t)};var Me=class extends Ie{constructor(e,t){super(new Ke(e,t),"image_in","norm_rect",!0),this.h=new uc,this.embeddings={embeddings:[]},T(e=this.h,0,1,t=new Q)}get baseOptions(){return O(this.h,Q,1)}set baseOptions(e){T(this.h,0,1,e)}o(e){var t=this.h,r=O(this.h,Qa,2);return r=r?r.clone():new Qa,e.l2Normalize!==void 0?U(r,1,qr(e.l2Normalize)):"l2Normalize"in e&&U(r,1),e.quantize!==void 0?U(r,2,qr(e.quantize)):"quantize"in e&&U(r,2),T(t,0,2,r),this.l(e)}za(e,t){return Ye(this,e,t),this.embeddings}Aa(e,t,r){return st(this,e,r,t),this.embeddings}m(){var e=new Ne;q(e,"image_in"),q(e,"norm_rect"),B(e,"embeddings_out");const t=new Se;rt(t,Nu,this.h);const r=new ve;Ae(r,2,"mediapipe.tasks.vision.image_embedder.ImageEmbedderGraph"),$(r,"IMAGE:image_in"),$(r,"NORM_RECT:norm_rect"),L(r,"EMBEDDINGS:embeddings_out"),r.o(t),Ge(e,r),this.g.attachProtoListener("embeddings_out",(i,n)=>{i=bu(i),this.embeddings=function(s){return{embeddings:ht(s,yu,1).map(a=>{var h,d;const c={headIndex:Be(a,3)??0??-1,headName:fe(W(a,4))??""??""};var l=a.v;return zo(l,0|l[x],Ka,Un(a,1))!==void 0?(a=jt(a=O(a,Ka,Un(a,1),void 0),1,et,Vt()),c.floatEmbedding=a.slice()):(l=new Uint8Array(0),c.quantizedEmbedding=((d=(h=O(a,mu,Un(a,2),void 0))==null?void 0:h.na())==null?void 0:d.h())??l),c}),timestampMs:vc(Ko(s))}}(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=_c(e.floatEmbedding,t.floatEmbedding);else{if(!e.quantizedEmbedding||!t.quantizedEmbedding)throw Error("Cannot compute cosine similarity between quantized and float embeddings.");e=_c(Ec(e.quantizedEmbedding),Ec(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 P(Me,e,{baseOptions:{modelAssetPath:t}})},Me.createFromModelBuffer=function(e,t){return P(Me,e,{baseOptions:{modelAssetBuffer:t}})},Me.createFromOptions=function(e,t){return P(Me,e,t)};var Ps=class{constructor(e,t,r){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=r}close(){var e,t;(e=this.confidenceMasks)==null||e.forEach(r=>{r.close()}),(t=this.categoryMask)==null||t.close()}};function ju(e){var r,i;const t=function(n){return ht(n,ve,1)}(e.ca()).filter(n=>(fe(W(n,1))??"").includes("mediapipe.tasks.TensorsToSegmentationCalculator"));if(e.u=[],t.length>1)throw Error("The graph has more than one mediapipe.tasks.TensorsToSegmentationCalculator.");t.length===1&&(((i=(r=O(t[0],Se,7))==null?void 0:r.j())==null?void 0:i.g())??new Map).forEach((n,s)=>{e.u[Number(s)]=fe(W(n,1))??""})}function el(e){e.categoryMask=void 0,e.confidenceMasks=void 0,e.qualityScores=void 0}function tl(e){try{const t=new Ps(e.confidenceMasks,e.categoryMask,e.qualityScores);if(!e.j)return t;e.j(t)}finally{Hi(e)}}Ps.prototype.close=Ps.prototype.close;var xe=class extends Ie{constructor(e,t){super(new Ke(e,t),"image_in","norm_rect",!1),this.u=[],this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new ps,this.A=new hc,T(this.h,0,3,this.A),T(e=this.h,0,1,t=new Q)}get baseOptions(){return O(this.h,Q,1)}set baseOptions(e){T(this.h,0,1,e)}o(e){return e.displayNamesLocale!==void 0?U(this.h,2,Yr(e.displayNamesLocale)):"displayNamesLocale"in e&&U(this.h,2),"outputCategoryMask"in e&&(this.outputCategoryMask=e.outputCategoryMask??!1),"outputConfidenceMasks"in e&&(this.outputConfidenceMasks=e.outputConfidenceMasks??!0),super.l(e)}L(){ju(this)}segment(e,t,r){const i=typeof t!="function"?t:{};return this.j=typeof t=="function"?t:r,el(this),Ye(this,e,i),tl(this)}La(e,t,r,i){const n=typeof r!="function"?r:{};return this.j=typeof r=="function"?r:i,el(this),st(this,e,n,t),tl(this)}Da(){return this.u}m(){var e=new Ne;q(e,"image_in"),q(e,"norm_rect");const t=new Se;rt(t,gc,this.h);const r=new ve;Ae(r,2,"mediapipe.tasks.vision.image_segmenter.ImageSegmenterGraph"),$(r,"IMAGE:image_in"),$(r,"NORM_RECT:norm_rect"),r.o(t),Ge(e,r),zi(this,e),this.outputConfidenceMasks&&(B(e,"confidence_masks"),L(r,"CONFIDENCE_MASKS:confidence_masks"),_r(this,"confidence_masks"),this.g.aa("confidence_masks",(i,n)=>{this.confidenceMasks=i.map(s=>Tr(this,s,!0,!this.j)),v(this,n)}),this.g.attachEmptyPacketListener("confidence_masks",i=>{this.confidenceMasks=[],v(this,i)})),this.outputCategoryMask&&(B(e,"category_mask"),L(r,"CATEGORY_MASK:category_mask"),_r(this,"category_mask"),this.g.Z("category_mask",(i,n)=>{this.categoryMask=Tr(this,i,!1,!this.j),v(this,n)}),this.g.attachEmptyPacketListener("category_mask",i=>{this.categoryMask=void 0,v(this,i)})),B(e,"quality_scores"),L(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.La,xe.prototype.segment=xe.prototype.segment,xe.prototype.setOptions=xe.prototype.o,xe.createFromModelPath=function(e,t){return P(xe,e,{baseOptions:{modelAssetPath:t}})},xe.createFromModelBuffer=function(e,t){return P(xe,e,{baseOptions:{modelAssetBuffer:t}})},xe.createFromOptions=function(e,t){return P(xe,e,t)};var Ds=class{constructor(e,t,r){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=r}close(){var e,t;(e=this.confidenceMasks)==null||e.forEach(r=>{r.close()}),(t=this.categoryMask)==null||t.close()}};Ds.prototype.close=Ds.prototype.close;var ot=class extends Ie{constructor(e,t){super(new Ke(e,t),"image_in","norm_rect_in",!1),this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new ps,this.u=new hc,T(this.h,0,3,this.u),T(e=this.h,0,1,t=new Q)}get baseOptions(){return O(this.h,Q,1)}set baseOptions(e){T(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){const n=typeof r!="function"?r:{};if(this.j=typeof r=="function"?r:i,this.qualityScores=this.categoryMask=this.confidenceMasks=void 0,r=this.C+1,i=new mc,t.keypoint&&t.scribble)throw Error("Cannot provide both keypoint and scribble.");if(t.keypoint){var s=new ms;xt(s,3,qr(!0),!1),xt(s,1,Hr(t.keypoint.x),0),xt(s,2,Hr(t.keypoint.y),0),Qr(i,1,ys,s)}else{if(!t.scribble)throw Error("Must provide either a keypoint or a scribble.");{const c=new Fu;for(s of t.scribble)xt(t=new ms,3,qr(!0),!1),xt(t,1,Hr(s.x),0),xt(t,2,Hr(s.y),0),Wn(c,1,ms,t);Qr(i,2,ys,c)}}this.g.addProtoToStream(i.g(),"mediapipe.tasks.vision.interactive_segmenter.proto.RegionOfInterest","roi_in",r),Ye(this,e,n);e:{try{const c=new Ds(this.confidenceMasks,this.categoryMask,this.qualityScores);if(!this.j){var a=c;break e}this.j(c)}finally{Hi(this)}a=void 0}return a}m(){var e=new Ne;q(e,"image_in"),q(e,"roi_in"),q(e,"norm_rect_in");const t=new Se;rt(t,gc,this.h);const r=new ve;Ae(r,2,"mediapipe.tasks.vision.interactive_segmenter.InteractiveSegmenterGraphV2"),$(r,"IMAGE:image_in"),$(r,"ROI:roi_in"),$(r,"NORM_RECT:norm_rect_in"),r.o(t),Ge(e,r),zi(this,e),this.outputConfidenceMasks&&(B(e,"confidence_masks"),L(r,"CONFIDENCE_MASKS:confidence_masks"),_r(this,"confidence_masks"),this.g.aa("confidence_masks",(i,n)=>{this.confidenceMasks=i.map(s=>Tr(this,s,!0,!this.j)),v(this,n)}),this.g.attachEmptyPacketListener("confidence_masks",i=>{this.confidenceMasks=[],v(this,i)})),this.outputCategoryMask&&(B(e,"category_mask"),L(r,"CATEGORY_MASK:category_mask"),_r(this,"category_mask"),this.g.Z("category_mask",(i,n)=>{this.categoryMask=Tr(this,i,!1,!this.j),v(this,n)}),this.g.attachEmptyPacketListener("category_mask",i=>{this.categoryMask=void 0,v(this,i)})),B(e,"quality_scores"),L(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)}};ot.prototype.segment=ot.prototype.segment,ot.prototype.setOptions=ot.prototype.o,ot.createFromModelPath=function(e,t){return P(ot,e,{baseOptions:{modelAssetPath:t}})},ot.createFromModelBuffer=function(e,t){return P(ot,e,{baseOptions:{modelAssetBuffer:t}})},ot.createFromOptions=function(e,t){return P(ot,e,t)};var We=class extends Ie{constructor(e,t){super(new Ke(e,t),"input_frame_gpu","norm_rect",!1),this.j={detections:[]},T(e=this.h=new yc,0,1,t=new Q)}get baseOptions(){return O(this.h,Q,1)}set baseOptions(e){T(this.h,0,1,e)}o(e){return e.displayNamesLocale!==void 0?U(this.h,2,Yr(e.displayNamesLocale)):"displayNamesLocale"in e&&U(this.h,2),e.maxResults!==void 0?ft(this.h,3,e.maxResults):"maxResults"in e&&U(this.h,3),e.scoreThreshold!==void 0?k(this.h,4,e.scoreThreshold):"scoreThreshold"in e&&U(this.h,4),e.categoryAllowlist!==void 0?Ei(this.h,5,e.categoryAllowlist):"categoryAllowlist"in e&&U(this.h,5),e.categoryDenylist!==void 0?Ei(this.h,6,e.categoryDenylist):"categoryDenylist"in e&&U(this.h,6),this.l(e)}F(e,t){return this.j={detections:[]},Ye(this,e,t),this.j}G(e,t,r){return this.j={detections:[]},st(this,e,r,t),this.j}m(){var e=new Ne;q(e,"input_frame_gpu"),q(e,"norm_rect"),B(e,"detections");const t=new Se;rt(t,Lu,this.h);const r=new ve;Ae(r,2,"mediapipe.tasks.vision.ObjectDetectorGraph"),$(r,"IMAGE:input_frame_gpu"),$(r,"NORM_RECT:norm_rect"),L(r,"DETECTIONS:detections"),r.o(t),Ge(e,r),this.g.attachProtoVectorListener("detections",(i,n)=>{for(const s of i)i=$a(s),this.j.detections.push(xc(i));v(this,n)}),this.g.attachEmptyPacketListener("detections",i=>{v(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};We.prototype.detectForVideo=We.prototype.G,We.prototype.detect=We.prototype.F,We.prototype.setOptions=We.prototype.o,We.createFromModelPath=async function(e,t){return P(We,e,{baseOptions:{modelAssetPath:t}})},We.createFromModelBuffer=function(e,t){return P(We,e,{baseOptions:{modelAssetBuffer:t}})},We.createFromOptions=function(e,t){return P(We,e,t)};var Os=class{constructor(e,t,r){this.landmarks=e,this.worldLandmarks=t,this.segmentationMasks=r}close(){var e;(e=this.segmentationMasks)==null||e.forEach(t=>{t.close()})}};function rl(e){e.landmarks=[],e.worldLandmarks=[],e.segmentationMasks=void 0}function il(e){try{const t=new Os(e.landmarks,e.worldLandmarks,e.segmentationMasks);if(!e.u)return t;e.u(t)}finally{Hi(e)}}Os.prototype.close=Os.prototype.close;var Pe=class extends Ie{constructor(e,t){super(new Ke(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.outputSegmentationMasks=!1,T(e=this.h=new bc,0,1,t=new Q),this.A=new cc,T(this.h,0,3,this.A),this.j=new ac,T(this.h,0,2,this.j),ft(this.j,4,1),k(this.j,2,.5),k(this.A,2,.5),k(this.h,4,.5)}get baseOptions(){return O(this.h,Q,1)}set baseOptions(e){T(this.h,0,1,e)}o(e){return"numPoses"in e&&ft(this.j,4,e.numPoses??1),"minPoseDetectionConfidence"in e&&k(this.j,2,e.minPoseDetectionConfidence??.5),"minTrackingConfidence"in e&&k(this.h,4,e.minTrackingConfidence??.5),"minPosePresenceConfidence"in e&&k(this.A,2,e.minPosePresenceConfidence??.5),"outputSegmentationMasks"in e&&(this.outputSegmentationMasks=e.outputSegmentationMasks??!1),this.l(e)}F(e,t,r){const i=typeof t!="function"?t:{};return this.u=typeof t=="function"?t:r,rl(this),Ye(this,e,i),il(this)}G(e,t,r,i){const n=typeof r!="function"?r:{};return this.u=typeof r=="function"?r:i,rl(this),st(this,e,n,t),il(this)}m(){var e=new Ne;q(e,"image_in"),q(e,"norm_rect"),B(e,"normalized_landmarks"),B(e,"world_landmarks"),B(e,"segmentation_masks");const t=new Se;rt(t,Mu,this.h);const r=new ve;Ae(r,2,"mediapipe.tasks.vision.pose_landmarker.PoseLandmarkerGraph"),$(r,"IMAGE:image_in"),$(r,"NORM_RECT:norm_rect"),L(r,"NORM_LANDMARKS:normalized_landmarks"),L(r,"WORLD_LANDMARKS:world_landmarks"),r.o(t),Ge(e,r),zi(this,e),this.g.attachProtoVectorListener("normalized_landmarks",(i,n)=>{this.landmarks=[];for(const s of i)i=ei(s),this.landmarks.push(Wi(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(const s of i)i=xr(s),this.worldLandmarks.push(ti(i));v(this,n)}),this.g.attachEmptyPacketListener("world_landmarks",i=>{this.worldLandmarks=[],v(this,i)}),this.outputSegmentationMasks&&(L(r,"SEGMENTATION_MASK:segmentation_masks"),_r(this,"segmentation_masks"),this.g.aa("segmentation_masks",(i,n)=>{this.segmentationMasks=i.map(s=>Tr(this,s,!0,!this.u)),v(this,n)}),this.g.attachEmptyPacketListener("segmentation_masks",i=>{this.segmentationMasks=[],v(this,i)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Pe.prototype.detectForVideo=Pe.prototype.G,Pe.prototype.detect=Pe.prototype.F,Pe.prototype.setOptions=Pe.prototype.o,Pe.createFromModelPath=function(e,t){return P(Pe,e,{baseOptions:{modelAssetPath:t}})},Pe.createFromModelBuffer=function(e,t){return P(Pe,e,{baseOptions:{modelAssetBuffer:t}})},Pe.createFromOptions=function(e,t){return P(Pe,e,t)},Pe.POSE_CONNECTIONS=Jc;const Yi="https://storage.googleapis.com/mediapipe-models/face_landmarker/face_landmarker/float16/latest/face_landmarker.task",Wu="https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@latest/wasm",$u=()=>{const e=u.useRef(null),[t,r]=u.useState(!1),[i,n]=u.useState("Initializing..."),[s,a]=u.useState(0),[c,l]=u.useState(!1);u.useEffect(()=>{"serviceWorker"in navigator&&navigator.serviceWorker.register("/sw.js").then(w=>{console.log("ServiceWorker registered:",w)}).catch(w=>{console.log("ServiceWorker registration failed:",w)})},[]);const h=async()=>"caches"in window?await(await caches.open("mediapipe-models-v1")).match(Yi)!==void 0:!1,d=async()=>{try{const w=await fetch(Yi),g=w.headers.get("content-length"),p=g?parseInt(g,10):0;if(!w.body)throw new Error("No response body");const b=w.body.getReader();let y=0;const m=[];for(;;){const{done:A,value:S}=await b.read();if(A)break;if(m.push(S),y+=S.length,p){const N=Math.round(y/p*100);a(N),n(`Downloading model... ${N}%`)}}return"caches"in window&&await(await caches.open("mediapipe-models-v1")).put(Yi,new Response(new Blob(m),{headers:{"Content-Type":"application/octet-stream"}})),!0}catch(w){return console.error("Failed to preload model:",w),!1}};return u.useEffect(()=>{(async()=>{try{n("Checking cached models..."),await h()?n("Using cached model..."):(n("Model not cached. Downloading..."),await d()),n("Loading MediaPipe WASM...");const p=await Kt.forVisionTasks(Wu);n("Creating face landmarker...");const b=await K.createFromOptions(p,{baseOptions:{modelAssetPath:Yi,delegate:"GPU"},runningMode:"VIDEO",outputFaceBlendshapes:!0,numFaces:2});e.current=b,r(!0),n("Model loaded successfully ✅")}catch(g){console.error("Model init error:",g),n(`Error: ${g==null?void 0:g.message}`),(g==null?void 0:g.name)==="NotAllowedError"&&l(!0)}})()},[]),{faceLandmarkerRef:e,isModelLoaded:t,statusMessage:i,setStatusMessage:n,loadingProgress:s,permissionDenied:c,clearCache:async()=>{"caches"in window&&(await caches.delete("mediapipe-models-v1"),n("Cache cleared. Please refresh to re-download models."))}}},zu=()=>{const[e,t]=u.useState(0),r=u.useRef({lastTime:0,frames:0,fps:0}),i=u.useCallback(()=>{const n=performance.now(),s=r.current;if(s.frames++,n-s.lastTime>=1e3){const a=Math.round(s.frames*1e3/(n-s.lastTime));t(a),s.frames=0,s.lastTime=n}},[]);return{fps:e,updateFPS:i}},Hu=()=>{const e=u.useRef({value:100,isLookingAway:!1}),t=u.useCallback((s,a,c,l)=>{if(!s||!c||!a)return;const h=s.getContext("2d");if(!h)return;const{width:d,height:f}=s;if(h.clearRect(0,0,d,f),h.drawImage(a,0,0,d,f),l){h.fillStyle="#00FF00";for(const w of c)h.fillRect(w.x*d-.5,w.y*f-.5,1,1)}},[]),r=u.useCallback(s=>{const a=e.current.value/100,c=100,l=20,h=20,d=40;s.fillStyle="rgba(0, 0, 0, 0.3)",s.fillRect(h,d,l,c),s.fillStyle=`rgba(${Math.floor(255*(1-a))}, ${Math.floor(255*a)}, 0, 0.8)`;const f=c*a;s.fillRect(h,d+c-f,l,f),s.fillStyle="#FFFFFF",s.fillRect(h,d+c*(1-a),l,2)},[]),i=u.useCallback((s,a,c,l,h,d,f)=>{if(t(s,a,c,l),h&&d&&f){const w=s.getContext("2d");w&&r(w)}},[t,r]),n=u.useCallback((s,a)=>{const c=s.getContext("2d");c&&(c.clearRect(0,0,s.width,s.height),c.drawImage(a,0,0,s.width,s.height))},[]);return{drawLandmarks:t,drawEngagementBar:r,drawWithEngagementBar:i,clearCanvas:n,engagementRef:e}},qu=50,Ku=()=>{const[e,t]=u.useState(100),[r,i]=u.useState(!1),n=u.useRef(0),s=u.useCallback((a,c,l)=>{if(!l||a.length<468)return;const h=a[33],d=a[263],f=a[1];if(!h||!d||!f)return;const w=(h.x+d.x)*.5,g=(h.y+d.y)*.5,p=w-c.x,b=g-c.y,y=Math.sqrt(p*p+b*b),m=Math.abs(f.y-c.noseY)*100,A=Math.abs(f.x-c.noseX)*100,S=Math.max(0,100-(y*200+m+A)),N=S<qu,G=performance.now();return G-n.current>100&&(t(S),i(N),n.current=G),{engagement:S,isLookingAway:N}},[]);return{engagement:e,isLookingAway:r,analyzeGaze:s,setEngagement:t,setIsLookingAway:i}},Yu=.05,Xu=()=>{const[e,t]=u.useState(!1),[r,i]=u.useState(!1),n=u.useCallback((c,l)=>Math.sqrt(Math.pow(c.x-l.x,2)+Math.pow(c.y-l.y,2)),[]),s=u.useCallback((c,l)=>{if(!c||!l)return 0;const h=[1,33,263,61,291,10,152];let d=0,f=0;const w=l[33],g=l[263],p=c[33],b=c[263];if(!w||!g||!p||!b)return 0;const y=n(w,g),m=n(p,b);if(y===0||m===0)return 0;for(const S of h){const N=l[S],G=c[S];if(N&&G){const F=w.x+(G.x-p.x)*y/m,Y=w.y+(G.y-p.y)*y/m;d+=n(N,{x:F,y:Y}),f++}}return f===0?0:d/f},[n]),a=u.useCallback((c,l,h,d)=>{if(!c.faceLandmarks||c.faceLandmarks.length===0)return d("Face not detected."),i(!0),t(!1),null;if(l&&h){let f=null,w=0;for(const g of c.faceLandmarks)s(g,h)<Yu&&(f=g,w++);return w===1?(t(!1),i(!1),d("Reference face tracked."),f):w>1?(t(!0),i(!1),d("Multiple matching faces detected. Tracking suspended."),null):(t(!1),i(!0),d("Reference face not detected."),null)}else{const f=c.faceLandmarks[0];if(c.faceLandmarks.length>1)return t(!0),i(!1),d("Multiple faces detected. Please ensure only you are visible."),null;if(!f)return i(!0),t(!1),d("Face not detected."),null;const g=f[1],p=f[33],b=f[263];return g&&p&&b&&g.x>.35&&g.x<.65&&g.y>.3&&g.y<.7&&p.x>.2&&p.x<.8&&b.x>.2&&b.x<.8?(i(!1),t(!1),d("Face detected. Ready for calibration."),f):(i(!0),t(!1),d("Please position your face in the center."),null)}},[s]);return{multipleFacesDetected:e,referenceFaceNotDetected:r,analyzeFace:a,setMultipleFacesDetected:t,setReferenceFaceNotDetected:i}},Qu=1e3,Ju=(e,t)=>{const[r,i]=u.useState(!1),[n,s]=u.useState("face_detected"),{incrementGazeViolation:a}=qs(),{multipleFacesDetected:c,referenceFaceNotDetected:l,isLookingAway:h}=e;u.useEffect(()=>{let w;return(h||c||l)&&t?w=setTimeout(()=>{i(!0),h?(s("looking_away"),a("looking_away")):c?(s("multiple_faces"),a("multiple_faces")):l&&(s("no_face_detected"),a("no_face_detected"))},Qu):(i(!1),s("face_detected")),()=>{clearTimeout(w)}},[h,c,l,t,a]);const d=u.useCallback(()=>c?"multiple_faces":l?"no_face_detected":h?"looking_away":"face_detected",[c,l,h]),f=u.useCallback(()=>{i(!1),s("face_detected")},[]);return{showGazeWarningModal:r,faceDetectionState:n,getWarningType:d,closeWarningModal:f,setShowGazeWarningModal:i,setFaceDetectionState:s}};class J extends Error{constructor(t,r,i=!1){super(t),this.code=r,this.recoverable=i,this.name="STTError"}}class Zu{constructor(t={}){Oe(this,"config");Oe(this,"mediaRecorder",null);Oe(this,"audioChunks",[]);Oe(this,"recordingStream",null);Oe(this,"autoStopTimeoutId",null);this.config={baseUrl:"http://localhost:8000",provider:"groq",model:"whisper-large-v3-turbo",language:"en",includeTimestamps:!1,temperature:0,...t}}updateConfig(t){this.config={...this.config,...t}}isRecordingSupported(){return!!(navigator.mediaDevices&&typeof navigator.mediaDevices.getUserMedia=="function"&&window.MediaRecorder)}async startRecording(t,r){var i;if(!this.isRecordingSupported())throw new J("Audio recording is not supported in this browser","RECORDING_NOT_SUPPORTED",!1);if(this.isRecording())throw new J("Recording is already in progress","ALREADY_RECORDING",!0);try{this.recordingStream=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,sampleRate:44100}}),this.audioChunks=[];const n=this.getSupportedMimeType();this.mediaRecorder=new MediaRecorder(this.recordingStream,{mimeType:n}),this.mediaRecorder.ondataavailable=s=>{var a;s.data.size>0&&(this.audioChunks.push(s.data),(a=r==null?void 0:r.onDataAvailable)==null||a.call(r,s.data))},this.mediaRecorder.onstop=()=>{var s;(s=r==null?void 0:r.onStop)==null||s.call(r)},this.mediaRecorder.onerror=s=>{var c;const a=new J(`Recording failed: ${s.error}`,"RECORDING_ERROR",!0);(c=r==null?void 0:r.onError)==null||c.call(r,a),this.cleanup()},this.mediaRecorder.start(100),(i=r==null?void 0:r.onStart)==null||i.call(r),t&&t>0&&(this.autoStopTimeoutId=setTimeout(()=>{this.isRecording()&&this.stopRecording()},t*1e3))}catch(n){if(this.cleanup(),n instanceof Error){if(n.name==="NotAllowedError"||n.name==="PermissionDeniedError")throw new J("Microphone permission was denied","PERMISSION_DENIED",!1);if(n.name==="NotFoundError")throw new J("No microphone found","NO_MICROPHONE",!1)}throw new J(`Failed to start recording: ${n instanceof Error?n.message:String(n)}`,"START_RECORDING_FAILED",!0)}}async stopRecording(){if(this.autoStopTimeoutId&&(clearTimeout(this.autoStopTimeoutId),this.autoStopTimeoutId=null),!this.mediaRecorder||!this.isRecording())throw new J("No active recording to stop","NO_ACTIVE_RECORDING",!1);return new Promise((t,r)=>{if(!this.mediaRecorder){r(new J("MediaRecorder is null","MEDIARECORDER_NULL",!1));return}const i=this.mediaRecorder,n=()=>{try{const s=i.mimeType||"audio/webm",a=new Blob(this.audioChunks,{type:s});this.cleanup(),t(a)}catch(s){r(new J(`Failed to create audio blob: ${s instanceof Error?s.message:String(s)}`,"BLOB_CREATION_FAILED",!1))}};i.addEventListener("stop",n,{once:!0}),i.stop()})}async transcribe(t){const{audioBlob:r}=t;if(!r||r.size===0)throw new J("Audio blob is empty or invalid","INVALID_AUDIO",!1);try{const i=new FormData,n=new File([r],"recording.wav",{type:r.type||"audio/wav"});if(i.append("file",n),i.append("qna_id",this.config.qnaId||""),!this.config.interviewId)throw new J("Interview ID is missing from configuration","MISSING_INTERVIEW_ID",!1);const s=await mt(`${this.config.baseUrl}${bt.TRANSCRIBE_ANSWER(this.config.interviewId)}`,{method:"POST",headers:{accept:"application/json","X-STT-Provider":this.config.provider||"groq",...this.config.authToken&&{Authorization:`Bearer ${this.config.authToken}`}},body:i},{attempts:1,backoff:"exponential",baseDelay:1e3,maxDelay:3e3,jitter:!0});if(!s.ok){const c=await s.text();let l=`STT request failed: ${s.status} ${s.statusText}`;try{const h=JSON.parse(c);l=h.message||h.error||l}catch{l=c||l}throw new J(l,`HTTP_${s.status}`,s.status>=500)}return{transcript:(await s.json()).data.transcribed_text??""}}catch(i){throw i instanceof J?i:new J(`Transcription failed: ${i instanceof Error?i.message:String(i)}`,"TRANSCRIPTION_FAILED",!0)}}cancelRecording(){this.autoStopTimeoutId&&(clearTimeout(this.autoStopTimeoutId),this.autoStopTimeoutId=null),this.mediaRecorder&&this.isRecording()&&this.mediaRecorder.stop(),this.cleanup()}isRecording(){return this.mediaRecorder!==null&&this.mediaRecorder.state==="recording"}getSupportedMimeType(){const t=["audio/webm","audio/webm;codecs=opus","audio/ogg;codecs=opus","audio/mp4","audio/wav"];for(const r of t)if(MediaRecorder.isTypeSupported(r))return r;return"audio/webm"}getRecordingStream(){return this.recordingStream}cleanup(){this.recordingStream&&(this.recordingStream.getTracks().forEach(t=>t.stop()),this.recordingStream=null),this.mediaRecorder=null,this.audioChunks=[],this.autoStopTimeoutId&&(clearTimeout(this.autoStopTimeoutId),this.autoStopTimeoutId=null)}}const Ar=new Zu,Ru=(e,t,r,i)=>{const n=u.useRef(null);return u.useEffect(()=>{if(!t)return;const s=async()=>{try{const l=await navigator.mediaDevices.getUserMedia({video:{width:{ideal:640},height:{ideal:480},facingMode:"user"}});e.current&&(e.current.srcObject=l,e.current.onloadeddata=()=>{r()})}catch(l){console.error("Camera access error:",l),i("Camera access failed")}},a=n.current,c=e.current;return s(),()=>{a&&cancelAnimationFrame(a),c!=null&&c.srcObject&&c.srcObject.getTracks().forEach(h=>h.stop())}},[t,r]),u.useEffect(()=>{const s=Ar.getRecordingStream();if(s&&e.current){e.current.srcObject=s;const a=s.getVideoTracks(),c=s.getAudioTracks(),l=()=>{console.log("Media track ended - permission may have been revoked")};[...a,...c].forEach(h=>{h.addEventListener("ended",l)})}},[]),{animationFrameRef:n}},e2=(e,t,r,i,n,s,a,c,l,h,d,f,w,g,p)=>{const b=u.useRef(null),y=u.useCallback(()=>{const m=e.current,A=t.current,S=r.current;if(!m||m.readyState<2||!S||!A){b.current=requestAnimationFrame(y);return}i();try{const N=performance.now(),G=S.detectForVideo(m,N),F=n(G,l,h.current,g);F?(s(A,m,F,d,f,w,l),l&&w&&c(F,h.current,w)):a(A,m)}catch(N){console.error("Face detection error:",N)}b.current=requestAnimationFrame(y)},[e,t,r,i,n,s,a,c,l,h,d,f,w,g,p]);return{renderLoop:y,animationFrameRef:b}},t2=(e,t,r,i)=>{const{referenceSet:n,referenceRef:s,setReferenceData:a}=qs(),c=u.useRef(s),l=u.useCallback(()=>{c.current=s},[s]),h=u.useCallback(()=>{var g;const f=e.current,w=t.current;if(console.log({faceLandmarker:f,video:w}),!(!f||!w))try{const p=performance.now(),b=f.detectForVideo(w,p);if((g=b.faceLandmarks)!=null&&g[0]){const y=b.faceLandmarks[0],m=y[33],A=y[263],S=y[1];m&&A&&S&&(c.current={x:(m.x+A.x)*.5,y:(m.y+A.y)*.5,noseX:S.x,noseY:S.y},a(!0,c.current),r("Reference set. Gaze tracking active."),console.log("Reference set. Gaze tracking active.",c.current),i&&i())}}catch(p){console.error("Set reference error:",p),r("Failed to set reference")}},[e,t,r,a,i]),d=u.useCallback(()=>{a(!1,{x:0,y:0,noseX:0,noseY:0}),r("Reference reset. Starting calibration...")},[a,r]);return{referenceSet:n,referenceRef:c,setReference:h,resetReference:d,syncReference:l}},Cr={FACE_DETECTED:"face_detected",NO_FACE:"no_face_detected",MULTIPLE_FACES:"multiple_faces",LOOKING_AWAY:"looking_away",CAMERA_ERROR:"camera_error",MODEL_LOADING:"model_loading"},nl={[Cr.FACE_DETECTED]:{icon:Yl,iconColor:"iw-text-green-600",iconBg:"iw-bg-green-50",iconBorder:"iw-border-green-100",title:"All Good",subtitle:"Everything looks normal",description:"Your gaze is properly focused on the screen. Continue with your interview.",buttonText:"Continue"},[Cr.NO_FACE]:{icon:Kl,iconColor:"iw-text-orange-600",iconBg:"iw-bg-orange-50",iconBorder:"iw-border-orange-100",title:"Face Not Detected",subtitle:"We can't see you in the camera",description:"Please ensure you're positioned properly in front of the camera and that your face is clearly visible.",buttonText:"I Understood"},[Cr.MULTIPLE_FACES]:{icon:Zl,iconColor:"iw-text-red-600",iconBg:"iw-bg-red-50",iconBorder:"iw-border-red-100",title:"Multiple People Detected",subtitle:"More than one person is visible on the screen.",buttonText:"I Understood"},[Cr.LOOKING_AWAY]:{icon:Rs,iconColor:"iw-text-amber-600",iconBg:"iw-bg-amber-50",iconBorder:"iw-border-amber-200/75",title:"Focus Alert",subtitle:"You looked away from the screen. Maintain focus to continue.",buttonText:"I Understood"},[Cr.CAMERA_ERROR]:{icon:un,iconColor:"iw-text-red-600",iconBg:"iw-bg-red-50",iconBorder:"iw-border-red-100",title:"Camera Issue",subtitle:"There's a problem with your camera",description:"Please check your camera connection and permissions, contact support if the problem continues.",buttonText:"I Understood"},[Cr.MODEL_LOADING]:{icon:Rs,iconColor:"iw-text-blue-600",iconBg:"iw-bg-blue-50",iconBorder:"iw-border-blue-100",title:"Initializing Model",subtitle:"Please wait while we set up the AI",description:"The face detection model is being loaded. This should only take a moment.",buttonText:"Wait"}};function r2({onClose:e,warningType:t,isCheatingModalOpen:r=!1}){const i=nl[t],n=i.icon;return t==="face_detected"?null:o.jsx("div",{className:"iw-absolute iw-left-4 iw-right-4 md:iw-right-auto md:iw-w-[480px] iw-z-50 iw-animate-in iw-fade-in iw-slide-in-from-bottom-4 iw-duration-300 iw-transition-all",style:{bottom:r?"280px":"5rem"},children:o.jsxs("div",{className:"iw-relative iw-overflow-hidden iw-rounded-xl iw-border iw-border-dashed iw-border-[#5C6686] iw-bg-[#F1F5FE] iw-p-4 iw-shadow-2xl iw-backdrop-blur-sm",children:[o.jsx("button",{onClick:e,className:"iw-absolute iw-right-3 iw-top-3 iw-text-gray-400 iw-transition-colors iw-hover:iw-text-gray-600",children:o.jsx(Or,{className:"iw-h-5 iw-w-5"})}),o.jsxs("div",{className:"iw-flex iw-items-start iw-gap-2",children:[o.jsx("div",{className:"iw-flex iw-size-8 iw-flex-shrink-0 iw-items-center iw-justify-center iw-rounded-full iw-border iw-border-[#5C6686]",children:o.jsx(n,{className:"iw-size-6 iw-text-[#5C6686]"})}),o.jsxs("div",{className:"iw-flex-1 iw-pt-0.5",children:[o.jsx("h2",{className:"iw-text-[20px] iw-font-semibold iw-leading-tight iw-text-[#062260] iw-pr-6",children:i.title}),o.jsx("p",{className:"iw-mt-1.5 iw-text-lg iw-text-[#5C6686]",children:i.subtitle}),i.description&&o.jsx("div",{className:"iw-mt-3 iw-border-t iw-border-dashed iw-border-[#5C6686] iw-pt-3",children:o.jsx("p",{className:"iw-text-[14px] iw-font-bold iw-text-[#062260]",children:i.description})})]})]})]})})}const i2=({status:e})=>{const t=nl[e];if(!t)return null;const r=e!=="face_detected";return o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-gap-0.5",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-2 iw-px-3 iw-py-1 iw-rounded-full iw-backdrop-blur-md iw-shadow-sm transition-colors duration-300 iw-text-white",children:[o.jsx("div",{className:`iw-flex iw-h-4 iw-w-4 iw-items-center iw-size-2.5 iw-justify-center iw-rounded-full iw-text-white ${e==="face_detected"?"iw-bg-[#22C55E]":e==="model_loading"?"iw-bg-[#062260]":"iw-bg-[#E94315]"}`,children:e==="face_detected"?o.jsx(hn,{}):e==="model_loading"?o.jsx("div",{className:"iw-animate-spin iw-border iw-border-white iw-border-t-transparent iw-rounded-full iw-w-2 iw-h-2"}):o.jsx(Or,{})}),o.jsx("span",{className:"iw-text-sm iw-font-medium",children:e==="face_detected"?"Face detected clearly":t.title})]}),r&&o.jsx("span",{className:"iw-text-white iw-text-center iw-text-xs iw-drop-shadow-sm iw-max-w-[400px] iw-px-3",children:e==="model_loading"?"Initializing AI models. Please wait...":e==="no_face_detected"?"Face not detected. Please position yourself clearly in the frame.":e==="multiple_faces"?"Multiple faces detected. Please ensure only you are visible.":"Please position your face correctly."})]})},sl=u.forwardRef(({className:e="",interviewId:t="",interview_duration:r,showProctoringUI:i=!0,onSetReference:n,isAnswering:s,onProctoringStatusChange:a,showStatusOverlay:c=!1,cheatingWarningVisible:l=!1},h)=>{var El;const{authToken:d}=Xs(),f=d?jl(d):null,{borderRadius:w}=Qt(),g=w??18,{proctoring:p,capture_screenshots:b}=cn(),y=!!(p!=null&&p.gazeAnalysisEnabled),[m,A]=u.useState(!1),[S,N]=u.useState((p==null?void 0:p.showLandmarks)??!1),[G,F]=u.useState(i&&((p==null?void 0:p.showEngagementBar)??!0)),[Y,ae]=u.useState(y),[C,j]=u.useState(!1),we=u.useRef(null),Yt=u.useRef(null),$e=u.useRef(null),Ee=u.useRef(null),at=u.useCallback(async pe=>{var tn;const ai=we.current,ye=$e.current;if(!ai||!ye)return;const Mr=ye.getContext("2d");if(!Mr)return;ye.width=ai.videoWidth,ye.height=ai.videoHeight,Mr.save(),Mr.scale(-1,1),Mr.drawImage(ai,-ye.width,0,ye.width,ye.height),Mr.restore();const ci=await new Promise(Xt=>ye.toBlob(Xt,"image/jpeg"));if(ci&&t)try{const Xt=`${pe}-${Date.now()}.jpeg`,be=await ui.requestScreenshotUploadUrl(t,Xt);be.data&&be.data.upload_url&&(await ui.uploadScreenshot((tn=be==null?void 0:be.data)==null?void 0:tn.upload_url,ci),be.data.asset_id&&await ui.confirmScreenshotUpload(be.data.asset_id))}catch(Xt){console.error(`Failed to upload screenshot for ${pe}:`,Xt)}},[ui,t]);u.useEffect(()=>{let pe;return s&&(j(!0),pe=setTimeout(()=>j(!1),1e3)),()=>{pe&&clearTimeout(pe)}},[s]);const{faceLandmarkerRef:St,isModelLoaded:pt,statusMessage:Nt,setStatusMessage:Xe,loadingProgress:It,permissionDenied:ct,clearCache:Sr}=$u(),{fps:Ft,updateFPS:ii}=zu(),{drawWithEngagementBar:Nr,clearCanvas:De,engagementRef:ze}=Hu(),{engagement:X,isLookingAway:Qe,analyzeGaze:Ji,setEngagement:Zi,setIsLookingAway:Ir}=Ku(),{multipleFacesDetected:ni,referenceFaceNotDetected:si,analyzeFace:js,setMultipleFacesDetected:Fr,setReferenceFaceNotDetected:Lr}=Xu(),{referenceSet:oi,referenceRef:I,setReference:M,resetReference:lt,syncReference:Ri}=t2(St,we,Xe,n),J2={multipleFacesDetected:ni,referenceFaceNotDetected:si,isLookingAway:Qe},{showGazeWarningModal:yl,getWarningType:en,closeWarningModal:bl,setShowGazeWarningModal:vl,setFaceDetectionState:xl}=Ju(J2,y&&!c);u.useEffect(()=>{if(a){if(!pt){a("model_loading");return}const pe=en()||"face_detected";a(pe)}},[pt,ni,si,Qe,en,a]);const{renderLoop:Z2}=e2(we,Yt,St,ii,js,Nr,De,Ji,oi,I,S,G,y,Xe,Lr);Ru(we,pt,Z2,Xe),u.useEffect(()=>{Ri()},[Ri]),u.useEffect(()=>{ze&&ze.current&&(ze.current.value=X,ze.current.isLookingAway=Qe)},[X,Qe,ze]);const R2=u.useCallback(pe=>{ae(pe),pe||(Zi(100),Ir(!1))},[Zi,Ir]),e1=u.useCallback(()=>{Ir(!1),Fr(!1),Lr(!1),xl("face_detected"),vl(!1),bl()},[Ir,Fr,Lr,xl,vl,bl]),t1={engagement:X,fps:Ft,isLookingAway:Qe,multipleFacesDetected:ni,referenceFaceNotDetected:si};return u.useEffect(()=>{if(!b)return;const pe=[];return(async()=>{try{const ye=await navigator.mediaDevices.getUserMedia({video:!0,audio:!1});Ee.current=ye,we.current&&(we.current.srcObject=ye);const ci=(r??li)*60*1e3/3,tn=[0,1,2].map((be,Lt)=>({label:`capture-${Lt+1}`,start:Lt*ci,end:(Lt+1)*ci})),Xt=(be,Lt)=>be===Lt?be:Math.random()*(Lt-be)+be;tn.forEach(({label:be,start:Lt,end:r1},i1)=>{let Ws;i1===0?Ws=3e3:Ws=Xt(Lt,r1),pe.push(setTimeout(()=>{at(be)},Ws))})}catch(ye){console.error("Error accessing camera:",ye)}})(),()=>{Ee.current&&Ee.current.getTracks().forEach(ye=>ye.stop()),pe.forEach(clearTimeout)}},[at,b]),u.useImperativeHandle(h,()=>({setReference:()=>{M()},resetReference:()=>{lt()},stopCamera:()=>{Ee.current&&(Ee.current.getTracks().forEach(pe=>pe.stop()),Ee.current=null)}}),[M,lt]),o.jsxs("div",{className:`iw-relative iw-h-full iw-w-full ${e}`,children:[ct?o.jsxs("div",{className:"iw-rounded-md iw-border iw-border-red-600 iw-p-5 iw-text-red-600",children:[o.jsx("h2",{children:"Camera Permission Denied"}),o.jsx("p",{children:"Please allow camera access to use this application."})]}):o.jsx("div",{className:"iw-flex iw-w-full iw-h-full iw-justify-start iw-items-start",children:o.jsxs("div",{className:`iw-relative iw-max-w-full iw-max-h-full iw-aspect-video iw-rounded-2xl iw-overflow-hidden iw-bg-black ${C?"iw-animate-answer-start":""} ${s?"iw-border-4 iw-border-[#6296FB]":""}`,style:{width:"100%",height:"auto",minHeight:"0"},children:[o.jsx("video",{ref:we,autoPlay:!0,playsInline:!0,muted:!0,className:"iw-absolute iw-inset-0 iw-w-full iw-h-full iw-object-cover",style:{transform:"scaleX(-1)"}}),y&&o.jsx("canvas",{ref:Yt,width:320,height:240,className:"iw-absolute iw-inset-0 iw-w-full iw-h-full iw-object-cover",style:{transform:"scaleX(-1)",borderRadius:g,display:"hidden"}}),o.jsx("canvas",{ref:$e,style:{display:"none"}}),i&&o.jsxs("div",{className:"iw-absolute iw-top-4 iw-right-4 iw-inline-flex iw-items-center iw-gap-2 iw-rounded-lg iw-border iw-border-white/10 iw-bg-[#FFEBE6] iw-px-2 iw-py-1 iw-backdrop-blur-md",children:[o.jsx("div",{className:"iw-size-2 iw-animate-pulse iw-rounded-full iw-bg-red-500"}),o.jsx("span",{className:"iw-font-medium iw-text-xs iw-text-[#E94315]",children:"RECORDING"})]}),i&&((El=f==null?void 0:f.data)==null?void 0:El.user_name)&&o.jsx("div",{className:"iw-absolute iw-z-50 iw-bottom-4 iw-right-4 iw-inline-flex iw-items-center iw-gap-2 iw-rounded-lg iw-border iw-border-white/10 iw-bg-[#F1F5FE] iw-px-3 iw-py-1 iw-backdrop-blur-md",children:o.jsx("span",{className:"iw-font-medium iw-text-xs iw-text-[#062260]",children:f.data.user_name})}),i&&o.jsx("div",{className:"iw-absolute iw-bottom-4 iw-right-4",children:o.jsx(td,{showControls:(p==null?void 0:p.showControls)??!1,isBubbleOpen:m,setIsBubbleOpen:A,setReference:M,clearCache:Sr,isModelLoaded:pt,gazeAnalysisEnabled:Y&&y,referenceSet:oi,showLandmarks:S,setShowLandmarks:N,showEngagementBar:G,setShowEngagementBar:F,handleToggleGazeAnalysis:R2,stats:t1,statusMessage:Nt,loadingProgress:It})}),c&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"iw-absolute iw-inset-0 iw-pointer-events-none iw-z-10 ",style:{background:"radial-gradient(ellipse 20% 40% at 50% 45%, transparent 99.5%, rgba(0,0,0,0.35) 100%)"}}),o.jsx("div",{className:"iw-absolute iw-bottom-2 iw-inset-x-0 iw-flex iw-justify-center iw-pointer-events-none iw-z-20",children:o.jsx(i2,{status:en()??"face_detected"})})]})]})}),y&&yl&&!c&&o.jsx(r2,{isOpen:yl,onClose:e1,warningType:en(),isCheatingModalOpen:l})]})}),Xi=({children:e,variant:t="primary",size:r="md",fullWidth:i=!1,isLoading:n=!1,disabled:s,className:a="",...c})=>{const l="iw-inline-flex iw-items-center iw-justify-center iw-rounded-md iw-font-medium iw-transition-colors iw-focus:outline-none iw-focus:ring-2 iw-focus:ring-primary-500 iw-focus:ring-offset-2",h={primary:"iw-bg-primary-600 iw-text-white iw-hover:bg-primary-700 iw-border iw-border-transparent",secondary:"iw-bg-primary-100 iw-text-primary-700 iw-hover:bg-primary-200 iw-border iw-border-transparent",outline:"iw-bg-transparent iw-text-primary-700 iw-border iw-border-primary-500 iw-hover:bg-primary-50",text:"iw-bg-transparent iw-text-primary-600 iw-hover:bg-primary-50 iw-border iw-border-transparent",gradient:"iw-text-white iw-border iw-border-transparent iw-bg-gradient-to-r iw-from-purple-500 iw-to-indigo-500 hover:iw-from-purple-600 hover:iw-to-indigo-600"},d={sm:"iw-px-3 iw-py-1.5 iw-text-sm",md:"iw-px-4 iw-py-2.5 iw-text-sm",lg:"iw-px-5 iw-py-3 iw-text-base"},f="iw-disabled:opacity-50 iw-disabled:cursor-not-allowed iw-disabled:pointer-events-none",w=i?"iw-w-full":"";return o.jsxs("button",{className:`${l} ${h[t]} ${d[r]} ${w} ${f} ${a}`,disabled:s||n,...c,children:[n&&o.jsx(Zs,{height:16,width:16,style:{marginRight:"3px"}}),e]})},ol=({enabled:e,OnIcon:t,OffIcon:r,label:i})=>{const{baseColor:n}=Qt();return o.jsxs("div",{className:"iw-relative iw-group",children:[o.jsx("div",{className:"iw-flex iw-h-12 iw-w-16 iw-items-center iw-justify-center iw-rounded-xl iw-border iw-transition-all iw-border-[#E7EAF1] iw-bg-white iw-text-[#062260]",children:e?o.jsx(t,{className:"iw-h-6 iw-w-6"}):o.jsx(r,{className:"iw-h-6 iw-w-6"})}),e?o.jsx("div",{className:"iw-absolute -iw-right-1 -iw-top-1 iw-flex iw-h-4 iw-w-4 iw-items-center iw-justify-center iw-rounded-full iw-bg-[#22C55E] iw-text-white",children:o.jsx(hn,{className:"iw-h-2.5 iw-w-2.5"})}):o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"iw-absolute -iw-right-2 -iw-top-2 iw-z-10",children:o.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[o.jsx("path",{d:"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z",fill:"#E94315"}),o.jsx("circle",{cx:"12",cy:"10",r:"1.5",fill:"white"}),o.jsx("rect",{x:"11",y:"13",width:"2",height:"5",rx:"0.5",fill:"white"})]})}),o.jsx("div",{className:"iw-hidden group-hover:iw-block iw-absolute iw-bottom-full iw-mb-3 iw-left-1/2 -iw-translate-x-1/2 iw-w-64 iw-z-50",children:o.jsxs("div",{className:"iw-rounded-lg iw-p-3 iw-shadow-lg iw-text-white iw-text-left iw-relative",style:{background:n},children:[o.jsxs("div",{className:"iw-flex iw-justify-between iw-items-start iw-mb-1",children:[o.jsx("h4",{className:"iw-text-sm iw-font-bold iw-mr-2",children:i}),o.jsx(Or,{className:"iw-w-4 iw-h-4 iw-text-white/70 hover:iw-text-white iw-cursor-pointer iw-shrink-0"})]}),o.jsx("p",{className:"iw-text-xs iw-opacity-90 iw-leading-tight",children:"We need permission to access your device. Go to your privacy settings to allow it"}),o.jsx("div",{className:"iw-absolute iw-top-full iw-left-1/2 -iw-translate-x-1/2 -iw-mt-1 iw-border-4 iw-border-transparent iw-border-t-[#5865F2]"})]})})]})]})},al=({micEnabled:e=!1,videoEnabled:t=!1,buttonText:r,onButtonClick:i,isAgreed:n,onAgreedToggle:s,showCheckbox:a=!0,showMediaIcons:c=!0,disabled:l=!1})=>{const h=l||!n||c&&(!e||!t);return o.jsxs("div",{className:"iw-flex iw-flex-col iw-gap-6 iw-w-full",children:[a&&o.jsxs("div",{className:"iw-flex iw-items-start iw-gap-3 iw-bg-[#F1F5FE] iw-rounded-xl iw-p-4 iw-border iw-border-[#c2c3c7]",children:[o.jsx("div",{className:`iw-mt-0.5 iw-h-5 iw-w-5 iw-min-w-[20px] iw-rounded iw-border iw-flex iw-items-center iw-justify-center iw-cursor-pointer iw-transition-colors ${n?"iw-bg-[#062260] iw-border-[#062260]":"iw-bg-white iw-border-[#062260]"}`,onClick:d=>{d.stopPropagation(),s(!n)},children:n&&o.jsx(hn,{className:"iw-size-3 iw-text-white"})}),o.jsx("label",{onClick:()=>s(!n),className:"iw-text-sm iw-text-[#062260] iw-font-medium iw-cursor-pointer iw-select-none",children:"By continuing, you acknowledge and consent to the use of your face data exclusively for interview monitoring"})]}),o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-center iw-gap-4",children:[c&&o.jsxs(o.Fragment,{children:[o.jsx(ol,{enabled:e,OnIcon:Ql,OffIcon:Jl,label:"Allow us to access your microphone"}),o.jsx(ol,{enabled:t,OnIcon:Rl,OffIcon:ed,label:"Allow us to access your camera"})]}),o.jsxs("div",{className:"iw-relative iw-group iw-flex-1 iw-max-w-[220px]",children:[o.jsx(Xi,{onClick:i,disabled:h,className:`iw-h-12 iw-w-full !iw-bg-[#F1F5FE] !iw-text-[#062260] !iw-font-bold !iw-border-[#E7EAF1] iw-rounded-lg ${h?"iw-opacity-50":"hover:iw-opacity-75"}`,children:r}),!n&&(!c||e&&t)&&n2()]})]})]})},n2=()=>{const{baseColor:e}=Qt();return o.jsx(o.Fragment,{children:o.jsx("div",{className:"iw-hidden group-hover:iw-block iw-absolute iw-bottom-full iw-mb-3 iw-left-1/5 -iw-translate-x-1/2 iw-w-64 iw-z-50",children:o.jsxs("div",{className:"iw-rounded-lg iw-p-3 iw-shadow-lg iw-text-white iw-text-left iw-relative",style:{background:e},children:[o.jsx("div",{className:"iw-flex iw-justify-between iw-items-start iw-mb-1",children:o.jsx("h4",{className:"iw-text-sm iw-font-bold iw-mr-2",children:"Action Required"})}),o.jsx("p",{className:"iw-text-xs iw-opacity-90 iw-leading-tight",children:"Please check the box to acknowledge and consent to continue."}),o.jsx("div",{className:"iw-absolute iw-top-full iw-left-1/2 -iw-translate-x-1/2 -iw-mt-1 iw-border-4 iw-border-transparent iw-border-t-[#5865F2]"})]})})})},s2=({steps:e,currentStepIndex:t})=>o.jsx("div",{className:"iw-flex iw-items-center iw-justify-center iw-gap-4 iw-w-full iw-py-6",children:e.map((r,i)=>{const n=i<t,s=i===t;return o.jsxs(u.Fragment,{children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-3",children:[o.jsx("div",{className:`iw-flex iw-size-9 iw-text-[#062260] iw-items-center iw-justify-center iw-rounded-full iw-font-semibold iw-border ${s||n?"iw-border-[#0EB00E] iw-bg-[#E9FFE6]":"iw-border-[#BDE0FD] iw-bg-[#E6F3FF]"}`,children:n?o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:o.jsx("polyline",{points:"20 6 9 17 4 12"})}):i+1}),o.jsx("span",{className:`iw-text-sm iw-font-medium ${s||n?"iw-text-[#062260]":"iw-text-[#5C6686]"}`,children:r.label})]}),i<e.length-1&&o.jsx("div",{className:"iw-flex-1 iw-max-w-[120px] iw-border-t iw-border-dotted iw-border-[#B3B9CB]"})]},i)})}),o2=["Don't refresh or reload the page during your assessment","Don't switch tabs or open other applications while session is ongoing","Don't leave your position during the session","Don't disable or interfere with video/audio monitoring"],a2=({isOpen:e,onStart:t,gazeEnabled:r=!1,videoFeedRef:i,interviewId:n="",interview_duration:s=li})=>{const a=u.useRef(null),c=u.useRef(null),[l,h]=u.useState(!1),[d,f]=u.useState(!1),[w,g]=u.useState(0),[p,b]=u.useState(!1),y=u.useRef(null),m=u.useRef(null),A=C=>{y.current=C,i&&(typeof i=="function"?i(C):i.current=C)},S=()=>{c.current&&(c.current.getTracks().forEach(C=>C.stop()),c.current=null)},N=async()=>{try{const C=await navigator.mediaDevices.getUserMedia({video:{facingMode:"user",width:{ideal:1280},height:{ideal:720}},audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,sampleRate:{ideal:48e3},channelCount:{ideal:1}}});c.current=C,a.current&&(a.current.srcObject=C,await a.current.play()),h(!0)}catch(C){console.error("Media permission error:",C);let j="Unable to access camera or microphone.";(C==null?void 0:C.name)==="NotAllowedError"?j="Permissions denied. Please allow access to camera and microphone.":(C==null?void 0:C.name)==="NotFoundError"?j="No camera/microphone found. Please connect a device and retry.":C!=null&&C.message&&(j=C.message),h(!1),console.log(j)}};if(u.useEffect(()=>{if(!e){S();return}return N(),()=>S()},[e]),u.useEffect(()=>()=>{m.current&&(clearInterval(m.current),m.current=null)},[]),!e)return null;const[G,F]=u.useState("face_detected"),Y=async()=>{var j;f(!0),(j=y.current)==null||j.resetReference();const C=()=>{var we;return(we=y.current)==null?void 0:we.setReference()};C(),m.current&&clearInterval(m.current),m.current=setInterval(C,500)},ae=[{label:r?"Calibrate your camera":"Camera & Mic permission"},{label:"Basic guidelines"}];return o.jsx("div",{className:"iw-fixed iw-inset-0 iw-z-50 iw-flex iw-items-center iw-justify-center iw-bg-gray-900/40 iw-backdrop-blur-sm iw-p-4 iw-overflow-auto",children:o.jsxs("div",{className:"iw-w-full iw-max-w-[700px] iw-max-h-[800px] iw-my-6 iw-bg-white iw-rounded-xl iw-shadow-2xl iw-overflow-auto",children:[o.jsxs("div",{className:"iw-px-5 iw-pt-5",children:[o.jsx("h2",{className:"iw-text-[#062260] iw-text-2xl iw-font-medium iw-tracking-tight",children:"Final checks before you go live"}),o.jsx("div",{className:"iw-mt-4 iw-bg-[#F1F5FE] iw-rounded-xl iw-p-3 iw-border iw-border-[#E7EAF1]",children:o.jsx("p",{className:"iw-text-[#5C6686] iw-text-sm iw-leading-relaxed",children:"To ensure the integrity of the interview process, this platform uses your device’s camera to monitor your face and gaze direction. We do not store any outside this session"})}),o.jsx("div",{className:"iw-mt-6 iw-border-b iw-border-dashed iw-border-[#B3B9CB] iw-w-full"}),o.jsx(s2,{steps:ae,currentStepIndex:w})]}),o.jsx("div",{className:"iw-px-5 iw-pb-5 iw-flex iw-flex-col iw-items-center",children:w===0?o.jsxs("div",{className:"iw-w-full iw-flex iw-flex-col iw-items-center iw-gap-6",children:[o.jsx("div",{className:"iw-w-full iw-max-w-[600px] iw-aspect-video iw-bg-slate-100 iw-rounded-2xl iw-overflow-hidden iw-relative iw-border iw-border-slate-200",children:r?o.jsx(sl,{ref:A,interviewId:n,interview_duration:s,showProctoringUI:!1,showStatusOverlay:!0,onProctoringStatusChange:F,onSetReference:()=>{m.current&&(clearInterval(m.current),m.current=null),f(!1),g(1)}}):o.jsx("video",{ref:a,autoPlay:!0,playsInline:!0,muted:!0,className:"iw-w-full iw-h-full iw-object-cover",style:{transform:"scaleX(-1)"}})}),o.jsx(al,{micEnabled:l,videoEnabled:l,buttonText:r?d?"Calibrating...":G==="model_loading"?"Initialising...":"Start calibrate":"Next",onButtonClick:()=>{r?Y():g(1)},disabled:!p||r&&G!=="face_detected"||!r&&!l,isAgreed:p,onAgreedToggle:b})]}):o.jsxs("div",{className:"iw-w-full iw-flex iw-flex-col iw-gap-6",children:[o.jsx("div",{className:"iw-w-full iw-bg-[#F8FAFF] iw-rounded-2xl iw-p-8 iw-flex iw-flex-col iw-gap-5",children:o2.map((C,j)=>o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-4",children:[o.jsx("div",{className:"iw-flex iw-h-7 iw-w-7 iw-min-w-[28px] iw-items-center iw-justify-center iw-rounded-full iw-bg-[#DBEAFE] iw-text-[#062260] iw-text-xs iw-font-bold",children:j+1}),o.jsx("span",{className:"iw-text-[#5C6686] iw-font-medium",children:C})]},j))}),o.jsx(al,{buttonText:"Start interview",onButtonClick:()=>{t(),S()},isAgreed:p,onAgreedToggle:b,showMediaIcons:!1})]})})]})})};var D=(e=>(e.IDLE="idle",e.FETCHING_QUESTION="fetching_question",e.READING_QUESTION="reading_question",e.THINKING="thinking",e.ANSWERING="answering",e.TRANSCRIBING="transcribing",e.EDITING="editing",e.SUBMITTING="submitting",e.COMPLETED="completed",e))(D||{});const cl={thinkingDuration:0,answeringDuration:120,editingDuration:30},ll={idle:{next:"fetching_question"},fetching_question:{next:"reading_question"},reading_question:{next:"answering"},thinking:{next:"answering",duration:0},answering:{next:"transcribing",duration:120},transcribing:{next:"editing"},editing:{next:"submitting",duration:30},submitting:{next:"completed"},completed:{next:"completed"}};class c2{constructor(t={},r={}){Oe(this,"config");Oe(this,"state");Oe(this,"phaseIntervalId",null);Oe(this,"globalIntervalId",null);Oe(this,"callbacks");this.config={...cl,...t},this.callbacks=r,this.state={phase:"idle",currentPhaseTimeRemaining:0,totalTimeElapsed:0,currentQuestionNumber:0}}updateConfig(t){this.config={...this.config,...t}}getState(){return{...this.state}}startQuestion(){this.state.currentQuestionNumber===0&&this.startGlobalTimer(),this.state.currentQuestionNumber=this.state.currentQuestionNumber+1,this.state.phase="fetching_question",this.notifyChange()}nextPhase(){const t=this.state.phase;let r=ll[t];if(!r)return;if(r.next==="editing"&&this.config.editingDuration===0){const n=ll.editing;n&&(r=n)}this.stopPhaseTimer(),this.state.phase=r.next;const i=this.getDurationForPhase(r.next);i>0?(this.state.currentPhaseTimeRemaining=i,this.startPhaseTimer()):this.state.currentPhaseTimeRemaining=0,this.notifyChange()}setTotalTimeElapsed(t){var r,i;this.state.totalTimeElapsed=t,(i=(r=this.callbacks).onTick)==null||i.call(r,this.getState())}completeInterview(){var t,r;this.stopGlobalTimer(),this.stopPhaseTimer(),this.state.phase="completed",(r=(t=this.callbacks).onInterviewEnd)==null||r.call(t),this.notifyChange()}destroy(){this.stopPhaseTimer(),this.stopGlobalTimer()}getDurationForPhase(t){switch(t){case"thinking":return this.config.thinkingDuration;case"answering":return this.config.answeringDuration;case"editing":return this.config.editingDuration;default:return 0}}startGlobalTimer(){this.globalIntervalId=setInterval(()=>{var t,r;this.state.totalTimeElapsed++,(r=(t=this.callbacks).onTick)==null||r.call(t,this.getState())},1e3)}stopGlobalTimer(){this.globalIntervalId&&(clearInterval(this.globalIntervalId),this.globalIntervalId=null)}startPhaseTimer(){this.phaseIntervalId=setInterval(()=>{this.state.currentPhaseTimeRemaining--,this.state.currentPhaseTimeRemaining<=0&&this.nextPhase()},1e3)}stopPhaseTimer(){this.phaseIntervalId&&(clearInterval(this.phaseIntervalId),this.phaseIntervalId=null)}notifyChange(){var t,r;(r=(t=this.callbacks).onPhaseChange)==null||r.call(t,this.state.phase,this.getState())}}function l2(e={}){const{config:t={},callbacks:r={}}=e,i=u.useRef(null);i.current||(i.current=new c2(t,{}));const n=i.current,[s,a]=u.useState(n.getState()),c=u.useCallback(()=>{a(n.getState())},[n]);u.useEffect(()=>{const f={onPhaseChange:(w,g)=>{var p;c(),(p=r.onPhaseChange)==null||p.call(r,w,g)},onTick:w=>{var g;c(),(g=r.onTick)==null||g.call(r,w)},onInterviewEnd:()=>{var w;c(),(w=r.onInterviewEnd)==null||w.call(r)}};n.callbacks=f},[n,r,c]),u.useEffect(()=>{n.updateConfig(t)},[n,t]),u.useEffect(()=>()=>{n.destroy()},[n]);const l=u.useCallback(()=>{n.startQuestion(),c()},[n,c]),h=u.useCallback(()=>{n.nextPhase(),c()},[n,c]),d=u.useCallback(()=>{n.completeInterview(),c()},[n,c]);return{state:s,startQuestion:l,nextPhase:h,completeInterview:d,timerService:n}}function d2(e,t={}){const[r,i]=u.useState({data:null,loading:!1,error:null}),n=u.useCallback(async(...s)=>{var a,c,l,h;i(d=>({...d,loading:!0,error:null}));try{const d=await e(...s);i(f=>({...f,data:d,loading:!1,error:null})),(a=t.onSuccess)==null||a.call(t,d),(c=t.onSettled)==null||c.call(t,d,null)}catch(d){const f=d.type?d:{type:"unknown",message:d.message||"Unknown error",retryable:!0,userMessage:"Something went wrong. Please try again.",originalError:d};i(w=>({...w,loading:!1,error:f})),(l=t.onError)==null||l.call(t,f),(h=t.onSettled)==null||h.call(t,null,f)}},[e,t]);return{...r,execute:n}}const u2=e=>{const[t,r]=u.useState(null),[i,n]=u.useState(!1),s=document,a=()=>!!(s.fullscreenEnabled||s.webkitFullscreenEnabled||s.mozFullScreenEnabled||s.msFullscreenEnabled),c=()=>s.fullscreenElement||s.webkitFullscreenElement||s.mozFullScreenElement||s.msFullscreenElement,l=async g=>{var p;try{if(!a())throw new Error("Fullscreen is not supported in this environment");g.requestFullscreen?await g.requestFullscreen():g.webkitRequestFullscreen?await g.webkitRequestFullscreen():g.mozRequestFullScreen?await g.mozRequestFullScreen():g.msRequestFullscreen&&await g.msRequestFullscreen()}catch(b){const y={name:"FullscreenError",message:b instanceof Error?b.message:"Failed to enter fullscreen"};r(y),(p=e==null?void 0:e.onError)==null||p.call(e,y)}},h=async()=>{var g;try{s.exitFullscreen?await s.exitFullscreen():s.webkitExitFullscreen?await s.webkitExitFullscreen():s.mozCancelFullScreen?await s.mozCancelFullScreen():s.msExitFullscreen&&await s.msExitFullscreen()}catch(p){const b={name:"FullscreenError",message:p instanceof Error?p.message:"Failed to exit fullscreen"};r(b),(g=e==null?void 0:e.onError)==null||g.call(e,b)}},d=u.useCallback(()=>{var p;const g=!!c();n(g),(p=e==null?void 0:e.onFullScreenChange)==null||p.call(e,g)},[e]);u.useEffect(()=>{const g=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"];return g.forEach(p=>{document.addEventListener(p,d)}),()=>{g.forEach(p=>{document.removeEventListener(p,d)})}},[d]);const f=async g=>{r(null);const p=g??document.documentElement;await l(p)};return{isFullScreen:i,toggleFullScreen:async g=>{i?await h():await f(g)},enterFullScreen:f,exitFullScreen:h,error:t}};function dl(){const e=di();return u.useMemo(()=>{const r=e.api||{};return new Qs(r)},[e.api])}const h2=e=>{u.useEffect(()=>{const t=i=>{(i.ctrlKey||i.metaKey)&&["c","v","a","t","n","w","r","s","p"].includes(i.key.toLowerCase())&&(i.preventDefault(),e({type:"blocked_shortcut",severity:"low",details:{action:"shortcut_pressed",reason:`Attempted to use a blocked keyboard shortcut: Ctrl + ${i.key}`}})),i.key.startsWith("F")&&i.key.length<=3&&(i.preventDefault(),e({type:"blocked_function_key",severity:"low",details:{action:"function_key_pressed",reason:`Attempted to use a blocked function key: ${i.key}`}})),i.altKey&&i.key==="Tab"&&(i.preventDefault(),e({type:"alt_tab_attempt",severity:"medium",details:{action:"alt_tab",reason:"Attempted to use the Alt + Tab shortcut"}}))},r=i=>{i.preventDefault(),e({type:"right_click_attempt",severity:"low",details:{action:"right_click",reason:"Attempted to use the right click"}})};return document.addEventListener("keydown",t),document.addEventListener("contextmenu",r),()=>{document.removeEventListener("keydown",t),document.removeEventListener("contextmenu",r)}},[e])},f2=(e={})=>{const[t,r]=u.useState(!1),[i,n]=u.useState(!1),[s,a]=u.useState(null),[c,l]=u.useState(null),[h,d]=u.useState(null);e.config&&Ar.updateConfig(e.config);const f=u.useCallback(async b=>{var y;try{l(null),a(null),d(null),await Ar.startRecording(b,{onStart:()=>{var m;r(!0),(m=e.onStart)==null||m.call(e)},onStop:()=>{var m;r(!1),(m=e.onStop)==null||m.call(e)},onError:m=>{var S;const A=m instanceof J?m:new J(m.message,"RECORDING_ERROR",!0);l(A),r(!1),(S=e.onError)==null||S.call(e,A)}})}catch(m){const A=m instanceof J?m:new J(m instanceof Error?m.message:String(m),"START_FAILED",!1);throw l(A),r(!1),(y=e.onError)==null||y.call(e,A),A}},[]),w=u.useCallback(async()=>{var b,y;try{const m=await Ar.stopRecording();return d(m),r(!1),(b=e.onStop)==null||b.call(e),m}catch(m){const A=m instanceof J?m:new J(m instanceof Error?m.message:String(m),"STOP_FAILED",!1);throw l(A),r(!1),(y=e.onError)==null||y.call(e,A),A}},[]),g=u.useCallback(async(b,y={})=>{var m,A;try{l(null),n(!0);const S={audioBlob:b,...y},N=await Ar.transcribe(S);return a(N.transcript),n(!1),(m=e.onTranscriptionComplete)==null||m.call(e,N),N}catch(S){const N=S instanceof J?S:new J(S instanceof Error?S.message:String(S),"TRANSCRIPTION_FAILED",!0);throw l(N),n(!1),(A=e.onError)==null||A.call(e,N),N}},[]),p=u.useCallback(()=>{Ar.cancelRecording(),r(!1),d(null)},[]);return{startRecording:f,stopRecording:w,transcribe:g,cancelRecording:p,isRecording:t,isTranscribing:i,transcript:s,error:c,audioBlob:h}},w2=e=>{const t=u.useRef(null),r=u.useRef(!1);u.useEffect(()=>{const i=()=>{document.hidden&&(r.current=!0,t.current&&(clearTimeout(t.current),t.current=null),e({type:"tab_switch",severity:"high",details:{action:"tab_hidden",reason:"Attempted to switch tabs or applications"}}),setTimeout(()=>{r.current=!1},100))},n=()=>{r.current||(t.current=setTimeout(()=>{r.current||e({type:"focus_loss",severity:"medium",details:{action:"window_blur",reason:"Focus lost from the interview window"}}),t.current=null},50))};return document.addEventListener("visibilitychange",i),window.addEventListener("blur",n),()=>{document.removeEventListener("visibilitychange",i),window.removeEventListener("blur",n),t.current&&clearTimeout(t.current)}},[e])},g2=()=>{u.useEffect(()=>{const e=document.createElement("style");return e.textContent=`
|
|
15
|
+
}`,e.VERTEX_SHADER),this.W=Mc(this,this.H(),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.L=e.getAttribLocation(this.h,"aTex")}D(){}l(){}close(){if(this.h){const e=this.g;e.deleteProgram(this.h),e.deleteShader(this.X),e.deleteShader(this.W)}this.B&&this.g.deleteFramebuffer(this.B),this.A&&this.A.close(),this.u&&this.u.close()}};function pt(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 As(e){var t=pt(e,1);if(!t){if(t=pt(e,0))t=new Float32Array(t).map(i=>i/255);else{t=new Float32Array(e.width*e.height);const i=kr(e);var r=Cs(e);if(Oc(r,i,Uc(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,s=0;n<t.length;++n,s+=4)t[n]=r[s]}else i.readPixels(0,0,e.width,e.height,i.RED,i.FLOAT,t)}e.g.push(t)}return t}function Uc(e){let t=pt(e,2);if(!t){const r=kr(e);t=Vc(e);const i=As(e),n=Gc(e);r.texImage2D(r.TEXTURE_2D,0,n,e.width,e.height,0,r.RED,r.FLOAT,i),Ss(e)}return t}function kr(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=Ct(e.canvas.getContext("webgl2"),"You cannot use a canvas that is already bound to a different type of rendering context.")),e.h}function Gc(e){if(e=kr(e),!Yi)if(e.getExtension("EXT_color_buffer_float")&&e.getExtension("OES_texture_float_linear")&&e.getExtension("EXT_float_blend"))Yi=e.R32F;else{if(!e.getExtension("EXT_color_buffer_half_float"))throw Error("GPU does not fully support 4-channel float32 or float16 formats");Yi=e.R16F}return Yi}function Cs(e){return e.l||(e.l=new Bc),e.l}function Vc(e){const t=kr(e);t.viewport(0,0,e.width,e.height),t.activeTexture(t.TEXTURE0);let r=pt(e,2);return r||(r=Dc(Cs(e),t,e.m?t.LINEAR:t.NEAREST),e.g.push(r),e.j=!0),t.bindTexture(t.TEXTURE_2D,r),r}function Ss(e){e.h.bindTexture(e.h.TEXTURE_2D,null)}var Yi,ue=class{constructor(e,t,r,i,n,s,a){this.g=e,this.m=t,this.j=r,this.canvas=i,this.l=n,this.width=s,this.height=a,this.j&&--jc===0&&console.error("You seem to be creating MPMask instances without invoking .close(). This leaks resources.")}Fa(){return!!pt(this,0)}ka(){return!!pt(this,1)}R(){return!!pt(this,2)}ja(){return(t=pt(e=this,0))||(t=As(e),t=new Uint8Array(t.map(r=>Math.round(255*r))),e.g.push(t)),t;var e,t}ia(){return As(this)}N(){return Uc(this)}clone(){const e=[];for(const 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}`);{const i=kr(this),n=Cs(this);i.activeTexture(i.TEXTURE1),r=Dc(n,i,this.m?i.LINEAR:i.NEAREST),i.bindTexture(i.TEXTURE_2D,r);const s=Gc(this);i.texImage2D(i.TEXTURE_2D,0,s,this.width,this.height,0,i.RED,i.FLOAT,null),i.bindTexture(i.TEXTURE_2D,null),Oc(n,i,r),Gu(n,i,!1,()=>{Vc(this),i.clearColor(0,0,0,0),i.clear(i.COLOR_BUFFER_BIT),i.drawArrays(i.TRIANGLE_FAN,0,4),Ss(this)}),Vu(n),Ss(this)}}e.push(r)}return new ue(e,this.m,this.R(),this.canvas,this.l,this.width,this.height)}close(){this.j&&kr(this).deleteTexture(pt(this,2)),jc=-1}};ue.prototype.close=ue.prototype.close,ue.prototype.clone=ue.prototype.clone,ue.prototype.getAsWebGLTexture=ue.prototype.N,ue.prototype.getAsFloat32Array=ue.prototype.ia,ue.prototype.getAsUint8Array=ue.prototype.ja,ue.prototype.hasWebGLTexture=ue.prototype.R,ue.prototype.hasFloat32Array=ue.prototype.ka,ue.prototype.hasUint8Array=ue.prototype.Fa;var jc=250;function qe(...e){return e.map(([t,r])=>({start:t,end:r}))}const ju=function(e){return class extends e{Ja(){this.i._registerModelResourcesGraphService()}}}((Wc=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:Cc()?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){const 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){const 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?'),k(this,i||"input_audio",s=>{k(this,n=n||"audio_header",a=>{this.i._configureAudio(s,a,e,t??0,r)})})}setAutoResizeCanvas(e){this.l=e}setAutoRenderToScreen(e){this.i._setAutoRenderToScreen(e)}setGpuBufferVerticalFlip(e){this.i.gpuOriginForWebTexturesIsBottomLeft=e}ca(e){st(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,i,n){const s=4*e.length;this.h!==s&&(this.g&&this.i._free(this.g),this.g=this.i._malloc(s),this.h=s),this.i.HEAPF32.set(e,this.g/4),k(this,i,a=>{this.i._addAudioToInputStream(this.g,t,r,a,n)})}addGpuBufferToStream(e,t,r){k(this,t,i=>{const[n,s]=Ic(this,e,i);this.i._addBoundTextureToStream(i,n,s,r)})}addBoolToStream(e,t,r){k(this,t,i=>{this.i._addBoolToInputStream(e,i,r)})}addDoubleToStream(e,t,r){k(this,t,i=>{this.i._addDoubleToInputStream(e,i,r)})}addFloatToStream(e,t,r){k(this,t,i=>{this.i._addFloatToInputStream(e,i,r)})}addIntToStream(e,t,r){k(this,t,i=>{this.i._addIntToInputStream(e,i,r)})}addUintToStream(e,t,r){k(this,t,i=>{this.i._addUintToInputStream(e,i,r)})}addStringToStream(e,t,r){k(this,t,i=>{k(this,e,n=>{this.i._addStringToInputStream(n,i,r)})})}addStringRecordToStream(e,t,r){k(this,t,i=>{Fc(this,Object.keys(e),n=>{Fc(this,Object.values(e),s=>{this.i._addFlatHashMapToInputStream(n,s,Object.keys(e).length,i,r)})})})}addProtoToStream(e,t,r,i){k(this,r,n=>{k(this,t,s=>{const a=this.i._malloc(e.length);this.i.HEAPU8.set(e,a),this.i._addProtoToInputStream(a,e.length,s,n,i),this.i._free(a)})})}addEmptyPacketToStream(e,t){k(this,e,r=>{this.i._addEmptyPacketToInputStream(r,t)})}addBoolVectorToStream(e,t,r){k(this,t,i=>{const n=this.i._allocateBoolVector(e.length);if(!n)throw Error("Unable to allocate new bool vector on heap.");for(const s of e)this.i._addBoolVectorEntry(n,s);this.i._addBoolVectorToInputStream(n,i,r)})}addDoubleVectorToStream(e,t,r){k(this,t,i=>{const n=this.i._allocateDoubleVector(e.length);if(!n)throw Error("Unable to allocate new double vector on heap.");for(const s of e)this.i._addDoubleVectorEntry(n,s);this.i._addDoubleVectorToInputStream(n,i,r)})}addFloatVectorToStream(e,t,r){k(this,t,i=>{const n=this.i._allocateFloatVector(e.length);if(!n)throw Error("Unable to allocate new float vector on heap.");for(const s of e)this.i._addFloatVectorEntry(n,s);this.i._addFloatVectorToInputStream(n,i,r)})}addIntVectorToStream(e,t,r){k(this,t,i=>{const n=this.i._allocateIntVector(e.length);if(!n)throw Error("Unable to allocate new int vector on heap.");for(const s of e)this.i._addIntVectorEntry(n,s);this.i._addIntVectorToInputStream(n,i,r)})}addUintVectorToStream(e,t,r){k(this,t,i=>{const n=this.i._allocateUintVector(e.length);if(!n)throw Error("Unable to allocate new unsigned int vector on heap.");for(const s of e)this.i._addUintVectorEntry(n,s);this.i._addUintVectorToInputStream(n,i,r)})}addStringVectorToStream(e,t,r){k(this,t,i=>{const n=this.i._allocateStringVector(e.length);if(!n)throw Error("Unable to allocate new string vector on heap.");for(const s of e)k(this,s,a=>{this.i._addStringVectorEntry(n,a)});this.i._addStringVectorToInputStream(n,i,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,i=>{this.i._addStringToInputSidePacket(i,r)})})}addProtoToInputSidePacket(e,t,r){k(this,r,i=>{k(this,t,n=>{const s=this.i._malloc(e.length);this.i.HEAPU8.set(e,s),this.i._addProtoToInputSidePacket(s,e.length,n,i),this.i._free(s)})})}addBoolVectorToInputSidePacket(e,t){k(this,t,r=>{const i=this.i._allocateBoolVector(e.length);if(!i)throw Error("Unable to allocate new bool vector on heap.");for(const n of e)this.i._addBoolVectorEntry(i,n);this.i._addBoolVectorToInputSidePacket(i,r)})}addDoubleVectorToInputSidePacket(e,t){k(this,t,r=>{const i=this.i._allocateDoubleVector(e.length);if(!i)throw Error("Unable to allocate new double vector on heap.");for(const n of e)this.i._addDoubleVectorEntry(i,n);this.i._addDoubleVectorToInputSidePacket(i,r)})}addFloatVectorToInputSidePacket(e,t){k(this,t,r=>{const i=this.i._allocateFloatVector(e.length);if(!i)throw Error("Unable to allocate new float vector on heap.");for(const n of e)this.i._addFloatVectorEntry(i,n);this.i._addFloatVectorToInputSidePacket(i,r)})}addIntVectorToInputSidePacket(e,t){k(this,t,r=>{const i=this.i._allocateIntVector(e.length);if(!i)throw Error("Unable to allocate new int vector on heap.");for(const n of e)this.i._addIntVectorEntry(i,n);this.i._addIntVectorToInputSidePacket(i,r)})}addUintVectorToInputSidePacket(e,t){k(this,t,r=>{const i=this.i._allocateUintVector(e.length);if(!i)throw Error("Unable to allocate new unsigned int vector on heap.");for(const n of e)this.i._addUintVectorEntry(i,n);this.i._addUintVectorToInputSidePacket(i,r)})}addStringVectorToInputSidePacket(e,t){k(this,t,r=>{const i=this.i._allocateStringVector(e.length);if(!i)throw Error("Unable to allocate new string vector on heap.");for(const n of e)k(this,n,s=>{this.i._addStringVectorEntry(i,s)});this.i._addStringVectorToInputSidePacket(i,r)})}attachBoolListener(e,t){st(this,e,t),k(this,e,r=>{this.i._attachBoolListener(r)})}attachBoolVectorListener(e,t){At(this,e,t),k(this,e,r=>{this.i._attachBoolVectorListener(r)})}attachIntListener(e,t){st(this,e,t),k(this,e,r=>{this.i._attachIntListener(r)})}attachIntVectorListener(e,t){At(this,e,t),k(this,e,r=>{this.i._attachIntVectorListener(r)})}attachUintListener(e,t){st(this,e,t),k(this,e,r=>{this.i._attachUintListener(r)})}attachUintVectorListener(e,t){At(this,e,t),k(this,e,r=>{this.i._attachUintVectorListener(r)})}attachDoubleListener(e,t){st(this,e,t),k(this,e,r=>{this.i._attachDoubleListener(r)})}attachDoubleVectorListener(e,t){At(this,e,t),k(this,e,r=>{this.i._attachDoubleVectorListener(r)})}attachFloatListener(e,t){st(this,e,t),k(this,e,r=>{this.i._attachFloatListener(r)})}attachFloatVectorListener(e,t){At(this,e,t),k(this,e,r=>{this.i._attachFloatVectorListener(r)})}attachStringListener(e,t){st(this,e,t),k(this,e,r=>{this.i._attachStringListener(r)})}attachStringVectorListener(e,t){At(this,e,t),k(this,e,r=>{this.i._attachStringVectorListener(r)})}attachProtoListener(e,t,r){st(this,e,t),k(this,e,i=>{this.i._attachProtoListener(i,r||!1)})}attachProtoVectorListener(e,t,r){At(this,e,t),k(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?'),st(this,e,(i,n)=>{i=new Float32Array(i.buffer,i.byteOffset,i.length/4),t(i,n)}),k(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 Wc{get ga(){return this.i}pa(e,t,r){k(this,t,i=>{const[n,s]=Ic(this,e,i);this.ga._addBoundTextureAsImageToStream(i,n,s,r)})}Z(e,t){st(this,e,t),k(this,e,r=>{this.ga._attachImageListener(r)})}aa(e,t){At(this,e,t),k(this,e,r=>{this.ga._attachImageVectorListener(r)})}}));var Wc,Ke=class extends ju{};async function P(e,t,r){return async function(i,n,s,a){return Bu(i,n,s,a)}(e,r.canvas??(Cc()?void 0:document.createElement("canvas")),t,r)}function $c(e,t,r,i){if(e.U){const s=new Ya;if(r!=null&&r.regionOfInterest){if(!e.oa)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].");T(s,1,(n.left+n.right)/2),T(s,2,(n.top+n.bottom)/2),T(s,4,n.right-n.left),T(s,3,n.bottom-n.top)}else T(s,1,.5),T(s,2,.5),T(s,4,1),T(s,3,1);if(r!=null&&r.rotationDegrees){if((r==null?void 0:r.rotationDegrees)%90!=0)throw Error("Expected rotation to be a multiple of 90°.");if(T(s,5,-Math.PI*r.rotationDegrees/180),(r==null?void 0:r.rotationDegrees)%180!=0){const[a,c]=Nc(t);r=Z(s,3)*c/a,n=Z(s,4)*a/c,T(s,4,r),T(s,3,n)}}e.g.addProtoToStream(s.g(),"mediapipe.NormalizedRect",e.U,i)}e.g.pa(t,e.X,i??performance.now()),e.finishProcessing()}function Ye(e,t,r){var i;if((i=e.baseOptions)!=null&&i.g())throw Error("Task is not initialized with image mode. 'runningMode' must be set to 'IMAGE'.");$c(e,t,r,e.C+1)}function ot(e,t,r,i){var n;if(!((n=e.baseOptions)!=null&&n.g()))throw Error("Task is not initialized with video mode. 'runningMode' must be set to 'VIDEO'.");$c(e,t,r,i)}function Tr(e,t,r,i){var n=t.data;const s=t.width,a=s*(t=t.height);if((n instanceof Uint8Array||n instanceof Float32Array)&&n.length!==a)throw Error("Unsupported channel count: "+n.length/a);return e=new ue([n],r,!1,e.g.i.canvas,e.P,s,t),i?e.clone():e}var Ie=class extends ks{constructor(e,t,r,i){super(e),this.g=e,this.X=t,this.U=r,this.oa=i,this.P=new Bc}l(e,t=!0){if("runningMode"in e&&G(this.baseOptions,2,Yr(!!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.P.close(),super.close()}};Ie.prototype.close=Ie.prototype.close;var Ve=class extends Ie{constructor(e,t){super(new Ke(e,t),"image_in","norm_rect_in",!1),this.j={detections:[]},A(e=this.h=new $i,0,1,t=new Q),T(this.h,2,.5),T(this.h,3,.3)}get baseOptions(){return O(this.h,Q,1)}set baseOptions(e){A(this.h,0,1,e)}o(e){return"minDetectionConfidence"in e&&T(this.h,2,e.minDetectionConfidence??.5),"minSuppressionThreshold"in e&&T(this.h,3,e.minSuppressionThreshold??.3),this.l(e)}F(e,t){return this.j={detections:[]},Ye(this,e,t),this.j}G(e,t,r){return this.j={detections:[]},ot(this,e,r,t),this.j}m(){var e=new Ne;q(e,"image_in"),q(e,"norm_rect_in"),B(e,"detections");const t=new Se;it(t,Eu,this.h);const r=new ve;Ae(r,2,"mediapipe.tasks.vision.face_detector.FaceDetectorGraph"),$(r,"IMAGE:image_in"),$(r,"NORM_RECT:norm_rect_in"),L(r,"DETECTIONS:detections"),r.o(t),Ge(e,r),this.g.attachProtoVectorListener("detections",(i,n)=>{for(const s of i)i=Ha(s),this.j.detections.push(_c(i));v(this,n)}),this.g.attachEmptyPacketListener("detections",i=>{v(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Ve.prototype.detectForVideo=Ve.prototype.G,Ve.prototype.detect=Ve.prototype.F,Ve.prototype.setOptions=Ve.prototype.o,Ve.createFromModelPath=async function(e,t){return P(Ve,e,{baseOptions:{modelAssetPath:t}})},Ve.createFromModelBuffer=function(e,t){return P(Ve,e,{baseOptions:{modelAssetBuffer:t}})},Ve.createFromOptions=function(e,t){return P(Ve,e,t)};var Ns=qe([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]),Is=qe([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]),Fs=qe([276,283],[283,282],[282,295],[295,285],[300,293],[293,334],[334,296],[296,336]),zc=qe([474,475],[475,476],[476,477],[477,474]),Ls=qe([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]),Ms=qe([46,53],[53,52],[52,65],[65,55],[70,63],[63,105],[105,66],[66,107]),Hc=qe([469,470],[470,471],[471,472],[472,469]),Ps=qe([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]),qc=[...Ns,...Is,...Fs,...Ls,...Ms,...Ps],Kc=qe([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 Yc(e){e.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]}}var K=class extends Ie{constructor(e,t){super(new Ke(e,t),"image_in","norm_rect",!1),this.j={faceLandmarks:[],faceBlendshapes:[],facialTransformationMatrixes:[]},this.outputFacialTransformationMatrixes=this.outputFaceBlendshapes=!1,A(e=this.h=new rc,0,1,t=new Q),this.A=new tc,A(this.h,0,3,this.A),this.u=new $i,A(this.h,0,2,this.u),wt(this.u,4,1),T(this.u,2,.5),T(this.A,2,.5),T(this.h,4,.5)}get baseOptions(){return O(this.h,Q,1)}set baseOptions(e){A(this.h,0,1,e)}o(e){return"numFaces"in e&&wt(this.u,4,e.numFaces??1),"minFaceDetectionConfidence"in e&&T(this.u,2,e.minFaceDetectionConfidence??.5),"minTrackingConfidence"in e&&T(this.h,4,e.minTrackingConfidence??.5),"minFacePresenceConfidence"in e&&T(this.A,2,e.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"outputFacialTransformationMatrixes"in e&&(this.outputFacialTransformationMatrixes=!!e.outputFacialTransformationMatrixes),this.l(e)}F(e,t){return Yc(this),Ye(this,e,t),this.j}G(e,t,r){return Yc(this),ot(this,e,r,t),this.j}m(){var e=new Ne;q(e,"image_in"),q(e,"norm_rect"),B(e,"face_landmarks");const t=new Se;it(t,ku,this.h);const r=new ve;Ae(r,2,"mediapipe.tasks.vision.face_landmarker.FaceLandmarkerGraph"),$(r,"IMAGE:image_in"),$(r,"NORM_RECT:norm_rect"),L(r,"NORM_LANDMARKS:face_landmarks"),r.o(t),Ge(e,r),this.g.attachProtoVectorListener("face_landmarks",(i,n)=>{for(const s of i)i=ri(s),this.j.faceLandmarks.push(zi(i));v(this,n)}),this.g.attachEmptyPacketListener("face_landmarks",i=>{v(this,i)}),this.outputFaceBlendshapes&&(B(e,"blendshapes"),L(r,"BLENDSHAPES:blendshapes"),this.g.attachProtoVectorListener("blendshapes",(i,n)=>{if(this.outputFaceBlendshapes)for(const s of i)i=Vi(s),this.j.faceBlendshapes.push(Es(i.g()??[]));v(this,n)}),this.g.attachEmptyPacketListener("blendshapes",i=>{v(this,i)})),this.outputFacialTransformationMatrixes&&(B(e,"face_geometry"),L(r,"FACE_GEOMETRY:face_geometry"),this.g.attachProtoVectorListener("face_geometry",(i,n)=>{if(this.outputFacialTransformationMatrixes)for(const s of i)(i=O(i=_u(s),wu,2))&&this.j.facialTransformationMatrixes.push({rows:Be(i,1)??0??0,columns:Be(i,2)??0??0,data:jt(i,3,tt,Vt()).slice()??[]});v(this,n)}),this.g.attachEmptyPacketListener("face_geometry",i=>{v(this,i)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};K.prototype.detectForVideo=K.prototype.G,K.prototype.detect=K.prototype.F,K.prototype.setOptions=K.prototype.o,K.createFromModelPath=function(e,t){return P(K,e,{baseOptions:{modelAssetPath:t}})},K.createFromModelBuffer=function(e,t){return P(K,e,{baseOptions:{modelAssetBuffer:t}})},K.createFromOptions=function(e,t){return P(K,e,t)},K.FACE_LANDMARKS_LIPS=Ns,K.FACE_LANDMARKS_LEFT_EYE=Is,K.FACE_LANDMARKS_LEFT_EYEBROW=Fs,K.FACE_LANDMARKS_LEFT_IRIS=zc,K.FACE_LANDMARKS_RIGHT_EYE=Ls,K.FACE_LANDMARKS_RIGHT_EYEBROW=Ms,K.FACE_LANDMARKS_RIGHT_IRIS=Hc,K.FACE_LANDMARKS_FACE_OVAL=Ps,K.FACE_LANDMARKS_CONTOURS=qc,K.FACE_LANDMARKS_TESSELATION=Kc;var Ds=qe([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 Xc(e){e.gestures=[],e.landmarks=[],e.worldLandmarks=[],e.handedness=[]}function Qc(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 Jc(e,t=!0){const r=[];for(const n of e){var i=Vi(n);e=[];for(const s of i.g())i=t&&Be(s,1)!=null?Be(s,1)??0:-1,e.push({score:Z(s,2)??0,index:i,categoryName:fe(W(s,3))??""??"",displayName:fe(W(s,4))??""??""});r.push(e)}return r}var Fe=class extends Ie{constructor(e,t){super(new Ke(e,t),"image_in","norm_rect",!1),this.gestures=[],this.landmarks=[],this.worldLandmarks=[],this.handedness=[],A(e=this.j=new sc,0,1,t=new Q),this.u=new ws,A(this.j,0,2,this.u),this.D=new fs,A(this.u,0,3,this.D),this.A=new nc,A(this.u,0,2,this.A),this.h=new Tu,A(this.j,0,3,this.h),T(this.A,2,.5),T(this.u,4,.5),T(this.D,2,.5)}get baseOptions(){return O(this.j,Q,1)}set baseOptions(e){A(this.j,0,1,e)}o(e){var n,s,a,c;if(wt(this.A,3,e.numHands??1),"minHandDetectionConfidence"in e&&T(this.A,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&T(this.u,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&T(this.D,2,e.minHandPresenceConfidence??.5),e.cannedGesturesClassifierOptions){var t=new Er,r=t,i=xs(e.cannedGesturesClassifierOptions,(n=O(this.h,Er,3))==null?void 0:n.l());A(r,0,2,i),A(this.h,0,3,t)}else e.cannedGesturesClassifierOptions===void 0&&((s=O(this.h,Er,3))==null||s.g());return e.customGesturesClassifierOptions?(A(r=t=new Er,0,2,i=xs(e.customGesturesClassifierOptions,(a=O(this.h,Er,4))==null?void 0:a.l())),A(this.h,0,4,t)):e.customGesturesClassifierOptions===void 0&&((c=O(this.h,Er,4))==null||c.g()),this.l(e)}Ha(e,t){return Xc(this),Ye(this,e,t),Qc(this)}Ia(e,t,r){return Xc(this),ot(this,e,r,t),Qc(this)}m(){var e=new Ne;q(e,"image_in"),q(e,"norm_rect"),B(e,"hand_gestures"),B(e,"hand_landmarks"),B(e,"world_hand_landmarks"),B(e,"handedness");const t=new Se;it(t,Au,this.j);const r=new ve;Ae(r,2,"mediapipe.tasks.vision.gesture_recognizer.GestureRecognizerGraph"),$(r,"IMAGE:image_in"),$(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),Ge(e,r),this.g.attachProtoVectorListener("hand_landmarks",(i,n)=>{for(const s of i){i=ri(s);const a=[];for(const c of ft(i,Ka,1))a.push({x:Z(c,1)??0,y:Z(c,2)??0,z:Z(c,3)??0,visibility:Z(c,4)??0});this.landmarks.push(a)}v(this,n)}),this.g.attachEmptyPacketListener("hand_landmarks",i=>{v(this,i)}),this.g.attachProtoVectorListener("world_hand_landmarks",(i,n)=>{for(const s of i){i=xr(s);const a=[];for(const c of ft(i,qa,1))a.push({x:Z(c,1)??0,y:Z(c,2)??0,z:Z(c,3)??0,visibility:Z(c,4)??0});this.worldLandmarks.push(a)}v(this,n)}),this.g.attachEmptyPacketListener("world_hand_landmarks",i=>{v(this,i)}),this.g.attachProtoVectorListener("hand_gestures",(i,n)=>{this.gestures.push(...Jc(i,!1)),v(this,n)}),this.g.attachEmptyPacketListener("hand_gestures",i=>{v(this,i)}),this.g.attachProtoVectorListener("handedness",(i,n)=>{this.handedness.push(...Jc(i)),v(this,n)}),this.g.attachEmptyPacketListener("handedness",i=>{v(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};function Zc(e){return{landmarks:e.landmarks,worldLandmarks:e.worldLandmarks,handednesses:e.handedness,handedness:e.handedness}}Fe.prototype.recognizeForVideo=Fe.prototype.Ia,Fe.prototype.recognize=Fe.prototype.Ha,Fe.prototype.setOptions=Fe.prototype.o,Fe.createFromModelPath=function(e,t){return P(Fe,e,{baseOptions:{modelAssetPath:t}})},Fe.createFromModelBuffer=function(e,t){return P(Fe,e,{baseOptions:{modelAssetBuffer:t}})},Fe.createFromOptions=function(e,t){return P(Fe,e,t)},Fe.HAND_CONNECTIONS=Ds;var Le=class extends Ie{constructor(e,t){super(new Ke(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.handedness=[],A(e=this.h=new ws,0,1,t=new Q),this.u=new fs,A(this.h,0,3,this.u),this.j=new nc,A(this.h,0,2,this.j),wt(this.j,3,1),T(this.j,2,.5),T(this.u,2,.5),T(this.h,4,.5)}get baseOptions(){return O(this.h,Q,1)}set baseOptions(e){A(this.h,0,1,e)}o(e){return"numHands"in e&&wt(this.j,3,e.numHands??1),"minHandDetectionConfidence"in e&&T(this.j,2,e.minHandDetectionConfidence??.5),"minTrackingConfidence"in e&&T(this.h,4,e.minTrackingConfidence??.5),"minHandPresenceConfidence"in e&&T(this.u,2,e.minHandPresenceConfidence??.5),this.l(e)}F(e,t){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],Ye(this,e,t),Zc(this)}G(e,t,r){return this.landmarks=[],this.worldLandmarks=[],this.handedness=[],ot(this,e,r,t),Zc(this)}m(){var e=new Ne;q(e,"image_in"),q(e,"norm_rect"),B(e,"hand_landmarks"),B(e,"world_hand_landmarks"),B(e,"handedness");const t=new Se;it(t,Cu,this.h);const r=new ve;Ae(r,2,"mediapipe.tasks.vision.hand_landmarker.HandLandmarkerGraph"),$(r,"IMAGE:image_in"),$(r,"NORM_RECT:norm_rect"),L(r,"LANDMARKS:hand_landmarks"),L(r,"WORLD_LANDMARKS:world_hand_landmarks"),L(r,"HANDEDNESS:handedness"),r.o(t),Ge(e,r),this.g.attachProtoVectorListener("hand_landmarks",(i,n)=>{for(const s of i)i=ri(s),this.landmarks.push(zi(i));v(this,n)}),this.g.attachEmptyPacketListener("hand_landmarks",i=>{v(this,i)}),this.g.attachProtoVectorListener("world_hand_landmarks",(i,n)=>{for(const s of i)i=xr(s),this.worldLandmarks.push(ii(i));v(this,n)}),this.g.attachEmptyPacketListener("world_hand_landmarks",i=>{v(this,i)}),this.g.attachProtoVectorListener("handedness",(i,n)=>{var s=this.handedness,a=s.push;const c=[];for(const l of i){i=Vi(l);const h=[];for(const d of i.g())h.push({score:Z(d,2)??0,index:Be(d,1)??0??-1,categoryName:fe(W(d,3))??""??"",displayName:fe(W(d,4))??""??""});c.push(h)}a.call(s,...c),v(this,n)}),this.g.attachEmptyPacketListener("handedness",i=>{v(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Le.prototype.detectForVideo=Le.prototype.G,Le.prototype.detect=Le.prototype.F,Le.prototype.setOptions=Le.prototype.o,Le.createFromModelPath=function(e,t){return P(Le,e,{baseOptions:{modelAssetPath:t}})},Le.createFromModelBuffer=function(e,t){return P(Le,e,{baseOptions:{modelAssetBuffer:t}})},Le.createFromOptions=function(e,t){return P(Le,e,t)},Le.HAND_CONNECTIONS=Ds;var Rc=qe([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 el(e){e.h={faceLandmarks:[],faceBlendshapes:[],poseLandmarks:[],poseWorldLandmarks:[],poseSegmentationMasks:[],leftHandLandmarks:[],leftHandWorldLandmarks:[],rightHandLandmarks:[],rightHandWorldLandmarks:[]}}function tl(e){try{if(!e.D)return e.h;e.D(e.h)}finally{Ki(e)}}function Xi(e,t){e=ri(e),t.push(zi(e))}var z=class extends Ie{constructor(e,t){super(new Ke(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 uc,0,1,t=new Q),this.I=new fs,A(this.j,0,2,this.I),this.W=new Su,A(this.j,0,3,this.W),this.u=new $i,A(this.j,0,4,this.u),this.O=new tc,A(this.j,0,5,this.O),this.A=new lc,A(this.j,0,6,this.A),this.M=new dc,A(this.j,0,7,this.M),T(this.u,2,.5),T(this.u,3,.3),T(this.O,2,.5),T(this.A,2,.5),T(this.A,3,.3),T(this.M,2,.5),T(this.I,2,.5)}get baseOptions(){return O(this.j,Q,1)}set baseOptions(e){A(this.j,0,1,e)}o(e){return"minFaceDetectionConfidence"in e&&T(this.u,2,e.minFaceDetectionConfidence??.5),"minFaceSuppressionThreshold"in e&&T(this.u,3,e.minFaceSuppressionThreshold??.3),"minFacePresenceConfidence"in e&&T(this.O,2,e.minFacePresenceConfidence??.5),"outputFaceBlendshapes"in e&&(this.outputFaceBlendshapes=!!e.outputFaceBlendshapes),"minPoseDetectionConfidence"in e&&T(this.A,2,e.minPoseDetectionConfidence??.5),"minPoseSuppressionThreshold"in e&&T(this.A,3,e.minPoseSuppressionThreshold??.3),"minPosePresenceConfidence"in e&&T(this.M,2,e.minPosePresenceConfidence??.5),"outputPoseSegmentationMasks"in e&&(this.outputPoseSegmentationMasks=!!e.outputPoseSegmentationMasks),"minHandLandmarksConfidence"in e&&T(this.I,2,e.minHandLandmarksConfidence??.5),this.l(e)}F(e,t,r){const i=typeof t!="function"?t:{};return this.D=typeof t=="function"?t:r,el(this),Ye(this,e,i),tl(this)}G(e,t,r,i){const n=typeof r!="function"?r:{};return this.D=typeof r=="function"?r:i,el(this),ot(this,e,n,t),tl(this)}m(){var e=new Ne;q(e,"input_frames_image"),B(e,"pose_landmarks"),B(e,"pose_world_landmarks"),B(e,"face_landmarks"),B(e,"left_hand_landmarks"),B(e,"left_hand_world_landmarks"),B(e,"right_hand_landmarks"),B(e,"right_hand_world_landmarks");const t=new Se,r=new Sa;Ae(r,1,"type.googleapis.com/mediapipe.tasks.vision.holistic_landmarker.proto.HolisticLandmarkerGraphOptions"),function(n,s){if(s!=null)if(Array.isArray(s))G(n,2,_i(s,0,Jr));else{if(!(typeof s=="string"||s instanceof Re||bn(s)))throw Error("invalid value in Any.value field: "+s+" expected a ByteString, a base64 encoded string, a Uint8Array or a jspb array");xt(n,2,_n(s,!1),Pt())}}(r,this.j.g());const i=new ve;Ae(i,2,"mediapipe.tasks.vision.holistic_landmarker.HolisticLandmarkerGraph"),zn(i,8,Sa,r),$(i,"IMAGE:input_frames_image"),L(i,"POSE_LANDMARKS:pose_landmarks"),L(i,"POSE_WORLD_LANDMARKS:pose_world_landmarks"),L(i,"FACE_LANDMARKS:face_landmarks"),L(i,"LEFT_HAND_LANDMARKS:left_hand_landmarks"),L(i,"LEFT_HAND_WORLD_LANDMARKS:left_hand_world_landmarks"),L(i,"RIGHT_HAND_LANDMARKS:right_hand_landmarks"),L(i,"RIGHT_HAND_WORLD_LANDMARKS:right_hand_world_landmarks"),i.o(t),Ge(e,i),qi(this,e),this.g.attachProtoListener("pose_landmarks",(n,s)=>{Xi(n,this.h.poseLandmarks),v(this,s)}),this.g.attachEmptyPacketListener("pose_landmarks",n=>{v(this,n)}),this.g.attachProtoListener("pose_world_landmarks",(n,s)=>{var a=this.h.poseWorldLandmarks;n=xr(n),a.push(ii(n)),v(this,s)}),this.g.attachEmptyPacketListener("pose_world_landmarks",n=>{v(this,n)}),this.outputPoseSegmentationMasks&&(L(i,"POSE_SEGMENTATION_MASK:pose_segmentation_mask"),_r(this,"pose_segmentation_mask"),this.g.Z("pose_segmentation_mask",(n,s)=>{this.h.poseSegmentationMasks=[Tr(this,n,!0,!this.D)],v(this,s)}),this.g.attachEmptyPacketListener("pose_segmentation_mask",n=>{this.h.poseSegmentationMasks=[],v(this,n)})),this.g.attachProtoListener("face_landmarks",(n,s)=>{Xi(n,this.h.faceLandmarks),v(this,s)}),this.g.attachEmptyPacketListener("face_landmarks",n=>{v(this,n)}),this.outputFaceBlendshapes&&(B(e,"extra_blendshapes"),L(i,"FACE_BLENDSHAPES:extra_blendshapes"),this.g.attachProtoListener("extra_blendshapes",(n,s)=>{var a=this.h.faceBlendshapes;this.outputFaceBlendshapes&&(n=Vi(n),a.push(Es(n.g()??[]))),v(this,s)}),this.g.attachEmptyPacketListener("extra_blendshapes",n=>{v(this,n)})),this.g.attachProtoListener("left_hand_landmarks",(n,s)=>{Xi(n,this.h.leftHandLandmarks),v(this,s)}),this.g.attachEmptyPacketListener("left_hand_landmarks",n=>{v(this,n)}),this.g.attachProtoListener("left_hand_world_landmarks",(n,s)=>{var a=this.h.leftHandWorldLandmarks;n=xr(n),a.push(ii(n)),v(this,s)}),this.g.attachEmptyPacketListener("left_hand_world_landmarks",n=>{v(this,n)}),this.g.attachProtoListener("right_hand_landmarks",(n,s)=>{Xi(n,this.h.rightHandLandmarks),v(this,s)}),this.g.attachEmptyPacketListener("right_hand_landmarks",n=>{v(this,n)}),this.g.attachProtoListener("right_hand_world_landmarks",(n,s)=>{var a=this.h.rightHandWorldLandmarks;n=xr(n),a.push(ii(n)),v(this,s)}),this.g.attachEmptyPacketListener("right_hand_world_landmarks",n=>{v(this,n)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};z.prototype.detectForVideo=z.prototype.G,z.prototype.detect=z.prototype.F,z.prototype.setOptions=z.prototype.o,z.createFromModelPath=function(e,t){return P(z,e,{baseOptions:{modelAssetPath:t}})},z.createFromModelBuffer=function(e,t){return P(z,e,{baseOptions:{modelAssetBuffer:t}})},z.createFromOptions=function(e,t){return P(z,e,t)},z.HAND_CONNECTIONS=Ds,z.POSE_CONNECTIONS=Rc,z.FACE_LANDMARKS_LIPS=Ns,z.FACE_LANDMARKS_LEFT_EYE=Is,z.FACE_LANDMARKS_LEFT_EYEBROW=Fs,z.FACE_LANDMARKS_LEFT_IRIS=zc,z.FACE_LANDMARKS_RIGHT_EYE=Ls,z.FACE_LANDMARKS_RIGHT_EYEBROW=Ms,z.FACE_LANDMARKS_RIGHT_IRIS=Hc,z.FACE_LANDMARKS_FACE_OVAL=Ps,z.FACE_LANDMARKS_CONTOURS=qc,z.FACE_LANDMARKS_TESSELATION=Kc;var je=class extends Ie{constructor(e,t){super(new Ke(e,t),"input_image","norm_rect",!0),this.j={classifications:[]},A(e=this.h=new hc,0,1,t=new Q)}get baseOptions(){return O(this.h,Q,1)}set baseOptions(e){A(this.h,0,1,e)}o(e){return A(this.h,0,2,xs(e,O(this.h,ds,2))),this.l(e)}sa(e,t){return this.j={classifications:[]},Ye(this,e,t),this.j}ta(e,t,r){return this.j={classifications:[]},ot(this,e,r,t),this.j}m(){var e=new Ne;q(e,"input_image"),q(e,"norm_rect"),B(e,"classifications");const t=new Se;it(t,Nu,this.h);const r=new ve;Ae(r,2,"mediapipe.tasks.vision.image_classifier.ImageClassifierGraph"),$(r,"IMAGE:input_image"),$(r,"NORM_RECT:norm_rect"),L(r,"CLASSIFICATIONS:classifications"),r.o(t),Ge(e,r),this.g.attachProtoListener("classifications",(i,n)=>{this.j=Du(mu(i)),v(this,n)}),this.g.attachEmptyPacketListener("classifications",i=>{v(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};je.prototype.classifyForVideo=je.prototype.ta,je.prototype.classify=je.prototype.sa,je.prototype.setOptions=je.prototype.o,je.createFromModelPath=function(e,t){return P(je,e,{baseOptions:{modelAssetPath:t}})},je.createFromModelBuffer=function(e,t){return P(je,e,{baseOptions:{modelAssetBuffer:t}})},je.createFromOptions=function(e,t){return P(je,e,t)};var Me=class extends Ie{constructor(e,t){super(new Ke(e,t),"image_in","norm_rect",!0),this.h=new fc,this.embeddings={embeddings:[]},A(e=this.h,0,1,t=new Q)}get baseOptions(){return O(this.h,Q,1)}set baseOptions(e){A(this.h,0,1,e)}o(e){var t=this.h,r=O(this.h,Za,2);return r=r?r.clone():new Za,e.l2Normalize!==void 0?G(r,1,Yr(e.l2Normalize)):"l2Normalize"in e&&G(r,1),e.quantize!==void 0?G(r,2,Yr(e.quantize)):"quantize"in e&&G(r,2),A(t,0,2,r),this.l(e)}za(e,t){return Ye(this,e,t),this.embeddings}Aa(e,t,r){return ot(this,e,r,t),this.embeddings}m(){var e=new Ne;q(e,"image_in"),q(e,"norm_rect"),B(e,"embeddings_out");const t=new Se;it(t,Iu,this.h);const r=new ve;Ae(r,2,"mediapipe.tasks.vision.image_embedder.ImageEmbedderGraph"),$(r,"IMAGE:image_in"),$(r,"NORM_RECT:norm_rect"),L(r,"EMBEDDINGS:embeddings_out"),r.o(t),Ge(e,r),this.g.attachProtoListener("embeddings_out",(i,n)=>{i=vu(i),this.embeddings=function(s){return{embeddings:ft(s,bu,1).map(a=>{var h,d;const c={headIndex:Be(a,3)??0??-1,headName:fe(W(a,4))??""??""};var l=a.v;return qo(l,0|l[x],Xa,Vn(a,1))!==void 0?(a=jt(a=O(a,Xa,Vn(a,1),void 0),1,tt,Vt()),c.floatEmbedding=a.slice()):(l=new Uint8Array(0),c.quantizedEmbedding=((d=(h=O(a,yu,Vn(a,2),void 0))==null?void 0:h.na())==null?void 0:d.h())??l),c}),timestampMs:Ec(Xo(s))}}(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=Tc(e.floatEmbedding,t.floatEmbedding);else{if(!e.quantizedEmbedding||!t.quantizedEmbedding)throw Error("Cannot compute cosine similarity between quantized and float embeddings.");e=Tc(kc(e.quantizedEmbedding),kc(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 P(Me,e,{baseOptions:{modelAssetPath:t}})},Me.createFromModelBuffer=function(e,t){return P(Me,e,{baseOptions:{modelAssetBuffer:t}})},Me.createFromOptions=function(e,t){return P(Me,e,t)};var Os=class{constructor(e,t,r){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=r}close(){var e,t;(e=this.confidenceMasks)==null||e.forEach(r=>{r.close()}),(t=this.categoryMask)==null||t.close()}};function Wu(e){var r,i;const t=function(n){return ft(n,ve,1)}(e.ca()).filter(n=>(fe(W(n,1))??"").includes("mediapipe.tasks.TensorsToSegmentationCalculator"));if(e.u=[],t.length>1)throw Error("The graph has more than one mediapipe.tasks.TensorsToSegmentationCalculator.");t.length===1&&(((i=(r=O(t[0],Se,7))==null?void 0:r.j())==null?void 0:i.g())??new Map).forEach((n,s)=>{e.u[Number(s)]=fe(W(n,1))??""})}function rl(e){e.categoryMask=void 0,e.confidenceMasks=void 0,e.qualityScores=void 0}function il(e){try{const t=new Os(e.confidenceMasks,e.categoryMask,e.qualityScores);if(!e.j)return t;e.j(t)}finally{Ki(e)}}Os.prototype.close=Os.prototype.close;var xe=class extends Ie{constructor(e,t){super(new Ke(e,t),"image_in","norm_rect",!1),this.u=[],this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new ys,this.A=new wc,A(this.h,0,3,this.A),A(e=this.h,0,1,t=new Q)}get baseOptions(){return O(this.h,Q,1)}set baseOptions(e){A(this.h,0,1,e)}o(e){return e.displayNamesLocale!==void 0?G(this.h,2,Qr(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)}L(){Wu(this)}segment(e,t,r){const i=typeof t!="function"?t:{};return this.j=typeof t=="function"?t:r,rl(this),Ye(this,e,i),il(this)}La(e,t,r,i){const n=typeof r!="function"?r:{};return this.j=typeof r=="function"?r:i,rl(this),ot(this,e,n,t),il(this)}Da(){return this.u}m(){var e=new Ne;q(e,"image_in"),q(e,"norm_rect");const t=new Se;it(t,mc,this.h);const r=new ve;Ae(r,2,"mediapipe.tasks.vision.image_segmenter.ImageSegmenterGraph"),$(r,"IMAGE:image_in"),$(r,"NORM_RECT:norm_rect"),r.o(t),Ge(e,r),qi(this,e),this.outputConfidenceMasks&&(B(e,"confidence_masks"),L(r,"CONFIDENCE_MASKS:confidence_masks"),_r(this,"confidence_masks"),this.g.aa("confidence_masks",(i,n)=>{this.confidenceMasks=i.map(s=>Tr(this,s,!0,!this.j)),v(this,n)}),this.g.attachEmptyPacketListener("confidence_masks",i=>{this.confidenceMasks=[],v(this,i)})),this.outputCategoryMask&&(B(e,"category_mask"),L(r,"CATEGORY_MASK:category_mask"),_r(this,"category_mask"),this.g.Z("category_mask",(i,n)=>{this.categoryMask=Tr(this,i,!1,!this.j),v(this,n)}),this.g.attachEmptyPacketListener("category_mask",i=>{this.categoryMask=void 0,v(this,i)})),B(e,"quality_scores"),L(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.La,xe.prototype.segment=xe.prototype.segment,xe.prototype.setOptions=xe.prototype.o,xe.createFromModelPath=function(e,t){return P(xe,e,{baseOptions:{modelAssetPath:t}})},xe.createFromModelBuffer=function(e,t){return P(xe,e,{baseOptions:{modelAssetBuffer:t}})},xe.createFromOptions=function(e,t){return P(xe,e,t)};var Bs=class{constructor(e,t,r){this.confidenceMasks=e,this.categoryMask=t,this.qualityScores=r}close(){var e,t;(e=this.confidenceMasks)==null||e.forEach(r=>{r.close()}),(t=this.categoryMask)==null||t.close()}};Bs.prototype.close=Bs.prototype.close;var at=class extends Ie{constructor(e,t){super(new Ke(e,t),"image_in","norm_rect_in",!1),this.outputCategoryMask=!1,this.outputConfidenceMasks=!0,this.h=new ys,this.u=new wc,A(this.h,0,3,this.u),A(e=this.h,0,1,t=new Q)}get baseOptions(){return O(this.h,Q,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){const n=typeof r!="function"?r:{};if(this.j=typeof r=="function"?r:i,this.qualityScores=this.categoryMask=this.confidenceMasks=void 0,r=this.C+1,i=new bc,t.keypoint&&t.scribble)throw Error("Cannot provide both keypoint and scribble.");if(t.keypoint){var s=new bs;xt(s,3,Yr(!0),!1),xt(s,1,Kr(t.keypoint.x),0),xt(s,2,Kr(t.keypoint.y),0),Zr(i,1,vs,s)}else{if(!t.scribble)throw Error("Must provide either a keypoint or a scribble.");{const c=new Lu;for(s of t.scribble)xt(t=new bs,3,Yr(!0),!1),xt(t,1,Kr(s.x),0),xt(t,2,Kr(s.y),0),zn(c,1,bs,t);Zr(i,2,vs,c)}}this.g.addProtoToStream(i.g(),"mediapipe.tasks.vision.interactive_segmenter.proto.RegionOfInterest","roi_in",r),Ye(this,e,n);e:{try{const c=new Bs(this.confidenceMasks,this.categoryMask,this.qualityScores);if(!this.j){var a=c;break e}this.j(c)}finally{Ki(this)}a=void 0}return a}m(){var e=new Ne;q(e,"image_in"),q(e,"roi_in"),q(e,"norm_rect_in");const t=new Se;it(t,mc,this.h);const r=new ve;Ae(r,2,"mediapipe.tasks.vision.interactive_segmenter.InteractiveSegmenterGraphV2"),$(r,"IMAGE:image_in"),$(r,"ROI:roi_in"),$(r,"NORM_RECT:norm_rect_in"),r.o(t),Ge(e,r),qi(this,e),this.outputConfidenceMasks&&(B(e,"confidence_masks"),L(r,"CONFIDENCE_MASKS:confidence_masks"),_r(this,"confidence_masks"),this.g.aa("confidence_masks",(i,n)=>{this.confidenceMasks=i.map(s=>Tr(this,s,!0,!this.j)),v(this,n)}),this.g.attachEmptyPacketListener("confidence_masks",i=>{this.confidenceMasks=[],v(this,i)})),this.outputCategoryMask&&(B(e,"category_mask"),L(r,"CATEGORY_MASK:category_mask"),_r(this,"category_mask"),this.g.Z("category_mask",(i,n)=>{this.categoryMask=Tr(this,i,!1,!this.j),v(this,n)}),this.g.attachEmptyPacketListener("category_mask",i=>{this.categoryMask=void 0,v(this,i)})),B(e,"quality_scores"),L(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)}};at.prototype.segment=at.prototype.segment,at.prototype.setOptions=at.prototype.o,at.createFromModelPath=function(e,t){return P(at,e,{baseOptions:{modelAssetPath:t}})},at.createFromModelBuffer=function(e,t){return P(at,e,{baseOptions:{modelAssetBuffer:t}})},at.createFromOptions=function(e,t){return P(at,e,t)};var We=class extends Ie{constructor(e,t){super(new Ke(e,t),"input_frame_gpu","norm_rect",!1),this.j={detections:[]},A(e=this.h=new vc,0,1,t=new Q)}get baseOptions(){return O(this.h,Q,1)}set baseOptions(e){A(this.h,0,1,e)}o(e){return e.displayNamesLocale!==void 0?G(this.h,2,Qr(e.displayNamesLocale)):"displayNamesLocale"in e&&G(this.h,2),e.maxResults!==void 0?wt(this.h,3,e.maxResults):"maxResults"in e&&G(this.h,3),e.scoreThreshold!==void 0?T(this.h,4,e.scoreThreshold):"scoreThreshold"in e&&G(this.h,4),e.categoryAllowlist!==void 0?ki(this.h,5,e.categoryAllowlist):"categoryAllowlist"in e&&G(this.h,5),e.categoryDenylist!==void 0?ki(this.h,6,e.categoryDenylist):"categoryDenylist"in e&&G(this.h,6),this.l(e)}F(e,t){return this.j={detections:[]},Ye(this,e,t),this.j}G(e,t,r){return this.j={detections:[]},ot(this,e,r,t),this.j}m(){var e=new Ne;q(e,"input_frame_gpu"),q(e,"norm_rect"),B(e,"detections");const t=new Se;it(t,Mu,this.h);const r=new ve;Ae(r,2,"mediapipe.tasks.vision.ObjectDetectorGraph"),$(r,"IMAGE:input_frame_gpu"),$(r,"NORM_RECT:norm_rect"),L(r,"DETECTIONS:detections"),r.o(t),Ge(e,r),this.g.attachProtoVectorListener("detections",(i,n)=>{for(const s of i)i=Ha(s),this.j.detections.push(_c(i));v(this,n)}),this.g.attachEmptyPacketListener("detections",i=>{v(this,i)}),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};We.prototype.detectForVideo=We.prototype.G,We.prototype.detect=We.prototype.F,We.prototype.setOptions=We.prototype.o,We.createFromModelPath=async function(e,t){return P(We,e,{baseOptions:{modelAssetPath:t}})},We.createFromModelBuffer=function(e,t){return P(We,e,{baseOptions:{modelAssetBuffer:t}})},We.createFromOptions=function(e,t){return P(We,e,t)};var Us=class{constructor(e,t,r){this.landmarks=e,this.worldLandmarks=t,this.segmentationMasks=r}close(){var e;(e=this.segmentationMasks)==null||e.forEach(t=>{t.close()})}};function nl(e){e.landmarks=[],e.worldLandmarks=[],e.segmentationMasks=void 0}function sl(e){try{const t=new Us(e.landmarks,e.worldLandmarks,e.segmentationMasks);if(!e.u)return t;e.u(t)}finally{Ki(e)}}Us.prototype.close=Us.prototype.close;var Pe=class extends Ie{constructor(e,t){super(new Ke(e,t),"image_in","norm_rect",!1),this.landmarks=[],this.worldLandmarks=[],this.outputSegmentationMasks=!1,A(e=this.h=new xc,0,1,t=new Q),this.A=new dc,A(this.h,0,3,this.A),this.j=new lc,A(this.h,0,2,this.j),wt(this.j,4,1),T(this.j,2,.5),T(this.A,2,.5),T(this.h,4,.5)}get baseOptions(){return O(this.h,Q,1)}set baseOptions(e){A(this.h,0,1,e)}o(e){return"numPoses"in e&&wt(this.j,4,e.numPoses??1),"minPoseDetectionConfidence"in e&&T(this.j,2,e.minPoseDetectionConfidence??.5),"minTrackingConfidence"in e&&T(this.h,4,e.minTrackingConfidence??.5),"minPosePresenceConfidence"in e&&T(this.A,2,e.minPosePresenceConfidence??.5),"outputSegmentationMasks"in e&&(this.outputSegmentationMasks=e.outputSegmentationMasks??!1),this.l(e)}F(e,t,r){const i=typeof t!="function"?t:{};return this.u=typeof t=="function"?t:r,nl(this),Ye(this,e,i),sl(this)}G(e,t,r,i){const n=typeof r!="function"?r:{};return this.u=typeof r=="function"?r:i,nl(this),ot(this,e,n,t),sl(this)}m(){var e=new Ne;q(e,"image_in"),q(e,"norm_rect"),B(e,"normalized_landmarks"),B(e,"world_landmarks"),B(e,"segmentation_masks");const t=new Se;it(t,Pu,this.h);const r=new ve;Ae(r,2,"mediapipe.tasks.vision.pose_landmarker.PoseLandmarkerGraph"),$(r,"IMAGE:image_in"),$(r,"NORM_RECT:norm_rect"),L(r,"NORM_LANDMARKS:normalized_landmarks"),L(r,"WORLD_LANDMARKS:world_landmarks"),r.o(t),Ge(e,r),qi(this,e),this.g.attachProtoVectorListener("normalized_landmarks",(i,n)=>{this.landmarks=[];for(const s of i)i=ri(s),this.landmarks.push(zi(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(const s of i)i=xr(s),this.worldLandmarks.push(ii(i));v(this,n)}),this.g.attachEmptyPacketListener("world_landmarks",i=>{this.worldLandmarks=[],v(this,i)}),this.outputSegmentationMasks&&(L(r,"SEGMENTATION_MASK:segmentation_masks"),_r(this,"segmentation_masks"),this.g.aa("segmentation_masks",(i,n)=>{this.segmentationMasks=i.map(s=>Tr(this,s,!0,!this.u)),v(this,n)}),this.g.attachEmptyPacketListener("segmentation_masks",i=>{this.segmentationMasks=[],v(this,i)})),e=e.g(),this.setGraph(new Uint8Array(e),!0)}};Pe.prototype.detectForVideo=Pe.prototype.G,Pe.prototype.detect=Pe.prototype.F,Pe.prototype.setOptions=Pe.prototype.o,Pe.createFromModelPath=function(e,t){return P(Pe,e,{baseOptions:{modelAssetPath:t}})},Pe.createFromModelBuffer=function(e,t){return P(Pe,e,{baseOptions:{modelAssetBuffer:t}})},Pe.createFromOptions=function(e,t){return P(Pe,e,t)},Pe.POSE_CONNECTIONS=Rc;const Qi="https://storage.googleapis.com/mediapipe-models/face_landmarker/face_landmarker/float16/latest/face_landmarker.task",$u="https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@latest/wasm",zu=()=>{const e=u.useRef(null),[t,r]=u.useState(!1),[i,n]=u.useState("Initializing..."),[s,a]=u.useState(0),[c,l]=u.useState(!1);u.useEffect(()=>{"serviceWorker"in navigator&&navigator.serviceWorker.register("/sw.js").then(w=>{console.log("ServiceWorker registered:",w)}).catch(w=>{console.log("ServiceWorker registration failed:",w)})},[]);const h=async()=>"caches"in window?await(await caches.open("mediapipe-models-v1")).match(Qi)!==void 0:!1,d=async()=>{try{const w=await fetch(Qi),g=w.headers.get("content-length"),p=g?parseInt(g,10):0;if(!w.body)throw new Error("No response body");const b=w.body.getReader();let y=0;const m=[];for(;;){const{done:_,value:S}=await b.read();if(_)break;if(m.push(S),y+=S.length,p){const I=Math.round(y/p*100);a(I),n(`Downloading model... ${I}%`)}}return"caches"in window&&await(await caches.open("mediapipe-models-v1")).put(Qi,new Response(new Blob(m),{headers:{"Content-Type":"application/octet-stream"}})),!0}catch(w){return console.error("Failed to preload model:",w),!1}};return u.useEffect(()=>{(async()=>{try{n("Checking cached models..."),await h()?n("Using cached model..."):(n("Model not cached. Downloading..."),await d()),n("Loading MediaPipe WASM...");const p=await Kt.forVisionTasks($u);n("Creating face landmarker...");const b=await K.createFromOptions(p,{baseOptions:{modelAssetPath:Qi,delegate:"GPU"},runningMode:"VIDEO",outputFaceBlendshapes:!0,numFaces:2});e.current=b,r(!0),n("Model loaded successfully ✅")}catch(g){console.error("Model init error:",g),n(`Error: ${g==null?void 0:g.message}`),(g==null?void 0:g.name)==="NotAllowedError"&&l(!0)}})()},[]),{faceLandmarkerRef:e,isModelLoaded:t,statusMessage:i,setStatusMessage:n,loadingProgress:s,permissionDenied:c,clearCache:async()=>{"caches"in window&&(await caches.delete("mediapipe-models-v1"),n("Cache cleared. Please refresh to re-download models."))}}},Hu=()=>{const[e,t]=u.useState(0),r=u.useRef({lastTime:0,frames:0,fps:0}),i=u.useCallback(()=>{const n=performance.now(),s=r.current;if(s.frames++,n-s.lastTime>=1e3){const a=Math.round(s.frames*1e3/(n-s.lastTime));t(a),s.frames=0,s.lastTime=n}},[]);return{fps:e,updateFPS:i}},qu=()=>{const e=u.useRef({value:100,isLookingAway:!1}),t=u.useCallback((s,a,c,l)=>{if(!s||!c||!a)return;const h=s.getContext("2d");if(!h)return;const{width:d,height:f}=s;if(h.clearRect(0,0,d,f),h.drawImage(a,0,0,d,f),l){h.fillStyle="#00FF00";for(const w of c)h.fillRect(w.x*d-.5,w.y*f-.5,1,1)}},[]),r=u.useCallback(s=>{const a=e.current.value/100,c=100,l=20,h=20,d=40;s.fillStyle="rgba(0, 0, 0, 0.3)",s.fillRect(h,d,l,c),s.fillStyle=`rgba(${Math.floor(255*(1-a))}, ${Math.floor(255*a)}, 0, 0.8)`;const f=c*a;s.fillRect(h,d+c-f,l,f),s.fillStyle="#FFFFFF",s.fillRect(h,d+c*(1-a),l,2)},[]),i=u.useCallback((s,a,c,l,h,d,f)=>{if(t(s,a,c,l),h&&d&&f){const w=s.getContext("2d");w&&r(w)}},[t,r]),n=u.useCallback((s,a)=>{const c=s.getContext("2d");c&&(c.clearRect(0,0,s.width,s.height),c.drawImage(a,0,0,s.width,s.height))},[]);return{drawLandmarks:t,drawEngagementBar:r,drawWithEngagementBar:i,clearCanvas:n,engagementRef:e}},Ku=50,Yu=()=>{const[e,t]=u.useState(100),[r,i]=u.useState(!1),n=u.useRef(0),s=u.useCallback((a,c,l)=>{if(!l||a.length<468)return;const h=a[33],d=a[263],f=a[1];if(!h||!d||!f)return;const w=(h.x+d.x)*.5,g=(h.y+d.y)*.5,p=w-c.x,b=g-c.y,y=Math.sqrt(p*p+b*b),m=Math.abs(f.y-c.noseY)*100,_=Math.abs(f.x-c.noseX)*100,S=Math.max(0,100-(y*200+m+_)),I=S<Ku,V=performance.now();return V-n.current>100&&(t(S),i(I),n.current=V),{engagement:S,isLookingAway:I}},[]);return{engagement:e,isLookingAway:r,analyzeGaze:s,setEngagement:t,setIsLookingAway:i}},Xu=.05,Qu=()=>{const[e,t]=u.useState(!1),[r,i]=u.useState(!1),n=u.useCallback((c,l)=>Math.sqrt(Math.pow(c.x-l.x,2)+Math.pow(c.y-l.y,2)),[]),s=u.useCallback((c,l)=>{if(!c||!l)return 0;const h=[1,33,263,61,291,10,152];let d=0,f=0;const w=l[33],g=l[263],p=c[33],b=c[263];if(!w||!g||!p||!b)return 0;const y=n(w,g),m=n(p,b);if(y===0||m===0)return 0;for(const S of h){const I=l[S],V=c[S];if(I&&V){const F=w.x+(V.x-p.x)*y/m,Y=w.y+(V.y-p.y)*y/m;d+=n(I,{x:F,y:Y}),f++}}return f===0?0:d/f},[n]),a=u.useCallback((c,l,h,d)=>{if(!c.faceLandmarks||c.faceLandmarks.length===0)return d("Face not detected."),i(!0),t(!1),null;if(l&&h){let f=null,w=0;for(const g of c.faceLandmarks)s(g,h)<Xu&&(f=g,w++);return w===1?(t(!1),i(!1),d("Reference face tracked."),f):w>1?(t(!0),i(!1),d("Multiple matching faces detected. Tracking suspended."),null):(t(!1),i(!0),d("Reference face not detected."),null)}else{const f=c.faceLandmarks[0];if(c.faceLandmarks.length>1)return t(!0),i(!1),d("Multiple faces detected. Please ensure only you are visible."),null;if(!f)return i(!0),t(!1),d("Face not detected."),null;const g=f[1],p=f[33],b=f[263];return g&&p&&b&&g.x>.35&&g.x<.65&&g.y>.3&&g.y<.7&&p.x>.2&&p.x<.8&&b.x>.2&&b.x<.8?(i(!1),t(!1),d("Face detected. Ready for calibration."),f):(i(!0),t(!1),d("Please position your face in the center."),null)}},[s]);return{multipleFacesDetected:e,referenceFaceNotDetected:r,analyzeFace:a,setMultipleFacesDetected:t,setReferenceFaceNotDetected:i}},Ju=1e3,Zu=(e,t)=>{const[r,i]=u.useState(!1),[n,s]=u.useState("face_detected"),{incrementGazeViolation:a}=Ys(),{multipleFacesDetected:c,referenceFaceNotDetected:l,isLookingAway:h}=e;u.useEffect(()=>{let w;return(h||c||l)&&t?w=setTimeout(()=>{i(!0),h?(s("looking_away"),a("looking_away")):c?(s("multiple_faces"),a("multiple_faces")):l&&(s("no_face_detected"),a("no_face_detected"))},Ju):(i(!1),s("face_detected")),()=>{clearTimeout(w)}},[h,c,l,t,a]);const d=u.useCallback(()=>c?"multiple_faces":l?"no_face_detected":h?"looking_away":"face_detected",[c,l,h]),f=u.useCallback(()=>{i(!1),s("face_detected")},[]);return{showGazeWarningModal:r,faceDetectionState:n,getWarningType:d,closeWarningModal:f,setShowGazeWarningModal:i,setFaceDetectionState:s}};class J extends Error{constructor(t,r,i=!1){super(t),this.code=r,this.recoverable=i,this.name="STTError"}}class Ru{constructor(t={}){Oe(this,"config");Oe(this,"mediaRecorder",null);Oe(this,"audioChunks",[]);Oe(this,"recordingStream",null);Oe(this,"autoStopTimeoutId",null);this.config={baseUrl:"http://localhost:8000",provider:"groq",model:"whisper-large-v3-turbo",language:"en",includeTimestamps:!1,temperature:0,...t}}updateConfig(t){this.config={...this.config,...t}}isRecordingSupported(){return!!(navigator.mediaDevices&&typeof navigator.mediaDevices.getUserMedia=="function"&&window.MediaRecorder)}async startRecording(t,r){var i;if(!this.isRecordingSupported())throw new J("Audio recording is not supported in this browser","RECORDING_NOT_SUPPORTED",!1);if(this.isRecording())throw new J("Recording is already in progress","ALREADY_RECORDING",!0);try{this.recordingStream=await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,sampleRate:44100}}),this.audioChunks=[];const n=this.getSupportedMimeType();this.mediaRecorder=new MediaRecorder(this.recordingStream,{mimeType:n}),this.mediaRecorder.ondataavailable=s=>{var a;s.data.size>0&&(this.audioChunks.push(s.data),(a=r==null?void 0:r.onDataAvailable)==null||a.call(r,s.data))},this.mediaRecorder.onstop=()=>{var s;(s=r==null?void 0:r.onStop)==null||s.call(r)},this.mediaRecorder.onerror=s=>{var c;const a=new J(`Recording failed: ${s.error}`,"RECORDING_ERROR",!0);(c=r==null?void 0:r.onError)==null||c.call(r,a),this.cleanup()},this.mediaRecorder.start(100),(i=r==null?void 0:r.onStart)==null||i.call(r),t&&t>0&&(this.autoStopTimeoutId=setTimeout(()=>{this.isRecording()&&this.stopRecording()},t*1e3))}catch(n){if(this.cleanup(),n instanceof Error){if(n.name==="NotAllowedError"||n.name==="PermissionDeniedError")throw new J("Microphone permission was denied","PERMISSION_DENIED",!1);if(n.name==="NotFoundError")throw new J("No microphone found","NO_MICROPHONE",!1)}throw new J(`Failed to start recording: ${n instanceof Error?n.message:String(n)}`,"START_RECORDING_FAILED",!0)}}async stopRecording(){if(this.autoStopTimeoutId&&(clearTimeout(this.autoStopTimeoutId),this.autoStopTimeoutId=null),!this.mediaRecorder||!this.isRecording())throw new J("No active recording to stop","NO_ACTIVE_RECORDING",!1);return new Promise((t,r)=>{if(!this.mediaRecorder){r(new J("MediaRecorder is null","MEDIARECORDER_NULL",!1));return}const i=this.mediaRecorder,n=()=>{try{const s=i.mimeType||"audio/webm",a=new Blob(this.audioChunks,{type:s});this.cleanup(),t(a)}catch(s){r(new J(`Failed to create audio blob: ${s instanceof Error?s.message:String(s)}`,"BLOB_CREATION_FAILED",!1))}};i.addEventListener("stop",n,{once:!0}),i.stop()})}async transcribe(t){const{audioBlob:r}=t;if(!r||r.size===0)throw new J("Audio blob is empty or invalid","INVALID_AUDIO",!1);try{const i=new FormData,n=new File([r],"recording.wav",{type:r.type||"audio/wav"});if(i.append("file",n),i.append("qna_id",this.config.qnaId||""),!this.config.interviewId)throw new J("Interview ID is missing from configuration","MISSING_INTERVIEW_ID",!1);const s=await mt(`${this.config.baseUrl}${bt.TRANSCRIBE_ANSWER(this.config.interviewId)}`,{method:"POST",headers:{accept:"application/json","X-STT-Provider":this.config.provider||"groq",...this.config.authToken&&{Authorization:`Bearer ${this.config.authToken}`}},body:i},{attempts:1,backoff:"exponential",baseDelay:1e3,maxDelay:3e3,jitter:!0});if(!s.ok){const c=await s.text();let l=`STT request failed: ${s.status} ${s.statusText}`;try{const h=JSON.parse(c);l=h.message||h.error||l}catch{l=c||l}throw new J(l,`HTTP_${s.status}`,s.status>=500)}return{transcript:(await s.json()).data.transcribed_text??""}}catch(i){throw i instanceof J?i:new J(`Transcription failed: ${i instanceof Error?i.message:String(i)}`,"TRANSCRIPTION_FAILED",!0)}}cancelRecording(){this.autoStopTimeoutId&&(clearTimeout(this.autoStopTimeoutId),this.autoStopTimeoutId=null),this.mediaRecorder&&this.isRecording()&&this.mediaRecorder.stop(),this.cleanup()}isRecording(){return this.mediaRecorder!==null&&this.mediaRecorder.state==="recording"}getSupportedMimeType(){const t=["audio/webm","audio/webm;codecs=opus","audio/ogg;codecs=opus","audio/mp4","audio/wav"];for(const r of t)if(MediaRecorder.isTypeSupported(r))return r;return"audio/webm"}getRecordingStream(){return this.recordingStream}cleanup(){this.recordingStream&&(this.recordingStream.getTracks().forEach(t=>t.stop()),this.recordingStream=null),this.mediaRecorder=null,this.audioChunks=[],this.autoStopTimeoutId&&(clearTimeout(this.autoStopTimeoutId),this.autoStopTimeoutId=null)}}const Ar=new Ru,e2=(e,t,r,i)=>{const n=u.useRef(null);return u.useEffect(()=>{if(!t)return;const s=async()=>{try{const l=await navigator.mediaDevices.getUserMedia({video:{width:{ideal:640},height:{ideal:480},facingMode:"user"}});e.current&&(e.current.srcObject=l,e.current.onloadeddata=()=>{r()})}catch(l){console.error("Camera access error:",l),i("Camera access failed")}},a=n.current,c=e.current;return s(),()=>{a&&cancelAnimationFrame(a),c!=null&&c.srcObject&&c.srcObject.getTracks().forEach(h=>h.stop())}},[t,r]),u.useEffect(()=>{const s=Ar.getRecordingStream();if(s&&e.current){e.current.srcObject=s;const a=s.getVideoTracks(),c=s.getAudioTracks(),l=()=>{console.log("Media track ended - permission may have been revoked")};[...a,...c].forEach(h=>{h.addEventListener("ended",l)})}},[]),{animationFrameRef:n}},t2=(e,t,r,i,n,s,a,c,l,h,d,f,w,g,p)=>{const b=u.useRef(null),y=u.useCallback(()=>{const m=e.current,_=t.current,S=r.current;if(!m||m.readyState<2||!S||!_){b.current=requestAnimationFrame(y);return}i();try{const I=performance.now(),V=S.detectForVideo(m,I),F=n(V,l,h.current,g);F?(s(_,m,F,d,f,w,l),l&&w&&c(F,h.current,w)):a(_,m)}catch(I){console.error("Face detection error:",I)}b.current=requestAnimationFrame(y)},[e,t,r,i,n,s,a,c,l,h,d,f,w,g,p]);return{renderLoop:y,animationFrameRef:b}},r2=(e,t,r,i)=>{const{referenceSet:n,referenceRef:s,setReferenceData:a}=Ys(),c=u.useRef(s),l=u.useCallback(()=>{c.current=s},[s]),h=u.useCallback(()=>{var g;const f=e.current,w=t.current;if(console.log({faceLandmarker:f,video:w}),!(!f||!w))try{const p=performance.now(),b=f.detectForVideo(w,p);if((g=b.faceLandmarks)!=null&&g[0]){const y=b.faceLandmarks[0],m=y[33],_=y[263],S=y[1];m&&_&&S&&(c.current={x:(m.x+_.x)*.5,y:(m.y+_.y)*.5,noseX:S.x,noseY:S.y},a(!0,c.current),r("Reference set. Gaze tracking active."),console.log("Reference set. Gaze tracking active.",c.current),i&&i())}}catch(p){console.error("Set reference error:",p),r("Failed to set reference")}},[e,t,r,a,i]),d=u.useCallback(()=>{a(!1,{x:0,y:0,noseX:0,noseY:0}),r("Reference reset. Starting calibration...")},[a,r]);return{referenceSet:n,referenceRef:c,setReference:h,resetReference:d,syncReference:l}},Cr={FACE_DETECTED:"face_detected",NO_FACE:"no_face_detected",MULTIPLE_FACES:"multiple_faces",LOOKING_AWAY:"looking_away",CAMERA_ERROR:"camera_error",MODEL_LOADING:"model_loading"},ol={[Cr.FACE_DETECTED]:{icon:Xl,iconColor:"iw-text-green-600",iconBg:"iw-bg-green-50",iconBorder:"iw-border-green-100",title:"All Good",subtitle:"Everything looks normal",description:"Your gaze is properly focused on the screen. Continue with your interview.",buttonText:"Continue"},[Cr.NO_FACE]:{icon:Yl,iconColor:"iw-text-orange-600",iconBg:"iw-bg-orange-50",iconBorder:"iw-border-orange-100",title:"Face Not Detected",subtitle:"We can't see you in the camera",description:"Please ensure you're positioned properly in front of the camera and that your face is clearly visible.",buttonText:"I Understood"},[Cr.MULTIPLE_FACES]:{icon:Rl,iconColor:"iw-text-red-600",iconBg:"iw-bg-red-50",iconBorder:"iw-border-red-100",title:"Multiple People Detected",subtitle:"More than one person is visible on the screen.",buttonText:"I Understood"},[Cr.LOOKING_AWAY]:{icon:to,iconColor:"iw-text-amber-600",iconBg:"iw-bg-amber-50",iconBorder:"iw-border-amber-200/75",title:"Focus Alert",subtitle:"You looked away from the screen. Maintain focus to continue.",buttonText:"I Understood"},[Cr.CAMERA_ERROR]:{icon:fn,iconColor:"iw-text-red-600",iconBg:"iw-bg-red-50",iconBorder:"iw-border-red-100",title:"Camera Issue",subtitle:"There's a problem with your camera",description:"Please check your camera connection and permissions, contact support if the problem continues.",buttonText:"I Understood"},[Cr.MODEL_LOADING]:{icon:to,iconColor:"iw-text-blue-600",iconBg:"iw-bg-blue-50",iconBorder:"iw-border-blue-100",title:"Initializing Model",subtitle:"Please wait while we set up the AI",description:"The face detection model is being loaded. This should only take a moment.",buttonText:"Wait"}};function i2({onClose:e,warningType:t,isCheatingModalOpen:r=!1}){const i=ol[t],n=i.icon;return t==="face_detected"?null:o.jsx("div",{className:"iw-absolute iw-left-4 iw-right-4 md:iw-right-auto md:iw-w-[480px] iw-z-50 iw-animate-in iw-fade-in iw-slide-in-from-bottom-4 iw-duration-300 iw-transition-all",style:{bottom:r?"280px":"5rem"},children:o.jsxs("div",{className:"iw-relative iw-overflow-hidden iw-rounded-xl iw-border iw-border-dashed iw-border-[#5C6686] iw-bg-[#F1F5FE] iw-p-4 iw-shadow-2xl iw-backdrop-blur-sm",children:[o.jsx("button",{onClick:e,className:"iw-absolute iw-right-3 iw-top-3 iw-text-gray-400 iw-transition-colors iw-hover:iw-text-gray-600",children:o.jsx(Ur,{className:"iw-h-5 iw-w-5"})}),o.jsxs("div",{className:"iw-flex iw-items-start iw-gap-2",children:[o.jsx("div",{className:"iw-flex iw-size-8 iw-flex-shrink-0 iw-items-center iw-justify-center iw-rounded-full iw-border iw-border-[#5C6686]",children:o.jsx(n,{className:"iw-size-6 iw-text-[#5C6686]"})}),o.jsxs("div",{className:"iw-flex-1 iw-pt-0.5",children:[o.jsx("h2",{className:"iw-text-[20px] iw-font-semibold iw-leading-tight iw-text-[#062260] iw-pr-6",children:i.title}),o.jsx("p",{className:"iw-mt-1.5 iw-text-lg iw-text-[#5C6686]",children:i.subtitle}),i.description&&o.jsx("div",{className:"iw-mt-3 iw-border-t iw-border-dashed iw-border-[#5C6686] iw-pt-3",children:o.jsx("p",{className:"iw-text-[14px] iw-font-bold iw-text-[#062260]",children:i.description})})]})]})]})})}const n2=({status:e})=>{const t=ol[e];if(!t)return null;const r=e!=="face_detected";return o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-gap-0.5",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-2 iw-px-3 iw-py-1 iw-rounded-full iw-backdrop-blur-md iw-shadow-sm transition-colors duration-300 iw-text-white",children:[o.jsx("div",{className:`iw-flex iw-h-4 iw-w-4 iw-items-center iw-size-2.5 iw-justify-center iw-rounded-full iw-text-white ${e==="face_detected"?"iw-bg-[#22C55E]":e==="model_loading"?"iw-bg-[#062260]":"iw-bg-[#E94315]"}`,children:e==="face_detected"?o.jsx(wn,{}):e==="model_loading"?o.jsx("div",{className:"iw-animate-spin iw-border iw-border-white iw-border-t-transparent iw-rounded-full iw-w-2 iw-h-2"}):o.jsx(Ur,{})}),o.jsx("span",{className:"iw-text-sm iw-font-medium",children:e==="face_detected"?"Face detected clearly":t.title})]}),r&&o.jsx("span",{className:"iw-text-white iw-text-center iw-text-xs iw-drop-shadow-sm iw-max-w-[400px] iw-px-3",children:e==="model_loading"?"Initializing AI models. Please wait...":e==="no_face_detected"?"Face not detected. Please position yourself clearly in the frame.":e==="multiple_faces"?"Multiple faces detected. Please ensure only you are visible.":"Please position your face correctly."})]})},al=u.forwardRef(({className:e="",interviewId:t="",interview_duration:r,showProctoringUI:i=!0,onSetReference:n,isAnswering:s,onProctoringStatusChange:a,showStatusOverlay:c=!1,cheatingWarningVisible:l=!1},h)=>{var _l;const{authToken:d}=Js(),f=d?Wl(d):null,{borderRadius:w}=Qt(),g=w??18,{proctoring:p,capture_screenshots:b}=dn(),y=!!(p!=null&&p.gazeAnalysisEnabled),[m,_]=u.useState(!1),[S,I]=u.useState((p==null?void 0:p.showLandmarks)??!1),[V,F]=u.useState(i&&((p==null?void 0:p.showEngagementBar)??!0)),[Y,ae]=u.useState(y),[C,U]=u.useState(!1),we=u.useRef(null),Yt=u.useRef(null),$e=u.useRef(null),Ee=u.useRef(null),ct=u.useCallback(async pe=>{var nn;const li=we.current,ye=$e.current;if(!li||!ye)return;const Dr=ye.getContext("2d");if(!Dr)return;ye.width=li.videoWidth,ye.height=li.videoHeight,Dr.save(),Dr.scale(-1,1),Dr.drawImage(li,-ye.width,0,ye.width,ye.height),Dr.restore();const di=await new Promise(Xt=>ye.toBlob(Xt,"image/jpeg"));if(di&&t)try{const Xt=`${pe}-${Date.now()}.jpeg`,be=await fi.requestScreenshotUploadUrl(t,Xt);be.data&&be.data.upload_url&&(await fi.uploadScreenshot((nn=be==null?void 0:be.data)==null?void 0:nn.upload_url,di),be.data.asset_id&&await fi.confirmScreenshotUpload(be.data.asset_id))}catch(Xt){console.error(`Failed to upload screenshot for ${pe}:`,Xt)}},[fi,t]);u.useEffect(()=>{let pe;return s&&(U(!0),pe=setTimeout(()=>U(!1),1e3)),()=>{pe&&clearTimeout(pe)}},[s]);const{faceLandmarkerRef:St,isModelLoaded:lt,statusMessage:Nt,setStatusMessage:Xe,loadingProgress:It,permissionDenied:dt,clearCache:Sr}=zu(),{fps:Ft,updateFPS:Nr}=Hu(),{drawWithEngagementBar:Ir,clearCanvas:De,engagementRef:ze}=qu(),{engagement:X,isLookingAway:Qe,analyzeGaze:si,setEngagement:Ri,setIsLookingAway:Fr}=Yu(),{multipleFacesDetected:oi,referenceFaceNotDetected:ai,analyzeFace:$s,setMultipleFacesDetected:Lr,setReferenceFaceNotDetected:Mr}=Qu(),{referenceSet:ci,referenceRef:en,setReference:Pr,resetReference:N,syncReference:M}=r2(St,we,Xe,n),Je={multipleFacesDetected:oi,referenceFaceNotDetected:ai,isLookingAway:Qe},{showGazeWarningModal:tn,getWarningType:rn,closeWarningModal:vl,setShowGazeWarningModal:xl,setFaceDetectionState:El}=Zu(Je,y&&!c);u.useEffect(()=>{if(a){if(!lt){a("model_loading");return}const pe=rn()||"face_detected";a(pe)}},[lt,oi,ai,Qe,rn,a]);const{renderLoop:Z2}=t2(we,Yt,St,Nr,$s,Ir,De,si,ci,en,S,V,y,Xe,Mr);e2(we,lt,Z2,Xe),u.useEffect(()=>{M()},[M]),u.useEffect(()=>{ze&&ze.current&&(ze.current.value=X,ze.current.isLookingAway=Qe)},[X,Qe,ze]);const R2=u.useCallback(pe=>{ae(pe),pe||(Ri(100),Fr(!1))},[Ri,Fr]),e1=u.useCallback(()=>{Fr(!1),Lr(!1),Mr(!1),El("face_detected"),xl(!1),vl()},[Fr,Lr,Mr,El,xl,vl]),t1={engagement:X,fps:Ft,isLookingAway:Qe,multipleFacesDetected:oi,referenceFaceNotDetected:ai};return u.useEffect(()=>{if(!b)return;const pe=[];return(async()=>{try{const ye=await navigator.mediaDevices.getUserMedia({video:!0,audio:!1});Ee.current=ye,we.current&&(we.current.srcObject=ye);const di=(r??ui)*60*1e3/3,nn=[0,1,2].map((be,Lt)=>({label:`capture-${Lt+1}`,start:Lt*di,end:(Lt+1)*di})),Xt=(be,Lt)=>be===Lt?be:Math.random()*(Lt-be)+be;nn.forEach(({label:be,start:Lt,end:r1},i1)=>{let zs;i1===0?zs=3e3:zs=Xt(Lt,r1),pe.push(setTimeout(()=>{ct(be)},zs))})}catch(ye){console.error("Error accessing camera:",ye)}})(),()=>{Ee.current&&Ee.current.getTracks().forEach(ye=>ye.stop()),pe.forEach(clearTimeout)}},[ct,b]),u.useImperativeHandle(h,()=>({setReference:()=>{Pr()},resetReference:()=>{N()},stopCamera:()=>{Ee.current&&(Ee.current.getTracks().forEach(pe=>pe.stop()),Ee.current=null)}}),[Pr,N]),o.jsxs("div",{className:`iw-relative iw-h-full iw-w-full ${e}`,children:[dt?o.jsxs("div",{className:"iw-rounded-md iw-border iw-border-red-600 iw-p-5 iw-text-red-600",children:[o.jsx("h2",{children:"Camera Permission Denied"}),o.jsx("p",{children:"Please allow camera access to use this application."})]}):o.jsx("div",{className:"iw-flex iw-w-full iw-h-full iw-justify-start iw-items-start",children:o.jsxs("div",{className:`iw-relative iw-max-w-full iw-max-h-full iw-aspect-video iw-rounded-2xl iw-overflow-hidden iw-bg-black ${C?"iw-animate-answer-start":""} ${s?"iw-border-4 iw-border-[#6296FB]":""}`,style:{width:"100%",height:"auto",minHeight:"0"},children:[o.jsx("video",{ref:we,autoPlay:!0,playsInline:!0,muted:!0,className:"iw-absolute iw-inset-0 iw-w-full iw-h-full iw-object-cover",style:{transform:"scaleX(-1)"}}),y&&o.jsx("canvas",{ref:Yt,width:320,height:240,className:"iw-absolute iw-inset-0 iw-w-full iw-h-full iw-object-cover",style:{transform:"scaleX(-1)",borderRadius:g,display:"hidden"}}),o.jsx("canvas",{ref:$e,style:{display:"none"}}),i&&o.jsxs("div",{className:"iw-absolute iw-top-4 iw-right-4 iw-inline-flex iw-items-center iw-gap-2 iw-rounded-lg iw-border iw-border-white/10 iw-bg-[#FFEBE6] iw-px-2 iw-py-1 iw-backdrop-blur-md",children:[o.jsx("div",{className:"iw-size-2 iw-animate-pulse iw-rounded-full iw-bg-red-500"}),o.jsx("span",{className:"iw-font-medium iw-text-xs iw-text-[#E94315]",children:"RECORDING"})]}),i&&((_l=f==null?void 0:f.data)==null?void 0:_l.user_name)&&o.jsx("div",{className:"iw-absolute iw-z-50 iw-bottom-4 iw-right-4 iw-inline-flex iw-items-center iw-gap-2 iw-rounded-lg iw-border iw-border-white/10 iw-bg-[#F1F5FE] iw-px-3 iw-py-1 iw-backdrop-blur-md",children:o.jsx("span",{className:"iw-font-medium iw-text-xs iw-text-[#062260]",children:f.data.user_name})}),i&&o.jsx("div",{className:"iw-absolute iw-bottom-4 iw-right-4",children:o.jsx(rd,{showControls:(p==null?void 0:p.showControls)??!1,isBubbleOpen:m,setIsBubbleOpen:_,setReference:Pr,clearCache:Sr,isModelLoaded:lt,gazeAnalysisEnabled:Y&&y,referenceSet:ci,showLandmarks:S,setShowLandmarks:I,showEngagementBar:V,setShowEngagementBar:F,handleToggleGazeAnalysis:R2,stats:t1,statusMessage:Nt,loadingProgress:It})}),c&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"iw-absolute iw-inset-0 iw-pointer-events-none iw-z-10 ",style:{background:"radial-gradient(ellipse 20% 40% at 50% 45%, transparent 99.5%, rgba(0,0,0,0.35) 100%)"}}),o.jsx("div",{className:"iw-absolute iw-bottom-2 iw-inset-x-0 iw-flex iw-justify-center iw-pointer-events-none iw-z-20",children:o.jsx(n2,{status:rn()??"face_detected"})})]})]})}),y&&tn&&!c&&o.jsx(i2,{isOpen:tn,onClose:e1,warningType:rn(),isCheatingModalOpen:l})]})}),Ji=({children:e,variant:t="primary",size:r="md",fullWidth:i=!1,isLoading:n=!1,disabled:s,className:a="",...c})=>{const l="iw-inline-flex iw-items-center iw-justify-center iw-rounded-md iw-font-medium iw-transition-colors iw-focus:outline-none iw-focus:ring-2 iw-focus:ring-primary-500 iw-focus:ring-offset-2",h={primary:"iw-bg-primary-600 iw-text-white iw-hover:bg-primary-700 iw-border iw-border-transparent",secondary:"iw-bg-primary-100 iw-text-primary-700 iw-hover:bg-primary-200 iw-border iw-border-transparent",outline:"iw-bg-transparent iw-text-primary-700 iw-border iw-border-primary-500 iw-hover:bg-primary-50",text:"iw-bg-transparent iw-text-primary-600 iw-hover:bg-primary-50 iw-border iw-border-transparent",gradient:"iw-text-white iw-border iw-border-transparent iw-bg-gradient-to-r iw-from-purple-500 iw-to-indigo-500 hover:iw-from-purple-600 hover:iw-to-indigo-600"},d={sm:"iw-px-3 iw-py-1.5 iw-text-sm",md:"iw-px-4 iw-py-2.5 iw-text-sm",lg:"iw-px-5 iw-py-3 iw-text-base"},f="iw-disabled:opacity-50 iw-disabled:cursor-not-allowed iw-disabled:pointer-events-none",w=i?"iw-w-full":"";return o.jsxs("button",{className:`${l} ${h[t]} ${d[r]} ${w} ${f} ${a}`,disabled:s||n,...c,children:[n&&o.jsx(eo,{height:16,width:16,style:{marginRight:"3px"}}),e]})},cl=({enabled:e,OnIcon:t,OffIcon:r,label:i})=>{const{baseColor:n}=Qt();return o.jsxs("div",{className:"iw-relative iw-group",children:[o.jsx("div",{className:"iw-flex iw-h-12 iw-w-16 iw-items-center iw-justify-center iw-rounded-xl iw-border iw-transition-all iw-border-[#E7EAF1] iw-bg-white iw-text-[#062260]",children:e?o.jsx(t,{className:"iw-h-6 iw-w-6"}):o.jsx(r,{className:"iw-h-6 iw-w-6"})}),e?o.jsx("div",{className:"iw-absolute -iw-right-1 -iw-top-1 iw-flex iw-h-4 iw-w-4 iw-items-center iw-justify-center iw-rounded-full iw-bg-[#22C55E] iw-text-white",children:o.jsx(wn,{className:"iw-h-2.5 iw-w-2.5"})}):o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"iw-absolute -iw-right-2 -iw-top-2 iw-z-10",children:o.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[o.jsx("path",{d:"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z",fill:"#E94315"}),o.jsx("circle",{cx:"12",cy:"10",r:"1.5",fill:"white"}),o.jsx("rect",{x:"11",y:"13",width:"2",height:"5",rx:"0.5",fill:"white"})]})}),o.jsx("div",{className:"iw-hidden group-hover:iw-block iw-absolute iw-bottom-full iw-mb-3 iw-left-1/2 -iw-translate-x-1/2 iw-w-64 iw-z-50",children:o.jsxs("div",{className:"iw-rounded-lg iw-p-3 iw-shadow-lg iw-text-white iw-text-left iw-relative",style:{background:n},children:[o.jsxs("div",{className:"iw-flex iw-justify-between iw-items-start iw-mb-1",children:[o.jsx("h4",{className:"iw-text-sm iw-font-bold iw-mr-2",children:i}),o.jsx(Ur,{className:"iw-w-4 iw-h-4 iw-text-white/70 hover:iw-text-white iw-cursor-pointer iw-shrink-0"})]}),o.jsx("p",{className:"iw-text-xs iw-opacity-90 iw-leading-tight",children:"We need permission to access your device. Go to your privacy settings to allow it"}),o.jsx("div",{className:"iw-absolute iw-top-full iw-left-1/2 -iw-translate-x-1/2 -iw-mt-1 iw-border-4 iw-border-transparent iw-border-t-[#5865F2]"})]})})]})]})},ll=({micEnabled:e=!1,videoEnabled:t=!1,buttonText:r,onButtonClick:i,isAgreed:n,onAgreedToggle:s,showCheckbox:a=!0,showMediaIcons:c=!0,disabled:l=!1})=>{const h=l||!n||c&&(!e||!t);return o.jsxs("div",{className:"iw-flex iw-flex-col iw-gap-6 iw-w-full",children:[a&&o.jsxs("div",{className:"iw-flex iw-items-start iw-gap-3 iw-bg-[#F1F5FE] iw-rounded-xl iw-p-4 iw-border iw-border-[#c2c3c7]",children:[o.jsx("div",{className:`iw-mt-0.5 iw-h-5 iw-w-5 iw-min-w-[20px] iw-rounded iw-border iw-flex iw-items-center iw-justify-center iw-cursor-pointer iw-transition-colors ${n?"iw-bg-[#062260] iw-border-[#062260]":"iw-bg-white iw-border-[#062260]"}`,onClick:d=>{d.stopPropagation(),s(!n)},children:n&&o.jsx(wn,{className:"iw-size-3 iw-text-white"})}),o.jsx("label",{onClick:()=>s(!n),className:"iw-text-sm iw-text-[#062260] iw-font-medium iw-cursor-pointer iw-select-none",children:"By continuing, you acknowledge and consent to the use of your face data exclusively for interview monitoring"})]}),o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-center iw-gap-4",children:[c&&o.jsxs(o.Fragment,{children:[o.jsx(cl,{enabled:e,OnIcon:Jl,OffIcon:Zl,label:"Allow us to access your microphone"}),o.jsx(cl,{enabled:t,OnIcon:ed,OffIcon:td,label:"Allow us to access your camera"})]}),o.jsxs("div",{className:"iw-relative iw-group iw-flex-1 iw-max-w-[220px]",children:[o.jsx(Ji,{onClick:i,disabled:h,className:`iw-h-12 iw-w-full !iw-bg-[#F1F5FE] !iw-text-[#062260] !iw-font-bold !iw-border-[#E7EAF1] iw-rounded-lg ${h?"iw-opacity-50":"hover:iw-opacity-75"}`,children:r}),!n&&(!c||e&&t)&&s2()]})]})]})},s2=()=>{const{baseColor:e}=Qt();return o.jsx(o.Fragment,{children:o.jsx("div",{className:"iw-hidden group-hover:iw-block iw-absolute iw-bottom-full iw-mb-3 iw-left-1/5 -iw-translate-x-1/2 iw-w-64 iw-z-50",children:o.jsxs("div",{className:"iw-rounded-lg iw-p-3 iw-shadow-lg iw-text-white iw-text-left iw-relative",style:{background:e},children:[o.jsx("div",{className:"iw-flex iw-justify-between iw-items-start iw-mb-1",children:o.jsx("h4",{className:"iw-text-sm iw-font-bold iw-mr-2",children:"Action Required"})}),o.jsx("p",{className:"iw-text-xs iw-opacity-90 iw-leading-tight",children:"Please check the box to acknowledge and consent to continue."}),o.jsx("div",{className:"iw-absolute iw-top-full iw-left-1/2 -iw-translate-x-1/2 -iw-mt-1 iw-border-4 iw-border-transparent iw-border-t-[#5865F2]"})]})})})},o2=({steps:e,currentStepIndex:t})=>o.jsx("div",{className:"iw-flex iw-items-center iw-justify-center iw-gap-4 iw-w-full iw-py-6",children:e.map((r,i)=>{const n=i<t,s=i===t;return o.jsxs(u.Fragment,{children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-3",children:[o.jsx("div",{className:`iw-flex iw-size-9 iw-text-[#062260] iw-items-center iw-justify-center iw-rounded-full iw-font-semibold iw-border ${s||n?"iw-border-[#0EB00E] iw-bg-[#E9FFE6]":"iw-border-[#BDE0FD] iw-bg-[#E6F3FF]"}`,children:n?o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:o.jsx("polyline",{points:"20 6 9 17 4 12"})}):i+1}),o.jsx("span",{className:`iw-text-sm iw-font-medium ${s||n?"iw-text-[#062260]":"iw-text-[#5C6686]"}`,children:r.label})]}),i<e.length-1&&o.jsx("div",{className:"iw-flex-1 iw-max-w-[120px] iw-border-t iw-border-dotted iw-border-[#B3B9CB]"})]},i)})}),a2=["Don't refresh or reload the page during your assessment","Don't switch tabs or open other applications while session is ongoing","Don't leave your position during the session","Don't disable or interfere with video/audio monitoring"],c2=({isOpen:e,onStart:t,gazeEnabled:r=!1,videoFeedRef:i,interviewId:n="",interview_duration:s=ui})=>{const a=u.useRef(null),c=u.useRef(null),[l,h]=u.useState(!1),[d,f]=u.useState(!1),[w,g]=u.useState(0),[p,b]=u.useState(!1),y=u.useRef(null),m=u.useRef(null),_=C=>{y.current=C,i&&(typeof i=="function"?i(C):i.current=C)},S=()=>{c.current&&(c.current.getTracks().forEach(C=>C.stop()),c.current=null)},I=async()=>{try{const C=await navigator.mediaDevices.getUserMedia({video:{facingMode:"user",width:{ideal:1280},height:{ideal:720}},audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,sampleRate:{ideal:48e3},channelCount:{ideal:1}}});c.current=C,a.current&&(a.current.srcObject=C,await a.current.play()),h(!0)}catch(C){console.error("Media permission error:",C);let U="Unable to access camera or microphone.";(C==null?void 0:C.name)==="NotAllowedError"?U="Permissions denied. Please allow access to camera and microphone.":(C==null?void 0:C.name)==="NotFoundError"?U="No camera/microphone found. Please connect a device and retry.":C!=null&&C.message&&(U=C.message),h(!1),console.log(U)}};if(u.useEffect(()=>{if(!e){S();return}return I(),()=>S()},[e]),u.useEffect(()=>()=>{m.current&&(clearInterval(m.current),m.current=null)},[]),!e)return null;const[V,F]=u.useState("face_detected"),Y=async()=>{var U;f(!0),(U=y.current)==null||U.resetReference();const C=()=>{var we;return(we=y.current)==null?void 0:we.setReference()};C(),m.current&&clearInterval(m.current),m.current=setInterval(C,500)},ae=[{label:r?"Calibrate your camera":"Camera & Mic permission"},{label:"Basic guidelines"}];return o.jsx("div",{className:"iw-fixed iw-inset-0 iw-z-50 iw-flex iw-items-center iw-justify-center iw-bg-gray-900/40 iw-backdrop-blur-sm iw-p-4 iw-overflow-auto",children:o.jsxs("div",{className:"iw-w-full iw-max-w-[700px] iw-max-h-[800px] iw-my-6 iw-bg-white iw-rounded-xl iw-shadow-2xl iw-overflow-auto",children:[o.jsxs("div",{className:"iw-px-5 iw-pt-5",children:[o.jsx("h2",{className:"iw-text-[#062260] iw-text-2xl iw-font-medium iw-tracking-tight",children:"Final checks before you go live"}),o.jsx("div",{className:"iw-mt-4 iw-bg-[#F1F5FE] iw-rounded-xl iw-p-3 iw-border iw-border-[#E7EAF1]",children:o.jsx("p",{className:"iw-text-[#5C6686] iw-text-sm iw-leading-relaxed",children:"To ensure the integrity of the interview process, this platform uses your device’s camera to monitor your face and gaze direction. We do not store any outside this session"})}),o.jsx("div",{className:"iw-mt-6 iw-border-b iw-border-dashed iw-border-[#B3B9CB] iw-w-full"}),o.jsx(o2,{steps:ae,currentStepIndex:w})]}),o.jsx("div",{className:"iw-px-5 iw-pb-5 iw-flex iw-flex-col iw-items-center",children:w===0?o.jsxs("div",{className:"iw-w-full iw-flex iw-flex-col iw-items-center iw-gap-6",children:[o.jsx("div",{className:"iw-w-full iw-max-w-[600px] iw-aspect-video iw-bg-slate-100 iw-rounded-2xl iw-overflow-hidden iw-relative iw-border iw-border-slate-200",children:r?o.jsx(al,{ref:_,interviewId:n,interview_duration:s,showProctoringUI:!1,showStatusOverlay:!0,onProctoringStatusChange:F,onSetReference:()=>{m.current&&(clearInterval(m.current),m.current=null),f(!1),g(1)}}):o.jsx("video",{ref:a,autoPlay:!0,playsInline:!0,muted:!0,className:"iw-w-full iw-h-full iw-object-cover",style:{transform:"scaleX(-1)"}})}),o.jsx(ll,{micEnabled:l,videoEnabled:l,buttonText:r?d?"Calibrating...":V==="model_loading"?"Initialising...":"Start calibrate":"Next",onButtonClick:()=>{r?Y():g(1)},disabled:!p||r&&V!=="face_detected"||!r&&!l,isAgreed:p,onAgreedToggle:b})]}):o.jsxs("div",{className:"iw-w-full iw-flex iw-flex-col iw-gap-6",children:[o.jsx("div",{className:"iw-w-full iw-bg-[#F8FAFF] iw-rounded-2xl iw-p-8 iw-flex iw-flex-col iw-gap-5",children:a2.map((C,U)=>o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-4",children:[o.jsx("div",{className:"iw-flex iw-h-7 iw-w-7 iw-min-w-[28px] iw-items-center iw-justify-center iw-rounded-full iw-bg-[#DBEAFE] iw-text-[#062260] iw-text-xs iw-font-bold",children:U+1}),o.jsx("span",{className:"iw-text-[#5C6686] iw-font-medium",children:C})]},U))}),o.jsx(ll,{buttonText:"Start interview",onButtonClick:()=>{t(),S()},isAgreed:p,onAgreedToggle:b,showMediaIcons:!1})]})})]})})};var D=(e=>(e.IDLE="idle",e.FETCHING_QUESTION="fetching_question",e.READING_QUESTION="reading_question",e.THINKING="thinking",e.ANSWERING="answering",e.TRANSCRIBING="transcribing",e.EDITING="editing",e.SUBMITTING="submitting",e.COMPLETED="completed",e))(D||{});const dl={thinkingDuration:0,answeringDuration:120,editingDuration:30},ul={idle:{next:"fetching_question"},fetching_question:{next:"reading_question"},reading_question:{next:"answering"},thinking:{next:"answering",duration:0},answering:{next:"transcribing",duration:120},transcribing:{next:"editing"},editing:{next:"submitting",duration:30},submitting:{next:"completed"},completed:{next:"completed"}};class l2{constructor(t={},r={}){Oe(this,"config");Oe(this,"state");Oe(this,"phaseIntervalId",null);Oe(this,"globalIntervalId",null);Oe(this,"callbacks");this.config={...dl,...t},this.callbacks=r,this.state={phase:"idle",currentPhaseTimeRemaining:0,totalTimeElapsed:0,currentQuestionNumber:0}}updateConfig(t){this.config={...this.config,...t}}getState(){return{...this.state}}startQuestion(){this.state.currentQuestionNumber===0&&this.startGlobalTimer(),this.state.currentQuestionNumber=this.state.currentQuestionNumber+1,this.state.phase="fetching_question",this.notifyChange()}nextPhase(){const t=this.state.phase;let r=ul[t];if(!r)return;if(r.next==="editing"&&this.config.editingDuration===0){const n=ul.editing;n&&(r=n)}this.stopPhaseTimer(),this.state.phase=r.next;const i=this.getDurationForPhase(r.next);i>0?(this.state.currentPhaseTimeRemaining=i,this.startPhaseTimer()):this.state.currentPhaseTimeRemaining=0,this.notifyChange()}setTotalTimeElapsed(t){var r,i;this.state.totalTimeElapsed=t,(i=(r=this.callbacks).onTick)==null||i.call(r,this.getState())}completeInterview(){var t,r;this.stopGlobalTimer(),this.stopPhaseTimer(),this.state.phase="completed",(r=(t=this.callbacks).onInterviewEnd)==null||r.call(t),this.notifyChange()}destroy(){this.stopPhaseTimer(),this.stopGlobalTimer()}getDurationForPhase(t){switch(t){case"thinking":return this.config.thinkingDuration;case"answering":return this.config.answeringDuration;case"editing":return this.config.editingDuration;default:return 0}}startGlobalTimer(){this.globalIntervalId=setInterval(()=>{var t,r;this.state.totalTimeElapsed++,(r=(t=this.callbacks).onTick)==null||r.call(t,this.getState())},1e3)}stopGlobalTimer(){this.globalIntervalId&&(clearInterval(this.globalIntervalId),this.globalIntervalId=null)}startPhaseTimer(){this.phaseIntervalId=setInterval(()=>{this.state.currentPhaseTimeRemaining--,this.state.currentPhaseTimeRemaining<=0&&this.nextPhase()},1e3)}stopPhaseTimer(){this.phaseIntervalId&&(clearInterval(this.phaseIntervalId),this.phaseIntervalId=null)}notifyChange(){var t,r;(r=(t=this.callbacks).onPhaseChange)==null||r.call(t,this.state.phase,this.getState())}}function d2(e={}){const{config:t={},callbacks:r={}}=e,i=u.useRef(null);i.current||(i.current=new l2(t,{}));const n=i.current,[s,a]=u.useState(n.getState()),c=u.useCallback(()=>{a(n.getState())},[n]);u.useEffect(()=>{const f={onPhaseChange:(w,g)=>{var p;c(),(p=r.onPhaseChange)==null||p.call(r,w,g)},onTick:w=>{var g;c(),(g=r.onTick)==null||g.call(r,w)},onInterviewEnd:()=>{var w;c(),(w=r.onInterviewEnd)==null||w.call(r)}};n.callbacks=f},[n,r,c]),u.useEffect(()=>{n.updateConfig(t)},[n,t]),u.useEffect(()=>()=>{n.destroy()},[n]);const l=u.useCallback(()=>{n.startQuestion(),c()},[n,c]),h=u.useCallback(()=>{n.nextPhase(),c()},[n,c]),d=u.useCallback(()=>{n.completeInterview(),c()},[n,c]);return{state:s,startQuestion:l,nextPhase:h,completeInterview:d,timerService:n}}function u2(e,t={}){const[r,i]=u.useState({data:null,loading:!1,error:null}),n=u.useCallback(async(...s)=>{var a,c,l,h;i(d=>({...d,loading:!0,error:null}));try{const d=await e(...s);i(f=>({...f,data:d,loading:!1,error:null})),(a=t.onSuccess)==null||a.call(t,d),(c=t.onSettled)==null||c.call(t,d,null)}catch(d){const f=d.type?d:{type:"unknown",message:d.message||"Unknown error",retryable:!0,userMessage:"Something went wrong. Please try again.",originalError:d};i(w=>({...w,loading:!1,error:f})),(l=t.onError)==null||l.call(t,f),(h=t.onSettled)==null||h.call(t,null,f)}},[e,t]);return{...r,execute:n}}const h2=e=>{const[t,r]=u.useState(null),[i,n]=u.useState(!1),s=document,a=()=>!!(s.fullscreenEnabled||s.webkitFullscreenEnabled||s.mozFullScreenEnabled||s.msFullscreenEnabled),c=()=>s.fullscreenElement||s.webkitFullscreenElement||s.mozFullScreenElement||s.msFullscreenElement,l=async g=>{var p;try{if(!a())throw new Error("Fullscreen is not supported in this environment");g.requestFullscreen?await g.requestFullscreen():g.webkitRequestFullscreen?await g.webkitRequestFullscreen():g.mozRequestFullScreen?await g.mozRequestFullScreen():g.msRequestFullscreen&&await g.msRequestFullscreen()}catch(b){const y={name:"FullscreenError",message:b instanceof Error?b.message:"Failed to enter fullscreen"};r(y),(p=e==null?void 0:e.onError)==null||p.call(e,y)}},h=async()=>{var g;try{s.exitFullscreen?await s.exitFullscreen():s.webkitExitFullscreen?await s.webkitExitFullscreen():s.mozCancelFullScreen?await s.mozCancelFullScreen():s.msExitFullscreen&&await s.msExitFullscreen()}catch(p){const b={name:"FullscreenError",message:p instanceof Error?p.message:"Failed to exit fullscreen"};r(b),(g=e==null?void 0:e.onError)==null||g.call(e,b)}},d=u.useCallback(()=>{var p;const g=!!c();n(g),(p=e==null?void 0:e.onFullScreenChange)==null||p.call(e,g)},[e]);u.useEffect(()=>{const g=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"];return g.forEach(p=>{document.addEventListener(p,d)}),()=>{g.forEach(p=>{document.removeEventListener(p,d)})}},[d]);const f=async g=>{r(null);const p=g??document.documentElement;await l(p)};return{isFullScreen:i,toggleFullScreen:async g=>{i?await h():await f(g)},enterFullScreen:f,exitFullScreen:h,error:t}};function hl(){const e=hi();return u.useMemo(()=>{const r=e.api||{};return new Zs(r)},[e.api])}const f2=e=>{u.useEffect(()=>{const t=i=>{(i.ctrlKey||i.metaKey)&&["c","v","a","t","n","w","r","s","p"].includes(i.key.toLowerCase())&&(i.preventDefault(),e({type:"blocked_shortcut",severity:"low",details:{action:"shortcut_pressed",reason:`Attempted to use a blocked keyboard shortcut: Ctrl + ${i.key}`}})),i.key.startsWith("F")&&i.key.length<=3&&(i.preventDefault(),e({type:"blocked_function_key",severity:"low",details:{action:"function_key_pressed",reason:`Attempted to use a blocked function key: ${i.key}`}})),i.altKey&&i.key==="Tab"&&(i.preventDefault(),e({type:"alt_tab_attempt",severity:"medium",details:{action:"alt_tab",reason:"Attempted to use the Alt + Tab shortcut"}}))},r=i=>{i.preventDefault(),e({type:"right_click_attempt",severity:"low",details:{action:"right_click",reason:"Attempted to use the right click"}})};return document.addEventListener("keydown",t),document.addEventListener("contextmenu",r),()=>{document.removeEventListener("keydown",t),document.removeEventListener("contextmenu",r)}},[e])},w2=(e={})=>{const[t,r]=u.useState(!1),[i,n]=u.useState(!1),[s,a]=u.useState(null),[c,l]=u.useState(null),[h,d]=u.useState(null);e.config&&Ar.updateConfig(e.config);const f=u.useCallback(async b=>{var y;try{l(null),a(null),d(null),await Ar.startRecording(b,{onStart:()=>{var m;r(!0),(m=e.onStart)==null||m.call(e)},onStop:()=>{var m;r(!1),(m=e.onStop)==null||m.call(e)},onError:m=>{var S;const _=m instanceof J?m:new J(m.message,"RECORDING_ERROR",!0);l(_),r(!1),(S=e.onError)==null||S.call(e,_)}})}catch(m){const _=m instanceof J?m:new J(m instanceof Error?m.message:String(m),"START_FAILED",!1);throw l(_),r(!1),(y=e.onError)==null||y.call(e,_),_}},[]),w=u.useCallback(async()=>{var b,y;try{const m=await Ar.stopRecording();return d(m),r(!1),(b=e.onStop)==null||b.call(e),m}catch(m){const _=m instanceof J?m:new J(m instanceof Error?m.message:String(m),"STOP_FAILED",!1);throw l(_),r(!1),(y=e.onError)==null||y.call(e,_),_}},[]),g=u.useCallback(async(b,y={})=>{var m,_;try{l(null),n(!0);const S={audioBlob:b,...y},I=await Ar.transcribe(S);return a(I.transcript),n(!1),(m=e.onTranscriptionComplete)==null||m.call(e,I),I}catch(S){const I=S instanceof J?S:new J(S instanceof Error?S.message:String(S),"TRANSCRIPTION_FAILED",!0);throw l(I),n(!1),(_=e.onError)==null||_.call(e,I),I}},[]),p=u.useCallback(()=>{Ar.cancelRecording(),r(!1),d(null)},[]);return{startRecording:f,stopRecording:w,transcribe:g,cancelRecording:p,isRecording:t,isTranscribing:i,transcript:s,error:c,audioBlob:h}},g2=e=>{const t=u.useRef(null),r=u.useRef(!1);u.useEffect(()=>{const i=()=>{document.hidden&&(r.current=!0,t.current&&(clearTimeout(t.current),t.current=null),e({type:"tab_switch",severity:"high",details:{action:"tab_hidden",reason:"Attempted to switch tabs or applications"}}),setTimeout(()=>{r.current=!1},100))},n=()=>{r.current||(t.current=setTimeout(()=>{r.current||e({type:"focus_loss",severity:"medium",details:{action:"window_blur",reason:"Focus lost from the interview window"}}),t.current=null},50))};return document.addEventListener("visibilitychange",i),window.addEventListener("blur",n),()=>{document.removeEventListener("visibilitychange",i),window.removeEventListener("blur",n),t.current&&clearTimeout(t.current)}},[e])},p2=()=>{u.useEffect(()=>{const e=document.createElement("style");return e.textContent=`
|
|
16
16
|
* {
|
|
17
17
|
-webkit-user-select: none !important;
|
|
18
18
|
-moz-user-select: none !important;
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
-ms-user-select: text !important;
|
|
26
26
|
user-select: text !important;
|
|
27
27
|
}
|
|
28
|
-
`,document.head.appendChild(e),()=>{document.head.removeChild(e)}},[])};class
|
|
28
|
+
`,document.head.appendChild(e),()=>{document.head.removeChild(e)}},[])};class m2{constructor(){Oe(this,"currentAudio",null)}async play(t,r){var i,n;try{if(this.stop(),(i=r==null?void 0:r.onStart)==null||i.call(r),!t)throw new Error("No audio data provided");const s=window.atob(t),a=new Uint8Array(s==null?void 0:s.length);for(let h=0;h<(s==null?void 0:s.length);h++)a[h]=s==null?void 0:s.charCodeAt(h);const c=new Blob([a],{type:"audio/wav"}),l=URL.createObjectURL(c);return this.currentAudio=new Audio(l),new Promise((h,d)=>{if(!this.currentAudio){d(new Error("Audio element not created"));return}const f=this.currentAudio;f.onended=()=>{var w;URL.revokeObjectURL(l),this.currentAudio=null,(w=r==null?void 0:r.onEnd)==null||w.call(r),h()},f.onerror=w=>{var p;URL.revokeObjectURL(l),this.currentAudio=null;const g=new Error(`Audio playback failed: ${w}`);(p=r==null?void 0:r.onError)==null||p.call(r,g),d(g)},f.play().catch(w=>{var p;URL.revokeObjectURL(l),this.currentAudio=null;const g=new Error(`Failed to play audio: ${w.message}`);(p=r==null?void 0:r.onError)==null||p.call(r,g),d(g)})})}catch(s){const a=s instanceof Error?s:new Error(`TTS Error: ${String(s)}`);throw(n=r==null?void 0:r.onError)==null||n.call(r,a),a}}stop(){this.currentAudio&&(this.currentAudio.pause(),this.currentAudio.currentTime=0,this.currentAudio=null)}isPlaying(){return this.currentAudio!==null&&!this.currentAudio.paused}}const fl=new m2,y2=(e={})=>{const[t,r]=u.useState(!1),[i,n]=u.useState(!1),[s,a]=u.useState(null),c=u.useCallback(async h=>{var d;try{a(null),n(!0),await fl.play(h,{onStart:()=>{var f;n(!1),r(!0),(f=e.onStart)==null||f.call(e)},onEnd:()=>{var f;r(!1),(f=e.onEnd)==null||f.call(e)},onError:f=>{var w;r(!1),n(!1),a(f),(w=e.onError)==null||w.call(e,f)}})}catch(f){const w=f instanceof Error?f:new Error(String(f));throw a(w),r(!1),n(!1),(d=e.onError)==null||d.call(e,w),w}},[e]),l=u.useCallback(()=>{fl.stop(),r(!1),n(!1)},[]);return{speak:c,stop:l,isPlaying:t,isLoading:i,error:s}},b2=({onViolation:e,onEnd:t,maxViolations:r=5})=>{const{addViolation:i}=Dl(),n=Ml(),s=Pl(),a=u.useRef(s);u.useEffect(()=>{a.current=s},[s]);const c=u.useCallback(h=>{t&&t(h,a.current)},[t]);return{logViolation:u.useCallback(({type:h,severity:d,details:f})=>{const w={id:jl(),type:h,severity:d,details:f,timestamp:Date.now()};i(w);const g=a.current+1;e&&e(w,g),g>=r&&c("excessive_violations")},[i,e,r,c]),onInterviewEnd:c,violationCount:s,logList:n}},v2=()=>{u.useEffect(()=>{function e(){console.clear(),console.log(`
|
|
29
29
|
%c
|
|
30
30
|
╔═══════════════════════════════════════════════════════════════════════╗
|
|
31
31
|
║ ║
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
│ │
|
|
72
72
|
│ 💡 IMMEDIATE ACTION REQUIRED: │
|
|
73
73
|
│ Close developer tools to continue interview │
|
|
74
|
-
└─────────────────────────────────────────────────────────────┘`,"color: #ffd93d; font-size: 14px; font-family: monospace; background: rgba(255, 217, 61, 0.1); padding: 10px;")}const t={open:!1,orientation:null},r=160,i=setInterval(()=>{window.outerHeight-window.innerHeight>r||window.outerWidth-window.innerWidth>r?t.open||(t.open=!0,t.orientation=window.outerWidth-window.innerWidth>r?"vertical":"horizontal",e()):t.open&&(t.open=!1,console.log("%c🌟 Developer tools closed. Interview continues smoothly! ✨","color: #4ecdc4; font-weight: bold; text-shadow: 0 0 10px #4ecdc4;"))},500),n=a=>{if(a.keyCode===123||a.ctrlKey&&a.shiftKey&&(a.keyCode===73||a.keyCode===74)||a.ctrlKey&&a.keyCode===85)return a.preventDefault(),console.log("%c🎭 Nice try! Keyboard shortcuts are disabled during interviews ✨","color: #ffd93d; font-weight: bold; text-shadow: 0 0 10px #ffd93d;"),!1},s=a=>(a.preventDefault(),console.log("%c🌈 Right-click menu disabled for interview integrity! 🎪","color: #ff9ff3; font-weight: bold; text-shadow: 0 0 10px #ff9ff3;"),!1);return document.addEventListener("keydown",n),document.addEventListener("contextmenu",s),()=>{clearInterval(i),document.removeEventListener("keydown",n),document.removeEventListener("contextmenu",s),delete window.showStats,delete window.interviewTips}},[])},Bs=e=>{const{baseColor:t,borderRadius:r}=Qt(),{loading:i,children:n,...s}=e;return o.jsx(Xi,{style:{background:Gl(t),borderRadius:r},...s,children:i?o.jsx(Zs,{}):n})},v2=(e,t,r)=>Math.max(t,Math.min(r,e)),hl=e=>{const t=Math.max(0,Math.floor(e)),r=Math.floor(t/60).toString().padStart(2,"0"),i=(t%60).toString().padStart(2,"0");return`${r}:${i}`},Qi=({total:e,remaining:t,size:r=64,strokeWidth:i=6,className:n="",showLabel:s=!0})=>{const a=Math.max(1,e||1),c=v2(t/a,0,1),{radius:l,circumference:h,dashOffset:d,center:f}=u.useMemo(()=>{const p=(r-i)/2,b=2*Math.PI*p,y=b*(1-c),m=Math.round(i)%2===1,A=r/2+(m?.5:0);return{radius:p,circumference:b,dashOffset:y,center:A}},[r,i,c]),w=u.useMemo(()=>c<=.25?"iw-stroke-red-500":c<=.5?"iw-stroke-yellow-500":"iw-stroke-green-500",[c]),g=c<=.25?"iw-animate-pulse":"";return o.jsxs("div",{className:`iw-relative iw-inline-flex iw-items-center iw-justify-center iw-rounded-full iw-bg-white ${n}`,style:{width:r,height:r},"aria-label":`Time remaining ${hl(t)}`,role:"timer","aria-live":"polite",children:[o.jsx("svg",{width:r,height:r,viewBox:`0 0 ${r} ${r}`,preserveAspectRatio:"xMidYMid meet",children:o.jsxs("g",{transform:`rotate(-90 ${f} ${f})`,children:[o.jsx("circle",{cx:f,cy:f,r:l,className:"iw-stroke-gray-200",strokeWidth:i,fill:"none",shapeRendering:"geometricPrecision",vectorEffect:"non-scaling-stroke"}),o.jsx("circle",{cx:f,cy:f,r:l,className:`${w} ${g}`,strokeWidth:i,strokeLinecap:"round",fill:"none",strokeDasharray:h,strokeDashoffset:d,shapeRendering:"geometricPrecision",vectorEffect:"non-scaling-stroke",style:{transition:"stroke-dashoffset 0.3s ease, stroke 0.2s ease"}})]})}),s?o.jsx("div",{className:"iw-absolute iw-inset-0 iw-flex iw-items-center iw-justify-center iw-rotate-0",children:o.jsx("span",{className:`iw-text-[11px] iw-font-semibold iw-tabular-nums ${c<=.25?"iw-text-red-600":c<=.5?"iw-text-yellow-600":"iw-text-green-600"}`,children:hl(t)})}):o.jsx("div",{className:"iw-absolute iw-inset-0 iw-flex iw-items-center iw-justify-center iw-rotate-0",children:o.jsx(Xl,{})})]})},x2=({timerState:e,answeringTime:t})=>{const r=(e==null?void 0:e.currentPhaseTimeRemaining)||0,i=t||cl.answeringDuration;return o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-3",children:[o.jsx(Qi,{total:i,remaining:r,size:50,strokeWidth:4,showLabel:!1,className:"iw-shadow-sm iw-border iw-border-gray-100"}),o.jsxs("div",{className:"iw-flex iw-flex-col",children:[o.jsx("span",{className:"iw-text-[#5C6686]",children:"Time left to answer"}),o.jsxs("span",{className:"iw-text-xl iw-font-bold iw-text-[#062260]",children:[ln(r)," mins"]})]})]})},E2=({question:e,isLoading:t=!1,phase:r,brandName:i,brandLogo:n,timerState:s,answeringTime:a})=>o.jsx("div",{className:"iw-rounded-xl iw-mb-4 message-animation iw-text-gray-800 iw-py-1",children:o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-4",children:[o.jsx("div",{className:`iw-flex iw-flex-col iw-items-center iw-justify-center iw-relative iw-h-16 iw-w-16 iw-shrink-0 iw-shadow iw-rounded-full iw-border-[#E8EEFE] iw-border-4 ${r===D.READING_QUESTION?"iw-animate-speaking":""}`,children:o.jsx("div",{className:"iw-bg-transparent iw-flex iw-items-center iw-justify-center iw-rounded-full iw-size-full",style:{backgroundImage:"linear-gradient(#B5D0FD, #FFFFFF)"},children:o.jsx(dn,{brandLogo:n,brandName:i})})}),o.jsx(_2,{phase:r,question:e,isLoading:t,brandName:i,timerState:s,answeringTime:a})]})}),_2=({phase:e,question:t,isLoading:r,brandName:i,timerState:n,answeringTime:s})=>{const a=i||"We",c=i?"is":"are";if(r||e===D.FETCHING_QUESTION||e===D.IDLE)return o.jsxs("div",{className:"iw-animate-pulse iw-w-full iw-space-y-3 iw-mr-10",children:[o.jsx("div",{className:"iw-h-5 iw-bg-gray-200 iw-rounded iw-w-full"}),o.jsx("div",{className:"iw-h-5 iw-bg-gray-200 iw-rounded iw-w-3/4"})]});const l=()=>o.jsxs("span",{className:"iw-animate-dot-wave iw-ml-1",children:[o.jsx("span",{children:"."}),o.jsx("span",{children:"."}),o.jsx("span",{children:"."})]});switch(e){case D.ANSWERING:return o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-between iw-w-full",children:[o.jsxs("p",{className:"iw-text-lg iw-leading-7 iw-font-medium iw-text-gray-600",children:["Listening",o.jsx(l,{})]}),o.jsx(x2,{timerState:n,answeringTime:s})]});case D.TRANSCRIBING:return o.jsxs("p",{className:"iw-text-lg iw-leading-7 iw-font-medium iw-text-gray-600",children:[a," ",c," analyzing your answer",o.jsx(l,{})]});case(D.EDITING||D.SUBMITTING):return o.jsxs("p",{className:"iw-text-lg iw-leading-7 iw-font-medium iw-text-gray-600",children:[a," ",c," waiting for your answer..."]});default:return o.jsx("p",{className:"iw-text-lg iw-leading-7",children:t==null?void 0:t.question})}},k2=({label:e,error:t,fullWidth:r=!1,className:i="",id:n,...s})=>{const a=n||`textarea-${Math.random().toString(36).substring(2,9)}`,c="iw-block iw-rounded-md iw-border iw-border-gray-300 iw-shadow-sm iw-px-4 iw-py-2 iw-text-sm iw-transition-all",l=t?"iw-border-red-500 iw-focus:border-red-500 iw-focus:ring-red-500":"",h=r?"iw-w-full":"",d=i.includes("iw-h-full")||r?"iw-h-full":"";return o.jsxs("div",{className:`iw-h-full iw-flex iw-flex-col ${r?"iw-w-full":""}`,children:[e&&o.jsx("label",{htmlFor:a,className:"iw-block iw-text-sm iw-font-medium iw-text-gray-700 iw-mb-1",children:e}),o.jsx("textarea",{id:a,className:`${c} ${l} ${h} ${d} ${i}`,"aria-invalid":t?"true":"false",...s}),t&&o.jsx("p",{className:"iw-mt-1 iw-text-sm iw-text-red-600",children:t})]})},T2=({answerText:e,onAnswerChange:t,timerState:r,editingTime:i})=>o.jsxs("div",{className:"iw-w-full iw-bg-white iw-rounded-xl iw-border iw-border-[#84bbf5] iw-overflow-hidden iw-rounded-tr-none",children:[o.jsx("div",{className:"iw-p-2 iw-pb-0",children:o.jsx(k2,{value:e,onChange:t,placeholder:"Type your answer here...",className:"iw-w-full iw-h-64 iw-resize-none iw-bg-transparent iw-border-none iw-text-[#062260] iw-text-base iw-leading-relaxed focus-visible:iw-outline-0 iw-p-0",disabled:r.phase===D.SUBMITTING})}),o.jsxs("div",{className:"iw-bg-[#F1F5FE] iw-px-2 iw-py-2 iw-flex iw-items-center iw-justify-between iw-border-t iw-border-[#E8EEFE]",children:[o.jsx("span",{className:"iw-text-[#062260] iw-text-sm iw-font-medium iw-line-clamp-1",children:"Time left to edit answer"}),o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-2",children:[o.jsx(Qi,{total:i,remaining:r.currentPhaseTimeRemaining,size:32,strokeWidth:3,showLabel:!1}),o.jsx("span",{className:"iw-text-[#062260] iw-text-sm iw-font-bold",children:`${ln(r.currentPhaseTimeRemaining)} mins`})]})]})]}),fl=({children:e})=>o.jsx("div",{className:"iw-flex iw-flex-col iw-items-start iw-mt-3 iw-gap-1",children:e}),A2=({children:e})=>o.jsx("div",{className:"iw-flex iw-flex-col iw-items-end iw-mt-3 iw-gap-1",children:e}),C2=({questionNumber:e})=>o.jsxs("div",{className:"iw-px-4 iw-py-1.5 iw-rounded-full iw-mb-2 iw-text-sm iw-font-semibold",style:{color:"#062260",backgroundColor:"#E6F3FF",border:"1px solid #BDE0FD"},children:[" Q",e]}),wl=({label:e})=>o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-2 iw-text-sm iw-text-gray-500 iw-bg-[#F1F5FE] iw-px-4 iw-py-1.5 iw-rounded-full iw-my-2 iw-font-semibold",children:[e&&o.jsx("span",{className:"iw-font-medium",children:e}),o.jsxs("span",{className:"iw-animate-dot-wave iw-text-2xl",children:[o.jsx("span",{children:"."}),o.jsx("span",{children:"."}),o.jsx("span",{children:"."})]})]}),S2=({phase:e,questionNumber:t})=>{switch(e){case D.FETCHING_QUESTION:return o.jsxs(fl,{children:[o.jsx(C2,{questionNumber:t+1}),o.jsx(wl,{})]});case D.ANSWERING:return o.jsx(A2,{children:o.jsx(wl,{label:"You"})});case D.TRANSCRIBING:return o.jsx(fl,{children:o.jsxs("div",{className:"iw-flex iw-items-center iw-px-1 iw-py-1.5 iw-rounded-lg iw-mb-2 iw-text-sm iw-bg-[#F2E8FE]",children:[o.jsx("div",{className:"iw-h-8 iw-w-12 iw-transcribing-icon"}),o.jsx("span",{className:"iw-text-sm iw-text-[#062260]",children:"Analyzing answer…"})]})});default:return null}},N2=({item:e,index:t,isCurrentQuestion:r=!1,isEditable:i=!1,answerText:n="",onAnswerChange:s,timerState:a,editingTime:c})=>{const l=i&&a&&c!==void 0,h=l||e.answer;return o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-start",children:[o.jsxs("div",{className:"iw-px-4 iw-py-1.5 iw-rounded-full iw-mb-2 iw-text-sm iw-font-semibold",style:{color:"#062260",backgroundColor:"#E6F3FF",border:"1px solid #BDE0FD"},children:["Q",t+1]}),o.jsx("div",{className:"iw-w-full iw-p-4 iw-rounded-xl iw-text-[#062260] iw-text-base iw-leading-relaxed iw-rounded-tl-none",style:{backgroundColor:"#F1F5FE",border:r?"2px solid #84bbf5":"1px solid transparent"},children:e.question})]}),h&&o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-end iw-mt-4",children:[o.jsx("div",{className:"iw-px-4 iw-py-1.5 iw-rounded-full iw-mb-2 iw-text-sm iw-font-semibold",style:{color:"#062260",backgroundColor:"#F2E8FE",border:"1px solid #E9D5FF"},children:"You"}),l?o.jsx(T2,{answerText:n||"",onAnswerChange:s,timerState:a,editingTime:c}):o.jsx("div",{className:"iw-w-full iw-p-4 iw-rounded-xl iw-text-[#062260] iw-text-base iw-leading-relaxed iw-rounded-tr-none",style:{backgroundColor:"#F7F1FE"},children:e.answer})]}),r&&o.jsx(S2,{phase:a==null?void 0:a.phase,questionNumber:t+1})]})},I2=()=>o.jsx("div",{className:"iw-space-y-6 iw-animate-pulse",children:[1,2,3].map(e=>o.jsxs("div",{className:`iw-flex iw-flex-col ${e%2===0?"iw-items-end":"iw-items-start"} iw-gap-2`,children:[o.jsx("div",{className:"iw-h-8 iw-w-16 iw-bg-gray-200 iw-rounded-full"}),o.jsx("div",{className:"iw-h-24 iw-w-full iw-bg-gray-100 iw-rounded-xl"})]},e))}),F2=({transcript:e,isLoading:t,className:r="",bottomRef:i,isEditing:n,answerText:s,onAnswerChange:a,timerState:c,editingTime:l})=>o.jsxs("div",{className:`iw-h-full iw-flex iw-flex-col iw-bg-white iw-scroll-smooth iw-p-6 iw-pr-2 iw-min-w-32 iw-border iw-rounded-tr-2xl iw-rounded-br-2xl iw-border-[#E8EEFE] ${r}`,children:[o.jsxs("div",{className:"iw-mb-6",children:[o.jsx("h2",{className:"iw-text-lg iw-font-semibold iw-mb-4",style:{color:"#062260"},children:"Interview transcript"}),o.jsx("div",{className:"iw-h-px iw-w-full iw-border-t iw-border-dashed iw-border-gray-300"})]}),o.jsxs("div",{className:"iw-flex-1 iw-overflow-y-auto iw-pr-2 iw-space-y-6 iw-scrollbar-thin iw-max-w-xl iw-pb-5",children:[t?o.jsx(I2,{}):e==null?void 0:e.map((h,d)=>o.jsx(N2,{item:h,index:d,isCurrentQuestion:d===(e==null?void 0:e.length)-1,isEditable:!!(d===(e==null?void 0:e.length)-1&&n),answerText:s,onAnswerChange:a||(()=>{}),timerState:c,editingTime:l},h.qna_id)),o.jsx("div",{ref:i})]})]}),L2=({interviewId:e,className:t="",currentQuestion:r,lastSubmittedAnswer:i,isEditing:n,answerText:s,onAnswerChange:a,timerState:c,editingTime:l})=>{const h=dl(),[d,f]=u.useState([]),[w,g]=u.useState(!0),p=u.useRef(null);return u.useEffect(()=>{var b;(b=p.current)==null||b.scrollIntoView({behavior:"smooth"})},[d,s,c==null?void 0:c.phase]),u.useEffect(()=>{(async()=>{var y;try{const m=await h.getInterviewTranscription(e);f(((y=m==null?void 0:m.data)==null?void 0:y.transcript)||[])}catch(m){console.error("Failed to fetch transcript:",m)}finally{g(!1)}})()},[e,h]),u.useEffect(()=>{r&&f(b=>{if(b.some(A=>A.qna_id===r.qna_id))return b;const m={qna_id:r.qna_id,question:r.question,answer:null,question_generated_at:new Date().toISOString(),answer_submitted_at:null};return[...b,m]})},[r]),u.useEffect(()=>{i!=null&&i.answer?f(b=>b.map(y=>y.qna_id===i.qnaId?{...y,answer:i.answer,answer_submitted_at:new Date().toISOString()}:y)):s&&f(b=>b.map(y=>y.qna_id===(i==null?void 0:i.qnaId)?{...y,answer:s,answer_submitted_at:new Date().toISOString()}:y))},[i,s]),o.jsx(F2,{transcript:d,isLoading:w||(d==null?void 0:d.length)===0,className:t,bottomRef:p,isEditing:n,answerText:s,onAnswerChange:a,timerState:c,editingTime:l})},Us=5,Gs=5;function M2({isOpen:e,onClose:t,warningCount:r,violationType:i,onDisqualify:n}){const[,s]=u.useState(Gs),a=u.useRef(t),c=u.useRef(n),l=u.useRef(r);if(u.useEffect(()=>{a.current=t,c.current=n,l.current=r},[t,n,r]),u.useEffect(()=>{if(!e)return;const w=setInterval(()=>{s(g=>g<=1?(l.current+1>Us?c.current():a.current(),Gs):g-1)},1e3);return()=>clearInterval(w)},[e]),u.useEffect(()=>{e&&s(Gs)},[e]),!e)return null;const h=()=>{switch(i){case"tab_switch":return"Attempted tab switch/reload";case"fullscreen_exit":return"Attempted to exit full screen mode";case"focus_loss":return"Lost focus from interview window";case"blocked_shortcut":return"Used a blocked keyboard shortcut";case"right_click_attempt":return"Attempted right click";case"alt_tab_attempt":return"Attempted Alt + Tab";case"blocked_function_key":return"Attempted to use function key";default:return"Attempted right click/tab switch"}},d=Us-r,f=()=>{r+1>Us?n():t()};return o.jsx("div",{className:"iw-absolute iw-bottom-20 iw-left-4 iw-right-4 md:iw-right-auto md:iw-w-[480px] iw-z-50 iw-animate-in iw-fade-in iw-slide-in-from-bottom-4 iw-duration-300",children:o.jsxs("div",{className:"iw-relative iw-overflow-hidden iw-rounded-xl iw-border iw-border-dashed iw-border-[#E94315] iw-bg-[#FFEBE6] iw-p-4 iw-shadow-2xl iw-backdrop-blur-sm",children:[o.jsx("button",{onClick:f,className:"iw-absolute iw-right-3 iw-top-3 iw-text-gray-400 iw-transition-colors iw-hover:iw-text-gray-600",children:o.jsx(Or,{className:"iw-h-5 iw-w-5"})}),o.jsxs("div",{className:"iw-flex iw-items-start iw-gap-3",children:[o.jsx("div",{className:"iw-flex iw-h-10 iw-w-10 iw-flex-shrink-0 iw-items-center iw-justify-center iw-rounded-full iw-border iw-border-[#FDCBBD]",children:o.jsx(un,{className:"iw-h-5 iw-w-5 iw-text-red-500"})}),o.jsxs("div",{className:"iw-flex-1 iw-pt-0.5",children:[o.jsxs("h2",{className:"iw-text-[20px] iw-font-semibold iw-leading-tight iw-text-[#E94315]",children:["You have ",d>0?d:0," warning",d>1?"s":""," left"]}),o.jsx("p",{className:"iw-mt-1.5 iw-text-lg iw-text-[#5C6686]",children:h()}),o.jsx("div",{className:"iw-mt-3 iw-border-t iw-border-dashed iw-border-red-200 iw-pt-3",children:d===1?o.jsx("p",{className:"iw-text-[14px] iw-font-bold iw-text-[#062260]",children:"Next violation will disqualify you from this interview and automatically end the interview"}):o.jsx("p",{className:"iw-text-[14px] iw-font-bold iw-text-[#062260]",children:"Interview will end automatically after final warning"})})]})]})]})})}const P2=({isOpen:e,onClose:t,children:r,title:i,showCloseButton:n=!0,closeOnOverlayClick:s=!0,closeOnEscape:a=!0,className:c=""})=>{if(u.useEffect(()=>{if(!e||!a)return;const d=f=>{f.key==="Escape"&&t()};return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)},[e,a,t]),u.useEffect(()=>(e?(document.body.style.overflow="hidden",document.body.classList.add("interview-widget-container")):(document.body.style.overflow="unset",document.body.classList.remove("interview-widget-container")),()=>{document.body.style.overflow="unset",document.body.classList.remove("interview-widget-container")}),[e]),!e)return null;const l=d=>{s&&d.target===d.currentTarget&&t()},h=o.jsxs("div",{className:"iw-fixed iw-inset-0 iw-z-50 iw-flex iw-items-center iw-justify-center",children:[o.jsx("div",{className:"iw-fixed iw-inset-0 iw-bg-black iw-bg-opacity-50 iw-transition-opacity",onClick:l}),o.jsxs("div",{className:`iw-relative iw-bg-white iw-rounded-lg iw-shadow-xl iw-max-w-md iw-w-full iw-mx-4 iw-max-h-[90vh] iw-overflow-hidden ${c}`,role:"dialog","aria-modal":"true","aria-labelledby":i?"dialog-title":void 0,children:[(i||n)&&o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-between iw-p-4 iw-border-b iw-border-gray-200",children:[i&&o.jsx("h2",{id:"dialog-title",className:"iw-text-lg iw-font-semibold iw-text-gray-900",children:i}),n&&o.jsx("button",{onClick:t,className:"iw-p-1 iw-text-gray-400 iw-hover:text-gray-600 iw-transition-colors iw-rounded iw-hover:bg-gray-100","aria-label":"Close dialog",children:o.jsx("svg",{className:"iw-w-5 iw-h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:o.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),o.jsx("div",{className:"iw-p-4 iw-overflow-y-auto",children:r})]})]});return $s.createPortal(h,document.body)},D2=e=>o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[o.jsx("path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z"}),o.jsx("circle",{cx:"12",cy:"12",r:"10"})]}),O2=({showHardReloadWarning:e,onContinue:t})=>{const r=()=>{t()};return o.jsxs(P2,{isOpen:e,onClose:r,closeOnOverlayClick:!1,closeOnEscape:!1,showCloseButton:!1,className:"iw-max-w-lg iw-px-2 iw-rounded-xl",children:[o.jsx("div",{className:"iw-absolute iw-inset-x-0 iw-top-0 iw-h-1 iw-bg-gradient-to-r iw-from-red-500 iw-to-red-600"}),o.jsx("div",{className:"iw-space-y-1 iw-pb-2 iw-pt-3",children:o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-2",children:[o.jsx(un,{className:"iw-w-5 iw-h-5 iw-text-red-500"}),o.jsx("h3",{className:"iw-text-xl iw-font-semibold iw-text-red-500",children:"Full Screen Exit Detected"})]})}),o.jsx("div",{className:"iw-pt-4 iw-pb-6",children:o.jsx("p",{className:"iw-text-center iw-text-sm iw-leading-relaxed iw-text-gray-500/90",children:"Exiting full screen mode or reloading this page during the session is strictly prohibited. Any attempt to do so will be recorded and may lead to penalties."})}),o.jsx("div",{className:"iw-pt-2 iw-pb-4",children:o.jsxs("button",{onClick:r,className:"iw-w-full iw-flex iw-items-center iw-justify-center iw-gap-2 iw-px-4 iw-py-3 iw-bg-gray-100 iw-text-gray-600 iw-rounded-md iw-font-medium iw-transition-colors hover:iw-bg-gray-200 focus:iw-outline-none focus:iw-ring-2 focus:iw-ring-gray-400 focus:iw-ring-offset-2",children:[o.jsx(D2,{className:"iw-size-4"}),"Continue Session"]})})]})},gl=u.createContext(null),B2=()=>{const e=u.useContext(gl);if(!e)throw new Error("useProctoring must be used within InterviewProctoring");return e},U2=u.forwardRef(({children:e,onDisqualify:t},r)=>{const[i,n]=u.useState(!1),[s,a]=u.useState(!1),[c,l]=u.useState(!1),[h,d]=u.useState("fullscreen_exit"),{logViolation:f,violationCount:w}=y2({maxViolations:5,onViolation:m=>{s||(n(!0),d(m.type))}}),{enterFullScreen:g,isFullScreen:p,exitFullScreen:b}=u2({onFullScreenChange(m){!m&&!s&&!c&&(n(!0),f({type:"fullscreen_exit",severity:"high",details:{action:"fullscreen_exit",reason:"Attempted to exit full screen mode"}})),m&&l(!1)}});u.useEffect(()=>{g()},[]),u.useImperativeHandle(r,()=>({exitFullScreenIntentionally:async()=>{l(!0),n(!1),a(!1);try{document.fullscreenElement&&await document.exitFullscreen()}catch(m){console.error("Failed to exit fullscreen:",m)}}}),[]),w2(f),h2(f),g2(),b2(),u.useEffect(()=>{const m=A=>{if(!(s||c))return A.preventDefault(),A.returnValue=void 0,""};return window.addEventListener("beforeunload",m),()=>{window.removeEventListener("beforeunload",m)}},[s,c]);const y=()=>{a(!0),b(),n(!1),t==null||t()};return o.jsxs(gl.Provider,{value:{violationCount:w,violationType:h,showWarningModal:i,setShowWarningModal:n,handleClose:()=>{n(!1),g()},handleDisqualify:y},children:[o.jsx("div",{className:"iw-relative iw-h-full iw-w-full",children:e}),!p&&w>0&&!s&&!c&&o.jsx(O2,{showHardReloadWarning:!0,logViolation:f,onContinue:g})]})}),G2=({onClick:e,text:t="Submit response"})=>(u.useEffect(()=>{if(typeof window>"u")return;const r=i=>{const n=i.key==="Enter",s=i.target;s.tagName==="INPUT"||s.isContentEditable||n&&(i.preventDefault(),e())};return window.addEventListener("keydown",r),()=>window.removeEventListener("keydown",r)},[e]),o.jsx("div",{className:"iw-fixed iw-bottom-10 iw-left-1/4 iw-transform iw--translate-x-1/2 iw-z-50",children:o.jsxs("button",{onClick:e,className:"iw-flex iw-items-center iw-gap-3 iw-bg-[#4C6CFF] hover:iw-bg-[#4c6dffd5] iw-text-white iw-px-5 iw-py-3 iw-rounded-lg iw-shadow-lg iw-transition-all iw-duration-200 iw-group",children:[o.jsx("span",{className:"iw-font-semibold iw-text-sm",children:t}),o.jsx("span",{className:"iw-bg-white/90 iw-text-[#062260] iw-px-2 iw-py-1 iw-rounded iw-text-xs iw-font-mono iw-font-bold group-hover:iw-bg-white iw-transition-colors",children:"Press Enter"})]})})),pl=({brandName:e,brandLogo:t,currentQuestion:r,state:i,phase:n,className:s="",interviewId:a="",interview_duration:c=li,videoFeedRef:l,lastSubmittedAnswer:h,onNextPhase:d,answerText:f,onAnswerChange:w,editingTime:g,answeringTime:p})=>{const{showWarningModal:b,violationCount:y,violationType:m,handleClose:A,handleDisqualify:S}=B2();return o.jsxs("div",{className:`iw-px-4 iw-py-3 ${s} iw-h-[calc(100vh_-_120px)] iw-max-h-[calc(100vh_-_120px)] iw-flex iw-gap-0 iw-relative`,children:[o.jsxs("div",{className:"iw-flex iw-flex-col iw-flex-1 iw-p-5 iw-bg-white/50 iw-border iw-border-[#E8EEFE] iw-rounded-s-3xl iw-overflow-hidden",children:[o.jsx("div",{className:"iw-flex iw-items-start iw-justify-between iw-gap-3 iw-mb-4",children:o.jsx("div",{className:"iw-flex-1",children:o.jsx(E2,{question:r,isLoading:n===D.FETCHING_QUESTION||n===D.IDLE,phase:n,brandName:e,brandLogo:t,timerState:i,answeringTime:p})})}),o.jsxs("div",{className:"iw-flex-1 iw-min-h-0 iw-rounded-[16px] iw-overflow-hidden iw-relative",children:[o.jsx(sl,{ref:l,interviewId:a,interview_duration:c,isAnswering:n===D.ANSWERING,cheatingWarningVisible:b}),o.jsx(M2,{isOpen:b,warningCount:y,violationType:m,onClose:A,onDisqualify:S})]})]}),o.jsx("div",{className:"iw-interview-transcription iw-w-1/4 iw-min-w-32 iw-h-full",children:o.jsx(L2,{interviewId:a,currentQuestion:r,lastSubmittedAnswer:h,isEditing:n===D.EDITING,answerText:f,onAnswerChange:w,timerState:i,editingTime:g})}),d&&(n===D.ANSWERING||n===D.EDITING)&&o.jsx(G2,{onClick:d,text:n===D.ANSWERING?"Submit Response":"Submit Final Response"})]})},V2=({isOpen:e,onClose:t,children:r,title:i,showCloseButton:n=!0,closeOnOverlayClick:s=!0,closeOnEscape:a=!0,className:c=""})=>{if(u.useEffect(()=>{if(!e||!a)return;const d=f=>{f.key==="Escape"&&t()};return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)},[e,a,t]),u.useEffect(()=>(e?(document.body.style.overflow="hidden",document.body.classList.add("interview-widget-container")):(document.body.style.overflow="unset",document.body.classList.remove("interview-widget-container")),()=>{document.body.style.overflow="unset",document.body.classList.remove("interview-widget-container")}),[e]),!e)return null;const l=d=>{s&&d.target===d.currentTarget&&t()},h=o.jsxs("div",{className:"interview-widget-container",style:{position:"fixed",inset:0,zIndex:9999,display:"flex",alignItems:"center",justifyContent:"center"},children:[o.jsx("div",{style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.5)",transition:"opacity 0.2s"},onClick:l}),o.jsxs("div",{className:`iw-relative iw-bg-white iw-rounded-lg iw-shadow-xl iw-max-w-md iw-w-full iw-mx-4 iw-max-h-[90vh] iw-overflow-hidden ${c}`,role:"dialog","aria-modal":"true","aria-labelledby":i?"standalone-dialog-title":void 0,style:{zIndex:1e4},children:[(i||n)&&o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-between iw-p-4 iw-border-b iw-border-gray-200",children:[i&&o.jsx("h2",{id:"standalone-dialog-title",className:"iw-text-lg iw-font-semibold iw-text-gray-900",children:i}),n&&o.jsx("button",{onClick:t,className:"iw-p-1 iw-text-gray-400 iw-hover:text-gray-600 iw-transition-colors iw-rounded iw-hover:bg-gray-100","aria-label":"Close dialog",children:o.jsx("svg",{className:"iw-w-5 iw-h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:o.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),o.jsx("div",{className:"iw-p-4 iw-overflow-y-auto",children:r})]})]});return $s.createPortal(h,document.body)},j2=({confirmExitInterview:e,isOpen:t,onClose:r})=>o.jsxs(V2,{isOpen:t,onClose:r,showCloseButton:!1,closeOnOverlayClick:!1,className:"iw-max-w-xl iw-border-2 iw-border-dashed iw-rounded-xl iw-border-[#6296FB]",children:[o.jsxs("div",{className:"iw-p-4",children:[o.jsx("h2",{className:"iw-text-xl iw-font-semibold iw-text-[#062260]",children:"Are you sure you want to leave interview?"}),o.jsx("p",{className:"iw-mt-2 iw-text-[#667085] iw-line-clamp-2",children:"If you exit now, the interview will be terminated and cannot be resumed."})]}),o.jsx("div",{className:"iw-my-0 iw-h-px iw-m-6 iw-border-t iw-border-dashed iw-border-[#B3B9CB]"}),o.jsxs("div",{className:"iw-flex iw-justify-center iw-gap-4 iw-p-4",children:[o.jsx(Xi,{className:"iw-px-8 iw-py-3 iw-rounded-xl !iw-bg-[#E94315] !iw-text-white !iw-font-bold !iw-shadow-md !hover:iw-opacity-70",onClick:e,children:"Leave"}),o.jsx(Xi,{onClick:r,className:"iw-px-6 iw-py-3 iw-rounded-xl !iw-bg-[#F1F5FE] !iw-text-[#062260] !iw-font-bold !iw-border !iw-border-[#E7EAF1] !iw-shadow-md hover:iw-opacity-70",children:"Stay in Interview"})]})]}),ml=({title:e,brandName:t,brandLogo:r,onExit:i,totalDuration:n=30,elapsedTime:s=0})=>{const[a,c]=u.useState(!1),l=Math.min(s/(n*60)*100,100),h=()=>o.jsxs("div",{className:"iw-px-4 iw-pb-2 iw-flex iw-items-center iw-gap-3",children:[o.jsx("div",{className:"iw-flex-1 iw-h-4 iw-bg-[#F2F4F7] iw-rounded-full iw-overflow-hidden iw-border iw-border-blue-100 iw-relative",children:o.jsx("div",{className:"iw-h-full iw-bg-[#0EB00E] iw-rounded-full iw-transition-all iw-duration-1000 iw-ease-linear",style:{width:`${l}%`}})}),o.jsxs("div",{className:"iw-text-sm iw-font-medium iw-whitespace-nowrap",children:[o.jsx("span",{className:"iw-text-[#062260]",children:ln(s)}),o.jsxs("span",{className:"iw-text-[#667085]",children:["/",n," Min"]})]})]});return o.jsxs("header",{className:"iw-w-full iw-text-gray-900 iw-shadow-sm",children:[o.jsxs("div",{className:"iw-mx-auto iw-flex iw-items-center iw-justify-between iw-p-4 iw-pt-1 iw-mb-2 iw-border-b iw-border-[#B3B9CB] iw-border-dashed",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-space-x-2",children:[o.jsx(dn,{brandLogo:r,brandName:t}),o.jsx("p",{className:"iw-text-xl iw-font-semibold",children:t})]}),o.jsx("h1",{className:"iw-text-2xl iw-font-semibold iw-text-gradient-silver",children:e}),o.jsx("button",{className:"iw-text-sm iw-text-[#E94315] iw-min-w-10 iw-rounded-md hover:iw-bg-orange-100 iw-p-2",onClick:()=>c(!0),children:o.jsxs("span",{className:"iw-flex iw-items-center iw-gap-1 iw-text-[18px] iw-font-semibold iw-whitespace-nowrap",children:[o.jsx(Or,{className:"iw-text-[#E94315] iw-size-5"}),"Leave interview"]})})]}),o.jsx(h,{}),o.jsx("div",{className:"iw-h-px iw-bg-gray-200"}),o.jsx(j2,{isOpen:a,confirmExitInterview:()=>{i(),c(!1)},onClose:()=>c(!1)})]})},W2=({className:e="",width:t,height:r=56,barWidth:i=3,gap:n=2,fftSize:s=1024,smoothingTimeConstant:a=.8,mediaStream:c,startOnMount:l=!0})=>{const{baseColor:h}=Qt(),d=u.useRef(null),f=u.useRef(null),w=u.useRef(null),g=u.useRef(null),p=u.useRef(null),b=u.useRef(null),y=u.useRef(!1),[m,A]=u.useState(null);u.useEffect(()=>{if(t||!f.current)return;const N=f.current,G=()=>{const Y=d.current;if(!Y)return;const ae=N.clientWidth,C=r;Y.width=Math.max(1,Math.floor(ae*window.devicePixelRatio||1)),Y.height=Math.max(1,Math.floor(C*window.devicePixelRatio||1))},F=new ResizeObserver(G);return F.observe(N),G(),()=>F.disconnect()},[t,r]),u.useEffect(()=>{if(!t)return;const N=d.current;N&&(N.width=Math.max(1,Math.floor(t*(window.devicePixelRatio||1))),N.height=Math.max(1,Math.floor(r*(window.devicePixelRatio||1))))},[t,r]),u.useEffect(()=>{let N=!1;return(async()=>{try{const F=new(window.AudioContext||window.webkitAudioContext);w.current=F;let Y=c;if(!Y){if(!l)return;Y=await navigator.mediaDevices.getUserMedia({audio:!0,video:!1}),y.current=!0}if(N)return;const ae=F.createAnalyser();ae.fftSize=s,ae.smoothingTimeConstant=a,g.current=ae;const C=F.createMediaStreamSource(Y);p.current=C,C.connect(ae),S()}catch(F){A((F==null?void 0:F.message)||"Failed to initialize microphone")}})(),()=>{var F,Y,ae,C;N=!0,b.current&&cancelAnimationFrame(b.current);try{(F=p.current)==null||F.disconnect()}catch{}try{(Y=g.current)==null||Y.disconnect()}catch{}y.current&&((C=((ae=p.current)==null?void 0:ae.mediaStream)||void 0)==null||C.getTracks().forEach(j=>j.stop())),w.current&&w.current.state!=="closed"&&w.current.close()}},[c,s,a,l]);const S=()=>{const N=d.current,G=g.current;if(!N||!G)return;const F=N.getContext("2d");if(!F)return;const Y=window.devicePixelRatio||1,ae=N.width,C=N.height,j=G.frequencyBinCount,we=new Uint8Array(j),Yt=()=>{b.current=requestAnimationFrame(Yt),G.getByteTimeDomainData(we),F.clearRect(0,0,ae,C),F.fillStyle="rgba(0,0,0,0)",F.fillRect(0,0,ae,C);const $e=Math.max(1,Math.floor(i*Y)),Ee=Math.max(1,Math.floor(n*Y)),at=$e+Ee,St=Math.max(8,Math.floor((ae+Ee)/at)),pt=Math.floor(we.length/St);for(let Nt=0;Nt<St;Nt++){const Xe=Math.min(we.length-1,Nt*pt),It=we[Xe]/128-1,ct=Math.abs(It),Sr=Math.pow(ct,.6),Ft=Math.max(C*.06,Sr*(C*.9)),ii=Nt*at,Nr=(C-Ft)/2,De=140-Math.min(140,140*ct),ze=85,X=48+Math.floor(12*(1-ct));F.fillStyle=`${h}`,F.shadowColor=`hsla(${De}, ${ze}%, ${X}%, ${.25*ct})`,F.shadowBlur=8*ct;const Qe=Math.min($e/2,Ft/2);$2(F,ii,Nr,$e,Ft,Qe),F.fill()}};Yt()};return o.jsxs("div",{ref:f,className:`iw-relative iw-w-full iw-overflow-hidden iw-rounded-md iw-bg-gray-50 ${e}`,style:{height:r},children:[o.jsx("canvas",{ref:d,className:"iw-w-full iw-h-full"}),m&&o.jsx("div",{className:"iw-absolute iw-inset-0 iw-flex iw-items-center iw-justify-center",children:o.jsx("span",{className:"iw-text-xs iw-text-red-600 iw-bg-red-50 iw-border iw-border-red-200 iw-px-2 iw-py-1 iw-rounded",children:m})})]})};function $2(e,t,r,i,n,s){const a=Math.min(s,i/2,n/2);e.beginPath(),e.moveTo(t+a,r),e.lineTo(t+i-a,r),e.quadraticCurveTo(t+i,r,t+i,r+a),e.lineTo(t+i,r+n-a),e.quadraticCurveTo(t+i,r+n,t+i-a,r+n),e.lineTo(t+a,r+n),e.quadraticCurveTo(t,r+n,t,r+n-a),e.lineTo(t,r+a),e.quadraticCurveTo(t,r,t+a,r),e.closePath()}const z2=({state:e,answeringTime:t,nextPhase:r,sttError:i})=>o.jsxs("div",{className:"iw-flex iw-flex-col iw-justify-between iw-h-full ",children:[o.jsxs("div",{children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-between",children:[o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-gray-900 iw-mb-1",children:"You may start speaking now. We're listening...."}),o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-center iw-gap-2",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-1",children:[o.jsx(Js,{className:"iw-size-4 iw-text-orange-600"}),o.jsx("p",{className:"iw-text-gray-700 iw-text-sm",children:"Time to talk: "})]}),o.jsx(Qi,{total:t,remaining:e.currentPhaseTimeRemaining,size:50,strokeWidth:4})]})]}),o.jsx("p",{className:"iw-max-w-lg iw-text-gray-500 iw-text-xs iw-leading-[21px]",children:"Done talking? Click the button to review your answer."})]}),o.jsxs("div",{children:[o.jsx(W2,{}),i&&o.jsxs("div",{className:"iw-mt-2 iw-text-xs iw-text-red-600",children:["Recording error: ",i.message]})]}),o.jsx("div",{className:"iw-w-full iw-grid iw-grid-cols-1",children:o.jsx(Bs,{onClick:()=>{r()},children:"Transcribe My Answer"})})]});function H2(){const[e,t]=u.useState(!0),r=u.useMemo(()=>[0,1,2].map(i=>({id:i})),[]);return u.useEffect(()=>{const i=setInterval(()=>{t(n=>!n)},1500);return()=>clearInterval(i)},[]),o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-justify-center iw-gap-8 iw-h-full",children:[o.jsx("div",{className:"iw-relative iw-w-80 iw-h-48 ","aria-hidden":!0,children:r.map((i,n)=>{const s=n*50,a=e?s:s+12,c=e?1:.08,l=n*140;return o.jsx("div",{role:"presentation",className:"iw-absolute iw-w-full iw-rounded-lg iw-p-4 iw-shadow-md iw-bg-gradient-to-b iw-from-gray-50 iw-to-gray-100 iw-overflow-hidden",style:{top:0,transform:`translateY(${a}px)`,opacity:c,transition:`transform 600ms cubic-bezier(.2,.9,.3,1) ${l}ms, opacity 400ms ease ${l}ms`},children:o.jsxs("div",{className:"iw-flex iw-gap-3 iw-items-center",children:[o.jsx("div",{className:"iw-w-10 iw-h-10 iw-bg-gray-300 iw-rounded iw-flex-shrink-0"}),o.jsxs("div",{className:"iw-flex-1 iw-space-y-2",children:[o.jsx("div",{className:"iw-h-2 iw-bg-gray-300 iw-rounded iw-w-24"}),o.jsx("div",{className:"iw-h-2 iw-bg-gray-300 iw-rounded iw-w-32"})]})]})},i.id)})}),o.jsx("div",{className:"iw-text-center",children:o.jsx("p",{className:"iw-text-gray-500 iw-font-medium",children:"Preparing your question..."})})]})}const q2=({size:e="192px",className:t,colors:r,animationDuration:i=20})=>{const s={...{bg:"oklch(95% 0.02 264.695)",c1:"oklch(75% 0.15 350)",c2:"oklch(80% 0.12 200)",c3:"oklch(78% 0.14 280)"},...r},a=parseInt(e.replace("px",""),10),c=a<50?Math.max(a*.008,1):Math.max(a*.015,4),l=a<50?Math.max(a*.004,1.2):Math.max(a*.008,1.5),h=a<50?Math.max(a*.004,.05):Math.max(a*.008,.1),d=a<50?Math.max(a*.004,.5):Math.max(a*.008,2),f=a<30?"0%":a<50?"5%":a<100?"15%":"25%",w=a<30?1.1:a<50?Math.max(l*1.2,1.3):l;return o.jsx("div",{className:`siri-orb ${t}`,style:{width:e,height:e,"--bg":s.bg,"--c1":s.c1,"--c2":s.c2,"--c3":s.c3,"--animation-duration":`${i}s`,"--blur-amount":`${c}px`,"--contrast-amount":w,"--dot-size":`${h}px`,"--shadow-spread":`${d}px`,"--mask-radius":f},children:o.jsx("style",{children:`
|
|
74
|
+
└─────────────────────────────────────────────────────────────┘`,"color: #ffd93d; font-size: 14px; font-family: monospace; background: rgba(255, 217, 61, 0.1); padding: 10px;")}const t={open:!1,orientation:null},r=160,i=setInterval(()=>{window.outerHeight-window.innerHeight>r||window.outerWidth-window.innerWidth>r?t.open||(t.open=!0,t.orientation=window.outerWidth-window.innerWidth>r?"vertical":"horizontal",e()):t.open&&(t.open=!1,console.log("%c🌟 Developer tools closed. Interview continues smoothly! ✨","color: #4ecdc4; font-weight: bold; text-shadow: 0 0 10px #4ecdc4;"))},500),n=a=>{if(a.keyCode===123||a.ctrlKey&&a.shiftKey&&(a.keyCode===73||a.keyCode===74)||a.ctrlKey&&a.keyCode===85)return a.preventDefault(),console.log("%c🎭 Nice try! Keyboard shortcuts are disabled during interviews ✨","color: #ffd93d; font-weight: bold; text-shadow: 0 0 10px #ffd93d;"),!1},s=a=>(a.preventDefault(),console.log("%c🌈 Right-click menu disabled for interview integrity! 🎪","color: #ff9ff3; font-weight: bold; text-shadow: 0 0 10px #ff9ff3;"),!1);return document.addEventListener("keydown",n),document.addEventListener("contextmenu",s),()=>{clearInterval(i),document.removeEventListener("keydown",n),document.removeEventListener("contextmenu",s),delete window.showStats,delete window.interviewTips}},[])},Gs=e=>{const{baseColor:t,borderRadius:r}=Qt(),{loading:i,children:n,...s}=e;return o.jsx(Ji,{style:{background:Vl(t),borderRadius:r},...s,children:i?o.jsx(eo,{}):n})},x2=(e,t,r)=>Math.max(t,Math.min(r,e)),wl=e=>{const t=Math.max(0,Math.floor(e)),r=Math.floor(t/60).toString().padStart(2,"0"),i=(t%60).toString().padStart(2,"0");return`${r}:${i}`},Zi=({total:e,remaining:t,size:r=64,strokeWidth:i=6,className:n="",showLabel:s=!0})=>{const a=Math.max(1,e||1),c=x2(t/a,0,1),{radius:l,circumference:h,dashOffset:d,center:f}=u.useMemo(()=>{const p=(r-i)/2,b=2*Math.PI*p,y=b*(1-c),m=Math.round(i)%2===1,_=r/2+(m?.5:0);return{radius:p,circumference:b,dashOffset:y,center:_}},[r,i,c]),w=u.useMemo(()=>c<=.25?"iw-stroke-red-500":c<=.5?"iw-stroke-yellow-500":"iw-stroke-green-500",[c]),g=c<=.25?"iw-animate-pulse":"";return o.jsxs("div",{className:`iw-relative iw-inline-flex iw-items-center iw-justify-center iw-rounded-full iw-bg-white ${n}`,style:{width:r,height:r},"aria-label":`Time remaining ${wl(t)}`,role:"timer","aria-live":"polite",children:[o.jsx("svg",{width:r,height:r,viewBox:`0 0 ${r} ${r}`,preserveAspectRatio:"xMidYMid meet",children:o.jsxs("g",{transform:`rotate(-90 ${f} ${f})`,children:[o.jsx("circle",{cx:f,cy:f,r:l,className:"iw-stroke-gray-200",strokeWidth:i,fill:"none",shapeRendering:"geometricPrecision",vectorEffect:"non-scaling-stroke"}),o.jsx("circle",{cx:f,cy:f,r:l,className:`${w} ${g}`,strokeWidth:i,strokeLinecap:"round",fill:"none",strokeDasharray:h,strokeDashoffset:d,shapeRendering:"geometricPrecision",vectorEffect:"non-scaling-stroke",style:{transition:"stroke-dashoffset 0.3s ease, stroke 0.2s ease"}})]})}),s?o.jsx("div",{className:"iw-absolute iw-inset-0 iw-flex iw-items-center iw-justify-center iw-rotate-0",children:o.jsx("span",{className:`iw-text-[11px] iw-font-semibold iw-tabular-nums ${c<=.25?"iw-text-red-600":c<=.5?"iw-text-yellow-600":"iw-text-green-600"}`,children:wl(t)})}):o.jsx("div",{className:"iw-absolute iw-inset-0 iw-flex iw-items-center iw-justify-center iw-rotate-0",children:o.jsx(Ql,{})})]})},E2=({timerState:e,answeringTime:t})=>{const r=(e==null?void 0:e.currentPhaseTimeRemaining)||0,i=t||dl.answeringDuration;return o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-3",children:[o.jsx(Zi,{total:i,remaining:r,size:50,strokeWidth:4,showLabel:!1,className:"iw-shadow-sm iw-border iw-border-gray-100"}),o.jsxs("div",{className:"iw-flex iw-flex-col",children:[o.jsx("span",{className:"iw-text-[#5C6686]",children:"Time left to answer"}),o.jsxs("span",{className:"iw-text-xl iw-font-bold iw-text-[#062260]",children:[un(r,!0),r>=60?" min":" sec"]})]})]})},_2=({question:e,isLoading:t=!1,phase:r,brandName:i,brandLogo:n,timerState:s,answeringTime:a})=>o.jsx("div",{className:"iw-rounded-xl iw-mb-4 message-animation iw-text-gray-800 iw-py-1",children:o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-4",children:[o.jsx("div",{className:`iw-flex iw-flex-col iw-items-center iw-justify-center iw-relative iw-h-16 iw-w-16 iw-shrink-0 iw-shadow iw-rounded-full iw-border-[#E8EEFE] iw-border-4 ${r===D.READING_QUESTION?"iw-animate-speaking":""}`,children:o.jsx("div",{className:"iw-bg-transparent iw-flex iw-items-center iw-justify-center iw-rounded-full iw-size-full",style:{backgroundImage:"linear-gradient(#B5D0FD, #FFFFFF)"},children:o.jsx(hn,{brandLogo:n,brandName:i})})}),o.jsx(k2,{phase:r,question:e,isLoading:t,brandName:i,timerState:s,answeringTime:a})]})}),k2=({phase:e,question:t,isLoading:r,brandName:i,timerState:n,answeringTime:s})=>{const a=i||"We",c=i?"is":"are";if(r||e===D.FETCHING_QUESTION||e===D.IDLE)return o.jsxs("div",{className:"iw-animate-pulse iw-w-full iw-space-y-3 iw-mr-10",children:[o.jsx("div",{className:"iw-h-5 iw-bg-gray-200 iw-rounded iw-w-full"}),o.jsx("div",{className:"iw-h-5 iw-bg-gray-200 iw-rounded iw-w-3/4"})]});const l=()=>o.jsxs("span",{className:"iw-animate-dot-wave iw-ml-1",children:[o.jsx("span",{children:"."}),o.jsx("span",{children:"."}),o.jsx("span",{children:"."})]});switch(e){case D.ANSWERING:return o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-between iw-w-full",children:[o.jsxs("p",{className:"iw-text-lg iw-leading-7 iw-font-medium iw-text-gray-600",children:["Listening",o.jsx(l,{})]}),o.jsx(E2,{timerState:n,answeringTime:s})]});case D.TRANSCRIBING:return o.jsxs("p",{className:"iw-text-lg iw-leading-7 iw-font-medium iw-text-gray-600",children:[a," ",c," analyzing your answer",o.jsx(l,{})]});case(D.EDITING||D.SUBMITTING):return o.jsxs("p",{className:"iw-text-lg iw-leading-7 iw-font-medium iw-text-gray-600",children:[a," ",c," waiting for your answer..."]});default:return o.jsx("p",{className:"iw-text-lg iw-leading-7",children:t==null?void 0:t.question})}},T2=({label:e,error:t,fullWidth:r=!1,className:i="",id:n,...s})=>{const a=n||`textarea-${Math.random().toString(36).substring(2,9)}`,c="iw-block iw-rounded-md iw-border iw-border-gray-300 iw-shadow-sm iw-px-4 iw-py-2 iw-text-sm iw-transition-all",l=t?"iw-border-red-500 iw-focus:border-red-500 iw-focus:ring-red-500":"",h=r?"iw-w-full":"",d=i.includes("iw-h-full")||r?"iw-h-full":"";return o.jsxs("div",{className:`iw-h-full iw-flex iw-flex-col ${r?"iw-w-full":""}`,children:[e&&o.jsx("label",{htmlFor:a,className:"iw-block iw-text-sm iw-font-medium iw-text-gray-700 iw-mb-1",children:e}),o.jsx("textarea",{id:a,className:`${c} ${l} ${h} ${d} ${i}`,"aria-invalid":t?"true":"false",...s}),t&&o.jsx("p",{className:"iw-mt-1 iw-text-sm iw-text-red-600",children:t})]})},A2=({answerText:e,onAnswerChange:t,timerState:r,editingTime:i})=>o.jsxs("div",{className:"iw-w-full iw-bg-white iw-rounded-xl iw-border iw-border-[#84bbf5] iw-overflow-hidden iw-rounded-tr-none",children:[o.jsx("div",{className:"iw-p-2 iw-pb-0",children:o.jsx(T2,{value:e,onChange:t,placeholder:"Type your answer here...",className:"iw-w-full iw-h-64 iw-resize-none iw-bg-transparent iw-border-none iw-text-[#062260] iw-text-base iw-leading-relaxed focus-visible:iw-outline-0 iw-p-0",disabled:r.phase===D.SUBMITTING})}),o.jsxs("div",{className:"iw-bg-[#F1F5FE] iw-px-2 iw-py-2 iw-flex iw-items-center iw-justify-between iw-border-t iw-border-[#E8EEFE]",children:[o.jsx("span",{className:"iw-text-[#062260] iw-text-sm iw-font-medium iw-line-clamp-1",children:"Time left to edit answer"}),o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-2",children:[o.jsx(Zi,{total:i,remaining:r.currentPhaseTimeRemaining,size:32,strokeWidth:3,showLabel:!1}),o.jsx("span",{className:"iw-text-[#062260] iw-text-sm iw-font-bold",children:`${un(r.currentPhaseTimeRemaining)} mins`})]})]})]}),gl=({children:e})=>o.jsx("div",{className:"iw-flex iw-flex-col iw-items-start iw-mt-3 iw-gap-1",children:e}),C2=({children:e})=>o.jsx("div",{className:"iw-flex iw-flex-col iw-items-end iw-mt-3 iw-gap-1",children:e}),S2=({questionNumber:e})=>o.jsxs("div",{className:"iw-px-4 iw-py-1.5 iw-rounded-full iw-mb-2 iw-text-sm iw-font-semibold",style:{color:"#062260",backgroundColor:"#E6F3FF",border:"1px solid #BDE0FD"},children:[" Q",e]}),pl=({label:e})=>o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-2 iw-text-sm iw-text-gray-500 iw-bg-[#F1F5FE] iw-px-4 iw-py-1.5 iw-rounded-full iw-my-2 iw-font-semibold",children:[e&&o.jsx("span",{className:"iw-font-medium",children:e}),o.jsxs("span",{className:"iw-animate-dot-wave iw-text-2xl",children:[o.jsx("span",{children:"."}),o.jsx("span",{children:"."}),o.jsx("span",{children:"."})]})]}),N2=({phase:e,questionNumber:t})=>{switch(e){case D.FETCHING_QUESTION:return o.jsxs(gl,{children:[o.jsx(S2,{questionNumber:t+1}),o.jsx(pl,{})]});case D.ANSWERING:return o.jsx(C2,{children:o.jsx(pl,{label:"You"})});case D.TRANSCRIBING:return o.jsx(gl,{children:o.jsxs("div",{className:"iw-flex iw-items-center iw-px-1 iw-py-1.5 iw-rounded-lg iw-mb-2 iw-text-sm iw-bg-[#F2E8FE]",children:[o.jsx("div",{className:"iw-h-8 iw-w-12 iw-transcribing-icon"}),o.jsx("span",{className:"iw-text-sm iw-text-[#062260]",children:"Analyzing answer…"})]})});default:return null}},I2=({item:e,index:t,isCurrentQuestion:r=!1,isEditable:i=!1,answerText:n="",onAnswerChange:s,timerState:a,editingTime:c})=>{const l=i&&a&&c!==void 0,h=l||e.answer;return o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-start",children:[o.jsxs("div",{className:"iw-px-4 iw-py-1.5 iw-rounded-full iw-mb-2 iw-text-sm iw-font-semibold",style:{color:"#062260",backgroundColor:"#E6F3FF",border:"1px solid #BDE0FD"},children:["Q",t+1]}),o.jsx("div",{className:"iw-w-full iw-p-4 iw-rounded-xl iw-text-[#062260] iw-text-base iw-leading-relaxed iw-rounded-tl-none",style:{backgroundColor:"#F1F5FE",border:r?"2px solid #84bbf5":"1px solid transparent"},children:e.question})]}),h&&o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-end iw-mt-4",children:[o.jsx("div",{className:"iw-px-4 iw-py-1.5 iw-rounded-full iw-mb-2 iw-text-sm iw-font-semibold",style:{color:"#062260",backgroundColor:"#F2E8FE",border:"1px solid #E9D5FF"},children:"You"}),l?o.jsx(A2,{answerText:n||"",onAnswerChange:s,timerState:a,editingTime:c}):o.jsx("div",{className:"iw-w-full iw-p-4 iw-rounded-xl iw-text-[#062260] iw-text-base iw-leading-relaxed iw-rounded-tr-none",style:{backgroundColor:"#F7F1FE"},children:e.answer})]}),r&&o.jsx(N2,{phase:a==null?void 0:a.phase,questionNumber:t+1})]})},F2=()=>o.jsx("div",{className:"iw-space-y-6 iw-animate-pulse",children:[1,2,3].map(e=>o.jsxs("div",{className:`iw-flex iw-flex-col ${e%2===0?"iw-items-end":"iw-items-start"} iw-gap-2`,children:[o.jsx("div",{className:"iw-h-8 iw-w-16 iw-bg-gray-200 iw-rounded-full"}),o.jsx("div",{className:"iw-h-24 iw-w-full iw-bg-gray-100 iw-rounded-xl"})]},e))}),L2=({transcript:e,isLoading:t,className:r="",bottomRef:i,isEditing:n,answerText:s,onAnswerChange:a,timerState:c,editingTime:l})=>o.jsxs("div",{className:`iw-h-full iw-flex iw-flex-col iw-bg-white iw-scroll-smooth iw-p-6 iw-pr-2 iw-min-w-32 iw-border iw-rounded-tr-2xl iw-rounded-br-2xl iw-border-[#E8EEFE] ${r}`,children:[o.jsxs("div",{className:"iw-mb-6",children:[o.jsx("h2",{className:"iw-text-lg iw-font-semibold iw-mb-4",style:{color:"#062260"},children:"Interview transcript"}),o.jsx("div",{className:"iw-h-px iw-w-full iw-border-t iw-border-dashed iw-border-gray-300"})]}),o.jsxs("div",{className:"iw-flex-1 iw-overflow-y-auto iw-pr-2 iw-space-y-6 iw-scrollbar-thin iw-max-w-xl iw-pb-5",children:[t?o.jsx(F2,{}):e==null?void 0:e.map((h,d)=>o.jsx(I2,{item:h,index:d,isCurrentQuestion:d===(e==null?void 0:e.length)-1,isEditable:!!(d===(e==null?void 0:e.length)-1&&n),answerText:s,onAnswerChange:a||(()=>{}),timerState:c,editingTime:l},h.qna_id)),o.jsx("div",{ref:i})]})]}),M2=({interviewId:e,className:t="",currentQuestion:r,lastSubmittedAnswer:i,isEditing:n,answerText:s,onAnswerChange:a,timerState:c,editingTime:l})=>{const h=hl(),[d,f]=u.useState([]),[w,g]=u.useState(!0),p=u.useRef(null);return u.useEffect(()=>{var b;(b=p.current)==null||b.scrollIntoView({behavior:"smooth"})},[d,s,c==null?void 0:c.phase]),u.useEffect(()=>{(async()=>{var y;try{const m=await h.getInterviewTranscription(e);f(((y=m==null?void 0:m.data)==null?void 0:y.transcript)||[])}catch(m){console.error("Failed to fetch transcript:",m)}finally{g(!1)}})()},[e,h]),u.useEffect(()=>{r&&f(b=>{if(b.some(_=>_.qna_id===r.qna_id))return b;const m={qna_id:r.qna_id,question:r.question,answer:null,question_generated_at:new Date().toISOString(),answer_submitted_at:null};return[...b,m]})},[r]),u.useEffect(()=>{i!=null&&i.answer?f(b=>b.map(y=>y.qna_id===i.qnaId?{...y,answer:i.answer,answer_submitted_at:new Date().toISOString()}:y)):s&&f(b=>b.map(y=>y.qna_id===(i==null?void 0:i.qnaId)?{...y,answer:s,answer_submitted_at:new Date().toISOString()}:y))},[i,s]),o.jsx(L2,{transcript:d,isLoading:w||(d==null?void 0:d.length)===0,className:t,bottomRef:p,isEditing:n,answerText:s,onAnswerChange:a,timerState:c,editingTime:l})},Vs=5,js=5;function P2({isOpen:e,onClose:t,warningCount:r,violationType:i,onDisqualify:n}){const[,s]=u.useState(js),a=u.useRef(t),c=u.useRef(n),l=u.useRef(r);if(u.useEffect(()=>{a.current=t,c.current=n,l.current=r},[t,n,r]),u.useEffect(()=>{if(!e)return;const w=setInterval(()=>{s(g=>g<=1?(l.current+1>Vs?c.current():a.current(),js):g-1)},1e3);return()=>clearInterval(w)},[e]),u.useEffect(()=>{e&&s(js)},[e]),!e)return null;const h=()=>{switch(i){case"tab_switch":return"Attempted tab switch/reload";case"fullscreen_exit":return"Attempted to exit full screen mode";case"focus_loss":return"Lost focus from interview window";case"blocked_shortcut":return"Used a blocked keyboard shortcut";case"right_click_attempt":return"Attempted right click";case"alt_tab_attempt":return"Attempted Alt + Tab";case"blocked_function_key":return"Attempted to use function key";default:return"Attempted right click/tab switch"}},d=Vs-r,f=()=>{r+1>Vs?n():t()};return o.jsx("div",{className:"iw-absolute iw-bottom-20 iw-left-4 iw-right-4 md:iw-right-auto md:iw-w-[480px] iw-z-50 iw-animate-in iw-fade-in iw-slide-in-from-bottom-4 iw-duration-300",children:o.jsxs("div",{className:"iw-relative iw-overflow-hidden iw-rounded-xl iw-border iw-border-dashed iw-border-[#E94315] iw-bg-[#FFEBE6] iw-p-4 iw-shadow-2xl iw-backdrop-blur-sm",children:[o.jsx("button",{onClick:f,className:"iw-absolute iw-right-3 iw-top-3 iw-text-gray-400 iw-transition-colors iw-hover:iw-text-gray-600",children:o.jsx(Ur,{className:"iw-h-5 iw-w-5"})}),o.jsxs("div",{className:"iw-flex iw-items-start iw-gap-3",children:[o.jsx("div",{className:"iw-flex iw-h-10 iw-w-10 iw-flex-shrink-0 iw-items-center iw-justify-center iw-rounded-full iw-border iw-border-[#FDCBBD]",children:o.jsx(fn,{className:"iw-h-5 iw-w-5 iw-text-red-500"})}),o.jsxs("div",{className:"iw-flex-1 iw-pt-0.5",children:[o.jsxs("h2",{className:"iw-text-[20px] iw-font-semibold iw-leading-tight iw-text-[#E94315]",children:["You have ",d>0?d:0," warning",d>1?"s":""," left"]}),o.jsx("p",{className:"iw-mt-1.5 iw-text-lg iw-text-[#5C6686]",children:h()}),o.jsx("div",{className:"iw-mt-3 iw-border-t iw-border-dashed iw-border-red-200 iw-pt-3",children:d===1?o.jsx("p",{className:"iw-text-[14px] iw-font-bold iw-text-[#062260]",children:"Next violation will disqualify you from this interview and automatically end the interview"}):o.jsx("p",{className:"iw-text-[14px] iw-font-bold iw-text-[#062260]",children:"Interview will end automatically after final warning"})})]})]})]})})}const D2=({isOpen:e,onClose:t,children:r,title:i,showCloseButton:n=!0,closeOnOverlayClick:s=!0,closeOnEscape:a=!0,className:c=""})=>{if(u.useEffect(()=>{if(!e||!a)return;const d=f=>{f.key==="Escape"&&t()};return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)},[e,a,t]),u.useEffect(()=>(e?(document.body.style.overflow="hidden",document.body.classList.add("interview-widget-container")):(document.body.style.overflow="unset",document.body.classList.remove("interview-widget-container")),()=>{document.body.style.overflow="unset",document.body.classList.remove("interview-widget-container")}),[e]),!e)return null;const l=d=>{s&&d.target===d.currentTarget&&t()},h=o.jsxs("div",{className:"iw-fixed iw-inset-0 iw-z-50 iw-flex iw-items-center iw-justify-center",children:[o.jsx("div",{className:"iw-fixed iw-inset-0 iw-bg-black iw-bg-opacity-50 iw-transition-opacity",onClick:l}),o.jsxs("div",{className:`iw-relative iw-bg-white iw-rounded-lg iw-shadow-xl iw-max-w-md iw-w-full iw-mx-4 iw-max-h-[90vh] iw-overflow-hidden ${c}`,role:"dialog","aria-modal":"true","aria-labelledby":i?"dialog-title":void 0,children:[(i||n)&&o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-between iw-p-4 iw-border-b iw-border-gray-200",children:[i&&o.jsx("h2",{id:"dialog-title",className:"iw-text-lg iw-font-semibold iw-text-gray-900",children:i}),n&&o.jsx("button",{onClick:t,className:"iw-p-1 iw-text-gray-400 iw-hover:text-gray-600 iw-transition-colors iw-rounded iw-hover:bg-gray-100","aria-label":"Close dialog",children:o.jsx("svg",{className:"iw-w-5 iw-h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:o.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),o.jsx("div",{className:"iw-p-4 iw-overflow-y-auto",children:r})]})]});return Hs.createPortal(h,document.body)},O2=e=>o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[o.jsx("path",{d:"M9 9.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997A1 1 0 0 1 9 14.996z"}),o.jsx("circle",{cx:"12",cy:"12",r:"10"})]}),B2=({showHardReloadWarning:e,onContinue:t})=>{const r=()=>{t()};return o.jsxs(D2,{isOpen:e,onClose:r,closeOnOverlayClick:!1,closeOnEscape:!1,showCloseButton:!1,className:"iw-max-w-lg iw-px-2 iw-rounded-xl",children:[o.jsx("div",{className:"iw-absolute iw-inset-x-0 iw-top-0 iw-h-1 iw-bg-gradient-to-r iw-from-red-500 iw-to-red-600"}),o.jsx("div",{className:"iw-space-y-1 iw-pb-2 iw-pt-3",children:o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-2",children:[o.jsx(fn,{className:"iw-w-5 iw-h-5 iw-text-red-500"}),o.jsx("h3",{className:"iw-text-xl iw-font-semibold iw-text-red-500",children:"Full Screen Exit Detected"})]})}),o.jsx("div",{className:"iw-pt-4 iw-pb-6",children:o.jsx("p",{className:"iw-text-center iw-text-sm iw-leading-relaxed iw-text-gray-500/90",children:"Exiting full screen mode or reloading this page during the session is strictly prohibited. Any attempt to do so will be recorded and may lead to penalties."})}),o.jsx("div",{className:"iw-pt-2 iw-pb-4",children:o.jsxs("button",{onClick:r,className:"iw-w-full iw-flex iw-items-center iw-justify-center iw-gap-2 iw-px-4 iw-py-3 iw-bg-gray-100 iw-text-gray-600 iw-rounded-md iw-font-medium iw-transition-colors hover:iw-bg-gray-200 focus:iw-outline-none focus:iw-ring-2 focus:iw-ring-gray-400 focus:iw-ring-offset-2",children:[o.jsx(O2,{className:"iw-size-4"}),"Continue Session"]})})]})},ml=u.createContext(null),U2=()=>{const e=u.useContext(ml);if(!e)throw new Error("useProctoring must be used within InterviewProctoring");return e},G2=u.forwardRef(({children:e,onDisqualify:t,isCompleted:r},i)=>{const[n,s]=u.useState(!1),[a,c]=u.useState(!1),[l,h]=u.useState(!1),[d,f]=u.useState("fullscreen_exit"),{logViolation:w,violationCount:g}=b2({maxViolations:5,onViolation:_=>{!a&&!r&&!l&&(s(!0),f(_.type))}}),{enterFullScreen:p,isFullScreen:b,exitFullScreen:y}=h2({onFullScreenChange(_){!_&&!a&&!l&&!r&&(s(!0),w({type:"fullscreen_exit",severity:"high",details:{action:"fullscreen_exit",reason:"Attempted to exit full screen mode"}})),_&&h(!1)}});u.useEffect(()=>{p()},[]),u.useImperativeHandle(i,()=>({exitFullScreenIntentionally:async()=>{h(!0),s(!1),c(!1);try{document.fullscreenElement&&await document.exitFullscreen()}catch(_){console.error("Failed to exit fullscreen:",_)}}}),[]),g2(w),f2(w),p2(),v2(),u.useEffect(()=>{const _=S=>{if(!(a||l||r))return S.preventDefault(),S.returnValue=void 0,""};return window.addEventListener("beforeunload",_),()=>{window.removeEventListener("beforeunload",_)}},[a,l,r]);const m=()=>{c(!0),y(),s(!1),t==null||t()};return o.jsxs(ml.Provider,{value:{violationCount:g,violationType:d,showWarningModal:n,setShowWarningModal:s,handleClose:()=>{s(!1),p()},handleDisqualify:m},children:[o.jsx("div",{className:"iw-relative iw-h-full iw-w-full",children:e}),!b&&g>0&&!a&&!l&&o.jsx(B2,{showHardReloadWarning:!0,logViolation:w,onContinue:p})]})}),V2=({onClick:e,text:t="Submit response"})=>(u.useEffect(()=>{if(typeof window>"u")return;const r=i=>{const n=i.key==="Enter",s=i.target;s.tagName==="INPUT"||s.isContentEditable||n&&(i.preventDefault(),e())};return window.addEventListener("keydown",r),()=>window.removeEventListener("keydown",r)},[e]),o.jsx("div",{className:"iw-fixed iw-bottom-10 iw-left-1/4 iw-transform iw--translate-x-1/2 iw-z-50",children:o.jsxs("button",{onClick:e,className:"iw-flex iw-items-center iw-gap-3 iw-bg-[#4C6CFF] hover:iw-bg-[#4c6dffd5] iw-text-white iw-px-5 iw-py-3 iw-rounded-lg iw-shadow-lg iw-transition-all iw-duration-200 iw-group",children:[o.jsx("span",{className:"iw-font-semibold iw-text-sm",children:t}),o.jsx("span",{className:"iw-bg-white/90 iw-text-[#062260] iw-px-2 iw-py-1 iw-rounded iw-text-xs iw-font-mono iw-font-bold group-hover:iw-bg-white iw-transition-colors",children:"Press Enter"})]})})),yl=({brandName:e,brandLogo:t,currentQuestion:r,state:i,phase:n,className:s="",interviewId:a="",interview_duration:c=ui,videoFeedRef:l,lastSubmittedAnswer:h,onNextPhase:d,answerText:f,onAnswerChange:w,editingTime:g,answeringTime:p})=>{const{showWarningModal:b,violationCount:y,violationType:m,handleClose:_,handleDisqualify:S}=U2();return o.jsxs("div",{className:`iw-px-4 iw-py-3 ${s} iw-h-[calc(100vh_-_120px)] iw-max-h-[calc(100vh_-_120px)] iw-flex iw-gap-0 iw-relative`,children:[o.jsxs("div",{className:"iw-flex iw-flex-col iw-flex-1 iw-p-5 iw-bg-white/50 iw-border iw-border-[#E8EEFE] iw-rounded-s-3xl iw-overflow-hidden",children:[o.jsx("div",{className:"iw-flex iw-items-start iw-justify-between iw-gap-3 iw-mb-4",children:o.jsx("div",{className:"iw-flex-1",children:o.jsx(_2,{question:r,isLoading:n===D.FETCHING_QUESTION||n===D.IDLE,phase:n,brandName:e,brandLogo:t,timerState:i,answeringTime:p})})}),o.jsxs("div",{className:"iw-flex-1 iw-min-h-0 iw-rounded-[16px] iw-overflow-hidden iw-relative",children:[o.jsx(al,{ref:l,interviewId:a,interview_duration:c,isAnswering:n===D.ANSWERING,cheatingWarningVisible:b}),o.jsx(P2,{isOpen:b,warningCount:y,violationType:m,onClose:_,onDisqualify:S})]})]}),o.jsx("div",{className:"iw-interview-transcription iw-w-1/4 iw-min-w-32 iw-h-full",children:o.jsx(M2,{interviewId:a,currentQuestion:r,lastSubmittedAnswer:h,isEditing:n===D.EDITING,answerText:f,onAnswerChange:w,timerState:i,editingTime:g})}),d&&(n===D.ANSWERING||n===D.EDITING)&&o.jsx(V2,{onClick:d,text:n===D.ANSWERING?"Submit Response":"Submit Final Response"})]})},j2=({isOpen:e,onClose:t,children:r,title:i,showCloseButton:n=!0,closeOnOverlayClick:s=!0,closeOnEscape:a=!0,className:c=""})=>{if(u.useEffect(()=>{if(!e||!a)return;const d=f=>{f.key==="Escape"&&t()};return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)},[e,a,t]),u.useEffect(()=>(e?(document.body.style.overflow="hidden",document.body.classList.add("interview-widget-container")):(document.body.style.overflow="unset",document.body.classList.remove("interview-widget-container")),()=>{document.body.style.overflow="unset",document.body.classList.remove("interview-widget-container")}),[e]),!e)return null;const l=d=>{s&&d.target===d.currentTarget&&t()},h=o.jsxs("div",{className:"interview-widget-container",style:{position:"fixed",inset:0,zIndex:9999,display:"flex",alignItems:"center",justifyContent:"center"},children:[o.jsx("div",{style:{position:"fixed",inset:0,backgroundColor:"rgba(0, 0, 0, 0.5)",transition:"opacity 0.2s"},onClick:l}),o.jsxs("div",{className:`iw-relative iw-bg-white iw-rounded-lg iw-shadow-xl iw-max-w-md iw-w-full iw-mx-4 iw-max-h-[90vh] iw-overflow-hidden ${c}`,role:"dialog","aria-modal":"true","aria-labelledby":i?"standalone-dialog-title":void 0,style:{zIndex:1e4},children:[(i||n)&&o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-between iw-p-4 iw-border-b iw-border-gray-200",children:[i&&o.jsx("h2",{id:"standalone-dialog-title",className:"iw-text-lg iw-font-semibold iw-text-gray-900",children:i}),n&&o.jsx("button",{onClick:t,className:"iw-p-1 iw-text-gray-400 iw-hover:text-gray-600 iw-transition-colors iw-rounded iw-hover:bg-gray-100","aria-label":"Close dialog",children:o.jsx("svg",{className:"iw-w-5 iw-h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:o.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),o.jsx("div",{className:"iw-p-4 iw-overflow-y-auto",children:r})]})]});return Hs.createPortal(h,document.body)},W2=({confirmExitInterview:e,isOpen:t,onClose:r})=>o.jsxs(j2,{isOpen:t,onClose:r,showCloseButton:!1,closeOnOverlayClick:!1,className:"iw-max-w-xl iw-border-2 iw-border-dashed iw-rounded-xl iw-border-[#6296FB]",children:[o.jsxs("div",{className:"iw-p-4",children:[o.jsx("h2",{className:"iw-text-xl iw-font-semibold iw-text-[#062260]",children:"Are you sure you want to leave interview?"}),o.jsx("p",{className:"iw-mt-2 iw-text-[#667085] iw-line-clamp-2",children:"If you exit now, the interview will be terminated and cannot be resumed."})]}),o.jsx("div",{className:"iw-my-0 iw-h-px iw-m-6 iw-border-t iw-border-dashed iw-border-[#B3B9CB]"}),o.jsxs("div",{className:"iw-flex iw-justify-center iw-gap-4 iw-p-4",children:[o.jsx(Ji,{className:"iw-px-8 iw-py-3 iw-rounded-xl !iw-bg-[#E94315] !iw-text-white !iw-font-bold !iw-shadow-md !hover:iw-opacity-70",onClick:e,children:"Leave"}),o.jsx(Ji,{onClick:r,className:"iw-px-6 iw-py-3 iw-rounded-xl !iw-bg-[#F1F5FE] !iw-text-[#062260] !iw-font-bold !iw-border !iw-border-[#E7EAF1] !iw-shadow-md hover:iw-opacity-70",children:"Stay in Interview"})]})]}),bl=({title:e,brandName:t,brandLogo:r,onExit:i,totalDuration:n=30,elapsedTime:s=0})=>{const[a,c]=u.useState(!1),l=Math.min(s/(n*60)*100,100),h=()=>o.jsxs("div",{className:"iw-px-4 iw-pb-2 iw-flex iw-items-center iw-gap-3",children:[o.jsx("div",{className:"iw-flex-1 iw-h-4 iw-bg-[#F2F4F7] iw-rounded-full iw-overflow-hidden iw-border iw-border-blue-100 iw-relative",children:o.jsx("div",{className:"iw-h-full iw-bg-[#0EB00E] iw-rounded-full iw-transition-all iw-duration-1000 iw-ease-linear",style:{width:`${l}%`}})}),o.jsxs("div",{className:"iw-text-sm iw-font-medium iw-whitespace-nowrap",children:[o.jsx("span",{className:"iw-text-[#062260]",children:un(s)}),o.jsxs("span",{className:"iw-text-[#667085]",children:["/",n," Min"]})]})]});return o.jsxs("header",{className:"iw-w-full iw-text-gray-900 iw-shadow-sm",children:[o.jsxs("div",{className:"iw-mx-auto iw-flex iw-items-center iw-justify-between iw-p-4 iw-pt-1 iw-mb-2 iw-border-b iw-border-[#B3B9CB] iw-border-dashed",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-space-x-2",children:[o.jsx(hn,{brandLogo:r,brandName:t}),o.jsx("p",{className:"iw-text-xl iw-font-semibold",children:t})]}),o.jsx("h1",{className:"iw-text-2xl iw-font-semibold iw-text-gradient-silver",children:e}),o.jsx("button",{className:"iw-text-sm iw-text-[#E94315] iw-min-w-10 iw-rounded-md hover:iw-bg-orange-100 iw-p-2",onClick:()=>c(!0),children:o.jsxs("span",{className:"iw-flex iw-items-center iw-gap-1 iw-text-[18px] iw-font-semibold iw-whitespace-nowrap",children:[o.jsx(Ur,{className:"iw-text-[#E94315] iw-size-5"}),"Leave interview"]})})]}),o.jsx(h,{}),o.jsx("div",{className:"iw-h-px iw-bg-gray-200"}),o.jsx(W2,{isOpen:a,confirmExitInterview:()=>{i(),c(!1)},onClose:()=>c(!1)})]})},$2=({className:e="",width:t,height:r=56,barWidth:i=3,gap:n=2,fftSize:s=1024,smoothingTimeConstant:a=.8,mediaStream:c,startOnMount:l=!0})=>{const{baseColor:h}=Qt(),d=u.useRef(null),f=u.useRef(null),w=u.useRef(null),g=u.useRef(null),p=u.useRef(null),b=u.useRef(null),y=u.useRef(!1),[m,_]=u.useState(null);u.useEffect(()=>{if(t||!f.current)return;const I=f.current,V=()=>{const Y=d.current;if(!Y)return;const ae=I.clientWidth,C=r;Y.width=Math.max(1,Math.floor(ae*window.devicePixelRatio||1)),Y.height=Math.max(1,Math.floor(C*window.devicePixelRatio||1))},F=new ResizeObserver(V);return F.observe(I),V(),()=>F.disconnect()},[t,r]),u.useEffect(()=>{if(!t)return;const I=d.current;I&&(I.width=Math.max(1,Math.floor(t*(window.devicePixelRatio||1))),I.height=Math.max(1,Math.floor(r*(window.devicePixelRatio||1))))},[t,r]),u.useEffect(()=>{let I=!1;return(async()=>{try{const F=new(window.AudioContext||window.webkitAudioContext);w.current=F;let Y=c;if(!Y){if(!l)return;Y=await navigator.mediaDevices.getUserMedia({audio:!0,video:!1}),y.current=!0}if(I)return;const ae=F.createAnalyser();ae.fftSize=s,ae.smoothingTimeConstant=a,g.current=ae;const C=F.createMediaStreamSource(Y);p.current=C,C.connect(ae),S()}catch(F){_((F==null?void 0:F.message)||"Failed to initialize microphone")}})(),()=>{var F,Y,ae,C;I=!0,b.current&&cancelAnimationFrame(b.current);try{(F=p.current)==null||F.disconnect()}catch{}try{(Y=g.current)==null||Y.disconnect()}catch{}y.current&&((C=((ae=p.current)==null?void 0:ae.mediaStream)||void 0)==null||C.getTracks().forEach(U=>U.stop())),w.current&&w.current.state!=="closed"&&w.current.close()}},[c,s,a,l]);const S=()=>{const I=d.current,V=g.current;if(!I||!V)return;const F=I.getContext("2d");if(!F)return;const Y=window.devicePixelRatio||1,ae=I.width,C=I.height,U=V.frequencyBinCount,we=new Uint8Array(U),Yt=()=>{b.current=requestAnimationFrame(Yt),V.getByteTimeDomainData(we),F.clearRect(0,0,ae,C),F.fillStyle="rgba(0,0,0,0)",F.fillRect(0,0,ae,C);const $e=Math.max(1,Math.floor(i*Y)),Ee=Math.max(1,Math.floor(n*Y)),ct=$e+Ee,St=Math.max(8,Math.floor((ae+Ee)/ct)),lt=Math.floor(we.length/St);for(let Nt=0;Nt<St;Nt++){const Xe=Math.min(we.length-1,Nt*lt),It=we[Xe]/128-1,dt=Math.abs(It),Sr=Math.pow(dt,.6),Ft=Math.max(C*.06,Sr*(C*.9)),Nr=Nt*ct,Ir=(C-Ft)/2,De=140-Math.min(140,140*dt),ze=85,X=48+Math.floor(12*(1-dt));F.fillStyle=`${h}`,F.shadowColor=`hsla(${De}, ${ze}%, ${X}%, ${.25*dt})`,F.shadowBlur=8*dt;const Qe=Math.min($e/2,Ft/2);z2(F,Nr,Ir,$e,Ft,Qe),F.fill()}};Yt()};return o.jsxs("div",{ref:f,className:`iw-relative iw-w-full iw-overflow-hidden iw-rounded-md iw-bg-gray-50 ${e}`,style:{height:r},children:[o.jsx("canvas",{ref:d,className:"iw-w-full iw-h-full"}),m&&o.jsx("div",{className:"iw-absolute iw-inset-0 iw-flex iw-items-center iw-justify-center",children:o.jsx("span",{className:"iw-text-xs iw-text-red-600 iw-bg-red-50 iw-border iw-border-red-200 iw-px-2 iw-py-1 iw-rounded",children:m})})]})};function z2(e,t,r,i,n,s){const a=Math.min(s,i/2,n/2);e.beginPath(),e.moveTo(t+a,r),e.lineTo(t+i-a,r),e.quadraticCurveTo(t+i,r,t+i,r+a),e.lineTo(t+i,r+n-a),e.quadraticCurveTo(t+i,r+n,t+i-a,r+n),e.lineTo(t+a,r+n),e.quadraticCurveTo(t,r+n,t,r+n-a),e.lineTo(t,r+a),e.quadraticCurveTo(t,r,t+a,r),e.closePath()}const H2=({state:e,answeringTime:t,nextPhase:r,sttError:i})=>o.jsxs("div",{className:"iw-flex iw-flex-col iw-justify-between iw-h-full ",children:[o.jsxs("div",{children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-between",children:[o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-gray-900 iw-mb-1",children:"You may start speaking now. We're listening...."}),o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-center iw-gap-2",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-1",children:[o.jsx(Rs,{className:"iw-size-4 iw-text-orange-600"}),o.jsx("p",{className:"iw-text-gray-700 iw-text-sm",children:"Time to talk: "})]}),o.jsx(Zi,{total:t,remaining:e.currentPhaseTimeRemaining,size:50,strokeWidth:4})]})]}),o.jsx("p",{className:"iw-max-w-lg iw-text-gray-500 iw-text-xs iw-leading-[21px]",children:"Done talking? Click the button to review your answer."})]}),o.jsxs("div",{children:[o.jsx($2,{}),i&&o.jsxs("div",{className:"iw-mt-2 iw-text-xs iw-text-red-600",children:["Recording error: ",i.message]})]}),o.jsx("div",{className:"iw-w-full iw-grid iw-grid-cols-1",children:o.jsx(Gs,{onClick:()=>{r()},children:"Transcribe My Answer"})})]});function q2(){const[e,t]=u.useState(!0),r=u.useMemo(()=>[0,1,2].map(i=>({id:i})),[]);return u.useEffect(()=>{const i=setInterval(()=>{t(n=>!n)},1500);return()=>clearInterval(i)},[]),o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-justify-center iw-gap-8 iw-h-full",children:[o.jsx("div",{className:"iw-relative iw-w-80 iw-h-48 ","aria-hidden":!0,children:r.map((i,n)=>{const s=n*50,a=e?s:s+12,c=e?1:.08,l=n*140;return o.jsx("div",{role:"presentation",className:"iw-absolute iw-w-full iw-rounded-lg iw-p-4 iw-shadow-md iw-bg-gradient-to-b iw-from-gray-50 iw-to-gray-100 iw-overflow-hidden",style:{top:0,transform:`translateY(${a}px)`,opacity:c,transition:`transform 600ms cubic-bezier(.2,.9,.3,1) ${l}ms, opacity 400ms ease ${l}ms`},children:o.jsxs("div",{className:"iw-flex iw-gap-3 iw-items-center",children:[o.jsx("div",{className:"iw-w-10 iw-h-10 iw-bg-gray-300 iw-rounded iw-flex-shrink-0"}),o.jsxs("div",{className:"iw-flex-1 iw-space-y-2",children:[o.jsx("div",{className:"iw-h-2 iw-bg-gray-300 iw-rounded iw-w-24"}),o.jsx("div",{className:"iw-h-2 iw-bg-gray-300 iw-rounded iw-w-32"})]})]})},i.id)})}),o.jsx("div",{className:"iw-text-center",children:o.jsx("p",{className:"iw-text-gray-500 iw-font-medium",children:"Preparing your question..."})})]})}const K2=({size:e="192px",className:t,colors:r,animationDuration:i=20})=>{const s={...{bg:"oklch(95% 0.02 264.695)",c1:"oklch(75% 0.15 350)",c2:"oklch(80% 0.12 200)",c3:"oklch(78% 0.14 280)"},...r},a=parseInt(e.replace("px",""),10),c=a<50?Math.max(a*.008,1):Math.max(a*.015,4),l=a<50?Math.max(a*.004,1.2):Math.max(a*.008,1.5),h=a<50?Math.max(a*.004,.05):Math.max(a*.008,.1),d=a<50?Math.max(a*.004,.5):Math.max(a*.008,2),f=a<30?"0%":a<50?"5%":a<100?"15%":"25%",w=a<30?1.1:a<50?Math.max(l*1.2,1.3):l;return o.jsx("div",{className:`siri-orb ${t}`,style:{width:e,height:e,"--bg":s.bg,"--c1":s.c1,"--c2":s.c2,"--c3":s.c3,"--animation-duration":`${i}s`,"--blur-amount":`${c}px`,"--contrast-amount":w,"--dot-size":`${h}px`,"--shadow-spread":`${d}px`,"--mask-radius":f},children:o.jsx("style",{children:`
|
|
75
75
|
@property --angle {
|
|
76
76
|
syntax: "<angle>";
|
|
77
77
|
inherits: false;
|
|
@@ -176,4 +176,4 @@
|
|
|
176
176
|
animation: none;
|
|
177
177
|
}
|
|
178
178
|
}
|
|
179
|
-
`})})};function K2({ttsError:e}){return o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-justify-center iw-gap-8 iw-w-full iw-h-full",children:[o.jsx(q2,{size:"80px"}),e&&o.jsxs("div",{className:"iw-mt-2 iw-text-xs iw-text-red-600",children:["Audio playback failed: ",e.message]}),o.jsx("p",{className:"iw-text- iw-text-gray-700",children:"Your AI interviewer is speaking..."})]})}const Y2=({state:e,thinkingTime:t,nextPhase:r})=>o.jsxs("div",{className:"iw-flex iw-flex-col iw-gap-6 iw-items-center iw-justify-center iw-text-center iw-h-full ",children:[o.jsxs("div",{children:[o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-gray-900 iw-mb-1",children:"Get Ready to Answer"}),o.jsx("p",{className:"iw-max-w-lg iw-text-gray-500 iw-text-xs iw-leading-[21px]",children:"After 30-seconds thinking time, recording will start automatically, or you can begin recording early by clicking the button below."})]}),o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-center iw-gap-2",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-1",children:[o.jsx(Js,{className:"iw-size-4 iw-text-orange-600"}),o.jsx("p",{className:"iw-text-gray-700 iw-text-sm",children:"Time to think: "})]}),o.jsx(Qi,{total:t,remaining:e.currentPhaseTimeRemaining,size:50,strokeWidth:4})]}),o.jsx("div",{className:"iw-w-full iw-grid iw-grid-cols-1",children:o.jsx(Bs,{onClick:()=>{r()},children:"Start Answering"})})]}),X2=({sttError:e,editingDuration:t})=>o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-justify-center iw-h-full",children:[o.jsxs("svg",{width:"48",height:"48",viewBox:"0 0 60 60",fill:"none",children:[o.jsx("rect",{width:60,height:60,rx:30,fill:"url(#prefix__paint0_linear_1460_12482)"}),o.jsx("path",{d:"M28.127 14c.276 7.685 6.442 13.851 14.127 14.127-7.684.276-13.85 6.442-14.127 14.127-.275-7.685-6.442-13.851-14.126-14.127 7.684-.276 13.85-6.442 14.126-14.127zM38.937 31.873A7.331 7.331 0 0046 38.937 7.331 7.331 0 0038.937 46a7.331 7.331 0 00-7.064-7.063 7.331 7.331 0 007.064-7.064z",fill:"#fff"}),o.jsx("defs",{children:o.jsxs("linearGradient",{id:"prefix__paint0_linear_1460_12482",x1:30,y1:-6.563,x2:77.813,y2:54.375,gradientUnits:"userSpaceOnUse",children:[o.jsx("stop",{offset:.211,stopColor:"#5C92FA"}),o.jsx("stop",{offset:1,stopColor:"#A75FFD"})]})})]}),o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-gray-900 iw-mb-1 iw-mt-3",children:"Just a moment... We're analyzing your response"}),o.jsxs("p",{className:"iw-max-w-lg iw-text-gray-500 iw-text-xs iw-leading-[21px]",children:["After transcription, you'll have ",t||30," sec to review your answer."]}),e&&o.jsxs("div",{className:"iw-mt-2 iw-text-xs iw-text-red-600",children:["Transcription error: ",e.message,e.recoverable&&" (attempting to continue)"]})]}),Q2=({interviewTitle:e,brandName:t="Novara",brandLogo:r,interviewId:i,onComplete:n,onDisqualify:s,className:a="",videoFeedRef:c})=>{var oi;const l=dl(),{baseUrl:h,authToken:d}=Xs(),{timers:f,stt:w,proctoring:g}=cn(),p=u.useRef(null),[b,y]=u.useState(null),[m,A]=u.useState(""),[S,N]=u.useState(null),[G,F]=u.useState(li),[Y,ae]=u.useState(!0),C=u.useRef(""),j=u.useRef(null),we={thinkingTime:(f==null?void 0:f.thinkingDuration)||0,answeringTime:(f==null?void 0:f.answeringDuration)||120,editingTime:Y?(f==null?void 0:f.editingDuration)||30:0},{thinkingTime:Yt,answeringTime:$e,editingTime:Ee}=we;u.useEffect(()=>{C.current=m},[m]);const at=u.useRef(!1),{speak:St,stop:pt,error:Nt}=m2({onEnd:()=>{at.current=!1,X()},onError:()=>{at.current||(at.current=!0,X())}}),Xe=u.useRef(!1),It=u.useRef(!1),{startRecording:ct,stopRecording:Sr,transcribe:Ft,cancelRecording:ii,error:Nr}=f2({config:{baseUrl:h,provider:w==null?void 0:w.provider,model:w==null?void 0:w.model,language:w==null?void 0:w.language,authToken:d,qnaId:((oi=j.current)==null?void 0:oi.qna_id)||"",interviewId:i},onStart:()=>{Xe.current=!1,It.current=!1},onStop:()=>{},onTranscriptionComplete:I=>{const M=I.transcript;A(M),C.current=M,It.current||(It.current=!0,X())},onError:I=>{console.error("STT Error:",I),Xe.current||(Xe.current=!0,X())}}),{state:De,startQuestion:ze,nextPhase:X,completeInterview:Qe,timerService:Ji}=l2({config:{answeringDuration:$e,editingDuration:Ee},callbacks:{onPhaseChange:I=>{switch(I){case D.FETCHING_QUESTION:Zi();break;case D.READING_QUESTION:ni();break;case D.ANSWERING:si();break;case D.TRANSCRIBING:js();break;case D.SUBMITTING:Ir();break}},onInterviewEnd:()=>{n==null||n()}}});u.useEffect(()=>{ze()},[]),u.useEffect(()=>{(async()=>{try{const M=await l.getInterviewConfig(i);if(M!=null&&M.data&&(M.data.duration_in_minutes&&F(M.data.duration_in_minutes),typeof M.data.allow_answer_editing=="boolean"&&ae(M.data.allow_answer_editing),typeof M.data.elapsed_time_in_minutes=="number")){const lt=Math.floor(M.data.elapsed_time_in_minutes*60);Ji.setTotalTimeElapsed(lt)}}catch(M){console.error("Failed to fetch interview config:",M)}})()},[i,Ji]);const{execute:Zi}=d2(async()=>{const I=await l.generateQuestion({interviewId:i});return j.current=I.data,I},{onSuccess:async I=>{I&&I.data&&(A(""),C.current="",y(I.data),X())},onError:I=>{console.error("Failed to fetch questions:",I)}}),Ir=u.useCallback(async()=>{var I;try{const M=C.current,lt=((I=j.current)==null?void 0:I.qna_id)||"";Y&&await l.submitAnswer({interviewId:i,qnaId:lt,answer:M}),N({qnaId:lt,answer:M})}catch(M){console.error("Failed to submit answer:",M)}ze()},[l,i,ze,Y]),ni=u.useCallback(async()=>{var I;if((I=j.current)!=null&&I.question)if(j.current.question_audio_data_base64)try{at.current=!1,await St(j.current.question_audio_data_base64),j.current.is_interview_done&&Qe()}catch(M){console.error("Failed to speak question:",M),X()}else console.warn("No audio data available for question"),await Ul(2e3),X();else X()},[St,X,Qe]),si=u.useCallback(async()=>{try{await ct($e)}catch(I){console.error("Failed to start recording:",I),X()}},[ct,X]),js=u.useCallback(async()=>{try{const I=await Sr();await Ft(I)}catch(I){console.error("STT processing failed:",I),!Xe.current&&!It.current&&(Xe.current=!0,X())}},[Sr,Ft,X]),Fr=u.useCallback(async I=>{var M,lt;pt(),ii(),c&&"current"in c&&((M=c.current)==null||M.stopCamera()),await((lt=p.current)==null?void 0:lt.exitFullScreenIntentionally());try{await l.exitInterview(i)}catch(Ri){console.error("API call failed:",Ri)}finally{I==null||I(),Qe(),sessionStorage.removeItem(sn)}},[i,pt,l]),Lr=()=>{const{phase:I}=De;switch(I){case D.IDLE:return o.jsxs("div",{className:"iw-text-center iw-flex iw-flex-col iw-items-center iw-justify-center iw-gap-2 iw-h-full",children:[o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-gray-900 iw-mb-1",children:"Ready to start the Interview?"}),o.jsx("p",{className:"iw-max-w-xl iw-text-gray-500 iw-text-xs iw-leading-[21px]",children:`You will be asked a series of behavioral and technical questions. For each one you'll get a short thinking period, then a timed recording window. We'll transcribe your response so you can review and edit it before submitting. Click "Start Interview" when you're ready.`}),o.jsx(Bs,{onClick:ze,className:"iw-mt-2 iw-w-40",children:"Start Interview"})]});case D.FETCHING_QUESTION:return o.jsx(H2,{});case D.READING_QUESTION:return o.jsx(K2,{ttsError:Nt});case D.THINKING:return o.jsx(Y2,{state:De,thinkingTime:Yt,nextPhase:X});case D.ANSWERING:return o.jsx(z2,{state:De,answeringTime:$e,nextPhase:X,sttError:Nr});case D.TRANSCRIBING:return o.jsx(X2,{sttError:Nr,editingDuration:Ee});case D.EDITING:case D.SUBMITTING:return null;case D.COMPLETED:return null;default:return null}};return o.jsx(o.Fragment,{children:g!=null&&g.enabled?o.jsxs(U2,{ref:p,onDisqualify:()=>Fr(s),children:[o.jsx(ml,{title:e,brandName:t,brandLogo:r,totalDuration:G,elapsedTime:De.totalTimeElapsed,onExit:()=>Fr()}),o.jsx(pl,{brandName:t,brandLogo:r,currentQuestion:b,state:De,phase:De.phase,className:a,interviewId:i,interview_duration:G,videoFeedRef:c,lastSubmittedAnswer:S,onNextPhase:X,answerText:m,onAnswerChange:I=>{const M=I.target.value;A(M),C.current=M},editingTime:Ee,answeringTime:$e,children:Lr()})]}):o.jsxs(o.Fragment,{children:[o.jsx(ml,{title:e,brandName:t,brandLogo:r,totalDuration:G,elapsedTime:De.totalTimeElapsed,onExit:()=>Fr()}),o.jsx(pl,{brandName:t,brandLogo:r,currentQuestion:b,state:De,phase:De.phase,className:a,interviewId:i,interview_duration:G,videoFeedRef:c,lastSubmittedAnswer:S,onNextPhase:X,answerText:m,onAnswerChange:I=>{const M=I.target.value;A(M),C.current=M},editingTime:Ee,answeringTime:$e,children:Lr()})]})})},Vs=({title:e,brandName:t,brandLogo:r,interviewId:i,onInterviewEnd:n,onInterviewDisqualify:s,className:a=""})=>{const[c,l]=u.useState(!1),[h,d]=u.useState(!0),[f,w]=u.useState(!1),{proctoring:g}=cn(),p=u.useRef(null),b=u.useRef(null),y=(g==null?void 0:g.gazeAnalysisEnabled)===!0,m=()=>{l(!0),d(!1)};return u.useEffect(()=>{if(c&&f&&b.current&&y)try{b.current.setReference()}finally{w(!1)}},[c,f,y]),c?o.jsx("div",{className:"interview-widget-container",children:o.jsx("div",{ref:p,className:`iw-flex iw-flex-col iw-rounded-xl iw-shadow-lg iw-overflow-hidden iw-h-[calc(100vh-1rem)] ${a}`,children:o.jsx("div",{className:"iw-h-[calc(100vh-1rem)] iw-flex iw-flex-col iw-justify-between gap-1",children:o.jsx(Q2,{interviewTitle:e??"Interview",brandName:t??"Novara",brandLogo:r,interviewId:i,className:a,onComplete:n??(()=>{}),onDisqualify:s,videoFeedRef:b})})})}):o.jsxs("div",{className:"interview-widget-container",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-space-x-2 iw-mx-auto iw-p-2 iw-max-w-[1800px]",children:[o.jsx(dn,{brandLogo:r,brandName:t}),o.jsx("p",{className:"iw-text-xl iw-font-semibold",children:t})]}),o.jsx(a2,{isOpen:h,gazeEnabled:y,onStart:m,onRequestCalibration:()=>w(!0),videoFeedRef:b,interviewId:i})]})};typeof window<"u"&&(window.InterviewWidget={InterviewWidget:Vs,InterviewWidgetProvider:Ys}),he.InterviewWidget=Vs,he.InterviewWidgetProvider=Ys,he.default=Vs,Object.defineProperties(he,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
179
|
+
`})})};function Y2({ttsError:e}){return o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-justify-center iw-gap-8 iw-w-full iw-h-full",children:[o.jsx(K2,{size:"80px"}),e&&o.jsxs("div",{className:"iw-mt-2 iw-text-xs iw-text-red-600",children:["Audio playback failed: ",e.message]}),o.jsx("p",{className:"iw-text- iw-text-gray-700",children:"Your AI interviewer is speaking..."})]})}const X2=({state:e,thinkingTime:t,nextPhase:r})=>o.jsxs("div",{className:"iw-flex iw-flex-col iw-gap-6 iw-items-center iw-justify-center iw-text-center iw-h-full ",children:[o.jsxs("div",{children:[o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-gray-900 iw-mb-1",children:"Get Ready to Answer"}),o.jsx("p",{className:"iw-max-w-lg iw-text-gray-500 iw-text-xs iw-leading-[21px]",children:"After 30-seconds thinking time, recording will start automatically, or you can begin recording early by clicking the button below."})]}),o.jsxs("div",{className:"iw-flex iw-items-center iw-justify-center iw-gap-2",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-gap-1",children:[o.jsx(Rs,{className:"iw-size-4 iw-text-orange-600"}),o.jsx("p",{className:"iw-text-gray-700 iw-text-sm",children:"Time to think: "})]}),o.jsx(Zi,{total:t,remaining:e.currentPhaseTimeRemaining,size:50,strokeWidth:4})]}),o.jsx("div",{className:"iw-w-full iw-grid iw-grid-cols-1",children:o.jsx(Gs,{onClick:()=>{r()},children:"Start Answering"})})]}),Q2=({sttError:e,editingDuration:t})=>o.jsxs("div",{className:"iw-flex iw-flex-col iw-items-center iw-justify-center iw-h-full",children:[o.jsxs("svg",{width:"48",height:"48",viewBox:"0 0 60 60",fill:"none",children:[o.jsx("rect",{width:60,height:60,rx:30,fill:"url(#prefix__paint0_linear_1460_12482)"}),o.jsx("path",{d:"M28.127 14c.276 7.685 6.442 13.851 14.127 14.127-7.684.276-13.85 6.442-14.127 14.127-.275-7.685-6.442-13.851-14.126-14.127 7.684-.276 13.85-6.442 14.126-14.127zM38.937 31.873A7.331 7.331 0 0046 38.937 7.331 7.331 0 0038.937 46a7.331 7.331 0 00-7.064-7.063 7.331 7.331 0 007.064-7.064z",fill:"#fff"}),o.jsx("defs",{children:o.jsxs("linearGradient",{id:"prefix__paint0_linear_1460_12482",x1:30,y1:-6.563,x2:77.813,y2:54.375,gradientUnits:"userSpaceOnUse",children:[o.jsx("stop",{offset:.211,stopColor:"#5C92FA"}),o.jsx("stop",{offset:1,stopColor:"#A75FFD"})]})})]}),o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-gray-900 iw-mb-1 iw-mt-3",children:"Just a moment... We're analyzing your response"}),o.jsxs("p",{className:"iw-max-w-lg iw-text-gray-500 iw-text-xs iw-leading-[21px]",children:["After transcription, you'll have ",t||30," sec to review your answer."]}),e&&o.jsxs("div",{className:"iw-mt-2 iw-text-xs iw-text-red-600",children:["Transcription error: ",e.message,e.recoverable&&" (attempting to continue)"]})]}),J2=({interviewTitle:e,brandName:t="Novara",brandLogo:r,interviewId:i,onComplete:n,onDisqualify:s,className:a="",videoFeedRef:c})=>{var ci,en,Pr;const l=hl(),{baseUrl:h,authToken:d}=Js(),{timers:f,stt:w,proctoring:g}=dn(),p=u.useRef(null),[b,y]=u.useState(null),[m,_]=u.useState(""),[S,I]=u.useState(null),[V,F]=u.useState(ui),[Y,ae]=u.useState(!0),C=u.useRef(""),U=u.useRef(null),we={thinkingTime:(f==null?void 0:f.thinkingDuration)||0,answeringTime:((ci=U.current)==null?void 0:ci.estimated_answer_duration_in_seconds)||(f==null?void 0:f.answeringDuration)||120,editingTime:Y?(f==null?void 0:f.editingDuration)||30:0},{thinkingTime:Yt,answeringTime:$e,editingTime:Ee}=we;u.useEffect(()=>{C.current=m},[m]);const ct=u.useRef(!1),{speak:St,stop:lt,error:Nt}=y2({onEnd:()=>{ct.current=!1,X()},onError:()=>{ct.current||(ct.current=!0,X())}}),Xe=u.useRef(!1),It=u.useRef(!1),{startRecording:dt,stopRecording:Sr,transcribe:Ft,cancelRecording:Nr,error:Ir}=w2({config:{baseUrl:h,provider:w==null?void 0:w.provider,model:w==null?void 0:w.model,language:w==null?void 0:w.language,authToken:d,qnaId:((en=U.current)==null?void 0:en.qna_id)||"",interviewId:i},onStart:()=>{Xe.current=!1,It.current=!1},onStop:()=>{},onTranscriptionComplete:N=>{const M=N.transcript;_(M),C.current=M,It.current||(It.current=!0,X())},onError:N=>{console.error("STT Error:",N),Xe.current||(Xe.current=!0,X())}}),{state:De,startQuestion:ze,nextPhase:X,completeInterview:Qe,timerService:si}=d2({config:{answeringDuration:$e,editingDuration:Ee},callbacks:{onPhaseChange:N=>{switch(N){case D.FETCHING_QUESTION:Ri();break;case D.READING_QUESTION:oi();break;case D.ANSWERING:ai();break;case D.TRANSCRIBING:$s();break;case D.SUBMITTING:Fr();break}},onInterviewEnd:()=>{n==null||n()}}});u.useEffect(()=>{ze()},[]),u.useEffect(()=>{(async()=>{try{const M=await l.getInterviewConfig(i);if(M!=null&&M.data&&(M.data.duration_in_minutes&&F(M.data.duration_in_minutes),typeof M.data.allow_answer_editing=="boolean"&&ae(M.data.allow_answer_editing),typeof M.data.elapsed_time_in_minutes=="number")){const Je=Math.floor(M.data.elapsed_time_in_minutes*60);si.setTotalTimeElapsed(Je)}}catch(M){console.error("Failed to fetch interview config:",M)}})()},[i,si]);const{execute:Ri}=u2(async()=>{const N=await l.generateQuestion({interviewId:i});return U.current=N.data,N},{onSuccess:async N=>{N&&N.data&&(_(""),C.current="",y(N.data),si.updateConfig({answeringDuration:N.data.estimated_answer_duration_in_seconds||(f==null?void 0:f.answeringDuration)||120}),X())},onError:N=>{console.error("Failed to fetch questions:",N)}}),Fr=u.useCallback(async()=>{var N;try{const M=C.current,Je=((N=U.current)==null?void 0:N.qna_id)||"";Y&&await l.submitAnswer({interviewId:i,qnaId:Je,answer:M}),I({qnaId:Je,answer:M})}catch(M){console.error("Failed to submit answer:",M)}ze()},[l,i,ze,Y]),oi=u.useCallback(async()=>{var N,M;if((N=U.current)!=null&&N.question)if(U.current.question_audio_data_base64)try{ct.current=!1,await St(U.current.question_audio_data_base64),U.current.is_interview_done&&(lt(),Nr(),c&&"current"in c&&((M=c.current)==null||M.stopCamera()),Qe())}catch(Je){console.error("Failed to speak question:",Je),X()}else console.warn("No audio data available for question"),await Gl(2e3),X();else X()},[St,X,Qe]),ai=u.useCallback(async()=>{try{await dt($e)}catch(N){console.error("Failed to start recording:",N),X()}},[dt,X]),$s=u.useCallback(async()=>{try{const N=await Sr();await Ft(N)}catch(N){console.error("STT processing failed:",N),!Xe.current&&!It.current&&(Xe.current=!0,X())}},[Sr,Ft,X]),Lr=u.useCallback(async N=>{var M,Je;lt(),Nr(),c&&"current"in c&&((M=c.current)==null||M.stopCamera()),await((Je=p.current)==null?void 0:Je.exitFullScreenIntentionally());try{await l.exitInterview(i)}catch(tn){console.error("API call failed:",tn)}finally{N==null||N(),Qe(),sessionStorage.removeItem(an)}},[i,lt,l]),Mr=()=>{const{phase:N}=De;switch(N){case D.IDLE:return o.jsxs("div",{className:"iw-text-center iw-flex iw-flex-col iw-items-center iw-justify-center iw-gap-2 iw-h-full",children:[o.jsx("h3",{className:"iw-text-lg iw-font-semibold iw-text-gray-900 iw-mb-1",children:"Ready to start the Interview?"}),o.jsx("p",{className:"iw-max-w-xl iw-text-gray-500 iw-text-xs iw-leading-[21px]",children:`You will be asked a series of behavioral and technical questions. For each one you'll get a short thinking period, then a timed recording window. We'll transcribe your response so you can review and edit it before submitting. Click "Start Interview" when you're ready.`}),o.jsx(Gs,{onClick:ze,className:"iw-mt-2 iw-w-40",children:"Start Interview"})]});case D.FETCHING_QUESTION:return o.jsx(q2,{});case D.READING_QUESTION:return o.jsx(Y2,{ttsError:Nt});case D.THINKING:return o.jsx(X2,{state:De,thinkingTime:Yt,nextPhase:X});case D.ANSWERING:return o.jsx(H2,{state:De,answeringTime:$e,nextPhase:X,sttError:Ir});case D.TRANSCRIBING:return o.jsx(Q2,{sttError:Ir,editingDuration:Ee});case D.EDITING:case D.SUBMITTING:return null;case D.COMPLETED:return null;default:return null}};return o.jsx(o.Fragment,{children:g!=null&&g.enabled?o.jsxs(G2,{ref:p,onDisqualify:()=>Lr(s),isCompleted:((Pr=U==null?void 0:U.current)==null?void 0:Pr.is_interview_done)??!1,children:[o.jsx(bl,{title:e,brandName:t,brandLogo:r,totalDuration:V,elapsedTime:De.totalTimeElapsed,onExit:()=>Lr()}),o.jsx(yl,{brandName:t,brandLogo:r,currentQuestion:b,state:De,phase:De.phase,className:a,interviewId:i,interview_duration:V,videoFeedRef:c,lastSubmittedAnswer:S,onNextPhase:X,answerText:m,onAnswerChange:N=>{const M=N.target.value;_(M),C.current=M},editingTime:Ee,answeringTime:$e,children:Mr()})]}):o.jsxs(o.Fragment,{children:[o.jsx(bl,{title:e,brandName:t,brandLogo:r,totalDuration:V,elapsedTime:De.totalTimeElapsed,onExit:()=>Lr()}),o.jsx(yl,{brandName:t,brandLogo:r,currentQuestion:b,state:De,phase:De.phase,className:a,interviewId:i,interview_duration:V,videoFeedRef:c,lastSubmittedAnswer:S,onNextPhase:X,answerText:m,onAnswerChange:N=>{const M=N.target.value;_(M),C.current=M},editingTime:Ee,answeringTime:$e,children:Mr()})]})})},Ws=({title:e,brandName:t,brandLogo:r,interviewId:i,onInterviewEnd:n,onInterviewDisqualify:s,className:a=""})=>{const[c,l]=u.useState(!1),[h,d]=u.useState(!0),[f,w]=u.useState(!1),{proctoring:g}=dn(),p=u.useRef(null),b=u.useRef(null),y=(g==null?void 0:g.gazeAnalysisEnabled)===!0,m=()=>{l(!0),d(!1)};return u.useEffect(()=>{if(c&&f&&b.current&&y)try{b.current.setReference()}finally{w(!1)}},[c,f,y]),c?o.jsx("div",{className:"interview-widget-container",children:o.jsx("div",{ref:p,className:`iw-flex iw-flex-col iw-rounded-xl iw-shadow-lg iw-overflow-hidden iw-h-[calc(100vh-1rem)] ${a}`,children:o.jsx("div",{className:"iw-h-[calc(100vh-1rem)] iw-flex iw-flex-col iw-justify-between gap-1",children:o.jsx(J2,{interviewTitle:e??"Interview",brandName:t??"Novara",brandLogo:r,interviewId:i,className:a,onComplete:n??(()=>{}),onDisqualify:s,videoFeedRef:b})})})}):o.jsxs("div",{className:"interview-widget-container",children:[o.jsxs("div",{className:"iw-flex iw-items-center iw-space-x-2 iw-mx-auto iw-p-2 iw-max-w-[1800px]",children:[o.jsx(hn,{brandLogo:r,brandName:t}),o.jsx("p",{className:"iw-text-xl iw-font-semibold",children:t})]}),o.jsx(c2,{isOpen:h,gazeEnabled:y,onStart:m,onRequestCalibration:()=>w(!0),videoFeedRef:b,interviewId:i})]})};typeof window<"u"&&(window.InterviewWidget={InterviewWidget:Ws,InterviewWidgetProvider:Qs}),he.InterviewWidget=Ws,he.InterviewWidgetProvider=Qs,he.default=Ws,Object.defineProperties(he,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|