1var e=(e,t,i)=>new Promise((n,r)=>{var o=e=>{try{a(i.next(e))}catch(t){r(t)}},s=e=>{try{a(i.throw(e))}catch(t){r(t)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(o,s);a((i=i.apply(e,t)).next())});import{$ as t}from"./index-CoMAdSaI.js";import"./react-vendor-73cbJX8F.js";import"./framer-motion-CXnF6ox9.js";class i extends t{getId(){return e(this,null,function*(){return{identifier:this.getUid()}})}getInfo(){return e(this,null,function*(){if("undefined"==typeof navigator||!navigator.userAgent)throw this.unavailable("Device API not available in this browser");const e=navigator.userAgent,t=this.parseUa(e);return{model:t.model,platform:"web",operatingSystem:t.operatingSystem,osVersion:t.osVersion,manufacturer:navigator.vendor,isVirtual:!1,webViewVersion:t.browserVersion}})}getBatteryInfo(){return e(this,null,function*(){if("undefined"==typeof navigator||!navigator.getBattery)throw this.unavailable("Device API not available in this browser");let e={};try{e=yield navigator.getBattery()}catch(t){}return{batteryLevel:e.level,isCharging:e.charging}})}getLanguageCode(){return e(this,null,function*(){return{value:navigator.language.split("-")[0].toLowerCase()}})}getLanguageTag(){return e(this,null,function*(){return{value:navigator.language}})}parseUa(e){const t={},i=e.indexOf("(")+1;let n=e.indexOf(") AppleWebKit");-1!==e.indexOf(") Gecko")&&(n=e.indexOf(") Gecko"));const r=e.substring(i,n);if(-1!==e.indexOf("Android")){const e=r.replace("; wv","").split("; ").pop();e&&(t.model=e.split(" Build")[0]),t.osVersion=r.split("; ")[1]}else if(t.model=r.split("; ")[0],"undefined"!=typeof navigator&&navigator.oscpu)t.osVersion=navigator.oscpu;else if(-1!==e.indexOf("Windows"))t.osVersion=r;else{const e=r.split("; ").pop();if(e){const i=e.replace(" like Mac OS X","").split(" ");t.osVersion=i[i.length-1].replace(/_/g,".")}}/android/i.test(e)?t.operatingSystem="android":/iPad|iPhone|iPod/.test(e)&&!window.MSStream?t.operatingSystem="ios":/Win/.test(e)?t.operatingSystem="windows":/Mac/i.test(e)?t.operatingSystem="mac":t.operatingSystem="unknown";const o=!!window.ApplePaySession,s=!!window.chrome,a=/Firefox/.test(e),l=/Edg/.test(e),u=/FxiOS/.test(e),d=/CriOS/.test(e),g=/EdgiOS/.test(e);if(o||s&&!l||u||d||g){let i;i=u?"FxiOS":d?"CriOS":g?"EdgiOS":o?"Version":"Chrome";const n=e.split(" ");for(const e of n)if(e.includes(i)){const i=e.split("/")[1];t.browserVersion=i}}else if(a||l){const i=e.split("").reverse().join("").split("/")[0].split("").reverse().join("");t.browserVersion=i}return t}getUid(){if("undefined"!=typeof window&&window.localStorage){let e=window.localStorage.getItem("_capuid");return e||(e=this.uuid4(),window.localStorage.setItem("_capuid",e),e)}return this.uuid4()}uuid4(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})}}export{i as DeviceWeb};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.