Module 581763

6,693 characters · in 7af349a24887a0e7.js
Dependencies
Lazily required by (0)none
Lazily requires (0)none
Source Raw
function(e,t,i){i.d(t,{n:()=>l,t:()=>u});var n=i(209688),r=i(401959),o=i(351618),a=i(781322),s=i(196283),l=class e{static fromImageData(t){let i=document.createElement("canvas");i.width=t.width,i.height=t.height;let n=i.getContext("2d",{willReadFrequently:!0});return n&&"putImageData"in n&&n.putImageData(t,0,0),new e(i)}constructor(e){this.base64Image=null,this.blobData=null,this.canvas=document.createElement("canvas"),this.canvas.width=e.width,this.canvas.height=e.height;const t=this.canvas.getContext("2d");t&&t.drawImage(e,0,0)}checkCanvas(){return this.canvas&&this.canvas.width>1&&this.canvas.height>1}dispose(){this.blobData?.url&&(URL.revokeObjectURL(this.blobData.url),this.blobData=null),this.base64Image=null}release(){this.checkCanvas()&&(this.canvas.width=1,this.canvas.height=1,this.canvas.getContext("2d")?.clearRect(0,0,1,1),this.base64Image=null,this.blobData?.url&&URL.revokeObjectURL(this.blobData.url),this.blobData=null)}revokeObjectURL(){this.blobData?.url&&(URL.revokeObjectURL(this.blobData.url),this.blobData={...this.blobData,url:""})}width(){return this.checkCanvas()?this.canvas.width:null}height(){return this.checkCanvas()?this.canvas.height:null}setWidth(e){this.checkCanvas()&&(this.canvas.width=e)}setHeight(e){this.checkCanvas()&&(this.canvas.height=e)}clone(){if(!this.checkCanvas())return null;let t=new e(this.canvas);return t.setBase64Image(this.base64Image),t}async deepClone(){let e=this.clone();return e?(this.blobData&&await e.setBlobData(this.blobData),e):null}getContext(e,t){if(!this.checkCanvas())return null;let i=this.canvas.getContext(e,t);return i instanceof CanvasRenderingContext2D?i:null}getImageData(){if(!this.checkCanvas())return null;let e=this.canvas.getContext("2d",{willReadFrequently:!0});return e?e.getImageData(0,0,this.canvas.width,this.canvas.height):null}updateBase64Image(e=1){this.checkCanvas()&&(this.base64Image=this.canvas.toDataURL("image/jpeg",e))}getBase64Image(e=1,t=!1){if(!this.checkCanvas())return null;null===this.base64Image&&this.updateBase64Image(e);let i=this.base64Image;if(null===i)return null;if(t)return i;let n=i.indexOf(",");return -1===n?i:i.slice(n+1)}setBase64Image(e){this.base64Image=e}updateBlob(t=1,i=!1){if(!this.checkCanvas())return;null===this.base64Image&&this.updateBase64Image(t);let n=this.getBase64Image(t,i);n&&(this.blobData=e.base64ToBlob(n))}static base64ToBlob(e){try{let t=atob(e),i=[];for(let e=0;e<t.length;e++)i.push(t.charCodeAt(e));let n=new Blob([new Uint8Array(i)]);return{blob:n,url:URL.createObjectURL(n)}}catch(e){console.error("Failed to convert base64 string to Blob:",e)}return null}getBlobData(e=1,t=!1){return this.checkCanvas()?(null===this.blobData&&this.updateBlob(e,t),this.blobData):null}async setBlobData(e){let t=await e.blob.arrayBuffer();this.blobData={blob:new Blob([t],{type:e.blob.type}),url:e.url}}getResizedCanvas(t,i){if(!this.checkCanvas())return null;let n=Math.abs(t-window.innerWidth),r=new e(document.createElement("canvas")),o=this.height();if(!o)return null;let a=o/i,s=window.innerWidth,l=window.innerHeight;r.setWidth(s),r.setHeight(l);let c=r.getContext("2d");return c?(c.drawImage(this.canvas,a*n/2,0,a*s,a*l,0,0,s,l),r):null}};async function c({source:e,base64Image:t,token:i}){try{return(await n.t.post("/omni/log/frame/v2",{base64Image:t},{query:{source:e},headers:{"X-Incode-Hardware-Id":i}})).data}catch{return}}async function d({wasmUtil:e,source:t,token:i}){let n={canvas:null,itr:null,skipped:null};if(await e.poc(n),!1===n.skipped){if(n.canvas&&i){let e=new l(n.canvas).getBase64Image();e&&await c({source:t,base64Image:e,token:i})}!0===n.itr?((0,s.t)({virtualCameraDetected:!0}),e.setZc("FAIL")):!1===n.itr&&e.setZc("PASS")}}function u(e){var t,i,n,s,l;let c=(t=e.wasmUtil,i=e.visibility,n=e.browserEnv,s=e.ipLookup,{async initialize(e,i=!1){t.setSdkPlatform("WEBAPP"),t.setSdkVersion(e);let o=(0,a.t)(),l=/Android|iPhone|iPad|iPod/i.test(o),c=(0,a.n)(),d=n.generateCanvasFingerprint(),u=i?"":await s.getIp(),h={kind:l?"mobile":"desktop",model:"",os:void 0,osVersion:void 0,screenDimensions:n.getScreenDimensions(),numTouchPoints:c.maxTouchPoints,fingerprintHash:d,ip:u,backgroundMode:!1};t.setDeviceInfo(h);let p=n.getNavigatorPrefixes(),f={userAgent:o,getUserMediaAvailability:{webkit:p.webkit,moz:p.moz,o:p.o,ms:p.ms},webglFingerprint:n.getWebGLRenderer(),inspectorOpened:!1,isMockedBrowser:(0,r.t)(n)};t.setBrowserInfo(f,!1)},updateCameraInfo(e){let i=e.getSettings(),n=e.getCapabilities?.()??{},r=e.label?[e.label]:[],o={facingMode:"user"===i.facingMode?"frontal":"environment"===i.facingMode?"back":i.facingMode||"unknown",settings:i,capabilities:n,labels:r};t.setCameraInfo(o)},async checkForVirtualCameraByLabel(e=null){try{if(!e){for(let e of(await n.enumerateVideoDeviceLabels()))if(t.isVirtualCamera(e))return!0}if(e&&t.isVirtualCamera(e.label))return!0;return!1}catch{return!1}},async analyzeFrame(e){await t.analyzeFrame(e)},setMotionStatus(e){t.setMotionStatus(e)},setBackgroundMode(e){t.setBackgroundMode(e||i.wasBackgrounded),i.reset()},estimatePerformance:()=>t.estimatePerformance(),getMetadata:()=>t.getMetadata(),getCheck:()=>t.getCheck(),getPipelineState:()=>t.getPipelineState(),preparePipelineState(){t.getPipelineState()}}),u=(l=e.motionSensor,{requestPermission:async()=>l.requestPermission(),async start(){await l.start()},stop(){l.stop()},check:()=>l.check(),get isRunning(){return l.isRunning},get hasPermission(){return l.hasPermission}});return{metadata:c,motion:u,async initialize(t=!1){await c.initialize(e.sdkVersion,t),c.estimatePerformance()},requestMotionPermission:async()=>u.requestPermission(),async startMotionSensors(){await u.start()},stopMotionSensors(){u.stop()},checkVirtualCamera:async e=>(c.updateCameraInfo(e),c.checkForVirtualCameraByLabel(e)),async performVirtualCameraCheck(t,i){await d({wasmUtil:e.wasmUtil,source:i,token:t})},async performPrcCheck(t){let i=await (0,o.r)(t.constraints),n=function(e){if("u"<typeof document)throw Error("Document not available");let t=document.createElement("video");return t.autoplay=!0,t.playsInline=!0,t.muted=!0,t.srcObject=e,t.style.width="0px",t.style.height="0px",t.style.position="absolute",t.style.top="0",t.style.left="0",t.style.zIndex="-1",document.body.appendChild(t),{element:t,dispose:()=>{t.srcObject=null,t.parentElement&&t.parentElement.removeChild(t)}}}(i);try{await e.wasmUtil.prc()}finally{n.dispose(),(0,o.i)(i)}},async analyzeFrame(e){await c.analyzeFrame(e),c.preparePipelineState();let t=u.check();c.setMotionStatus(t),c.getCheck(),c.setBackgroundMode(!1)},getMetadata:()=>c.getMetadata(),getMotionStatus:()=>u.check(),getAnalysisStatus:()=>c.getCheck(),getPipelineState:()=>c.getPipelineState(),cleanup(){u.stop()}}}}