@thumbmarkjs/thumbmarkjs 1.3.2 → 1.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -5
- package/dist/thumbmark.cjs.js +1 -1
- package/dist/thumbmark.cjs.js.map +1 -1
- package/dist/thumbmark.esm.js +1 -1
- package/dist/thumbmark.esm.js.map +1 -1
- package/dist/thumbmark.umd.js +1 -1
- package/dist/thumbmark.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/options.ts +8 -1
package/README.md
CHANGED
|
@@ -134,11 +134,8 @@ I wanted to create something that's easy to build, extend and use. If you're int
|
|
|
134
134
|
|
|
135
135
|
Have a look at the [technical_details](technical_details.md)
|
|
136
136
|
|
|
137
|
-
## Mobile fingerprinting
|
|
138
|
-
|
|
139
|
-
Have a look at the [IOS](https://github.com/thumbmarkjs/thumbmark-swift) and [Android](https://github.com/thumbmarkjs/thumbmark-android) versions as well.
|
|
140
|
-
|
|
141
137
|
## Contact ThumbmarkJS
|
|
142
138
|
|
|
143
139
|
- email: thumbmark-contact@googlegroups.com
|
|
144
|
-
|
|
140
|
+
|
|
141
|
+
- discord: https://discord.gg/PAqxQ3TnDA
|
package/dist/thumbmark.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const e="https://api.thumbmarkjs.com",t={exclude:[],include:[],stabilize:["private","iframe"],logging:!0,timeout:5e3,cache_api_call:!0,performance:!1,experimental:!1};let n={...t};const o={private:[{exclude:["canvas"],browsers:["firefox","safari>=17","brave"]},{exclude:["audio"],browsers:["samsungbrowser","safari"]},{exclude:["fonts"],browsers:["firefox"]},{exclude:["audio.sampleHash","hardware.deviceMemory","header.acceptLanguage.q","system.hardwareConcurrency","plugins"],browsers:["brave"]},{exclude:["tls.extensions"],browsers:["firefox","chrome","safari"]},{exclude:["header.acceptLanguage"],browsers:["edge","chrome"]}],iframe:[{exclude:["permissions.camera","permission.geolocation","permissions.microphone","system.applePayVersion","system.cookieEnabled"],browsers:["safari"]}],vpn:[{exclude:["ip"]}]};function r(e){let t=0;for(let n=0;n<e.length;++n)t+=Math.abs(e[n]);return t}function i(e,t,n){let o=[];for(let t=0;t<e[0].data.length;t++){let n=[];for(let o=0;o<e.length;o++)n.push(e[o].data[t]);o.push(a(n))}const r=new Uint8ClampedArray(o);return new ImageData(r,t,n)}function a(e){if(0===e.length)return 0;const t={};for(const n of e)t[n]=(t[n]||0)+1;let n=e[0];for(const e in t)t[e]>t[n]&&(n=parseInt(e,10));return n}function s(e){return e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),(e^=e>>>16)>>>0}const c=new Uint32Array([597399067,2869860233,951274213,2716044179]);function l(e,t){return e<<t|e>>>32-t}function u(e,t=0){var n;if(t=t?0|t:0,"string"==typeof e&&(n=e,e=(new TextEncoder).encode(n).buffer),!(e instanceof ArrayBuffer))throw new TypeError("Expected key to be ArrayBuffer or string");const o=new Uint32Array([t,t,t,t]);!function(e,t){const n=e.byteLength/16|0,o=new Uint32Array(e,0,4*n);for(let e=0;e<n;e++){const n=o.subarray(4*e,4*(e+1));n[0]=Math.imul(n[0],c[0]),n[0]=l(n[0],15),n[0]=Math.imul(n[0],c[1]),t[0]=t[0]^n[0],t[0]=l(t[0],19),t[0]=t[0]+t[1],t[0]=Math.imul(t[0],5)+1444728091,n[1]=Math.imul(n[1],c[1]),n[1]=l(n[1],16),n[1]=Math.imul(n[1],c[2]),t[1]=t[1]^n[1],t[1]=l(t[1],17),t[1]=t[1]+t[2],t[1]=Math.imul(t[1],5)+197830471,n[2]=Math.imul(n[2],c[2]),n[2]=l(n[2],17),n[2]=Math.imul(n[2],c[3]),t[2]=t[2]^n[2],t[2]=l(t[2],15),t[2]=t[2]+t[3],t[2]=Math.imul(t[2],5)+2530024501,n[3]=Math.imul(n[3],c[3]),n[3]=l(n[3],18),n[3]=Math.imul(n[3],c[0]),t[3]=t[3]^n[3],t[3]=l(t[3],13),t[3]=t[3]+t[0],t[3]=Math.imul(t[3],5)+850148119}}(e,o),function(e,t){const n=e.byteLength/16|0,o=e.byteLength%16,r=new Uint32Array(4),i=new Uint8Array(e,16*n,o);switch(o){case 15:r[3]=r[3]^i[14]<<16;case 14:r[3]=r[3]^i[13]<<8;case 13:r[3]=r[3]^i[12],r[3]=Math.imul(r[3],c[3]),r[3]=l(r[3],18),r[3]=Math.imul(r[3],c[0]),t[3]=t[3]^r[3];case 12:r[2]=r[2]^i[11]<<24;case 11:r[2]=r[2]^i[10]<<16;case 10:r[2]=r[2]^i[9]<<8;case 9:r[2]=r[2]^i[8],r[2]=Math.imul(r[2],c[2]),r[2]=l(r[2],17),r[2]=Math.imul(r[2],c[3]),t[2]=t[2]^r[2];case 8:r[1]=r[1]^i[7]<<24;case 7:r[1]=r[1]^i[6]<<16;case 6:r[1]=r[1]^i[5]<<8;case 5:r[1]=r[1]^i[4],r[1]=Math.imul(r[1],c[1]),r[1]=l(r[1],16),r[1]=Math.imul(r[1],c[2]),t[1]=t[1]^r[1];case 4:r[0]=r[0]^i[3]<<24;case 3:r[0]=r[0]^i[2]<<16;case 2:r[0]=r[0]^i[1]<<8;case 1:r[0]=r[0]^i[0],r[0]=Math.imul(r[0],c[0]),r[0]=l(r[0],15),r[0]=Math.imul(r[0],c[1]),t[0]=t[0]^r[0]}}(e,o),function(e,t){t[0]=t[0]^e.byteLength,t[1]=t[1]^e.byteLength,t[2]=t[2]^e.byteLength,t[3]=t[3]^e.byteLength,t[0]=t[0]+t[1]|0,t[0]=t[0]+t[2]|0,t[0]=t[0]+t[3]|0,t[1]=t[1]+t[0]|0,t[2]=t[2]+t[0]|0,t[3]=t[3]+t[0]|0,t[0]=s(t[0]),t[1]=s(t[1]),t[2]=s(t[2]),t[3]=s(t[3]),t[0]=t[0]+t[1]|0,t[0]=t[0]+t[2]|0,t[0]=t[0]+t[3]|0,t[1]=t[1]+t[0]|0,t[2]=t[2]+t[0]|0,t[3]=t[3]+t[0]|0}(e,o);const r=new Uint8Array(o.buffer);return Array.from(r).map((e=>e.toString(16).padStart(2,"0"))).join("")}const m=280;function d(e,t){return new Promise((n=>setTimeout(n,e,t)))}const h=["Arial","Arial Black","Arial Narrow","Arial Rounded MT","Arimo","Archivo","Barlow","Bebas Neue","Bitter","Bookman","Calibri","Cabin","Candara","Century","Century Gothic","Comic Sans MS","Constantia","Courier","Courier New","Crimson Text","DM Mono","DM Sans","DM Serif Display","DM Serif Text","Dosis","Droid Sans","Exo","Fira Code","Fira Sans","Franklin Gothic Medium","Garamond","Geneva","Georgia","Gill Sans","Helvetica","Impact","Inconsolata","Indie Flower","Inter","Josefin Sans","Karla","Lato","Lexend","Lucida Bright","Lucida Console","Lucida Sans Unicode","Manrope","Merriweather","Merriweather Sans","Montserrat","Myriad","Noto Sans","Nunito","Nunito Sans","Open Sans","Optima","Orbitron","Oswald","Pacifico","Palatino","Perpetua","PT Sans","PT Serif","Poppins","Prompt","Public Sans","Quicksand","Rajdhani","Recursive","Roboto","Roboto Condensed","Rockwell","Rubik","Segoe Print","Segoe Script","Segoe UI","Sora","Source Sans Pro","Space Mono","Tahoma","Taviraj","Times","Times New Roman","Titillium Web","Trebuchet MS","Ubuntu","Varela Round","Verdana","Work Sans"],p=["monospace","sans-serif","serif"];function f(e,t){if(!e)throw new Error("Canvas context not supported");return e.font=`72px ${t}`,e.measureText("WwMmLli0Oo").width}function g(){var e;const t=document.createElement("canvas"),n=null!==(e=t.getContext("webgl"))&&void 0!==e?e:t.getContext("experimental-webgl");if(n&&"getParameter"in n)try{const e=(n.getParameter(n.VENDOR)||"").toString(),t=(n.getParameter(n.RENDERER)||"").toString();let o={vendor:e,renderer:t,version:(n.getParameter(n.VERSION)||"").toString(),shadingLanguageVersion:(n.getParameter(n.SHADING_LANGUAGE_VERSION)||"").toString()};if(!t.length||!e.length){const e=n.getExtension("WEBGL_debug_renderer_info");if(e){const t=(n.getParameter(e.UNMASKED_VENDOR_WEBGL)||"").toString(),r=(n.getParameter(e.UNMASKED_RENDERER_WEBGL)||"").toString();t&&(o.vendorUnmasked=t),r&&(o.rendererUnmasked=r)}}return o}catch(e){}return"undefined"}function w(){const e=new Float32Array(1),t=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],t[3]}const v=(e,t,n,o)=>{const r=(n-t)/o;let i=0;for(let n=0;n<o;n++){i+=e(t+(n+.5)*r)}return i*r};function y(e,t){const n={};return t.forEach((t=>{const o=function(e){if(0===e.length)return null;const t={};e.forEach((e=>{const n=String(e);t[n]=(t[n]||0)+1}));let n=e[0],o=1;return Object.keys(t).forEach((e=>{t[e]>o&&(n=e,o=t[e])})),n}(e.map((e=>t in e?e[t]:void 0)).filter((e=>void 0!==e)));o&&(n[t]=o)})),n}const b=["accelerometer","accessibility","accessibility-events","ambient-light-sensor","background-fetch","background-sync","bluetooth","camera","clipboard-read","clipboard-write","device-info","display-capture","gyroscope","geolocation","local-fonts","magnetometer","microphone","midi","nfc","notifications","payment-handler","persistent-storage","push","speaker","storage-access","top-level-storage-access","window-management","query"];function S(){var e,t,n,o,r,i;if("undefined"==typeof navigator)return{name:"unknown",version:"unknown"};const a=navigator.userAgent,s=[/(?<name>SamsungBrowser)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>EdgA|EdgiOS|Edg)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>OPR|OPX)\/(?<version>\d+(?:\.\d+)+)/,/Opera[\s\/](?<version>\d+(?:\.\d+)+)/,/Opera Mini\/(?<version>\d+(?:\.\d+)+)/,/Opera Mobi\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Vivaldi)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Brave)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>CriOS)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>FxiOS)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Chrome|Chromium)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Firefox|Waterfox|Iceweasel|IceCat)\/(?<version>\d+(?:\.\d+)+)/,/Version\/(?<version1>[\d.]+).*Safari\/[\d.]+|(?<name>Safari)\/(?<version2>[\d.]+)/,/(?<name>MSIE|Trident|IEMobile).+?(?<version>\d+(?:\.\d+)+)/,/(?<name>[A-Za-z]+)\/(?<version>\d+(?:\.\d+)+)/],c={edg:"Edge",edga:"Edge",edgios:"Edge",opr:"Opera",opx:"Opera",crios:"Chrome",fxios:"Firefox",samsung:"SamsungBrowser",vivaldi:"Vivaldi",brave:"Brave"};for(const l of s){const s=a.match(l);if(s){let a=null===(e=s.groups)||void 0===e?void 0:e.name,u=(null===(t=s.groups)||void 0===t?void 0:t.version)||(null===(n=s.groups)||void 0===n?void 0:n.version1)||(null===(o=s.groups)||void 0===o?void 0:o.version2);if(a||!(null===(r=s.groups)||void 0===r?void 0:r.version1)&&!(null===(i=s.groups)||void 0===i?void 0:i.version2)||(a="Safari"),!a&&l.source.includes("Opera Mini")&&(a="Opera Mini"),!a&&l.source.includes("Opera Mobi")&&(a="Opera Mobi"),!a&&l.source.includes("Opera")&&(a="Opera"),!a&&s[1]&&(a=s[1]),!u&&s[2]&&(u=s[2]),a){return{name:c[a.toLowerCase()]||a,version:u||"unknown"}}}}return{name:"unknown",version:"unknown"}}function x(){if("undefined"==typeof navigator||!navigator.userAgent)return!1;const e=navigator.userAgent;return/Mobi|Android|iPhone|iPod|IEMobile|Opera Mini|Opera Mobi|webOS|BlackBerry|Windows Phone/i.test(e)&&!/iPad/i.test(e)}function P(){let e=[];const t={"prefers-contrast":["high","more","low","less","forced","no-preference"],"any-hover":["hover","none"],"any-pointer":["none","coarse","fine"],pointer:["none","coarse","fine"],hover:["hover","none"],update:["fast","slow"],"inverted-colors":["inverted","none"],"prefers-reduced-motion":["reduce","no-preference"],"prefers-reduced-transparency":["reduce","no-preference"],scripting:["none","initial-only","enabled"],"forced-colors":["active","none"]};return Object.keys(t).forEach((n=>{t[n].forEach((t=>{matchMedia(`(${n}: ${t})`).matches&&e.push(`${n}: ${t}`)}))})),e}function M(){if("https:"===window.location.protocol&&"function"==typeof window.ApplePaySession)try{const e=window.ApplePaySession.supportsVersion;for(let t=15;t>0;t--)if(e(t))return t}catch(e){return 0}return 0}const E="SamsungBrowser"!==S().name?1:3;let C,A=null;const T=["𝔄","𝔅","ℭ","𝔇","𝔈","𝔉","𝔸","𝔹","ℂ","𝔻","𝔼","𝔽"],k=["β","ψ","λ","ε","ζ","α","ξ","μ","ρ","φ","κ","τ","η","σ","ι","ω","γ","ν","χ","δ","θ","π","υ","ο"];function I(e,t){return`<math><mrow>${t}</mrow></math>`}function R(){let e="<mo>∏</mo>";return T.forEach(((t,n)=>{const o=2*n,r=k.slice(o,o+2);2===r.length&&(e+=`<mmultiscripts><mi>${t}</mi><none/><mi>${r[1]}</mi><mprescripts></mprescripts><mi>${r[0]}</mi><none/></mmultiscripts>`)})),I(0,`<munderover><mmultiscripts>${e}</mmultiscripts></munderover>`)}function O(){const e=[];return T.forEach(((t,n)=>{const o=2*n,r=k.slice(o,o+2);2===r.length&&e.push(I(0,`<mmultiscripts><mi>${t}</mi><none/><mi>${r[1]}</mi><mprescripts></mprescripts><mi>${r[0]}</mi><none/></mmultiscripts>`))})),e}const L={audio:async function(){return async function(){return new Promise(((e,t)=>{try{const t=44100,n=5e3,o=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,n,t),i=o.createBufferSource(),a=o.createOscillator();a.frequency.value=1e3;const s=o.createDynamicsCompressor();let c;s.threshold.value=-50,s.knee.value=40,s.ratio.value=12,s.attack.value=0,s.release.value=.2,a.connect(s),s.connect(o.destination),a.start(),o.oncomplete=t=>{c=t.renderedBuffer.getChannelData(0),e({sampleHash:r(c),maxChannels:o.destination.maxChannelCount,channelCountMode:i.channelCountMode})},o.startRendering()}catch(e){console.error("Error creating audio fingerprint:",e),t(e)}}))}()},canvas:async function(){return new Promise((e=>{const t=Array.from({length:3},(()=>function(){const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)return new ImageData(1,1);e.width=m,e.height=20;const n=t.createLinearGradient(0,0,e.width,e.height);n.addColorStop(0,"red"),n.addColorStop(1/6,"orange"),n.addColorStop(2/6,"yellow"),n.addColorStop(.5,"green"),n.addColorStop(4/6,"blue"),n.addColorStop(5/6,"indigo"),n.addColorStop(1,"violet"),t.fillStyle=n,t.fillRect(0,0,e.width,e.height);const o="Random Text WMwmil10Oo";t.font="23.123px Arial",t.fillStyle="black",t.fillText(o,-5,15),t.fillStyle="rgba(0, 0, 255, 0.5)",t.fillText(o,-3.3,17.7),t.beginPath(),t.moveTo(0,0),t.lineTo(2*e.width/7,e.height),t.strokeStyle="white",t.lineWidth=2,t.stroke();const r=t.getImageData(0,0,e.width,e.height);return r}()));e({commonPixelsHash:u(i(t,m,20).data.toString()).toString()})}))},fonts:async function(e){return new Promise(((e,t)=>{try{!async function(e){for(var t;!document.body;)await d(50);const n=document.createElement("iframe");n.setAttribute("frameBorder","0");const o=n.style;o.setProperty("position","fixed"),o.setProperty("display","block","important"),o.setProperty("visibility","visible"),o.setProperty("border","0"),o.setProperty("opacity","0"),n.src="about:blank",document.body.appendChild(n);const r=n.contentDocument||(null===(t=n.contentWindow)||void 0===t?void 0:t.document);if(!r)throw new Error("Iframe document is not accessible");e({iframe:r}),setTimeout((()=>{document.body.removeChild(n)}),0)}((async({iframe:t})=>{const n=t.createElement("canvas").getContext("2d"),o=p.map((e=>f(n,e)));let r={};h.forEach((e=>{const t=f(n,e);o.includes(t)||(r[e]=t)})),e(r)}))}catch(e){t({error:"unsupported"})}}))},hardware:function(){return new Promise(((e,t)=>{const n=void 0!==navigator.deviceMemory?navigator.deviceMemory:0,o=window.performance&&window.performance.memory?window.performance.memory:0;e({videocard:g(),architecture:w(),deviceMemory:n.toString()||"undefined",jsHeapSizeLimit:o.jsHeapSizeLimit||0})}))},locales:function(){return new Promise((e=>{e({languages:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})}))},math:function(){return new Promise((e=>{e({acos:Math.acos(.5),asin:v(Math.asin,-1,1,97),cos:v(Math.cos,0,Math.PI,97),largeCos:Math.cos(1e20),largeSin:Math.sin(1e20),largeTan:Math.tan(1e20),sin:v(Math.sin,-Math.PI,Math.PI,97),tan:v(Math.tan,0,2*Math.PI,97)})}))},permissions:async function(e){let t=(null==e?void 0:e.permissions_to_check)||b;const n=Array.from({length:3},(()=>async function(e){const t={};for(const n of e)try{const e=await navigator.permissions.query({name:n});t[n]=e.state.toString()}catch(e){}return t}(t)));return Promise.all(n).then((e=>y(e,t)))},plugins:async function(){const e=[];if(navigator.plugins)for(let t=0;t<navigator.plugins.length;t++){const n=navigator.plugins[t];e.push([n.name,n.filename,n.description].join("|"))}return new Promise((t=>{t({plugins:e})}))},screen:function(){return new Promise((e=>{const t={is_touchscreen:navigator.maxTouchPoints>0,maxTouchPoints:navigator.maxTouchPoints,colorDepth:screen.colorDepth,mediaMatches:P()};x()&&navigator.maxTouchPoints>0&&(t.resolution=function(){const e=window.screen.width,t=window.screen.height,n=Math.max(e,t).toString(),o=Math.min(e,t).toString();return`${n}x${o}`}()),e(t)}))},system:function(){return new Promise((e=>{const t=S();e({platform:window.navigator.platform,productSub:navigator.productSub,product:navigator.product,useragent:navigator.userAgent,hardwareConcurrency:navigator.hardwareConcurrency,browser:{name:t.name,version:t.version},mobile:x(),applePayVersion:M(),cookieEnabled:window.navigator.cookieEnabled})}))},webgl:async function(){"undefined"!=typeof document&&(C=document.createElement("canvas"),C.width=200,C.height=100,A=C.getContext("webgl"));try{if(!A)throw new Error("WebGL not supported");const e=Array.from({length:E},(()=>function(){try{if(!A)throw new Error("WebGL not supported");const e="\n attribute vec2 position;\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n }\n ",t="\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color\n }\n ",n=A.createShader(A.VERTEX_SHADER),o=A.createShader(A.FRAGMENT_SHADER);if(!n||!o)throw new Error("Failed to create shaders");if(A.shaderSource(n,e),A.shaderSource(o,t),A.compileShader(n),!A.getShaderParameter(n,A.COMPILE_STATUS))throw new Error("Vertex shader compilation failed: "+A.getShaderInfoLog(n));if(A.compileShader(o),!A.getShaderParameter(o,A.COMPILE_STATUS))throw new Error("Fragment shader compilation failed: "+A.getShaderInfoLog(o));const r=A.createProgram();if(!r)throw new Error("Failed to create shader program");if(A.attachShader(r,n),A.attachShader(r,o),A.linkProgram(r),!A.getProgramParameter(r,A.LINK_STATUS))throw new Error("Shader program linking failed: "+A.getProgramInfoLog(r));A.useProgram(r);const i=137,a=new Float32Array(4*i),s=2*Math.PI/i;for(let e=0;e<i;e++){const t=e*s;a[4*e]=0,a[4*e+1]=0,a[4*e+2]=Math.cos(t)*(C.width/2),a[4*e+3]=Math.sin(t)*(C.height/2)}const c=A.createBuffer();A.bindBuffer(A.ARRAY_BUFFER,c),A.bufferData(A.ARRAY_BUFFER,a,A.STATIC_DRAW);const l=A.getAttribLocation(r,"position");A.enableVertexAttribArray(l),A.vertexAttribPointer(l,2,A.FLOAT,!1,0,0),A.viewport(0,0,C.width,C.height),A.clearColor(0,0,0,1),A.clear(A.COLOR_BUFFER_BIT),A.drawArrays(A.LINES,0,2*i);const u=new Uint8ClampedArray(C.width*C.height*4);A.readPixels(0,0,C.width,C.height,A.RGBA,A.UNSIGNED_BYTE,u);return new ImageData(u,C.width,C.height)}catch(e){return new ImageData(1,1)}finally{A&&(A.bindBuffer(A.ARRAY_BUFFER,null),A.useProgram(null),A.viewport(0,0,A.drawingBufferWidth,A.drawingBufferHeight),A.clearColor(0,0,0,0))}}()));return{commonPixelsHash:u(i(e,C.width,C.height).data.toString()).toString()}}catch(e){return{webgl:"unsupported"}}}},_={webrtc:async function(){return new Promise((e=>{try{const t=window.RTCPeerConnection||window.webkitRTCPeerConnection||window.mozRTCPeerConnection;if(!t)return void e({supported:!1,error:"WebRTC not supported"});const n=new t({iceCandidatePoolSize:1,iceServers:[]});n.createDataChannel("");(async()=>{try{const t={offerToReceiveAudio:!0,offerToReceiveVideo:!0},o=await n.createOffer(t);await n.setLocalDescription(o);const r=o.sdp||"",i=[...new Set((r.match(/extmap:\d+ [^\n\r]+/g)||[]).map((e=>e.replace(/extmap:\d+ /,""))))].sort(),a=e=>{const t=r.match(new RegExp(`m=${e} [^\\s]+ [^\\s]+ ([^\\n\\r]+)`));return t?t[1].split(" "):[]},s=(e,t)=>t.map((t=>{const n=new RegExp(`(rtpmap|fmtp|rtcp-fb):${t} (.+)`,"g"),o=[...r.matchAll(n)];if(!o.length)return null;const i={};return o.forEach((t=>{const[n,o,r]=t,a=r.split("/");"rtpmap"===o?(i.mimeType=`${e}/${a[0]}`,i.clockRate=+a[1],"audio"===e&&(i.channels=+a[2]||1)):"rtcp-fb"===o?(i.feedbackSupport=i.feedbackSupport||[],i.feedbackSupport.push(r)):"fmtp"===o&&(i.sdpFmtpLine=r)})),i})).filter(Boolean),c={audio:s("audio",a("audio")),video:s("video",a("video"))},l=await new Promise((e=>{const t=setTimeout((()=>{n.removeEventListener("icecandidate",o),n.close(),e({supported:!0,codecsSdp:c,extensions:i,timeout:!0})}),3e3),o=r=>{const a=r.candidate;a&&a.candidate&&(clearTimeout(t),n.removeEventListener("icecandidate",o),n.close(),e({supported:!0,codecsSdp:c,extensions:i,candidateType:a.type||""}))};n.addEventListener("icecandidate",o)}));e({hash:u(JSON.stringify(l))})}catch(t){n.close(),e({supported:!0,error:`WebRTC offer failed: ${t.message}`})}})()}catch(t){e({supported:!1,error:`WebRTC error: ${t.message}`})}}))},mathml:async function(){return new Promise((e=>{try{if(!function(){try{const e=document.createElement("math");e.innerHTML="<mrow><mi>x</mi></mrow>",e.style.position="absolute",e.style.visibility="hidden",document.body.appendChild(e);const t=e.getBoundingClientRect();return document.body.removeChild(e),t.width>0&&t.height>0}catch(e){return!1}}())return void e({supported:!1,error:"MathML not supported"});const t=[I("integral","<msubsup><mo>∫</mo><mi>a</mi><mi>b</mi></msubsup><mfrac><mrow><mi>f</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mrow><mi>g</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mfrac><mi>dx</mi>"),I("fraction","<mfrac><mrow><mi>π</mi><mo>×</mo><msup><mi>r</mi><mn>2</mn></msup></mrow><mrow><mn>2</mn><mi>σ</mi></mrow></mfrac>"),I("matrix","<mo>[</mo><mtable><mtr><mtd><mi>α</mi></mtd><mtd><mi>β</mi></mtd></mtr><mtr><mtd><mi>γ</mi></mtd><mtd><mi>δ</mi></mtd></mtr></mtable><mo>]</mo>"),R(),...O()],n={};t.forEach(((e,t)=>{n[`struct_${t}`]=function(e){try{const t=document.createElement("math");t.innerHTML=e.replace(/<\/?math>/g,""),t.style.whiteSpace="nowrap",t.style.position="absolute",t.style.visibility="hidden",t.style.top="-9999px",document.body.appendChild(t);const n=t.getBoundingClientRect(),o=window.getComputedStyle(t),r={dimensions:{width:n.width,height:n.height},fontInfo:{fontFamily:o.fontFamily,fontSize:o.fontSize,fontWeight:o.fontWeight,fontStyle:o.fontStyle,lineHeight:o.lineHeight,fontVariant:o.fontVariant||"normal",fontStretch:o.fontStretch||"normal",fontSizeAdjust:o.fontSizeAdjust||"none",textRendering:o.textRendering||"auto",fontFeatureSettings:o.fontFeatureSettings||"normal",fontVariantNumeric:o.fontVariantNumeric||"normal",fontKerning:o.fontKerning||"auto"}};return document.body.removeChild(t),r}catch(e){return{error:e.message}}}(e)})),e({hash:u(JSON.stringify(n))})}catch(t){e({supported:!1,error:`MathML error: ${t.message}`})}}))}},D={},B={timeout:"true"},N=(e,t,n)=>{D[e]=t};function F(){return"1.3.2"}function $(e,t){var n;let r=S();if("unknown"===r.name&&e.system&&"object"==typeof e.system&&!Array.isArray(e.system)){const t=e.system.browser;if(t&&"object"==typeof t&&!Array.isArray(t)){const e=t;r={name:e.name||"unknown",version:e.version||"unknown"}}}const i=r.name.toLowerCase(),a=r.version.split(".")[0]||"0",s=parseInt(a,10),c=[...(null==t?void 0:t.exclude)||[]],l=(null==t?void 0:t.stabilize)||[],u=(null==t?void 0:t.include)||[];for(const e of l){const t=o[e];if(t)for(const e of t){const t=!("browsers"in e),o=!t&&(null===(n=e.browsers)||void 0===n?void 0:n.some((e=>{const t=e.match(/(.+?)(>=)(\d+)/);if(t){const[,e,,n]=t,o=parseInt(n,10);return i===e&&s>=o}return i===e})));(t||o)&&c.push(...e.exclude)}}return function e(t,n=""){const o={};for(const[r,i]of Object.entries(t)){const t=n?`${n}.${r}`:r;if("object"!=typeof i||Array.isArray(i)||null===i){const e=c.some((e=>t.startsWith(e))),n=u.some((e=>t.startsWith(e)));e&&!n||(o[r]=i)}else{const n=e(i,t);Object.keys(n).length>0&&(o[r]=n)}}return o}(e)}const V="thumbmark_visitor_id";let U=null,j=null;const W=(t,n)=>{if(t.cache_api_call&&j)return Promise.resolve(j);if(U)return U;const o=`${e}/thumbmark`,r=function(){try{return localStorage.getItem(V)}catch(e){return null}}(),i={components:n,options:t,clientHash:u(JSON.stringify(n)),version:"1.3.2"};r&&(i.visitorId=r);const a=fetch(o,{method:"POST",headers:{"x-api-key":t.api_key,Authorization:"custom-authorized","Content-Type":"application/json"},body:JSON.stringify(i)}).then((e=>{if(!e.ok){if(403===e.status)throw new Error("INVALID_API_KEY");throw new Error(`HTTP error! status: ${e.status}`)}return e.json()})).then((e=>(e.visitorId&&e.visitorId!==r&&function(e){try{localStorage.setItem(V,e)}catch(e){}}(e.visitorId),j=e,U=null,e))).catch((e=>{if(console.error("Error fetching pro data",e),U=null,"INVALID_API_KEY"===e.message)throw e;return null})),s=t.timeout||5e3,c=new Promise((e=>{setTimeout((()=>{e({info:{timed_out:!0},version:"1.3.2"})}),s)}));return U=Promise.race([a,c]),U};async function G(n){const o={...t,...n},r=o.logging&&!sessionStorage.getItem("_tmjs_l")&&Math.random()<1e-4,i={...L,...D},{elapsed:a,resolvedComponents:s}=await H(i,o);let c={};if(r||o.experimental){const{resolvedComponents:e}=await H(_,o);c=e}const l=o.api_key?W(o,s):null;let m=null;if(l)try{m=await l}catch(e){if(e instanceof Error&&"INVALID_API_KEY"===e.message)return{error:"Invalid API key or quota exceeded",components:{},info:{},version:"1.3.2",thumbmark:""};throw e}const d=o.performance?{elapsed:a}:{},h=$((null==m?void 0:m.components)||{},o),p={...s,...h},f=(null==m?void 0:m.info)||{uniqueness:{score:"api only"}},g=u(JSON.stringify(p));r&&async function(t,n,o,r={}){var i;const a=`${e}/log`,s={thumbmark:t,components:n,experimental:r,version:"1.3.2",options:o,path:null===(i=null===window||void 0===window?void 0:window.location)||void 0===i?void 0:i.pathname};sessionStorage.setItem("_tmjs_l","1");try{await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)})}catch(e){}}(g,p,o,c).catch((()=>{}));return{...(null==m?void 0:m.visitorId)&&{visitorId:m.visitorId},thumbmark:g,components:p,info:f,version:"1.3.2",...d,...Object.keys(c).length>0&&o.experimental&&{experimental:c}}}async function H(e,n){const o={...t,...n},r=Object.entries(e).filter((([e])=>{var t;return!(null===(t=null==o?void 0:o.exclude)||void 0===t?void 0:t.includes(e))})).filter((([e])=>{var t,n,r,i;return(null===(t=null==o?void 0:o.include)||void 0===t?void 0:t.some((e=>e.includes("."))))?null===(n=null==o?void 0:o.include)||void 0===n?void 0:n.some((t=>t.startsWith(e))):0===(null===(r=null==o?void 0:o.include)||void 0===r?void 0:r.length)||(null===(i=null==o?void 0:o.include)||void 0===i?void 0:i.includes(e))})),i=r.map((([e])=>e)),a=r.map((([e,t])=>t(n))),s=await function(e,t,n){return Promise.all(e.map((e=>{const o=performance.now();return Promise.race([e.then((e=>({value:e,elapsed:performance.now()-o}))),(r=t,i=n,new Promise((e=>{setTimeout((()=>e(i)),r)}))).then((e=>({value:e,elapsed:performance.now()-o})))]);var r,i})))}(a,(null==o?void 0:o.timeout)||5e3,B),c={},l={};s.forEach(((e,t)=>{var n;null!=e.value&&(l[i[t]]=e.value,c[i[t]]=null!==(n=e.elapsed)&&void 0!==n?n:0)}));const u=$(l,o);return{elapsed:c,resolvedComponents:u}}exports.Thumbmark=class{constructor(e){this.options={...t,...e}}async get(e){return G({...this.options,...e})}getVersion(){return"1.3.2"}includeComponent(e,t){N(e,t)}},exports.filterThumbmarkData=$,exports.getFingerprint=async function(e){try{const t=await G(n);return e?{hash:t.thumbmark.toString(),data:t.components}:t.thumbmark.toString()}catch(e){throw e}},exports.getFingerprintData=async function(){return(await G(n)).components},exports.getFingerprintPerformance=async function(){try{const{elapsed:e,resolvedComponents:t}=await H(L,n);return{...t,elapsed:e}}catch(e){throw e}},exports.getThumbmark=G,exports.getVersion=F,exports.includeComponent=N,exports.setOption=function(e,t){n[e]=t},exports.stabilizationExclusionRules=o;
|
|
1
|
+
"use strict";const e="https://api.thumbmarkjs.com",t={exclude:[],include:[],stabilize:["private","iframe"],logging:!0,timeout:5e3,cache_api_call:!0,performance:!1,experimental:!1};let n={...t};const o={private:[{exclude:["canvas"],browsers:["firefox","safari>=17","brave"]},{exclude:["audio"],browsers:["samsungbrowser","safari"]},{exclude:["fonts"],browsers:["firefox"]},{exclude:["audio.sampleHash","hardware.deviceMemory","header.acceptLanguage.q","system.hardwareConcurrency","plugins"],browsers:["brave"]},{exclude:["tls.extensions"],browsers:["firefox","chrome","safari"]},{exclude:["header.acceptLanguage"],browsers:["edge","chrome"]}],iframe:[{exclude:["permissions.camera","permission.geolocation","permissions.microphone","system.applePayVersion","system.cookieEnabled"],browsers:["safari"]},{exclude:["permissions.background-fetch","permissions.storage-access"],browsers:["chrome","brave","edge","opera"]}],vpn:[{exclude:["ip"]}]};function r(e){let t=0;for(let n=0;n<e.length;++n)t+=Math.abs(e[n]);return t}function i(e,t,n){let o=[];for(let t=0;t<e[0].data.length;t++){let n=[];for(let o=0;o<e.length;o++)n.push(e[o].data[t]);o.push(a(n))}const r=new Uint8ClampedArray(o);return new ImageData(r,t,n)}function a(e){if(0===e.length)return 0;const t={};for(const n of e)t[n]=(t[n]||0)+1;let n=e[0];for(const e in t)t[e]>t[n]&&(n=parseInt(e,10));return n}function s(e){return e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),(e^=e>>>16)>>>0}const c=new Uint32Array([597399067,2869860233,951274213,2716044179]);function l(e,t){return e<<t|e>>>32-t}function u(e,t=0){var n;if(t=t?0|t:0,"string"==typeof e&&(n=e,e=(new TextEncoder).encode(n).buffer),!(e instanceof ArrayBuffer))throw new TypeError("Expected key to be ArrayBuffer or string");const o=new Uint32Array([t,t,t,t]);!function(e,t){const n=e.byteLength/16|0,o=new Uint32Array(e,0,4*n);for(let e=0;e<n;e++){const n=o.subarray(4*e,4*(e+1));n[0]=Math.imul(n[0],c[0]),n[0]=l(n[0],15),n[0]=Math.imul(n[0],c[1]),t[0]=t[0]^n[0],t[0]=l(t[0],19),t[0]=t[0]+t[1],t[0]=Math.imul(t[0],5)+1444728091,n[1]=Math.imul(n[1],c[1]),n[1]=l(n[1],16),n[1]=Math.imul(n[1],c[2]),t[1]=t[1]^n[1],t[1]=l(t[1],17),t[1]=t[1]+t[2],t[1]=Math.imul(t[1],5)+197830471,n[2]=Math.imul(n[2],c[2]),n[2]=l(n[2],17),n[2]=Math.imul(n[2],c[3]),t[2]=t[2]^n[2],t[2]=l(t[2],15),t[2]=t[2]+t[3],t[2]=Math.imul(t[2],5)+2530024501,n[3]=Math.imul(n[3],c[3]),n[3]=l(n[3],18),n[3]=Math.imul(n[3],c[0]),t[3]=t[3]^n[3],t[3]=l(t[3],13),t[3]=t[3]+t[0],t[3]=Math.imul(t[3],5)+850148119}}(e,o),function(e,t){const n=e.byteLength/16|0,o=e.byteLength%16,r=new Uint32Array(4),i=new Uint8Array(e,16*n,o);switch(o){case 15:r[3]=r[3]^i[14]<<16;case 14:r[3]=r[3]^i[13]<<8;case 13:r[3]=r[3]^i[12],r[3]=Math.imul(r[3],c[3]),r[3]=l(r[3],18),r[3]=Math.imul(r[3],c[0]),t[3]=t[3]^r[3];case 12:r[2]=r[2]^i[11]<<24;case 11:r[2]=r[2]^i[10]<<16;case 10:r[2]=r[2]^i[9]<<8;case 9:r[2]=r[2]^i[8],r[2]=Math.imul(r[2],c[2]),r[2]=l(r[2],17),r[2]=Math.imul(r[2],c[3]),t[2]=t[2]^r[2];case 8:r[1]=r[1]^i[7]<<24;case 7:r[1]=r[1]^i[6]<<16;case 6:r[1]=r[1]^i[5]<<8;case 5:r[1]=r[1]^i[4],r[1]=Math.imul(r[1],c[1]),r[1]=l(r[1],16),r[1]=Math.imul(r[1],c[2]),t[1]=t[1]^r[1];case 4:r[0]=r[0]^i[3]<<24;case 3:r[0]=r[0]^i[2]<<16;case 2:r[0]=r[0]^i[1]<<8;case 1:r[0]=r[0]^i[0],r[0]=Math.imul(r[0],c[0]),r[0]=l(r[0],15),r[0]=Math.imul(r[0],c[1]),t[0]=t[0]^r[0]}}(e,o),function(e,t){t[0]=t[0]^e.byteLength,t[1]=t[1]^e.byteLength,t[2]=t[2]^e.byteLength,t[3]=t[3]^e.byteLength,t[0]=t[0]+t[1]|0,t[0]=t[0]+t[2]|0,t[0]=t[0]+t[3]|0,t[1]=t[1]+t[0]|0,t[2]=t[2]+t[0]|0,t[3]=t[3]+t[0]|0,t[0]=s(t[0]),t[1]=s(t[1]),t[2]=s(t[2]),t[3]=s(t[3]),t[0]=t[0]+t[1]|0,t[0]=t[0]+t[2]|0,t[0]=t[0]+t[3]|0,t[1]=t[1]+t[0]|0,t[2]=t[2]+t[0]|0,t[3]=t[3]+t[0]|0}(e,o);const r=new Uint8Array(o.buffer);return Array.from(r).map((e=>e.toString(16).padStart(2,"0"))).join("")}const m=280;function d(e,t){return new Promise((n=>setTimeout(n,e,t)))}const h=["Arial","Arial Black","Arial Narrow","Arial Rounded MT","Arimo","Archivo","Barlow","Bebas Neue","Bitter","Bookman","Calibri","Cabin","Candara","Century","Century Gothic","Comic Sans MS","Constantia","Courier","Courier New","Crimson Text","DM Mono","DM Sans","DM Serif Display","DM Serif Text","Dosis","Droid Sans","Exo","Fira Code","Fira Sans","Franklin Gothic Medium","Garamond","Geneva","Georgia","Gill Sans","Helvetica","Impact","Inconsolata","Indie Flower","Inter","Josefin Sans","Karla","Lato","Lexend","Lucida Bright","Lucida Console","Lucida Sans Unicode","Manrope","Merriweather","Merriweather Sans","Montserrat","Myriad","Noto Sans","Nunito","Nunito Sans","Open Sans","Optima","Orbitron","Oswald","Pacifico","Palatino","Perpetua","PT Sans","PT Serif","Poppins","Prompt","Public Sans","Quicksand","Rajdhani","Recursive","Roboto","Roboto Condensed","Rockwell","Rubik","Segoe Print","Segoe Script","Segoe UI","Sora","Source Sans Pro","Space Mono","Tahoma","Taviraj","Times","Times New Roman","Titillium Web","Trebuchet MS","Ubuntu","Varela Round","Verdana","Work Sans"],p=["monospace","sans-serif","serif"];function f(e,t){if(!e)throw new Error("Canvas context not supported");return e.font=`72px ${t}`,e.measureText("WwMmLli0Oo").width}function g(){var e;const t=document.createElement("canvas"),n=null!==(e=t.getContext("webgl"))&&void 0!==e?e:t.getContext("experimental-webgl");if(n&&"getParameter"in n)try{const e=(n.getParameter(n.VENDOR)||"").toString(),t=(n.getParameter(n.RENDERER)||"").toString();let o={vendor:e,renderer:t,version:(n.getParameter(n.VERSION)||"").toString(),shadingLanguageVersion:(n.getParameter(n.SHADING_LANGUAGE_VERSION)||"").toString()};if(!t.length||!e.length){const e=n.getExtension("WEBGL_debug_renderer_info");if(e){const t=(n.getParameter(e.UNMASKED_VENDOR_WEBGL)||"").toString(),r=(n.getParameter(e.UNMASKED_RENDERER_WEBGL)||"").toString();t&&(o.vendorUnmasked=t),r&&(o.rendererUnmasked=r)}}return o}catch(e){}return"undefined"}function w(){const e=new Float32Array(1),t=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],t[3]}const v=(e,t,n,o)=>{const r=(n-t)/o;let i=0;for(let n=0;n<o;n++){i+=e(t+(n+.5)*r)}return i*r};function y(e,t){const n={};return t.forEach((t=>{const o=function(e){if(0===e.length)return null;const t={};e.forEach((e=>{const n=String(e);t[n]=(t[n]||0)+1}));let n=e[0],o=1;return Object.keys(t).forEach((e=>{t[e]>o&&(n=e,o=t[e])})),n}(e.map((e=>t in e?e[t]:void 0)).filter((e=>void 0!==e)));o&&(n[t]=o)})),n}const b=["accelerometer","accessibility","accessibility-events","ambient-light-sensor","background-fetch","background-sync","bluetooth","camera","clipboard-read","clipboard-write","device-info","display-capture","gyroscope","geolocation","local-fonts","magnetometer","microphone","midi","nfc","notifications","payment-handler","persistent-storage","push","speaker","storage-access","top-level-storage-access","window-management","query"];function S(){var e,t,n,o,r,i;if("undefined"==typeof navigator)return{name:"unknown",version:"unknown"};const a=navigator.userAgent,s=[/(?<name>SamsungBrowser)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>EdgA|EdgiOS|Edg)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>OPR|OPX)\/(?<version>\d+(?:\.\d+)+)/,/Opera[\s\/](?<version>\d+(?:\.\d+)+)/,/Opera Mini\/(?<version>\d+(?:\.\d+)+)/,/Opera Mobi\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Vivaldi)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Brave)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>CriOS)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>FxiOS)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Chrome|Chromium)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Firefox|Waterfox|Iceweasel|IceCat)\/(?<version>\d+(?:\.\d+)+)/,/Version\/(?<version1>[\d.]+).*Safari\/[\d.]+|(?<name>Safari)\/(?<version2>[\d.]+)/,/(?<name>MSIE|Trident|IEMobile).+?(?<version>\d+(?:\.\d+)+)/,/(?<name>[A-Za-z]+)\/(?<version>\d+(?:\.\d+)+)/],c={edg:"Edge",edga:"Edge",edgios:"Edge",opr:"Opera",opx:"Opera",crios:"Chrome",fxios:"Firefox",samsung:"SamsungBrowser",vivaldi:"Vivaldi",brave:"Brave"};for(const l of s){const s=a.match(l);if(s){let a=null===(e=s.groups)||void 0===e?void 0:e.name,u=(null===(t=s.groups)||void 0===t?void 0:t.version)||(null===(n=s.groups)||void 0===n?void 0:n.version1)||(null===(o=s.groups)||void 0===o?void 0:o.version2);if(a||!(null===(r=s.groups)||void 0===r?void 0:r.version1)&&!(null===(i=s.groups)||void 0===i?void 0:i.version2)||(a="Safari"),!a&&l.source.includes("Opera Mini")&&(a="Opera Mini"),!a&&l.source.includes("Opera Mobi")&&(a="Opera Mobi"),!a&&l.source.includes("Opera")&&(a="Opera"),!a&&s[1]&&(a=s[1]),!u&&s[2]&&(u=s[2]),a){return{name:c[a.toLowerCase()]||a,version:u||"unknown"}}}}return{name:"unknown",version:"unknown"}}function x(){if("undefined"==typeof navigator||!navigator.userAgent)return!1;const e=navigator.userAgent;return/Mobi|Android|iPhone|iPod|IEMobile|Opera Mini|Opera Mobi|webOS|BlackBerry|Windows Phone/i.test(e)&&!/iPad/i.test(e)}function P(){let e=[];const t={"prefers-contrast":["high","more","low","less","forced","no-preference"],"any-hover":["hover","none"],"any-pointer":["none","coarse","fine"],pointer:["none","coarse","fine"],hover:["hover","none"],update:["fast","slow"],"inverted-colors":["inverted","none"],"prefers-reduced-motion":["reduce","no-preference"],"prefers-reduced-transparency":["reduce","no-preference"],scripting:["none","initial-only","enabled"],"forced-colors":["active","none"]};return Object.keys(t).forEach((n=>{t[n].forEach((t=>{matchMedia(`(${n}: ${t})`).matches&&e.push(`${n}: ${t}`)}))})),e}function M(){if("https:"===window.location.protocol&&"function"==typeof window.ApplePaySession)try{const e=window.ApplePaySession.supportsVersion;for(let t=15;t>0;t--)if(e(t))return t}catch(e){return 0}return 0}const E="SamsungBrowser"!==S().name?1:3;let C,A=null;const T=["𝔄","𝔅","ℭ","𝔇","𝔈","𝔉","𝔸","𝔹","ℂ","𝔻","𝔼","𝔽"],k=["β","ψ","λ","ε","ζ","α","ξ","μ","ρ","φ","κ","τ","η","σ","ι","ω","γ","ν","χ","δ","θ","π","υ","ο"];function I(e,t){return`<math><mrow>${t}</mrow></math>`}function R(){let e="<mo>∏</mo>";return T.forEach(((t,n)=>{const o=2*n,r=k.slice(o,o+2);2===r.length&&(e+=`<mmultiscripts><mi>${t}</mi><none/><mi>${r[1]}</mi><mprescripts></mprescripts><mi>${r[0]}</mi><none/></mmultiscripts>`)})),I(0,`<munderover><mmultiscripts>${e}</mmultiscripts></munderover>`)}function O(){const e=[];return T.forEach(((t,n)=>{const o=2*n,r=k.slice(o,o+2);2===r.length&&e.push(I(0,`<mmultiscripts><mi>${t}</mi><none/><mi>${r[1]}</mi><mprescripts></mprescripts><mi>${r[0]}</mi><none/></mmultiscripts>`))})),e}const L={audio:async function(){return async function(){return new Promise(((e,t)=>{try{const t=44100,n=5e3,o=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,n,t),i=o.createBufferSource(),a=o.createOscillator();a.frequency.value=1e3;const s=o.createDynamicsCompressor();let c;s.threshold.value=-50,s.knee.value=40,s.ratio.value=12,s.attack.value=0,s.release.value=.2,a.connect(s),s.connect(o.destination),a.start(),o.oncomplete=t=>{c=t.renderedBuffer.getChannelData(0),e({sampleHash:r(c),maxChannels:o.destination.maxChannelCount,channelCountMode:i.channelCountMode})},o.startRendering()}catch(e){console.error("Error creating audio fingerprint:",e),t(e)}}))}()},canvas:async function(){return new Promise((e=>{const t=Array.from({length:3},(()=>function(){const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)return new ImageData(1,1);e.width=m,e.height=20;const n=t.createLinearGradient(0,0,e.width,e.height);n.addColorStop(0,"red"),n.addColorStop(1/6,"orange"),n.addColorStop(2/6,"yellow"),n.addColorStop(.5,"green"),n.addColorStop(4/6,"blue"),n.addColorStop(5/6,"indigo"),n.addColorStop(1,"violet"),t.fillStyle=n,t.fillRect(0,0,e.width,e.height);const o="Random Text WMwmil10Oo";t.font="23.123px Arial",t.fillStyle="black",t.fillText(o,-5,15),t.fillStyle="rgba(0, 0, 255, 0.5)",t.fillText(o,-3.3,17.7),t.beginPath(),t.moveTo(0,0),t.lineTo(2*e.width/7,e.height),t.strokeStyle="white",t.lineWidth=2,t.stroke();const r=t.getImageData(0,0,e.width,e.height);return r}()));e({commonPixelsHash:u(i(t,m,20).data.toString()).toString()})}))},fonts:async function(e){return new Promise(((e,t)=>{try{!async function(e){for(var t;!document.body;)await d(50);const n=document.createElement("iframe");n.setAttribute("frameBorder","0");const o=n.style;o.setProperty("position","fixed"),o.setProperty("display","block","important"),o.setProperty("visibility","visible"),o.setProperty("border","0"),o.setProperty("opacity","0"),n.src="about:blank",document.body.appendChild(n);const r=n.contentDocument||(null===(t=n.contentWindow)||void 0===t?void 0:t.document);if(!r)throw new Error("Iframe document is not accessible");e({iframe:r}),setTimeout((()=>{document.body.removeChild(n)}),0)}((async({iframe:t})=>{const n=t.createElement("canvas").getContext("2d"),o=p.map((e=>f(n,e)));let r={};h.forEach((e=>{const t=f(n,e);o.includes(t)||(r[e]=t)})),e(r)}))}catch(e){t({error:"unsupported"})}}))},hardware:function(){return new Promise(((e,t)=>{const n=void 0!==navigator.deviceMemory?navigator.deviceMemory:0,o=window.performance&&window.performance.memory?window.performance.memory:0;e({videocard:g(),architecture:w(),deviceMemory:n.toString()||"undefined",jsHeapSizeLimit:o.jsHeapSizeLimit||0})}))},locales:function(){return new Promise((e=>{e({languages:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})}))},math:function(){return new Promise((e=>{e({acos:Math.acos(.5),asin:v(Math.asin,-1,1,97),cos:v(Math.cos,0,Math.PI,97),largeCos:Math.cos(1e20),largeSin:Math.sin(1e20),largeTan:Math.tan(1e20),sin:v(Math.sin,-Math.PI,Math.PI,97),tan:v(Math.tan,0,2*Math.PI,97)})}))},permissions:async function(e){let t=(null==e?void 0:e.permissions_to_check)||b;const n=Array.from({length:3},(()=>async function(e){const t={};for(const n of e)try{const e=await navigator.permissions.query({name:n});t[n]=e.state.toString()}catch(e){}return t}(t)));return Promise.all(n).then((e=>y(e,t)))},plugins:async function(){const e=[];if(navigator.plugins)for(let t=0;t<navigator.plugins.length;t++){const n=navigator.plugins[t];e.push([n.name,n.filename,n.description].join("|"))}return new Promise((t=>{t({plugins:e})}))},screen:function(){return new Promise((e=>{const t={is_touchscreen:navigator.maxTouchPoints>0,maxTouchPoints:navigator.maxTouchPoints,colorDepth:screen.colorDepth,mediaMatches:P()};x()&&navigator.maxTouchPoints>0&&(t.resolution=function(){const e=window.screen.width,t=window.screen.height,n=Math.max(e,t).toString(),o=Math.min(e,t).toString();return`${n}x${o}`}()),e(t)}))},system:function(){return new Promise((e=>{const t=S();e({platform:window.navigator.platform,productSub:navigator.productSub,product:navigator.product,useragent:navigator.userAgent,hardwareConcurrency:navigator.hardwareConcurrency,browser:{name:t.name,version:t.version},mobile:x(),applePayVersion:M(),cookieEnabled:window.navigator.cookieEnabled})}))},webgl:async function(){"undefined"!=typeof document&&(C=document.createElement("canvas"),C.width=200,C.height=100,A=C.getContext("webgl"));try{if(!A)throw new Error("WebGL not supported");const e=Array.from({length:E},(()=>function(){try{if(!A)throw new Error("WebGL not supported");const e="\n attribute vec2 position;\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n }\n ",t="\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color\n }\n ",n=A.createShader(A.VERTEX_SHADER),o=A.createShader(A.FRAGMENT_SHADER);if(!n||!o)throw new Error("Failed to create shaders");if(A.shaderSource(n,e),A.shaderSource(o,t),A.compileShader(n),!A.getShaderParameter(n,A.COMPILE_STATUS))throw new Error("Vertex shader compilation failed: "+A.getShaderInfoLog(n));if(A.compileShader(o),!A.getShaderParameter(o,A.COMPILE_STATUS))throw new Error("Fragment shader compilation failed: "+A.getShaderInfoLog(o));const r=A.createProgram();if(!r)throw new Error("Failed to create shader program");if(A.attachShader(r,n),A.attachShader(r,o),A.linkProgram(r),!A.getProgramParameter(r,A.LINK_STATUS))throw new Error("Shader program linking failed: "+A.getProgramInfoLog(r));A.useProgram(r);const i=137,a=new Float32Array(4*i),s=2*Math.PI/i;for(let e=0;e<i;e++){const t=e*s;a[4*e]=0,a[4*e+1]=0,a[4*e+2]=Math.cos(t)*(C.width/2),a[4*e+3]=Math.sin(t)*(C.height/2)}const c=A.createBuffer();A.bindBuffer(A.ARRAY_BUFFER,c),A.bufferData(A.ARRAY_BUFFER,a,A.STATIC_DRAW);const l=A.getAttribLocation(r,"position");A.enableVertexAttribArray(l),A.vertexAttribPointer(l,2,A.FLOAT,!1,0,0),A.viewport(0,0,C.width,C.height),A.clearColor(0,0,0,1),A.clear(A.COLOR_BUFFER_BIT),A.drawArrays(A.LINES,0,2*i);const u=new Uint8ClampedArray(C.width*C.height*4);A.readPixels(0,0,C.width,C.height,A.RGBA,A.UNSIGNED_BYTE,u);return new ImageData(u,C.width,C.height)}catch(e){return new ImageData(1,1)}finally{A&&(A.bindBuffer(A.ARRAY_BUFFER,null),A.useProgram(null),A.viewport(0,0,A.drawingBufferWidth,A.drawingBufferHeight),A.clearColor(0,0,0,0))}}()));return{commonPixelsHash:u(i(e,C.width,C.height).data.toString()).toString()}}catch(e){return{webgl:"unsupported"}}}},_={webrtc:async function(){return new Promise((e=>{try{const t=window.RTCPeerConnection||window.webkitRTCPeerConnection||window.mozRTCPeerConnection;if(!t)return void e({supported:!1,error:"WebRTC not supported"});const n=new t({iceCandidatePoolSize:1,iceServers:[]});n.createDataChannel("");(async()=>{try{const t={offerToReceiveAudio:!0,offerToReceiveVideo:!0},o=await n.createOffer(t);await n.setLocalDescription(o);const r=o.sdp||"",i=[...new Set((r.match(/extmap:\d+ [^\n\r]+/g)||[]).map((e=>e.replace(/extmap:\d+ /,""))))].sort(),a=e=>{const t=r.match(new RegExp(`m=${e} [^\\s]+ [^\\s]+ ([^\\n\\r]+)`));return t?t[1].split(" "):[]},s=(e,t)=>t.map((t=>{const n=new RegExp(`(rtpmap|fmtp|rtcp-fb):${t} (.+)`,"g"),o=[...r.matchAll(n)];if(!o.length)return null;const i={};return o.forEach((t=>{const[n,o,r]=t,a=r.split("/");"rtpmap"===o?(i.mimeType=`${e}/${a[0]}`,i.clockRate=+a[1],"audio"===e&&(i.channels=+a[2]||1)):"rtcp-fb"===o?(i.feedbackSupport=i.feedbackSupport||[],i.feedbackSupport.push(r)):"fmtp"===o&&(i.sdpFmtpLine=r)})),i})).filter(Boolean),c={audio:s("audio",a("audio")),video:s("video",a("video"))},l=await new Promise((e=>{const t=setTimeout((()=>{n.removeEventListener("icecandidate",o),n.close(),e({supported:!0,codecsSdp:c,extensions:i,timeout:!0})}),3e3),o=r=>{const a=r.candidate;a&&a.candidate&&(clearTimeout(t),n.removeEventListener("icecandidate",o),n.close(),e({supported:!0,codecsSdp:c,extensions:i,candidateType:a.type||""}))};n.addEventListener("icecandidate",o)}));e({hash:u(JSON.stringify(l))})}catch(t){n.close(),e({supported:!0,error:`WebRTC offer failed: ${t.message}`})}})()}catch(t){e({supported:!1,error:`WebRTC error: ${t.message}`})}}))},mathml:async function(){return new Promise((e=>{try{if(!function(){try{const e=document.createElement("math");e.innerHTML="<mrow><mi>x</mi></mrow>",e.style.position="absolute",e.style.visibility="hidden",document.body.appendChild(e);const t=e.getBoundingClientRect();return document.body.removeChild(e),t.width>0&&t.height>0}catch(e){return!1}}())return void e({supported:!1,error:"MathML not supported"});const t=[I("integral","<msubsup><mo>∫</mo><mi>a</mi><mi>b</mi></msubsup><mfrac><mrow><mi>f</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mrow><mi>g</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mfrac><mi>dx</mi>"),I("fraction","<mfrac><mrow><mi>π</mi><mo>×</mo><msup><mi>r</mi><mn>2</mn></msup></mrow><mrow><mn>2</mn><mi>σ</mi></mrow></mfrac>"),I("matrix","<mo>[</mo><mtable><mtr><mtd><mi>α</mi></mtd><mtd><mi>β</mi></mtd></mtr><mtr><mtd><mi>γ</mi></mtd><mtd><mi>δ</mi></mtd></mtr></mtable><mo>]</mo>"),R(),...O()],n={};t.forEach(((e,t)=>{n[`struct_${t}`]=function(e){try{const t=document.createElement("math");t.innerHTML=e.replace(/<\/?math>/g,""),t.style.whiteSpace="nowrap",t.style.position="absolute",t.style.visibility="hidden",t.style.top="-9999px",document.body.appendChild(t);const n=t.getBoundingClientRect(),o=window.getComputedStyle(t),r={dimensions:{width:n.width,height:n.height},fontInfo:{fontFamily:o.fontFamily,fontSize:o.fontSize,fontWeight:o.fontWeight,fontStyle:o.fontStyle,lineHeight:o.lineHeight,fontVariant:o.fontVariant||"normal",fontStretch:o.fontStretch||"normal",fontSizeAdjust:o.fontSizeAdjust||"none",textRendering:o.textRendering||"auto",fontFeatureSettings:o.fontFeatureSettings||"normal",fontVariantNumeric:o.fontVariantNumeric||"normal",fontKerning:o.fontKerning||"auto"}};return document.body.removeChild(t),r}catch(e){return{error:e.message}}}(e)})),e({hash:u(JSON.stringify(n))})}catch(t){e({supported:!1,error:`MathML error: ${t.message}`})}}))}},D={},B={timeout:"true"},N=(e,t,n)=>{D[e]=t};function F(){return"1.3.3"}function $(e,t){var n;let r=S();if("unknown"===r.name&&e.system&&"object"==typeof e.system&&!Array.isArray(e.system)){const t=e.system.browser;if(t&&"object"==typeof t&&!Array.isArray(t)){const e=t;r={name:e.name||"unknown",version:e.version||"unknown"}}}const i=r.name.toLowerCase(),a=r.version.split(".")[0]||"0",s=parseInt(a,10),c=[...(null==t?void 0:t.exclude)||[]],l=(null==t?void 0:t.stabilize)||[],u=(null==t?void 0:t.include)||[];for(const e of l){const t=o[e];if(t)for(const e of t){const t=!("browsers"in e),o=!t&&(null===(n=e.browsers)||void 0===n?void 0:n.some((e=>{const t=e.match(/(.+?)(>=)(\d+)/);if(t){const[,e,,n]=t,o=parseInt(n,10);return i===e&&s>=o}return i===e})));(t||o)&&c.push(...e.exclude)}}return function e(t,n=""){const o={};for(const[r,i]of Object.entries(t)){const t=n?`${n}.${r}`:r;if("object"!=typeof i||Array.isArray(i)||null===i){const e=c.some((e=>t.startsWith(e))),n=u.some((e=>t.startsWith(e)));e&&!n||(o[r]=i)}else{const n=e(i,t);Object.keys(n).length>0&&(o[r]=n)}}return o}(e)}const V="thumbmark_visitor_id";let U=null,j=null;const W=(t,n)=>{if(t.cache_api_call&&j)return Promise.resolve(j);if(U)return U;const o=`${e}/thumbmark`,r=function(){try{return localStorage.getItem(V)}catch(e){return null}}(),i={components:n,options:t,clientHash:u(JSON.stringify(n)),version:"1.3.3"};r&&(i.visitorId=r);const a=fetch(o,{method:"POST",headers:{"x-api-key":t.api_key,Authorization:"custom-authorized","Content-Type":"application/json"},body:JSON.stringify(i)}).then((e=>{if(!e.ok){if(403===e.status)throw new Error("INVALID_API_KEY");throw new Error(`HTTP error! status: ${e.status}`)}return e.json()})).then((e=>(e.visitorId&&e.visitorId!==r&&function(e){try{localStorage.setItem(V,e)}catch(e){}}(e.visitorId),j=e,U=null,e))).catch((e=>{if(console.error("Error fetching pro data",e),U=null,"INVALID_API_KEY"===e.message)throw e;return null})),s=t.timeout||5e3,c=new Promise((e=>{setTimeout((()=>{e({info:{timed_out:!0},version:"1.3.3"})}),s)}));return U=Promise.race([a,c]),U};async function G(n){const o={...t,...n},r=o.logging&&!sessionStorage.getItem("_tmjs_l")&&Math.random()<1e-4,i={...L,...D},{elapsed:a,resolvedComponents:s}=await H(i,o);let c={};if(r||o.experimental){const{resolvedComponents:e}=await H(_,o);c=e}const l=o.api_key?W(o,s):null;let m=null;if(l)try{m=await l}catch(e){if(e instanceof Error&&"INVALID_API_KEY"===e.message)return{error:"Invalid API key or quota exceeded",components:{},info:{},version:"1.3.3",thumbmark:""};throw e}const d=o.performance?{elapsed:a}:{},h=$((null==m?void 0:m.components)||{},o),p={...s,...h},f=(null==m?void 0:m.info)||{uniqueness:{score:"api only"}},g=u(JSON.stringify(p));r&&async function(t,n,o,r={}){var i;const a=`${e}/log`,s={thumbmark:t,components:n,experimental:r,version:"1.3.3",options:o,path:null===(i=null===window||void 0===window?void 0:window.location)||void 0===i?void 0:i.pathname};sessionStorage.setItem("_tmjs_l","1");try{await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)})}catch(e){}}(g,p,o,c).catch((()=>{}));return{...(null==m?void 0:m.visitorId)&&{visitorId:m.visitorId},thumbmark:g,components:p,info:f,version:"1.3.3",...d,...Object.keys(c).length>0&&o.experimental&&{experimental:c}}}async function H(e,n){const o={...t,...n},r=Object.entries(e).filter((([e])=>{var t;return!(null===(t=null==o?void 0:o.exclude)||void 0===t?void 0:t.includes(e))})).filter((([e])=>{var t,n,r,i;return(null===(t=null==o?void 0:o.include)||void 0===t?void 0:t.some((e=>e.includes("."))))?null===(n=null==o?void 0:o.include)||void 0===n?void 0:n.some((t=>t.startsWith(e))):0===(null===(r=null==o?void 0:o.include)||void 0===r?void 0:r.length)||(null===(i=null==o?void 0:o.include)||void 0===i?void 0:i.includes(e))})),i=r.map((([e])=>e)),a=r.map((([e,t])=>t(n))),s=await function(e,t,n){return Promise.all(e.map((e=>{const o=performance.now();return Promise.race([e.then((e=>({value:e,elapsed:performance.now()-o}))),(r=t,i=n,new Promise((e=>{setTimeout((()=>e(i)),r)}))).then((e=>({value:e,elapsed:performance.now()-o})))]);var r,i})))}(a,(null==o?void 0:o.timeout)||5e3,B),c={},l={};s.forEach(((e,t)=>{var n;null!=e.value&&(l[i[t]]=e.value,c[i[t]]=null!==(n=e.elapsed)&&void 0!==n?n:0)}));const u=$(l,o);return{elapsed:c,resolvedComponents:u}}exports.Thumbmark=class{constructor(e){this.options={...t,...e}}async get(e){return G({...this.options,...e})}getVersion(){return"1.3.3"}includeComponent(e,t){N(e,t)}},exports.filterThumbmarkData=$,exports.getFingerprint=async function(e){try{const t=await G(n);return e?{hash:t.thumbmark.toString(),data:t.components}:t.thumbmark.toString()}catch(e){throw e}},exports.getFingerprintData=async function(){return(await G(n)).components},exports.getFingerprintPerformance=async function(){try{const{elapsed:e,resolvedComponents:t}=await H(L,n);return{...t,elapsed:e}}catch(e){throw e}},exports.getThumbmark=G,exports.getVersion=F,exports.includeComponent=N,exports.setOption=function(e,t){n[e]=t},exports.stabilizationExclusionRules=o;
|
|
2
2
|
//# sourceMappingURL=thumbmark.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thumbmark.cjs.js","sources":["../src/options.ts","../src/components/audio/index.ts","../src/utils/commonPixels.ts","../src/utils/hash.ts","../src/components/canvas/index.ts","../src/utils/ephemeralIFrame.ts","../src/components/fonts/index.ts","../src/components/hardware/index.ts","../src/components/math/index.ts","../src/utils/getMostFrequent.ts","../src/components/permissions/index.ts","../src/components/system/browser.ts","../src/components/screen/index.ts","../src/components/system/index.ts","../src/components/webgl/index.ts","../src/components/mathml/index.ts","../src/factory.ts","../src/components/locales/index.ts","../src/components/plugins/index.ts","../src/components/webrtc/index.ts","../src/utils/version.ts","../src/functions/filterComponents.ts","../src/utils/visitorId.ts","../src/functions/api.ts","../src/functions/index.ts","../src/utils/log.ts","../src/utils/raceAll.ts","../src/thumbmark.ts","../src/functions/legacy_functions.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["API_ENDPOINT","defaultOptions","exclude","include","stabilize","logging","timeout","cache_api_call","performance","experimental","options","stabilizationExclusionRules","private","browsers","iframe","vpn","calculateHash","samples","hash","i","length","Math","abs","getCommonPixels","images","width","height","finalData","data","indice","u","push","getMostFrequent","pixelArray","Uint8ClampedArray","ImageData","arr","frequencyMap","num","mostFrequent","parseInt","fmix","input","imul","C","Uint32Array","rotl","m","n","key","seed","text","TextEncoder","encode","buffer","ArrayBuffer","TypeError","blocks","byteLength","view32","k","subarray","body","reminder","tail","Uint8Array","finalize","byteArray","Array","from","map","byte","toString","padStart","join","_WIDTH","wait","durationMs","resolveWith","Promise","resolve","setTimeout","availableFonts","baseFonts","measureSingleFont","ctx","font","Error","measureText","getVideoCard","canvas","document","createElement","gl","_a","getContext","undefined","vendor","getParameter","VENDOR","renderer","RENDERER","result","version","VERSION","shadingLanguageVersion","SHADING_LANGUAGE_VERSION","debugInfo","getExtension","vendorUnmasked","UNMASKED_VENDOR_WEBGL","rendererUnmasked","UNMASKED_RENDERER_WEBGL","error","getArchitecture","f","Float32Array","u8","Infinity","integrate","a","b","h","sum","mostFrequentValuesInArrayOfDictionaries","keys","forEach","mostFrequentValueForKey","element","String","highestFrequency","Object","mostFrequentValue","obj","filter","val","defaultPermissionKeys","getBrowser","navigator","name","ua","userAgent","regexes","browserNameMap","edg","edga","edgios","opr","opx","crios","fxios","samsung","vivaldi","brave","regex","match","groups","_b","_c","version1","_d","version2","_e","_f","source","includes","toLowerCase","isMobileUserAgent","test","matchMedias","results","mediaQueries","pointer","hover","update","scripting","value","matchMedia","matches","getApplePayVersion","window","location","protocol","ApplePaySession","versionCheck","supportsVersion","_RUNS","BLACKBOARD_BOLD","GREEK_SYMBOLS","createMathML","content","createComplexNestedStructure","nestedContent","bbSymbol","bbIndex","startIdx","greekSet","slice","createSymbolStructures","structures","tm_component_promises","audio","async","reject","sampleRate","numSamples","audioContext","OfflineAudioContext","webkitOfflineAudioContext","audioBuffer","createBufferSource","oscillator","createOscillator","frequency","compressor","createDynamicsCompressor","threshold","knee","ratio","attack","release","connect","destination","start","oncomplete","event","renderedBuffer","getChannelData","sampleHash","maxChannels","maxChannelCount","channelCountMode","startRendering","console","createAudioFingerprint","imageDatas","gradient","createLinearGradient","addColorStop","fillStyle","fillRect","randomText","fillText","beginPath","moveTo","lineTo","strokeStyle","lineWidth","stroke","imageData","getImageData","generateCanvasImageData","commonPixelsHash","fonts","callback","setAttribute","style","setProperty","src","appendChild","iframeDocument","contentDocument","contentWindow","removeChild","ephemeralIFrame","defaultWidths","fontWidth","hardware","deviceMemory","memoryInfo","memory","videocard","architecture","jsHeapSizeLimit","locales","languages","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","math","acos","asin","cos","PI","largeCos","largeSin","sin","largeTan","tan","permissions","permission_keys","permissions_to_check","permissionPromises","permissionStatus","feature","status","query","state","getBrowserPermissionsOnce","all","then","resolvedPermissions","plugins","plugin","filename","description","screen","is_touchscreen","maxTouchPoints","colorDepth","mediaMatches","w","longer","max","shorter","min","screenResolution","system","browser","platform","productSub","product","useragent","hardwareConcurrency","mobile","applePayVersion","cookieEnabled","webgl","vertexShaderSource","fragmentShaderSource","vertexShader","createShader","VERTEX_SHADER","fragmentShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","useProgram","numSpokes","vertices","angleIncrement","angle","vertexBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","positionAttribute","getAttribLocation","enableVertexAttribArray","vertexAttribPointer","FLOAT","viewport","clearColor","clear","COLOR_BUFFER_BIT","drawArrays","LINES","pixelData","readPixels","RGBA","UNSIGNED_BYTE","drawingBufferWidth","drawingBufferHeight","createWebGLImageData","tm_experimental_component_promises","webrtc","RTCPeerConnection","webkitRTCPeerConnection","mozRTCPeerConnection","supported","connection","iceCandidatePoolSize","iceServers","createDataChannel","offerOptions","offerToReceiveAudio","offerToReceiveVideo","offer","createOffer","setLocalDescription","sdp","extensions","Set","x","replace","sort","getDescriptors","mediaType","RegExp","split","constructDescriptions","descriptors","descriptor","matcher","matchAll","_","type","parts","mimeType","clockRate","channels","feedbackSupport","sdpFmtpLine","Boolean","codecsSdp","video","resolveResult","removeEventListener","onIceCandidate","close","candidateObj","candidate","clearTimeout","candidateType","addEventListener","JSON","stringify","message","processOffer","mathml","testElement","innerHTML","position","visibility","rect","getBoundingClientRect","isMathMLSupported","measurements","struct","mathElement","whiteSpace","top","computedStyle","getComputedStyle","dimensions","fontInfo","fontFamily","fontSize","fontWeight","fontStyle","lineHeight","fontVariant","fontStretch","fontSizeAdjust","textRendering","fontFeatureSettings","fontVariantNumeric","fontKerning","measureMathMLStructure","customComponents","timeoutInstance","includeComponent","creationFunction","getVersion","filterThumbmarkData","isArray","browserInfo","browserComponent","ver","majorVer","excludeList","stabilizationOptions","includeList","option","rules","rule","appliesToAllBrowsers","browserMatch","some","browserRule","ruleName","ruleVersionStr","ruleVersion","performFilter","currentObj","path","entries","currentPath","isExcluded","exclusion","startsWith","isIncluded","inclusion","filtered","VISITOR_ID_KEY","currentApiPromise","apiPromiseResult","getApiPromise","components","endpoint","visitorId","localStorage","getItem","getVisitorId","requestBody","clientHash","fetchPromise","fetch","method","headers","api_key","Authorization","response","ok","json","setItem","setVisitorId","catch","timeoutMs","timeoutPromise","info","timed_out","race","getThumbmark","_options","shouldLog","sessionStorage","random","allComponents","elapsed","resolvedComponents","clientComponentsResult","resolveClientComponents","experimentalComponents","apiPromise","apiResult","thumbmark","maybeElapsed","apiComponents","uniqueness","score","thisHash","thumbmarkData","experimentalData","url","payload","pathname","logThumbmarkData","comps","opts","e","promises","fn","resolvedValues","timeoutTime","timeoutVal","p","startTime","now","t","raceAllPerformance","resolvedComponentsRaw","index","constructor","this","get","overrideOptions","globalIncludeComponent","includeData"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"thumbmark.cjs.js","sources":["../src/options.ts","../src/components/audio/index.ts","../src/utils/commonPixels.ts","../src/utils/hash.ts","../src/components/canvas/index.ts","../src/utils/ephemeralIFrame.ts","../src/components/fonts/index.ts","../src/components/hardware/index.ts","../src/components/math/index.ts","../src/utils/getMostFrequent.ts","../src/components/permissions/index.ts","../src/components/system/browser.ts","../src/components/screen/index.ts","../src/components/system/index.ts","../src/components/webgl/index.ts","../src/components/mathml/index.ts","../src/factory.ts","../src/components/locales/index.ts","../src/components/plugins/index.ts","../src/components/webrtc/index.ts","../src/utils/version.ts","../src/functions/filterComponents.ts","../src/utils/visitorId.ts","../src/functions/api.ts","../src/functions/index.ts","../src/utils/log.ts","../src/utils/raceAll.ts","../src/thumbmark.ts","../src/functions/legacy_functions.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["API_ENDPOINT","defaultOptions","exclude","include","stabilize","logging","timeout","cache_api_call","performance","experimental","options","stabilizationExclusionRules","private","browsers","iframe","vpn","calculateHash","samples","hash","i","length","Math","abs","getCommonPixels","images","width","height","finalData","data","indice","u","push","getMostFrequent","pixelArray","Uint8ClampedArray","ImageData","arr","frequencyMap","num","mostFrequent","parseInt","fmix","input","imul","C","Uint32Array","rotl","m","n","key","seed","text","TextEncoder","encode","buffer","ArrayBuffer","TypeError","blocks","byteLength","view32","k","subarray","body","reminder","tail","Uint8Array","finalize","byteArray","Array","from","map","byte","toString","padStart","join","_WIDTH","wait","durationMs","resolveWith","Promise","resolve","setTimeout","availableFonts","baseFonts","measureSingleFont","ctx","font","Error","measureText","getVideoCard","canvas","document","createElement","gl","_a","getContext","undefined","vendor","getParameter","VENDOR","renderer","RENDERER","result","version","VERSION","shadingLanguageVersion","SHADING_LANGUAGE_VERSION","debugInfo","getExtension","vendorUnmasked","UNMASKED_VENDOR_WEBGL","rendererUnmasked","UNMASKED_RENDERER_WEBGL","error","getArchitecture","f","Float32Array","u8","Infinity","integrate","a","b","h","sum","mostFrequentValuesInArrayOfDictionaries","keys","forEach","mostFrequentValueForKey","element","String","highestFrequency","Object","mostFrequentValue","obj","filter","val","defaultPermissionKeys","getBrowser","navigator","name","ua","userAgent","regexes","browserNameMap","edg","edga","edgios","opr","opx","crios","fxios","samsung","vivaldi","brave","regex","match","groups","_b","_c","version1","_d","version2","_e","_f","source","includes","toLowerCase","isMobileUserAgent","test","matchMedias","results","mediaQueries","pointer","hover","update","scripting","value","matchMedia","matches","getApplePayVersion","window","location","protocol","ApplePaySession","versionCheck","supportsVersion","_RUNS","BLACKBOARD_BOLD","GREEK_SYMBOLS","createMathML","content","createComplexNestedStructure","nestedContent","bbSymbol","bbIndex","startIdx","greekSet","slice","createSymbolStructures","structures","tm_component_promises","audio","async","reject","sampleRate","numSamples","audioContext","OfflineAudioContext","webkitOfflineAudioContext","audioBuffer","createBufferSource","oscillator","createOscillator","frequency","compressor","createDynamicsCompressor","threshold","knee","ratio","attack","release","connect","destination","start","oncomplete","event","renderedBuffer","getChannelData","sampleHash","maxChannels","maxChannelCount","channelCountMode","startRendering","console","createAudioFingerprint","imageDatas","gradient","createLinearGradient","addColorStop","fillStyle","fillRect","randomText","fillText","beginPath","moveTo","lineTo","strokeStyle","lineWidth","stroke","imageData","getImageData","generateCanvasImageData","commonPixelsHash","fonts","callback","setAttribute","style","setProperty","src","appendChild","iframeDocument","contentDocument","contentWindow","removeChild","ephemeralIFrame","defaultWidths","fontWidth","hardware","deviceMemory","memoryInfo","memory","videocard","architecture","jsHeapSizeLimit","locales","languages","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","math","acos","asin","cos","PI","largeCos","largeSin","sin","largeTan","tan","permissions","permission_keys","permissions_to_check","permissionPromises","permissionStatus","feature","status","query","state","getBrowserPermissionsOnce","all","then","resolvedPermissions","plugins","plugin","filename","description","screen","is_touchscreen","maxTouchPoints","colorDepth","mediaMatches","w","longer","max","shorter","min","screenResolution","system","browser","platform","productSub","product","useragent","hardwareConcurrency","mobile","applePayVersion","cookieEnabled","webgl","vertexShaderSource","fragmentShaderSource","vertexShader","createShader","VERTEX_SHADER","fragmentShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","useProgram","numSpokes","vertices","angleIncrement","angle","vertexBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","positionAttribute","getAttribLocation","enableVertexAttribArray","vertexAttribPointer","FLOAT","viewport","clearColor","clear","COLOR_BUFFER_BIT","drawArrays","LINES","pixelData","readPixels","RGBA","UNSIGNED_BYTE","drawingBufferWidth","drawingBufferHeight","createWebGLImageData","tm_experimental_component_promises","webrtc","RTCPeerConnection","webkitRTCPeerConnection","mozRTCPeerConnection","supported","connection","iceCandidatePoolSize","iceServers","createDataChannel","offerOptions","offerToReceiveAudio","offerToReceiveVideo","offer","createOffer","setLocalDescription","sdp","extensions","Set","x","replace","sort","getDescriptors","mediaType","RegExp","split","constructDescriptions","descriptors","descriptor","matcher","matchAll","_","type","parts","mimeType","clockRate","channels","feedbackSupport","sdpFmtpLine","Boolean","codecsSdp","video","resolveResult","removeEventListener","onIceCandidate","close","candidateObj","candidate","clearTimeout","candidateType","addEventListener","JSON","stringify","message","processOffer","mathml","testElement","innerHTML","position","visibility","rect","getBoundingClientRect","isMathMLSupported","measurements","struct","mathElement","whiteSpace","top","computedStyle","getComputedStyle","dimensions","fontInfo","fontFamily","fontSize","fontWeight","fontStyle","lineHeight","fontVariant","fontStretch","fontSizeAdjust","textRendering","fontFeatureSettings","fontVariantNumeric","fontKerning","measureMathMLStructure","customComponents","timeoutInstance","includeComponent","creationFunction","getVersion","filterThumbmarkData","isArray","browserInfo","browserComponent","ver","majorVer","excludeList","stabilizationOptions","includeList","option","rules","rule","appliesToAllBrowsers","browserMatch","some","browserRule","ruleName","ruleVersionStr","ruleVersion","performFilter","currentObj","path","entries","currentPath","isExcluded","exclusion","startsWith","isIncluded","inclusion","filtered","VISITOR_ID_KEY","currentApiPromise","apiPromiseResult","getApiPromise","components","endpoint","visitorId","localStorage","getItem","getVisitorId","requestBody","clientHash","fetchPromise","fetch","method","headers","api_key","Authorization","response","ok","json","setItem","setVisitorId","catch","timeoutMs","timeoutPromise","info","timed_out","race","getThumbmark","_options","shouldLog","sessionStorage","random","allComponents","elapsed","resolvedComponents","clientComponentsResult","resolveClientComponents","experimentalComponents","apiPromise","apiResult","thumbmark","maybeElapsed","apiComponents","uniqueness","score","thisHash","thumbmarkData","experimentalData","url","payload","pathname","logThumbmarkData","comps","opts","e","promises","fn","resolvedValues","timeoutTime","timeoutVal","p","startTime","now","t","raceAllPerformance","resolvedComponentsRaw","index","constructor","this","get","overrideOptions","globalIncludeComponent","includeData"],"mappings":"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"}
|
package/dist/thumbmark.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e="https://api.thumbmarkjs.com",t={exclude:[],include:[],stabilize:["private","iframe"],logging:!0,timeout:5e3,cache_api_call:!0,performance:!1,experimental:!1};let n={...t};function o(e,t){n[e]=t}const r={private:[{exclude:["canvas"],browsers:["firefox","safari>=17","brave"]},{exclude:["audio"],browsers:["samsungbrowser","safari"]},{exclude:["fonts"],browsers:["firefox"]},{exclude:["audio.sampleHash","hardware.deviceMemory","header.acceptLanguage.q","system.hardwareConcurrency","plugins"],browsers:["brave"]},{exclude:["tls.extensions"],browsers:["firefox","chrome","safari"]},{exclude:["header.acceptLanguage"],browsers:["edge","chrome"]}],iframe:[{exclude:["permissions.camera","permission.geolocation","permissions.microphone","system.applePayVersion","system.cookieEnabled"],browsers:["safari"]}],vpn:[{exclude:["ip"]}]};function i(e){let t=0;for(let n=0;n<e.length;++n)t+=Math.abs(e[n]);return t}function a(e,t,n){let o=[];for(let t=0;t<e[0].data.length;t++){let n=[];for(let o=0;o<e.length;o++)n.push(e[o].data[t]);o.push(s(n))}const r=new Uint8ClampedArray(o);return new ImageData(r,t,n)}function s(e){if(0===e.length)return 0;const t={};for(const n of e)t[n]=(t[n]||0)+1;let n=e[0];for(const e in t)t[e]>t[n]&&(n=parseInt(e,10));return n}function c(e){return e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),(e^=e>>>16)>>>0}const l=new Uint32Array([597399067,2869860233,951274213,2716044179]);function u(e,t){return e<<t|e>>>32-t}function m(e,t=0){var n;if(t=t?0|t:0,"string"==typeof e&&(n=e,e=(new TextEncoder).encode(n).buffer),!(e instanceof ArrayBuffer))throw new TypeError("Expected key to be ArrayBuffer or string");const o=new Uint32Array([t,t,t,t]);!function(e,t){const n=e.byteLength/16|0,o=new Uint32Array(e,0,4*n);for(let e=0;e<n;e++){const n=o.subarray(4*e,4*(e+1));n[0]=Math.imul(n[0],l[0]),n[0]=u(n[0],15),n[0]=Math.imul(n[0],l[1]),t[0]=t[0]^n[0],t[0]=u(t[0],19),t[0]=t[0]+t[1],t[0]=Math.imul(t[0],5)+1444728091,n[1]=Math.imul(n[1],l[1]),n[1]=u(n[1],16),n[1]=Math.imul(n[1],l[2]),t[1]=t[1]^n[1],t[1]=u(t[1],17),t[1]=t[1]+t[2],t[1]=Math.imul(t[1],5)+197830471,n[2]=Math.imul(n[2],l[2]),n[2]=u(n[2],17),n[2]=Math.imul(n[2],l[3]),t[2]=t[2]^n[2],t[2]=u(t[2],15),t[2]=t[2]+t[3],t[2]=Math.imul(t[2],5)+2530024501,n[3]=Math.imul(n[3],l[3]),n[3]=u(n[3],18),n[3]=Math.imul(n[3],l[0]),t[3]=t[3]^n[3],t[3]=u(t[3],13),t[3]=t[3]+t[0],t[3]=Math.imul(t[3],5)+850148119}}(e,o),function(e,t){const n=e.byteLength/16|0,o=e.byteLength%16,r=new Uint32Array(4),i=new Uint8Array(e,16*n,o);switch(o){case 15:r[3]=r[3]^i[14]<<16;case 14:r[3]=r[3]^i[13]<<8;case 13:r[3]=r[3]^i[12],r[3]=Math.imul(r[3],l[3]),r[3]=u(r[3],18),r[3]=Math.imul(r[3],l[0]),t[3]=t[3]^r[3];case 12:r[2]=r[2]^i[11]<<24;case 11:r[2]=r[2]^i[10]<<16;case 10:r[2]=r[2]^i[9]<<8;case 9:r[2]=r[2]^i[8],r[2]=Math.imul(r[2],l[2]),r[2]=u(r[2],17),r[2]=Math.imul(r[2],l[3]),t[2]=t[2]^r[2];case 8:r[1]=r[1]^i[7]<<24;case 7:r[1]=r[1]^i[6]<<16;case 6:r[1]=r[1]^i[5]<<8;case 5:r[1]=r[1]^i[4],r[1]=Math.imul(r[1],l[1]),r[1]=u(r[1],16),r[1]=Math.imul(r[1],l[2]),t[1]=t[1]^r[1];case 4:r[0]=r[0]^i[3]<<24;case 3:r[0]=r[0]^i[2]<<16;case 2:r[0]=r[0]^i[1]<<8;case 1:r[0]=r[0]^i[0],r[0]=Math.imul(r[0],l[0]),r[0]=u(r[0],15),r[0]=Math.imul(r[0],l[1]),t[0]=t[0]^r[0]}}(e,o),function(e,t){t[0]=t[0]^e.byteLength,t[1]=t[1]^e.byteLength,t[2]=t[2]^e.byteLength,t[3]=t[3]^e.byteLength,t[0]=t[0]+t[1]|0,t[0]=t[0]+t[2]|0,t[0]=t[0]+t[3]|0,t[1]=t[1]+t[0]|0,t[2]=t[2]+t[0]|0,t[3]=t[3]+t[0]|0,t[0]=c(t[0]),t[1]=c(t[1]),t[2]=c(t[2]),t[3]=c(t[3]),t[0]=t[0]+t[1]|0,t[0]=t[0]+t[2]|0,t[0]=t[0]+t[3]|0,t[1]=t[1]+t[0]|0,t[2]=t[2]+t[0]|0,t[3]=t[3]+t[0]|0}(e,o);const r=new Uint8Array(o.buffer);return Array.from(r).map((e=>e.toString(16).padStart(2,"0"))).join("")}const d=280;function h(e,t){return new Promise((n=>setTimeout(n,e,t)))}const f=["Arial","Arial Black","Arial Narrow","Arial Rounded MT","Arimo","Archivo","Barlow","Bebas Neue","Bitter","Bookman","Calibri","Cabin","Candara","Century","Century Gothic","Comic Sans MS","Constantia","Courier","Courier New","Crimson Text","DM Mono","DM Sans","DM Serif Display","DM Serif Text","Dosis","Droid Sans","Exo","Fira Code","Fira Sans","Franklin Gothic Medium","Garamond","Geneva","Georgia","Gill Sans","Helvetica","Impact","Inconsolata","Indie Flower","Inter","Josefin Sans","Karla","Lato","Lexend","Lucida Bright","Lucida Console","Lucida Sans Unicode","Manrope","Merriweather","Merriweather Sans","Montserrat","Myriad","Noto Sans","Nunito","Nunito Sans","Open Sans","Optima","Orbitron","Oswald","Pacifico","Palatino","Perpetua","PT Sans","PT Serif","Poppins","Prompt","Public Sans","Quicksand","Rajdhani","Recursive","Roboto","Roboto Condensed","Rockwell","Rubik","Segoe Print","Segoe Script","Segoe UI","Sora","Source Sans Pro","Space Mono","Tahoma","Taviraj","Times","Times New Roman","Titillium Web","Trebuchet MS","Ubuntu","Varela Round","Verdana","Work Sans"],p=["monospace","sans-serif","serif"];function g(e,t){if(!e)throw new Error("Canvas context not supported");return e.font=`72px ${t}`,e.measureText("WwMmLli0Oo").width}function w(){var e;const t=document.createElement("canvas"),n=null!==(e=t.getContext("webgl"))&&void 0!==e?e:t.getContext("experimental-webgl");if(n&&"getParameter"in n)try{const e=(n.getParameter(n.VENDOR)||"").toString(),t=(n.getParameter(n.RENDERER)||"").toString();let o={vendor:e,renderer:t,version:(n.getParameter(n.VERSION)||"").toString(),shadingLanguageVersion:(n.getParameter(n.SHADING_LANGUAGE_VERSION)||"").toString()};if(!t.length||!e.length){const e=n.getExtension("WEBGL_debug_renderer_info");if(e){const t=(n.getParameter(e.UNMASKED_VENDOR_WEBGL)||"").toString(),r=(n.getParameter(e.UNMASKED_RENDERER_WEBGL)||"").toString();t&&(o.vendorUnmasked=t),r&&(o.rendererUnmasked=r)}}return o}catch(e){}return"undefined"}function v(){const e=new Float32Array(1),t=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],t[3]}const y=(e,t,n,o)=>{const r=(n-t)/o;let i=0;for(let n=0;n<o;n++){i+=e(t+(n+.5)*r)}return i*r};function b(e,t){const n={};return t.forEach((t=>{const o=function(e){if(0===e.length)return null;const t={};e.forEach((e=>{const n=String(e);t[n]=(t[n]||0)+1}));let n=e[0],o=1;return Object.keys(t).forEach((e=>{t[e]>o&&(n=e,o=t[e])})),n}(e.map((e=>t in e?e[t]:void 0)).filter((e=>void 0!==e)));o&&(n[t]=o)})),n}const S=["accelerometer","accessibility","accessibility-events","ambient-light-sensor","background-fetch","background-sync","bluetooth","camera","clipboard-read","clipboard-write","device-info","display-capture","gyroscope","geolocation","local-fonts","magnetometer","microphone","midi","nfc","notifications","payment-handler","persistent-storage","push","speaker","storage-access","top-level-storage-access","window-management","query"];function M(){var e,t,n,o,r,i;if("undefined"==typeof navigator)return{name:"unknown",version:"unknown"};const a=navigator.userAgent,s=[/(?<name>SamsungBrowser)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>EdgA|EdgiOS|Edg)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>OPR|OPX)\/(?<version>\d+(?:\.\d+)+)/,/Opera[\s\/](?<version>\d+(?:\.\d+)+)/,/Opera Mini\/(?<version>\d+(?:\.\d+)+)/,/Opera Mobi\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Vivaldi)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Brave)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>CriOS)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>FxiOS)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Chrome|Chromium)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Firefox|Waterfox|Iceweasel|IceCat)\/(?<version>\d+(?:\.\d+)+)/,/Version\/(?<version1>[\d.]+).*Safari\/[\d.]+|(?<name>Safari)\/(?<version2>[\d.]+)/,/(?<name>MSIE|Trident|IEMobile).+?(?<version>\d+(?:\.\d+)+)/,/(?<name>[A-Za-z]+)\/(?<version>\d+(?:\.\d+)+)/],c={edg:"Edge",edga:"Edge",edgios:"Edge",opr:"Opera",opx:"Opera",crios:"Chrome",fxios:"Firefox",samsung:"SamsungBrowser",vivaldi:"Vivaldi",brave:"Brave"};for(const l of s){const s=a.match(l);if(s){let a=null===(e=s.groups)||void 0===e?void 0:e.name,u=(null===(t=s.groups)||void 0===t?void 0:t.version)||(null===(n=s.groups)||void 0===n?void 0:n.version1)||(null===(o=s.groups)||void 0===o?void 0:o.version2);if(a||!(null===(r=s.groups)||void 0===r?void 0:r.version1)&&!(null===(i=s.groups)||void 0===i?void 0:i.version2)||(a="Safari"),!a&&l.source.includes("Opera Mini")&&(a="Opera Mini"),!a&&l.source.includes("Opera Mobi")&&(a="Opera Mobi"),!a&&l.source.includes("Opera")&&(a="Opera"),!a&&s[1]&&(a=s[1]),!u&&s[2]&&(u=s[2]),a){return{name:c[a.toLowerCase()]||a,version:u||"unknown"}}}}return{name:"unknown",version:"unknown"}}function P(){if("undefined"==typeof navigator||!navigator.userAgent)return!1;const e=navigator.userAgent;return/Mobi|Android|iPhone|iPod|IEMobile|Opera Mini|Opera Mobi|webOS|BlackBerry|Windows Phone/i.test(e)&&!/iPad/i.test(e)}function E(){let e=[];const t={"prefers-contrast":["high","more","low","less","forced","no-preference"],"any-hover":["hover","none"],"any-pointer":["none","coarse","fine"],pointer:["none","coarse","fine"],hover:["hover","none"],update:["fast","slow"],"inverted-colors":["inverted","none"],"prefers-reduced-motion":["reduce","no-preference"],"prefers-reduced-transparency":["reduce","no-preference"],scripting:["none","initial-only","enabled"],"forced-colors":["active","none"]};return Object.keys(t).forEach((n=>{t[n].forEach((t=>{matchMedia(`(${n}: ${t})`).matches&&e.push(`${n}: ${t}`)}))})),e}function C(){if("https:"===window.location.protocol&&"function"==typeof window.ApplePaySession)try{const e=window.ApplePaySession.supportsVersion;for(let t=15;t>0;t--)if(e(t))return t}catch(e){return 0}return 0}const x="SamsungBrowser"!==M().name?1:3;let A,T=null;const I=["𝔄","𝔅","ℭ","𝔇","𝔈","𝔉","𝔸","𝔹","ℂ","𝔻","𝔼","𝔽"],k=["β","ψ","λ","ε","ζ","α","ξ","μ","ρ","φ","κ","τ","η","σ","ι","ω","γ","ν","χ","δ","θ","π","υ","ο"];function R(e,t){return`<math><mrow>${t}</mrow></math>`}function O(){let e="<mo>∏</mo>";return I.forEach(((t,n)=>{const o=2*n,r=k.slice(o,o+2);2===r.length&&(e+=`<mmultiscripts><mi>${t}</mi><none/><mi>${r[1]}</mi><mprescripts></mprescripts><mi>${r[0]}</mi><none/></mmultiscripts>`)})),R(0,`<munderover><mmultiscripts>${e}</mmultiscripts></munderover>`)}function L(){const e=[];return I.forEach(((t,n)=>{const o=2*n,r=k.slice(o,o+2);2===r.length&&e.push(R(0,`<mmultiscripts><mi>${t}</mi><none/><mi>${r[1]}</mi><mprescripts></mprescripts><mi>${r[0]}</mi><none/></mmultiscripts>`))})),e}const _={audio:async function(){return async function(){return new Promise(((e,t)=>{try{const t=44100,n=5e3,o=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,n,t),r=o.createBufferSource(),a=o.createOscillator();a.frequency.value=1e3;const s=o.createDynamicsCompressor();let c;s.threshold.value=-50,s.knee.value=40,s.ratio.value=12,s.attack.value=0,s.release.value=.2,a.connect(s),s.connect(o.destination),a.start(),o.oncomplete=t=>{c=t.renderedBuffer.getChannelData(0),e({sampleHash:i(c),maxChannels:o.destination.maxChannelCount,channelCountMode:r.channelCountMode})},o.startRendering()}catch(e){console.error("Error creating audio fingerprint:",e),t(e)}}))}()},canvas:async function(){return new Promise((e=>{const t=Array.from({length:3},(()=>function(){const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)return new ImageData(1,1);e.width=d,e.height=20;const n=t.createLinearGradient(0,0,e.width,e.height);n.addColorStop(0,"red"),n.addColorStop(1/6,"orange"),n.addColorStop(2/6,"yellow"),n.addColorStop(.5,"green"),n.addColorStop(4/6,"blue"),n.addColorStop(5/6,"indigo"),n.addColorStop(1,"violet"),t.fillStyle=n,t.fillRect(0,0,e.width,e.height);const o="Random Text WMwmil10Oo";t.font="23.123px Arial",t.fillStyle="black",t.fillText(o,-5,15),t.fillStyle="rgba(0, 0, 255, 0.5)",t.fillText(o,-3.3,17.7),t.beginPath(),t.moveTo(0,0),t.lineTo(2*e.width/7,e.height),t.strokeStyle="white",t.lineWidth=2,t.stroke();const r=t.getImageData(0,0,e.width,e.height);return r}()));e({commonPixelsHash:m(a(t,d,20).data.toString()).toString()})}))},fonts:async function(e){return new Promise(((e,t)=>{try{!async function(e){for(var t;!document.body;)await h(50);const n=document.createElement("iframe");n.setAttribute("frameBorder","0");const o=n.style;o.setProperty("position","fixed"),o.setProperty("display","block","important"),o.setProperty("visibility","visible"),o.setProperty("border","0"),o.setProperty("opacity","0"),n.src="about:blank",document.body.appendChild(n);const r=n.contentDocument||(null===(t=n.contentWindow)||void 0===t?void 0:t.document);if(!r)throw new Error("Iframe document is not accessible");e({iframe:r}),setTimeout((()=>{document.body.removeChild(n)}),0)}((async({iframe:t})=>{const n=t.createElement("canvas").getContext("2d"),o=p.map((e=>g(n,e)));let r={};f.forEach((e=>{const t=g(n,e);o.includes(t)||(r[e]=t)})),e(r)}))}catch(e){t({error:"unsupported"})}}))},hardware:function(){return new Promise(((e,t)=>{const n=void 0!==navigator.deviceMemory?navigator.deviceMemory:0,o=window.performance&&window.performance.memory?window.performance.memory:0;e({videocard:w(),architecture:v(),deviceMemory:n.toString()||"undefined",jsHeapSizeLimit:o.jsHeapSizeLimit||0})}))},locales:function(){return new Promise((e=>{e({languages:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})}))},math:function(){return new Promise((e=>{e({acos:Math.acos(.5),asin:y(Math.asin,-1,1,97),cos:y(Math.cos,0,Math.PI,97),largeCos:Math.cos(1e20),largeSin:Math.sin(1e20),largeTan:Math.tan(1e20),sin:y(Math.sin,-Math.PI,Math.PI,97),tan:y(Math.tan,0,2*Math.PI,97)})}))},permissions:async function(e){let t=(null==e?void 0:e.permissions_to_check)||S;const n=Array.from({length:3},(()=>async function(e){const t={};for(const n of e)try{const e=await navigator.permissions.query({name:n});t[n]=e.state.toString()}catch(e){}return t}(t)));return Promise.all(n).then((e=>b(e,t)))},plugins:async function(){const e=[];if(navigator.plugins)for(let t=0;t<navigator.plugins.length;t++){const n=navigator.plugins[t];e.push([n.name,n.filename,n.description].join("|"))}return new Promise((t=>{t({plugins:e})}))},screen:function(){return new Promise((e=>{const t={is_touchscreen:navigator.maxTouchPoints>0,maxTouchPoints:navigator.maxTouchPoints,colorDepth:screen.colorDepth,mediaMatches:E()};P()&&navigator.maxTouchPoints>0&&(t.resolution=function(){const e=window.screen.width,t=window.screen.height,n=Math.max(e,t).toString(),o=Math.min(e,t).toString();return`${n}x${o}`}()),e(t)}))},system:function(){return new Promise((e=>{const t=M();e({platform:window.navigator.platform,productSub:navigator.productSub,product:navigator.product,useragent:navigator.userAgent,hardwareConcurrency:navigator.hardwareConcurrency,browser:{name:t.name,version:t.version},mobile:P(),applePayVersion:C(),cookieEnabled:window.navigator.cookieEnabled})}))},webgl:async function(){"undefined"!=typeof document&&(A=document.createElement("canvas"),A.width=200,A.height=100,T=A.getContext("webgl"));try{if(!T)throw new Error("WebGL not supported");const e=Array.from({length:x},(()=>function(){try{if(!T)throw new Error("WebGL not supported");const e="\n attribute vec2 position;\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n }\n ",t="\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color\n }\n ",n=T.createShader(T.VERTEX_SHADER),o=T.createShader(T.FRAGMENT_SHADER);if(!n||!o)throw new Error("Failed to create shaders");if(T.shaderSource(n,e),T.shaderSource(o,t),T.compileShader(n),!T.getShaderParameter(n,T.COMPILE_STATUS))throw new Error("Vertex shader compilation failed: "+T.getShaderInfoLog(n));if(T.compileShader(o),!T.getShaderParameter(o,T.COMPILE_STATUS))throw new Error("Fragment shader compilation failed: "+T.getShaderInfoLog(o));const r=T.createProgram();if(!r)throw new Error("Failed to create shader program");if(T.attachShader(r,n),T.attachShader(r,o),T.linkProgram(r),!T.getProgramParameter(r,T.LINK_STATUS))throw new Error("Shader program linking failed: "+T.getProgramInfoLog(r));T.useProgram(r);const i=137,a=new Float32Array(4*i),s=2*Math.PI/i;for(let e=0;e<i;e++){const t=e*s;a[4*e]=0,a[4*e+1]=0,a[4*e+2]=Math.cos(t)*(A.width/2),a[4*e+3]=Math.sin(t)*(A.height/2)}const c=T.createBuffer();T.bindBuffer(T.ARRAY_BUFFER,c),T.bufferData(T.ARRAY_BUFFER,a,T.STATIC_DRAW);const l=T.getAttribLocation(r,"position");T.enableVertexAttribArray(l),T.vertexAttribPointer(l,2,T.FLOAT,!1,0,0),T.viewport(0,0,A.width,A.height),T.clearColor(0,0,0,1),T.clear(T.COLOR_BUFFER_BIT),T.drawArrays(T.LINES,0,2*i);const u=new Uint8ClampedArray(A.width*A.height*4);T.readPixels(0,0,A.width,A.height,T.RGBA,T.UNSIGNED_BYTE,u);return new ImageData(u,A.width,A.height)}catch(e){return new ImageData(1,1)}finally{T&&(T.bindBuffer(T.ARRAY_BUFFER,null),T.useProgram(null),T.viewport(0,0,T.drawingBufferWidth,T.drawingBufferHeight),T.clearColor(0,0,0,0))}}()));return{commonPixelsHash:m(a(e,A.width,A.height).data.toString()).toString()}}catch(e){return{webgl:"unsupported"}}}},B={webrtc:async function(){return new Promise((e=>{try{const t=window.RTCPeerConnection||window.webkitRTCPeerConnection||window.mozRTCPeerConnection;if(!t)return void e({supported:!1,error:"WebRTC not supported"});const n=new t({iceCandidatePoolSize:1,iceServers:[]});n.createDataChannel("");(async()=>{try{const t={offerToReceiveAudio:!0,offerToReceiveVideo:!0},o=await n.createOffer(t);await n.setLocalDescription(o);const r=o.sdp||"",i=[...new Set((r.match(/extmap:\d+ [^\n\r]+/g)||[]).map((e=>e.replace(/extmap:\d+ /,""))))].sort(),a=e=>{const t=r.match(new RegExp(`m=${e} [^\\s]+ [^\\s]+ ([^\\n\\r]+)`));return t?t[1].split(" "):[]},s=(e,t)=>t.map((t=>{const n=new RegExp(`(rtpmap|fmtp|rtcp-fb):${t} (.+)`,"g"),o=[...r.matchAll(n)];if(!o.length)return null;const i={};return o.forEach((t=>{const[n,o,r]=t,a=r.split("/");"rtpmap"===o?(i.mimeType=`${e}/${a[0]}`,i.clockRate=+a[1],"audio"===e&&(i.channels=+a[2]||1)):"rtcp-fb"===o?(i.feedbackSupport=i.feedbackSupport||[],i.feedbackSupport.push(r)):"fmtp"===o&&(i.sdpFmtpLine=r)})),i})).filter(Boolean),c={audio:s("audio",a("audio")),video:s("video",a("video"))},l=await new Promise((e=>{const t=setTimeout((()=>{n.removeEventListener("icecandidate",o),n.close(),e({supported:!0,codecsSdp:c,extensions:i,timeout:!0})}),3e3),o=r=>{const a=r.candidate;a&&a.candidate&&(clearTimeout(t),n.removeEventListener("icecandidate",o),n.close(),e({supported:!0,codecsSdp:c,extensions:i,candidateType:a.type||""}))};n.addEventListener("icecandidate",o)}));e({hash:m(JSON.stringify(l))})}catch(t){n.close(),e({supported:!0,error:`WebRTC offer failed: ${t.message}`})}})()}catch(t){e({supported:!1,error:`WebRTC error: ${t.message}`})}}))},mathml:async function(){return new Promise((e=>{try{if(!function(){try{const e=document.createElement("math");e.innerHTML="<mrow><mi>x</mi></mrow>",e.style.position="absolute",e.style.visibility="hidden",document.body.appendChild(e);const t=e.getBoundingClientRect();return document.body.removeChild(e),t.width>0&&t.height>0}catch(e){return!1}}())return void e({supported:!1,error:"MathML not supported"});const t=[R("integral","<msubsup><mo>∫</mo><mi>a</mi><mi>b</mi></msubsup><mfrac><mrow><mi>f</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mrow><mi>g</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mfrac><mi>dx</mi>"),R("fraction","<mfrac><mrow><mi>π</mi><mo>×</mo><msup><mi>r</mi><mn>2</mn></msup></mrow><mrow><mn>2</mn><mi>σ</mi></mrow></mfrac>"),R("matrix","<mo>[</mo><mtable><mtr><mtd><mi>α</mi></mtd><mtd><mi>β</mi></mtd></mtr><mtr><mtd><mi>γ</mi></mtd><mtd><mi>δ</mi></mtd></mtr></mtable><mo>]</mo>"),O(),...L()],n={};t.forEach(((e,t)=>{n[`struct_${t}`]=function(e){try{const t=document.createElement("math");t.innerHTML=e.replace(/<\/?math>/g,""),t.style.whiteSpace="nowrap",t.style.position="absolute",t.style.visibility="hidden",t.style.top="-9999px",document.body.appendChild(t);const n=t.getBoundingClientRect(),o=window.getComputedStyle(t),r={dimensions:{width:n.width,height:n.height},fontInfo:{fontFamily:o.fontFamily,fontSize:o.fontSize,fontWeight:o.fontWeight,fontStyle:o.fontStyle,lineHeight:o.lineHeight,fontVariant:o.fontVariant||"normal",fontStretch:o.fontStretch||"normal",fontSizeAdjust:o.fontSizeAdjust||"none",textRendering:o.textRendering||"auto",fontFeatureSettings:o.fontFeatureSettings||"normal",fontVariantNumeric:o.fontVariantNumeric||"normal",fontKerning:o.fontKerning||"auto"}};return document.body.removeChild(t),r}catch(e){return{error:e.message}}}(e)})),e({hash:m(JSON.stringify(n))})}catch(t){e({supported:!1,error:`MathML error: ${t.message}`})}}))}},D={},N={timeout:"true"},F=(e,t,n)=>{D[e]=t};function $(){return"1.3.2"}function U(e,t){var n;let o=M();if("unknown"===o.name&&e.system&&"object"==typeof e.system&&!Array.isArray(e.system)){const t=e.system.browser;if(t&&"object"==typeof t&&!Array.isArray(t)){const e=t;o={name:e.name||"unknown",version:e.version||"unknown"}}}const i=o.name.toLowerCase(),a=o.version.split(".")[0]||"0",s=parseInt(a,10),c=[...(null==t?void 0:t.exclude)||[]],l=(null==t?void 0:t.stabilize)||[],u=(null==t?void 0:t.include)||[];for(const e of l){const t=r[e];if(t)for(const e of t){const t=!("browsers"in e),o=!t&&(null===(n=e.browsers)||void 0===n?void 0:n.some((e=>{const t=e.match(/(.+?)(>=)(\d+)/);if(t){const[,e,,n]=t,o=parseInt(n,10);return i===e&&s>=o}return i===e})));(t||o)&&c.push(...e.exclude)}}return function e(t,n=""){const o={};for(const[r,i]of Object.entries(t)){const t=n?`${n}.${r}`:r;if("object"!=typeof i||Array.isArray(i)||null===i){const e=c.some((e=>t.startsWith(e))),n=u.some((e=>t.startsWith(e)));e&&!n||(o[r]=i)}else{const n=e(i,t);Object.keys(n).length>0&&(o[r]=n)}}return o}(e)}const V="thumbmark_visitor_id";let j=null,W=null;const G=(t,n)=>{if(t.cache_api_call&&W)return Promise.resolve(W);if(j)return j;const o=`${e}/thumbmark`,r=function(){try{return localStorage.getItem(V)}catch(e){return null}}(),i={components:n,options:t,clientHash:m(JSON.stringify(n)),version:"1.3.2"};r&&(i.visitorId=r);const a=fetch(o,{method:"POST",headers:{"x-api-key":t.api_key,Authorization:"custom-authorized","Content-Type":"application/json"},body:JSON.stringify(i)}).then((e=>{if(!e.ok){if(403===e.status)throw new Error("INVALID_API_KEY");throw new Error(`HTTP error! status: ${e.status}`)}return e.json()})).then((e=>(e.visitorId&&e.visitorId!==r&&function(e){try{localStorage.setItem(V,e)}catch(e){}}(e.visitorId),W=e,j=null,e))).catch((e=>{if(console.error("Error fetching pro data",e),j=null,"INVALID_API_KEY"===e.message)throw e;return null})),s=t.timeout||5e3,c=new Promise((e=>{setTimeout((()=>{e({info:{timed_out:!0},version:"1.3.2"})}),s)}));return j=Promise.race([a,c]),j};async function H(n){const o={...t,...n},r=o.logging&&!sessionStorage.getItem("_tmjs_l")&&Math.random()<1e-4,i={..._,...D},{elapsed:a,resolvedComponents:s}=await z(i,o);let c={};if(r||o.experimental){const{resolvedComponents:e}=await z(B,o);c=e}const l=o.api_key?G(o,s):null;let u=null;if(l)try{u=await l}catch(e){if(e instanceof Error&&"INVALID_API_KEY"===e.message)return{error:"Invalid API key or quota exceeded",components:{},info:{},version:"1.3.2",thumbmark:""};throw e}const d=o.performance?{elapsed:a}:{},h=U((null==u?void 0:u.components)||{},o),f={...s,...h},p=(null==u?void 0:u.info)||{uniqueness:{score:"api only"}},g=m(JSON.stringify(f));r&&async function(t,n,o,r={}){var i;const a=`${e}/log`,s={thumbmark:t,components:n,experimental:r,version:"1.3.2",options:o,path:null===(i=null===window||void 0===window?void 0:window.location)||void 0===i?void 0:i.pathname};sessionStorage.setItem("_tmjs_l","1");try{await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)})}catch(e){}}(g,f,o,c).catch((()=>{}));return{...(null==u?void 0:u.visitorId)&&{visitorId:u.visitorId},thumbmark:g,components:f,info:p,version:"1.3.2",...d,...Object.keys(c).length>0&&o.experimental&&{experimental:c}}}async function z(e,n){const o={...t,...n},r=Object.entries(e).filter((([e])=>{var t;return!(null===(t=null==o?void 0:o.exclude)||void 0===t?void 0:t.includes(e))})).filter((([e])=>{var t,n,r,i;return(null===(t=null==o?void 0:o.include)||void 0===t?void 0:t.some((e=>e.includes("."))))?null===(n=null==o?void 0:o.include)||void 0===n?void 0:n.some((t=>t.startsWith(e))):0===(null===(r=null==o?void 0:o.include)||void 0===r?void 0:r.length)||(null===(i=null==o?void 0:o.include)||void 0===i?void 0:i.includes(e))})),i=r.map((([e])=>e)),a=r.map((([e,t])=>t(n))),s=await function(e,t,n){return Promise.all(e.map((e=>{const o=performance.now();return Promise.race([e.then((e=>({value:e,elapsed:performance.now()-o}))),(r=t,i=n,new Promise((e=>{setTimeout((()=>e(i)),r)}))).then((e=>({value:e,elapsed:performance.now()-o})))]);var r,i})))}(a,(null==o?void 0:o.timeout)||5e3,N),c={},l={};s.forEach(((e,t)=>{var n;null!=e.value&&(l[i[t]]=e.value,c[i[t]]=null!==(n=e.elapsed)&&void 0!==n?n:0)}));const u=U(l,o);return{elapsed:c,resolvedComponents:u}}async function K(){return(await H(n)).components}async function J(e){try{const t=await H(n);return e?{hash:t.thumbmark.toString(),data:t.components}:t.thumbmark.toString()}catch(e){throw e}}async function Y(){try{const{elapsed:e,resolvedComponents:t}=await z(_,n);return{...t,elapsed:e}}catch(e){throw e}}class q{constructor(e){this.options={...t,...e}}async get(e){return H({...this.options,...e})}getVersion(){return"1.3.2"}includeComponent(e,t){F(e,t)}}export{q as Thumbmark,U as filterThumbmarkData,J as getFingerprint,K as getFingerprintData,Y as getFingerprintPerformance,H as getThumbmark,$ as getVersion,F as includeComponent,o as setOption,r as stabilizationExclusionRules};
|
|
1
|
+
const e="https://api.thumbmarkjs.com",t={exclude:[],include:[],stabilize:["private","iframe"],logging:!0,timeout:5e3,cache_api_call:!0,performance:!1,experimental:!1};let n={...t};function o(e,t){n[e]=t}const r={private:[{exclude:["canvas"],browsers:["firefox","safari>=17","brave"]},{exclude:["audio"],browsers:["samsungbrowser","safari"]},{exclude:["fonts"],browsers:["firefox"]},{exclude:["audio.sampleHash","hardware.deviceMemory","header.acceptLanguage.q","system.hardwareConcurrency","plugins"],browsers:["brave"]},{exclude:["tls.extensions"],browsers:["firefox","chrome","safari"]},{exclude:["header.acceptLanguage"],browsers:["edge","chrome"]}],iframe:[{exclude:["permissions.camera","permission.geolocation","permissions.microphone","system.applePayVersion","system.cookieEnabled"],browsers:["safari"]},{exclude:["permissions.background-fetch","permissions.storage-access"],browsers:["chrome","brave","edge","opera"]}],vpn:[{exclude:["ip"]}]};function i(e){let t=0;for(let n=0;n<e.length;++n)t+=Math.abs(e[n]);return t}function a(e,t,n){let o=[];for(let t=0;t<e[0].data.length;t++){let n=[];for(let o=0;o<e.length;o++)n.push(e[o].data[t]);o.push(s(n))}const r=new Uint8ClampedArray(o);return new ImageData(r,t,n)}function s(e){if(0===e.length)return 0;const t={};for(const n of e)t[n]=(t[n]||0)+1;let n=e[0];for(const e in t)t[e]>t[n]&&(n=parseInt(e,10));return n}function c(e){return e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),(e^=e>>>16)>>>0}const l=new Uint32Array([597399067,2869860233,951274213,2716044179]);function u(e,t){return e<<t|e>>>32-t}function m(e,t=0){var n;if(t=t?0|t:0,"string"==typeof e&&(n=e,e=(new TextEncoder).encode(n).buffer),!(e instanceof ArrayBuffer))throw new TypeError("Expected key to be ArrayBuffer or string");const o=new Uint32Array([t,t,t,t]);!function(e,t){const n=e.byteLength/16|0,o=new Uint32Array(e,0,4*n);for(let e=0;e<n;e++){const n=o.subarray(4*e,4*(e+1));n[0]=Math.imul(n[0],l[0]),n[0]=u(n[0],15),n[0]=Math.imul(n[0],l[1]),t[0]=t[0]^n[0],t[0]=u(t[0],19),t[0]=t[0]+t[1],t[0]=Math.imul(t[0],5)+1444728091,n[1]=Math.imul(n[1],l[1]),n[1]=u(n[1],16),n[1]=Math.imul(n[1],l[2]),t[1]=t[1]^n[1],t[1]=u(t[1],17),t[1]=t[1]+t[2],t[1]=Math.imul(t[1],5)+197830471,n[2]=Math.imul(n[2],l[2]),n[2]=u(n[2],17),n[2]=Math.imul(n[2],l[3]),t[2]=t[2]^n[2],t[2]=u(t[2],15),t[2]=t[2]+t[3],t[2]=Math.imul(t[2],5)+2530024501,n[3]=Math.imul(n[3],l[3]),n[3]=u(n[3],18),n[3]=Math.imul(n[3],l[0]),t[3]=t[3]^n[3],t[3]=u(t[3],13),t[3]=t[3]+t[0],t[3]=Math.imul(t[3],5)+850148119}}(e,o),function(e,t){const n=e.byteLength/16|0,o=e.byteLength%16,r=new Uint32Array(4),i=new Uint8Array(e,16*n,o);switch(o){case 15:r[3]=r[3]^i[14]<<16;case 14:r[3]=r[3]^i[13]<<8;case 13:r[3]=r[3]^i[12],r[3]=Math.imul(r[3],l[3]),r[3]=u(r[3],18),r[3]=Math.imul(r[3],l[0]),t[3]=t[3]^r[3];case 12:r[2]=r[2]^i[11]<<24;case 11:r[2]=r[2]^i[10]<<16;case 10:r[2]=r[2]^i[9]<<8;case 9:r[2]=r[2]^i[8],r[2]=Math.imul(r[2],l[2]),r[2]=u(r[2],17),r[2]=Math.imul(r[2],l[3]),t[2]=t[2]^r[2];case 8:r[1]=r[1]^i[7]<<24;case 7:r[1]=r[1]^i[6]<<16;case 6:r[1]=r[1]^i[5]<<8;case 5:r[1]=r[1]^i[4],r[1]=Math.imul(r[1],l[1]),r[1]=u(r[1],16),r[1]=Math.imul(r[1],l[2]),t[1]=t[1]^r[1];case 4:r[0]=r[0]^i[3]<<24;case 3:r[0]=r[0]^i[2]<<16;case 2:r[0]=r[0]^i[1]<<8;case 1:r[0]=r[0]^i[0],r[0]=Math.imul(r[0],l[0]),r[0]=u(r[0],15),r[0]=Math.imul(r[0],l[1]),t[0]=t[0]^r[0]}}(e,o),function(e,t){t[0]=t[0]^e.byteLength,t[1]=t[1]^e.byteLength,t[2]=t[2]^e.byteLength,t[3]=t[3]^e.byteLength,t[0]=t[0]+t[1]|0,t[0]=t[0]+t[2]|0,t[0]=t[0]+t[3]|0,t[1]=t[1]+t[0]|0,t[2]=t[2]+t[0]|0,t[3]=t[3]+t[0]|0,t[0]=c(t[0]),t[1]=c(t[1]),t[2]=c(t[2]),t[3]=c(t[3]),t[0]=t[0]+t[1]|0,t[0]=t[0]+t[2]|0,t[0]=t[0]+t[3]|0,t[1]=t[1]+t[0]|0,t[2]=t[2]+t[0]|0,t[3]=t[3]+t[0]|0}(e,o);const r=new Uint8Array(o.buffer);return Array.from(r).map((e=>e.toString(16).padStart(2,"0"))).join("")}const d=280;function h(e,t){return new Promise((n=>setTimeout(n,e,t)))}const f=["Arial","Arial Black","Arial Narrow","Arial Rounded MT","Arimo","Archivo","Barlow","Bebas Neue","Bitter","Bookman","Calibri","Cabin","Candara","Century","Century Gothic","Comic Sans MS","Constantia","Courier","Courier New","Crimson Text","DM Mono","DM Sans","DM Serif Display","DM Serif Text","Dosis","Droid Sans","Exo","Fira Code","Fira Sans","Franklin Gothic Medium","Garamond","Geneva","Georgia","Gill Sans","Helvetica","Impact","Inconsolata","Indie Flower","Inter","Josefin Sans","Karla","Lato","Lexend","Lucida Bright","Lucida Console","Lucida Sans Unicode","Manrope","Merriweather","Merriweather Sans","Montserrat","Myriad","Noto Sans","Nunito","Nunito Sans","Open Sans","Optima","Orbitron","Oswald","Pacifico","Palatino","Perpetua","PT Sans","PT Serif","Poppins","Prompt","Public Sans","Quicksand","Rajdhani","Recursive","Roboto","Roboto Condensed","Rockwell","Rubik","Segoe Print","Segoe Script","Segoe UI","Sora","Source Sans Pro","Space Mono","Tahoma","Taviraj","Times","Times New Roman","Titillium Web","Trebuchet MS","Ubuntu","Varela Round","Verdana","Work Sans"],p=["monospace","sans-serif","serif"];function g(e,t){if(!e)throw new Error("Canvas context not supported");return e.font=`72px ${t}`,e.measureText("WwMmLli0Oo").width}function w(){var e;const t=document.createElement("canvas"),n=null!==(e=t.getContext("webgl"))&&void 0!==e?e:t.getContext("experimental-webgl");if(n&&"getParameter"in n)try{const e=(n.getParameter(n.VENDOR)||"").toString(),t=(n.getParameter(n.RENDERER)||"").toString();let o={vendor:e,renderer:t,version:(n.getParameter(n.VERSION)||"").toString(),shadingLanguageVersion:(n.getParameter(n.SHADING_LANGUAGE_VERSION)||"").toString()};if(!t.length||!e.length){const e=n.getExtension("WEBGL_debug_renderer_info");if(e){const t=(n.getParameter(e.UNMASKED_VENDOR_WEBGL)||"").toString(),r=(n.getParameter(e.UNMASKED_RENDERER_WEBGL)||"").toString();t&&(o.vendorUnmasked=t),r&&(o.rendererUnmasked=r)}}return o}catch(e){}return"undefined"}function v(){const e=new Float32Array(1),t=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],t[3]}const y=(e,t,n,o)=>{const r=(n-t)/o;let i=0;for(let n=0;n<o;n++){i+=e(t+(n+.5)*r)}return i*r};function b(e,t){const n={};return t.forEach((t=>{const o=function(e){if(0===e.length)return null;const t={};e.forEach((e=>{const n=String(e);t[n]=(t[n]||0)+1}));let n=e[0],o=1;return Object.keys(t).forEach((e=>{t[e]>o&&(n=e,o=t[e])})),n}(e.map((e=>t in e?e[t]:void 0)).filter((e=>void 0!==e)));o&&(n[t]=o)})),n}const S=["accelerometer","accessibility","accessibility-events","ambient-light-sensor","background-fetch","background-sync","bluetooth","camera","clipboard-read","clipboard-write","device-info","display-capture","gyroscope","geolocation","local-fonts","magnetometer","microphone","midi","nfc","notifications","payment-handler","persistent-storage","push","speaker","storage-access","top-level-storage-access","window-management","query"];function M(){var e,t,n,o,r,i;if("undefined"==typeof navigator)return{name:"unknown",version:"unknown"};const a=navigator.userAgent,s=[/(?<name>SamsungBrowser)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>EdgA|EdgiOS|Edg)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>OPR|OPX)\/(?<version>\d+(?:\.\d+)+)/,/Opera[\s\/](?<version>\d+(?:\.\d+)+)/,/Opera Mini\/(?<version>\d+(?:\.\d+)+)/,/Opera Mobi\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Vivaldi)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Brave)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>CriOS)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>FxiOS)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Chrome|Chromium)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Firefox|Waterfox|Iceweasel|IceCat)\/(?<version>\d+(?:\.\d+)+)/,/Version\/(?<version1>[\d.]+).*Safari\/[\d.]+|(?<name>Safari)\/(?<version2>[\d.]+)/,/(?<name>MSIE|Trident|IEMobile).+?(?<version>\d+(?:\.\d+)+)/,/(?<name>[A-Za-z]+)\/(?<version>\d+(?:\.\d+)+)/],c={edg:"Edge",edga:"Edge",edgios:"Edge",opr:"Opera",opx:"Opera",crios:"Chrome",fxios:"Firefox",samsung:"SamsungBrowser",vivaldi:"Vivaldi",brave:"Brave"};for(const l of s){const s=a.match(l);if(s){let a=null===(e=s.groups)||void 0===e?void 0:e.name,u=(null===(t=s.groups)||void 0===t?void 0:t.version)||(null===(n=s.groups)||void 0===n?void 0:n.version1)||(null===(o=s.groups)||void 0===o?void 0:o.version2);if(a||!(null===(r=s.groups)||void 0===r?void 0:r.version1)&&!(null===(i=s.groups)||void 0===i?void 0:i.version2)||(a="Safari"),!a&&l.source.includes("Opera Mini")&&(a="Opera Mini"),!a&&l.source.includes("Opera Mobi")&&(a="Opera Mobi"),!a&&l.source.includes("Opera")&&(a="Opera"),!a&&s[1]&&(a=s[1]),!u&&s[2]&&(u=s[2]),a){return{name:c[a.toLowerCase()]||a,version:u||"unknown"}}}}return{name:"unknown",version:"unknown"}}function P(){if("undefined"==typeof navigator||!navigator.userAgent)return!1;const e=navigator.userAgent;return/Mobi|Android|iPhone|iPod|IEMobile|Opera Mini|Opera Mobi|webOS|BlackBerry|Windows Phone/i.test(e)&&!/iPad/i.test(e)}function E(){let e=[];const t={"prefers-contrast":["high","more","low","less","forced","no-preference"],"any-hover":["hover","none"],"any-pointer":["none","coarse","fine"],pointer:["none","coarse","fine"],hover:["hover","none"],update:["fast","slow"],"inverted-colors":["inverted","none"],"prefers-reduced-motion":["reduce","no-preference"],"prefers-reduced-transparency":["reduce","no-preference"],scripting:["none","initial-only","enabled"],"forced-colors":["active","none"]};return Object.keys(t).forEach((n=>{t[n].forEach((t=>{matchMedia(`(${n}: ${t})`).matches&&e.push(`${n}: ${t}`)}))})),e}function x(){if("https:"===window.location.protocol&&"function"==typeof window.ApplePaySession)try{const e=window.ApplePaySession.supportsVersion;for(let t=15;t>0;t--)if(e(t))return t}catch(e){return 0}return 0}const C="SamsungBrowser"!==M().name?1:3;let A,T=null;const I=["𝔄","𝔅","ℭ","𝔇","𝔈","𝔉","𝔸","𝔹","ℂ","𝔻","𝔼","𝔽"],k=["β","ψ","λ","ε","ζ","α","ξ","μ","ρ","φ","κ","τ","η","σ","ι","ω","γ","ν","χ","δ","θ","π","υ","ο"];function R(e,t){return`<math><mrow>${t}</mrow></math>`}function O(){let e="<mo>∏</mo>";return I.forEach(((t,n)=>{const o=2*n,r=k.slice(o,o+2);2===r.length&&(e+=`<mmultiscripts><mi>${t}</mi><none/><mi>${r[1]}</mi><mprescripts></mprescripts><mi>${r[0]}</mi><none/></mmultiscripts>`)})),R(0,`<munderover><mmultiscripts>${e}</mmultiscripts></munderover>`)}function L(){const e=[];return I.forEach(((t,n)=>{const o=2*n,r=k.slice(o,o+2);2===r.length&&e.push(R(0,`<mmultiscripts><mi>${t}</mi><none/><mi>${r[1]}</mi><mprescripts></mprescripts><mi>${r[0]}</mi><none/></mmultiscripts>`))})),e}const _={audio:async function(){return async function(){return new Promise(((e,t)=>{try{const t=44100,n=5e3,o=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,n,t),r=o.createBufferSource(),a=o.createOscillator();a.frequency.value=1e3;const s=o.createDynamicsCompressor();let c;s.threshold.value=-50,s.knee.value=40,s.ratio.value=12,s.attack.value=0,s.release.value=.2,a.connect(s),s.connect(o.destination),a.start(),o.oncomplete=t=>{c=t.renderedBuffer.getChannelData(0),e({sampleHash:i(c),maxChannels:o.destination.maxChannelCount,channelCountMode:r.channelCountMode})},o.startRendering()}catch(e){console.error("Error creating audio fingerprint:",e),t(e)}}))}()},canvas:async function(){return new Promise((e=>{const t=Array.from({length:3},(()=>function(){const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)return new ImageData(1,1);e.width=d,e.height=20;const n=t.createLinearGradient(0,0,e.width,e.height);n.addColorStop(0,"red"),n.addColorStop(1/6,"orange"),n.addColorStop(2/6,"yellow"),n.addColorStop(.5,"green"),n.addColorStop(4/6,"blue"),n.addColorStop(5/6,"indigo"),n.addColorStop(1,"violet"),t.fillStyle=n,t.fillRect(0,0,e.width,e.height);const o="Random Text WMwmil10Oo";t.font="23.123px Arial",t.fillStyle="black",t.fillText(o,-5,15),t.fillStyle="rgba(0, 0, 255, 0.5)",t.fillText(o,-3.3,17.7),t.beginPath(),t.moveTo(0,0),t.lineTo(2*e.width/7,e.height),t.strokeStyle="white",t.lineWidth=2,t.stroke();const r=t.getImageData(0,0,e.width,e.height);return r}()));e({commonPixelsHash:m(a(t,d,20).data.toString()).toString()})}))},fonts:async function(e){return new Promise(((e,t)=>{try{!async function(e){for(var t;!document.body;)await h(50);const n=document.createElement("iframe");n.setAttribute("frameBorder","0");const o=n.style;o.setProperty("position","fixed"),o.setProperty("display","block","important"),o.setProperty("visibility","visible"),o.setProperty("border","0"),o.setProperty("opacity","0"),n.src="about:blank",document.body.appendChild(n);const r=n.contentDocument||(null===(t=n.contentWindow)||void 0===t?void 0:t.document);if(!r)throw new Error("Iframe document is not accessible");e({iframe:r}),setTimeout((()=>{document.body.removeChild(n)}),0)}((async({iframe:t})=>{const n=t.createElement("canvas").getContext("2d"),o=p.map((e=>g(n,e)));let r={};f.forEach((e=>{const t=g(n,e);o.includes(t)||(r[e]=t)})),e(r)}))}catch(e){t({error:"unsupported"})}}))},hardware:function(){return new Promise(((e,t)=>{const n=void 0!==navigator.deviceMemory?navigator.deviceMemory:0,o=window.performance&&window.performance.memory?window.performance.memory:0;e({videocard:w(),architecture:v(),deviceMemory:n.toString()||"undefined",jsHeapSizeLimit:o.jsHeapSizeLimit||0})}))},locales:function(){return new Promise((e=>{e({languages:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})}))},math:function(){return new Promise((e=>{e({acos:Math.acos(.5),asin:y(Math.asin,-1,1,97),cos:y(Math.cos,0,Math.PI,97),largeCos:Math.cos(1e20),largeSin:Math.sin(1e20),largeTan:Math.tan(1e20),sin:y(Math.sin,-Math.PI,Math.PI,97),tan:y(Math.tan,0,2*Math.PI,97)})}))},permissions:async function(e){let t=(null==e?void 0:e.permissions_to_check)||S;const n=Array.from({length:3},(()=>async function(e){const t={};for(const n of e)try{const e=await navigator.permissions.query({name:n});t[n]=e.state.toString()}catch(e){}return t}(t)));return Promise.all(n).then((e=>b(e,t)))},plugins:async function(){const e=[];if(navigator.plugins)for(let t=0;t<navigator.plugins.length;t++){const n=navigator.plugins[t];e.push([n.name,n.filename,n.description].join("|"))}return new Promise((t=>{t({plugins:e})}))},screen:function(){return new Promise((e=>{const t={is_touchscreen:navigator.maxTouchPoints>0,maxTouchPoints:navigator.maxTouchPoints,colorDepth:screen.colorDepth,mediaMatches:E()};P()&&navigator.maxTouchPoints>0&&(t.resolution=function(){const e=window.screen.width,t=window.screen.height,n=Math.max(e,t).toString(),o=Math.min(e,t).toString();return`${n}x${o}`}()),e(t)}))},system:function(){return new Promise((e=>{const t=M();e({platform:window.navigator.platform,productSub:navigator.productSub,product:navigator.product,useragent:navigator.userAgent,hardwareConcurrency:navigator.hardwareConcurrency,browser:{name:t.name,version:t.version},mobile:P(),applePayVersion:x(),cookieEnabled:window.navigator.cookieEnabled})}))},webgl:async function(){"undefined"!=typeof document&&(A=document.createElement("canvas"),A.width=200,A.height=100,T=A.getContext("webgl"));try{if(!T)throw new Error("WebGL not supported");const e=Array.from({length:C},(()=>function(){try{if(!T)throw new Error("WebGL not supported");const e="\n attribute vec2 position;\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n }\n ",t="\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color\n }\n ",n=T.createShader(T.VERTEX_SHADER),o=T.createShader(T.FRAGMENT_SHADER);if(!n||!o)throw new Error("Failed to create shaders");if(T.shaderSource(n,e),T.shaderSource(o,t),T.compileShader(n),!T.getShaderParameter(n,T.COMPILE_STATUS))throw new Error("Vertex shader compilation failed: "+T.getShaderInfoLog(n));if(T.compileShader(o),!T.getShaderParameter(o,T.COMPILE_STATUS))throw new Error("Fragment shader compilation failed: "+T.getShaderInfoLog(o));const r=T.createProgram();if(!r)throw new Error("Failed to create shader program");if(T.attachShader(r,n),T.attachShader(r,o),T.linkProgram(r),!T.getProgramParameter(r,T.LINK_STATUS))throw new Error("Shader program linking failed: "+T.getProgramInfoLog(r));T.useProgram(r);const i=137,a=new Float32Array(4*i),s=2*Math.PI/i;for(let e=0;e<i;e++){const t=e*s;a[4*e]=0,a[4*e+1]=0,a[4*e+2]=Math.cos(t)*(A.width/2),a[4*e+3]=Math.sin(t)*(A.height/2)}const c=T.createBuffer();T.bindBuffer(T.ARRAY_BUFFER,c),T.bufferData(T.ARRAY_BUFFER,a,T.STATIC_DRAW);const l=T.getAttribLocation(r,"position");T.enableVertexAttribArray(l),T.vertexAttribPointer(l,2,T.FLOAT,!1,0,0),T.viewport(0,0,A.width,A.height),T.clearColor(0,0,0,1),T.clear(T.COLOR_BUFFER_BIT),T.drawArrays(T.LINES,0,2*i);const u=new Uint8ClampedArray(A.width*A.height*4);T.readPixels(0,0,A.width,A.height,T.RGBA,T.UNSIGNED_BYTE,u);return new ImageData(u,A.width,A.height)}catch(e){return new ImageData(1,1)}finally{T&&(T.bindBuffer(T.ARRAY_BUFFER,null),T.useProgram(null),T.viewport(0,0,T.drawingBufferWidth,T.drawingBufferHeight),T.clearColor(0,0,0,0))}}()));return{commonPixelsHash:m(a(e,A.width,A.height).data.toString()).toString()}}catch(e){return{webgl:"unsupported"}}}},B={webrtc:async function(){return new Promise((e=>{try{const t=window.RTCPeerConnection||window.webkitRTCPeerConnection||window.mozRTCPeerConnection;if(!t)return void e({supported:!1,error:"WebRTC not supported"});const n=new t({iceCandidatePoolSize:1,iceServers:[]});n.createDataChannel("");(async()=>{try{const t={offerToReceiveAudio:!0,offerToReceiveVideo:!0},o=await n.createOffer(t);await n.setLocalDescription(o);const r=o.sdp||"",i=[...new Set((r.match(/extmap:\d+ [^\n\r]+/g)||[]).map((e=>e.replace(/extmap:\d+ /,""))))].sort(),a=e=>{const t=r.match(new RegExp(`m=${e} [^\\s]+ [^\\s]+ ([^\\n\\r]+)`));return t?t[1].split(" "):[]},s=(e,t)=>t.map((t=>{const n=new RegExp(`(rtpmap|fmtp|rtcp-fb):${t} (.+)`,"g"),o=[...r.matchAll(n)];if(!o.length)return null;const i={};return o.forEach((t=>{const[n,o,r]=t,a=r.split("/");"rtpmap"===o?(i.mimeType=`${e}/${a[0]}`,i.clockRate=+a[1],"audio"===e&&(i.channels=+a[2]||1)):"rtcp-fb"===o?(i.feedbackSupport=i.feedbackSupport||[],i.feedbackSupport.push(r)):"fmtp"===o&&(i.sdpFmtpLine=r)})),i})).filter(Boolean),c={audio:s("audio",a("audio")),video:s("video",a("video"))},l=await new Promise((e=>{const t=setTimeout((()=>{n.removeEventListener("icecandidate",o),n.close(),e({supported:!0,codecsSdp:c,extensions:i,timeout:!0})}),3e3),o=r=>{const a=r.candidate;a&&a.candidate&&(clearTimeout(t),n.removeEventListener("icecandidate",o),n.close(),e({supported:!0,codecsSdp:c,extensions:i,candidateType:a.type||""}))};n.addEventListener("icecandidate",o)}));e({hash:m(JSON.stringify(l))})}catch(t){n.close(),e({supported:!0,error:`WebRTC offer failed: ${t.message}`})}})()}catch(t){e({supported:!1,error:`WebRTC error: ${t.message}`})}}))},mathml:async function(){return new Promise((e=>{try{if(!function(){try{const e=document.createElement("math");e.innerHTML="<mrow><mi>x</mi></mrow>",e.style.position="absolute",e.style.visibility="hidden",document.body.appendChild(e);const t=e.getBoundingClientRect();return document.body.removeChild(e),t.width>0&&t.height>0}catch(e){return!1}}())return void e({supported:!1,error:"MathML not supported"});const t=[R("integral","<msubsup><mo>∫</mo><mi>a</mi><mi>b</mi></msubsup><mfrac><mrow><mi>f</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mrow><mi>g</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mfrac><mi>dx</mi>"),R("fraction","<mfrac><mrow><mi>π</mi><mo>×</mo><msup><mi>r</mi><mn>2</mn></msup></mrow><mrow><mn>2</mn><mi>σ</mi></mrow></mfrac>"),R("matrix","<mo>[</mo><mtable><mtr><mtd><mi>α</mi></mtd><mtd><mi>β</mi></mtd></mtr><mtr><mtd><mi>γ</mi></mtd><mtd><mi>δ</mi></mtd></mtr></mtable><mo>]</mo>"),O(),...L()],n={};t.forEach(((e,t)=>{n[`struct_${t}`]=function(e){try{const t=document.createElement("math");t.innerHTML=e.replace(/<\/?math>/g,""),t.style.whiteSpace="nowrap",t.style.position="absolute",t.style.visibility="hidden",t.style.top="-9999px",document.body.appendChild(t);const n=t.getBoundingClientRect(),o=window.getComputedStyle(t),r={dimensions:{width:n.width,height:n.height},fontInfo:{fontFamily:o.fontFamily,fontSize:o.fontSize,fontWeight:o.fontWeight,fontStyle:o.fontStyle,lineHeight:o.lineHeight,fontVariant:o.fontVariant||"normal",fontStretch:o.fontStretch||"normal",fontSizeAdjust:o.fontSizeAdjust||"none",textRendering:o.textRendering||"auto",fontFeatureSettings:o.fontFeatureSettings||"normal",fontVariantNumeric:o.fontVariantNumeric||"normal",fontKerning:o.fontKerning||"auto"}};return document.body.removeChild(t),r}catch(e){return{error:e.message}}}(e)})),e({hash:m(JSON.stringify(n))})}catch(t){e({supported:!1,error:`MathML error: ${t.message}`})}}))}},D={},N={timeout:"true"},F=(e,t,n)=>{D[e]=t};function $(){return"1.3.3"}function U(e,t){var n;let o=M();if("unknown"===o.name&&e.system&&"object"==typeof e.system&&!Array.isArray(e.system)){const t=e.system.browser;if(t&&"object"==typeof t&&!Array.isArray(t)){const e=t;o={name:e.name||"unknown",version:e.version||"unknown"}}}const i=o.name.toLowerCase(),a=o.version.split(".")[0]||"0",s=parseInt(a,10),c=[...(null==t?void 0:t.exclude)||[]],l=(null==t?void 0:t.stabilize)||[],u=(null==t?void 0:t.include)||[];for(const e of l){const t=r[e];if(t)for(const e of t){const t=!("browsers"in e),o=!t&&(null===(n=e.browsers)||void 0===n?void 0:n.some((e=>{const t=e.match(/(.+?)(>=)(\d+)/);if(t){const[,e,,n]=t,o=parseInt(n,10);return i===e&&s>=o}return i===e})));(t||o)&&c.push(...e.exclude)}}return function e(t,n=""){const o={};for(const[r,i]of Object.entries(t)){const t=n?`${n}.${r}`:r;if("object"!=typeof i||Array.isArray(i)||null===i){const e=c.some((e=>t.startsWith(e))),n=u.some((e=>t.startsWith(e)));e&&!n||(o[r]=i)}else{const n=e(i,t);Object.keys(n).length>0&&(o[r]=n)}}return o}(e)}const V="thumbmark_visitor_id";let j=null,W=null;const G=(t,n)=>{if(t.cache_api_call&&W)return Promise.resolve(W);if(j)return j;const o=`${e}/thumbmark`,r=function(){try{return localStorage.getItem(V)}catch(e){return null}}(),i={components:n,options:t,clientHash:m(JSON.stringify(n)),version:"1.3.3"};r&&(i.visitorId=r);const a=fetch(o,{method:"POST",headers:{"x-api-key":t.api_key,Authorization:"custom-authorized","Content-Type":"application/json"},body:JSON.stringify(i)}).then((e=>{if(!e.ok){if(403===e.status)throw new Error("INVALID_API_KEY");throw new Error(`HTTP error! status: ${e.status}`)}return e.json()})).then((e=>(e.visitorId&&e.visitorId!==r&&function(e){try{localStorage.setItem(V,e)}catch(e){}}(e.visitorId),W=e,j=null,e))).catch((e=>{if(console.error("Error fetching pro data",e),j=null,"INVALID_API_KEY"===e.message)throw e;return null})),s=t.timeout||5e3,c=new Promise((e=>{setTimeout((()=>{e({info:{timed_out:!0},version:"1.3.3"})}),s)}));return j=Promise.race([a,c]),j};async function H(n){const o={...t,...n},r=o.logging&&!sessionStorage.getItem("_tmjs_l")&&Math.random()<1e-4,i={..._,...D},{elapsed:a,resolvedComponents:s}=await z(i,o);let c={};if(r||o.experimental){const{resolvedComponents:e}=await z(B,o);c=e}const l=o.api_key?G(o,s):null;let u=null;if(l)try{u=await l}catch(e){if(e instanceof Error&&"INVALID_API_KEY"===e.message)return{error:"Invalid API key or quota exceeded",components:{},info:{},version:"1.3.3",thumbmark:""};throw e}const d=o.performance?{elapsed:a}:{},h=U((null==u?void 0:u.components)||{},o),f={...s,...h},p=(null==u?void 0:u.info)||{uniqueness:{score:"api only"}},g=m(JSON.stringify(f));r&&async function(t,n,o,r={}){var i;const a=`${e}/log`,s={thumbmark:t,components:n,experimental:r,version:"1.3.3",options:o,path:null===(i=null===window||void 0===window?void 0:window.location)||void 0===i?void 0:i.pathname};sessionStorage.setItem("_tmjs_l","1");try{await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)})}catch(e){}}(g,f,o,c).catch((()=>{}));return{...(null==u?void 0:u.visitorId)&&{visitorId:u.visitorId},thumbmark:g,components:f,info:p,version:"1.3.3",...d,...Object.keys(c).length>0&&o.experimental&&{experimental:c}}}async function z(e,n){const o={...t,...n},r=Object.entries(e).filter((([e])=>{var t;return!(null===(t=null==o?void 0:o.exclude)||void 0===t?void 0:t.includes(e))})).filter((([e])=>{var t,n,r,i;return(null===(t=null==o?void 0:o.include)||void 0===t?void 0:t.some((e=>e.includes("."))))?null===(n=null==o?void 0:o.include)||void 0===n?void 0:n.some((t=>t.startsWith(e))):0===(null===(r=null==o?void 0:o.include)||void 0===r?void 0:r.length)||(null===(i=null==o?void 0:o.include)||void 0===i?void 0:i.includes(e))})),i=r.map((([e])=>e)),a=r.map((([e,t])=>t(n))),s=await function(e,t,n){return Promise.all(e.map((e=>{const o=performance.now();return Promise.race([e.then((e=>({value:e,elapsed:performance.now()-o}))),(r=t,i=n,new Promise((e=>{setTimeout((()=>e(i)),r)}))).then((e=>({value:e,elapsed:performance.now()-o})))]);var r,i})))}(a,(null==o?void 0:o.timeout)||5e3,N),c={},l={};s.forEach(((e,t)=>{var n;null!=e.value&&(l[i[t]]=e.value,c[i[t]]=null!==(n=e.elapsed)&&void 0!==n?n:0)}));const u=U(l,o);return{elapsed:c,resolvedComponents:u}}async function K(){return(await H(n)).components}async function J(e){try{const t=await H(n);return e?{hash:t.thumbmark.toString(),data:t.components}:t.thumbmark.toString()}catch(e){throw e}}async function Y(){try{const{elapsed:e,resolvedComponents:t}=await z(_,n);return{...t,elapsed:e}}catch(e){throw e}}class q{constructor(e){this.options={...t,...e}}async get(e){return H({...this.options,...e})}getVersion(){return"1.3.3"}includeComponent(e,t){F(e,t)}}export{q as Thumbmark,U as filterThumbmarkData,J as getFingerprint,K as getFingerprintData,Y as getFingerprintPerformance,H as getThumbmark,$ as getVersion,F as includeComponent,o as setOption,r as stabilizationExclusionRules};
|
|
2
2
|
//# sourceMappingURL=thumbmark.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thumbmark.esm.js","sources":["../src/options.ts","../src/components/audio/index.ts","../src/utils/commonPixels.ts","../src/utils/hash.ts","../src/components/canvas/index.ts","../src/utils/ephemeralIFrame.ts","../src/components/fonts/index.ts","../src/components/hardware/index.ts","../src/components/math/index.ts","../src/utils/getMostFrequent.ts","../src/components/permissions/index.ts","../src/components/system/browser.ts","../src/components/screen/index.ts","../src/components/system/index.ts","../src/components/webgl/index.ts","../src/components/mathml/index.ts","../src/factory.ts","../src/components/locales/index.ts","../src/components/plugins/index.ts","../src/components/webrtc/index.ts","../src/utils/version.ts","../src/functions/filterComponents.ts","../src/utils/visitorId.ts","../src/functions/api.ts","../src/functions/index.ts","../src/utils/log.ts","../src/utils/raceAll.ts","../src/functions/legacy_functions.ts","../src/thumbmark.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["API_ENDPOINT","defaultOptions","exclude","include","stabilize","logging","timeout","cache_api_call","performance","experimental","options","setOption","key","value","stabilizationExclusionRules","private","browsers","iframe","vpn","calculateHash","samples","hash","i","length","Math","abs","getCommonPixels","images","width","height","finalData","data","indice","u","push","getMostFrequent","pixelArray","Uint8ClampedArray","ImageData","arr","frequencyMap","num","mostFrequent","parseInt","fmix","input","imul","C","Uint32Array","rotl","m","n","seed","text","TextEncoder","encode","buffer","ArrayBuffer","TypeError","blocks","byteLength","view32","k","subarray","body","reminder","tail","Uint8Array","finalize","byteArray","Array","from","map","byte","toString","padStart","join","_WIDTH","wait","durationMs","resolveWith","Promise","resolve","setTimeout","availableFonts","baseFonts","measureSingleFont","ctx","font","Error","measureText","getVideoCard","canvas","document","createElement","gl","_a","getContext","undefined","vendor","getParameter","VENDOR","renderer","RENDERER","result","version","VERSION","shadingLanguageVersion","SHADING_LANGUAGE_VERSION","debugInfo","getExtension","vendorUnmasked","UNMASKED_VENDOR_WEBGL","rendererUnmasked","UNMASKED_RENDERER_WEBGL","error","getArchitecture","f","Float32Array","u8","Infinity","integrate","a","b","h","sum","mostFrequentValuesInArrayOfDictionaries","keys","forEach","mostFrequentValueForKey","element","String","highestFrequency","Object","mostFrequentValue","obj","filter","val","defaultPermissionKeys","getBrowser","navigator","name","ua","userAgent","regexes","browserNameMap","edg","edga","edgios","opr","opx","crios","fxios","samsung","vivaldi","brave","regex","match","groups","_b","_c","version1","_d","version2","_e","_f","source","includes","toLowerCase","isMobileUserAgent","test","matchMedias","results","mediaQueries","pointer","hover","update","scripting","matchMedia","matches","getApplePayVersion","window","location","protocol","ApplePaySession","versionCheck","supportsVersion","_RUNS","BLACKBOARD_BOLD","GREEK_SYMBOLS","createMathML","content","createComplexNestedStructure","nestedContent","bbSymbol","bbIndex","startIdx","greekSet","slice","createSymbolStructures","structures","tm_component_promises","audio","async","reject","sampleRate","numSamples","audioContext","OfflineAudioContext","webkitOfflineAudioContext","audioBuffer","createBufferSource","oscillator","createOscillator","frequency","compressor","createDynamicsCompressor","threshold","knee","ratio","attack","release","connect","destination","start","oncomplete","event","renderedBuffer","getChannelData","sampleHash","maxChannels","maxChannelCount","channelCountMode","startRendering","console","createAudioFingerprint","imageDatas","gradient","createLinearGradient","addColorStop","fillStyle","fillRect","randomText","fillText","beginPath","moveTo","lineTo","strokeStyle","lineWidth","stroke","imageData","getImageData","generateCanvasImageData","commonPixelsHash","fonts","callback","setAttribute","style","setProperty","src","appendChild","iframeDocument","contentDocument","contentWindow","removeChild","ephemeralIFrame","defaultWidths","fontWidth","hardware","deviceMemory","memoryInfo","memory","videocard","architecture","jsHeapSizeLimit","locales","languages","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","math","acos","asin","cos","PI","largeCos","largeSin","sin","largeTan","tan","permissions","permission_keys","permissions_to_check","permissionPromises","permissionStatus","feature","status","query","state","getBrowserPermissionsOnce","all","then","resolvedPermissions","plugins","plugin","filename","description","screen","is_touchscreen","maxTouchPoints","colorDepth","mediaMatches","w","longer","max","shorter","min","screenResolution","system","browser","platform","productSub","product","useragent","hardwareConcurrency","mobile","applePayVersion","cookieEnabled","webgl","vertexShaderSource","fragmentShaderSource","vertexShader","createShader","VERTEX_SHADER","fragmentShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","useProgram","numSpokes","vertices","angleIncrement","angle","vertexBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","positionAttribute","getAttribLocation","enableVertexAttribArray","vertexAttribPointer","FLOAT","viewport","clearColor","clear","COLOR_BUFFER_BIT","drawArrays","LINES","pixelData","readPixels","RGBA","UNSIGNED_BYTE","drawingBufferWidth","drawingBufferHeight","createWebGLImageData","tm_experimental_component_promises","webrtc","RTCPeerConnection","webkitRTCPeerConnection","mozRTCPeerConnection","supported","connection","iceCandidatePoolSize","iceServers","createDataChannel","offerOptions","offerToReceiveAudio","offerToReceiveVideo","offer","createOffer","setLocalDescription","sdp","extensions","Set","x","replace","sort","getDescriptors","mediaType","RegExp","split","constructDescriptions","descriptors","descriptor","matcher","matchAll","_","type","parts","mimeType","clockRate","channels","feedbackSupport","sdpFmtpLine","Boolean","codecsSdp","video","resolveResult","removeEventListener","onIceCandidate","close","candidateObj","candidate","clearTimeout","candidateType","addEventListener","JSON","stringify","message","processOffer","mathml","testElement","innerHTML","position","visibility","rect","getBoundingClientRect","isMathMLSupported","measurements","struct","mathElement","whiteSpace","top","computedStyle","getComputedStyle","dimensions","fontInfo","fontFamily","fontSize","fontWeight","fontStyle","lineHeight","fontVariant","fontStretch","fontSizeAdjust","textRendering","fontFeatureSettings","fontVariantNumeric","fontKerning","measureMathMLStructure","customComponents","timeoutInstance","includeComponent","creationFunction","getVersion","filterThumbmarkData","isArray","browserInfo","browserComponent","ver","majorVer","excludeList","stabilizationOptions","includeList","option","rules","rule","appliesToAllBrowsers","browserMatch","some","browserRule","ruleName","ruleVersionStr","ruleVersion","performFilter","currentObj","path","entries","currentPath","isExcluded","exclusion","startsWith","isIncluded","inclusion","filtered","VISITOR_ID_KEY","currentApiPromise","apiPromiseResult","getApiPromise","components","endpoint","visitorId","localStorage","getItem","getVisitorId","requestBody","clientHash","fetchPromise","fetch","method","headers","api_key","Authorization","response","ok","json","setItem","setVisitorId","catch","timeoutMs","timeoutPromise","info","timed_out","race","getThumbmark","_options","shouldLog","sessionStorage","random","allComponents","elapsed","resolvedComponents","clientComponentsResult","resolveClientComponents","experimentalComponents","apiPromise","apiResult","thumbmark","maybeElapsed","apiComponents","uniqueness","score","thisHash","thumbmarkData","experimentalData","url","payload","pathname","logThumbmarkData","comps","opts","e","promises","fn","resolvedValues","timeoutTime","timeoutVal","p","startTime","now","t","raceAllPerformance","resolvedComponentsRaw","index","getFingerprintData","getFingerprint","includeData","getFingerprintPerformance","Thumbmark","constructor","this","get","overrideOptions","globalIncludeComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"thumbmark.esm.js","sources":["../src/options.ts","../src/components/audio/index.ts","../src/utils/commonPixels.ts","../src/utils/hash.ts","../src/components/canvas/index.ts","../src/utils/ephemeralIFrame.ts","../src/components/fonts/index.ts","../src/components/hardware/index.ts","../src/components/math/index.ts","../src/utils/getMostFrequent.ts","../src/components/permissions/index.ts","../src/components/system/browser.ts","../src/components/screen/index.ts","../src/components/system/index.ts","../src/components/webgl/index.ts","../src/components/mathml/index.ts","../src/factory.ts","../src/components/locales/index.ts","../src/components/plugins/index.ts","../src/components/webrtc/index.ts","../src/utils/version.ts","../src/functions/filterComponents.ts","../src/utils/visitorId.ts","../src/functions/api.ts","../src/functions/index.ts","../src/utils/log.ts","../src/utils/raceAll.ts","../src/functions/legacy_functions.ts","../src/thumbmark.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["API_ENDPOINT","defaultOptions","exclude","include","stabilize","logging","timeout","cache_api_call","performance","experimental","options","setOption","key","value","stabilizationExclusionRules","private","browsers","iframe","vpn","calculateHash","samples","hash","i","length","Math","abs","getCommonPixels","images","width","height","finalData","data","indice","u","push","getMostFrequent","pixelArray","Uint8ClampedArray","ImageData","arr","frequencyMap","num","mostFrequent","parseInt","fmix","input","imul","C","Uint32Array","rotl","m","n","seed","text","TextEncoder","encode","buffer","ArrayBuffer","TypeError","blocks","byteLength","view32","k","subarray","body","reminder","tail","Uint8Array","finalize","byteArray","Array","from","map","byte","toString","padStart","join","_WIDTH","wait","durationMs","resolveWith","Promise","resolve","setTimeout","availableFonts","baseFonts","measureSingleFont","ctx","font","Error","measureText","getVideoCard","canvas","document","createElement","gl","_a","getContext","undefined","vendor","getParameter","VENDOR","renderer","RENDERER","result","version","VERSION","shadingLanguageVersion","SHADING_LANGUAGE_VERSION","debugInfo","getExtension","vendorUnmasked","UNMASKED_VENDOR_WEBGL","rendererUnmasked","UNMASKED_RENDERER_WEBGL","error","getArchitecture","f","Float32Array","u8","Infinity","integrate","a","b","h","sum","mostFrequentValuesInArrayOfDictionaries","keys","forEach","mostFrequentValueForKey","element","String","highestFrequency","Object","mostFrequentValue","obj","filter","val","defaultPermissionKeys","getBrowser","navigator","name","ua","userAgent","regexes","browserNameMap","edg","edga","edgios","opr","opx","crios","fxios","samsung","vivaldi","brave","regex","match","groups","_b","_c","version1","_d","version2","_e","_f","source","includes","toLowerCase","isMobileUserAgent","test","matchMedias","results","mediaQueries","pointer","hover","update","scripting","matchMedia","matches","getApplePayVersion","window","location","protocol","ApplePaySession","versionCheck","supportsVersion","_RUNS","BLACKBOARD_BOLD","GREEK_SYMBOLS","createMathML","content","createComplexNestedStructure","nestedContent","bbSymbol","bbIndex","startIdx","greekSet","slice","createSymbolStructures","structures","tm_component_promises","audio","async","reject","sampleRate","numSamples","audioContext","OfflineAudioContext","webkitOfflineAudioContext","audioBuffer","createBufferSource","oscillator","createOscillator","frequency","compressor","createDynamicsCompressor","threshold","knee","ratio","attack","release","connect","destination","start","oncomplete","event","renderedBuffer","getChannelData","sampleHash","maxChannels","maxChannelCount","channelCountMode","startRendering","console","createAudioFingerprint","imageDatas","gradient","createLinearGradient","addColorStop","fillStyle","fillRect","randomText","fillText","beginPath","moveTo","lineTo","strokeStyle","lineWidth","stroke","imageData","getImageData","generateCanvasImageData","commonPixelsHash","fonts","callback","setAttribute","style","setProperty","src","appendChild","iframeDocument","contentDocument","contentWindow","removeChild","ephemeralIFrame","defaultWidths","fontWidth","hardware","deviceMemory","memoryInfo","memory","videocard","architecture","jsHeapSizeLimit","locales","languages","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","math","acos","asin","cos","PI","largeCos","largeSin","sin","largeTan","tan","permissions","permission_keys","permissions_to_check","permissionPromises","permissionStatus","feature","status","query","state","getBrowserPermissionsOnce","all","then","resolvedPermissions","plugins","plugin","filename","description","screen","is_touchscreen","maxTouchPoints","colorDepth","mediaMatches","w","longer","max","shorter","min","screenResolution","system","browser","platform","productSub","product","useragent","hardwareConcurrency","mobile","applePayVersion","cookieEnabled","webgl","vertexShaderSource","fragmentShaderSource","vertexShader","createShader","VERTEX_SHADER","fragmentShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","useProgram","numSpokes","vertices","angleIncrement","angle","vertexBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","positionAttribute","getAttribLocation","enableVertexAttribArray","vertexAttribPointer","FLOAT","viewport","clearColor","clear","COLOR_BUFFER_BIT","drawArrays","LINES","pixelData","readPixels","RGBA","UNSIGNED_BYTE","drawingBufferWidth","drawingBufferHeight","createWebGLImageData","tm_experimental_component_promises","webrtc","RTCPeerConnection","webkitRTCPeerConnection","mozRTCPeerConnection","supported","connection","iceCandidatePoolSize","iceServers","createDataChannel","offerOptions","offerToReceiveAudio","offerToReceiveVideo","offer","createOffer","setLocalDescription","sdp","extensions","Set","x","replace","sort","getDescriptors","mediaType","RegExp","split","constructDescriptions","descriptors","descriptor","matcher","matchAll","_","type","parts","mimeType","clockRate","channels","feedbackSupport","sdpFmtpLine","Boolean","codecsSdp","video","resolveResult","removeEventListener","onIceCandidate","close","candidateObj","candidate","clearTimeout","candidateType","addEventListener","JSON","stringify","message","processOffer","mathml","testElement","innerHTML","position","visibility","rect","getBoundingClientRect","isMathMLSupported","measurements","struct","mathElement","whiteSpace","top","computedStyle","getComputedStyle","dimensions","fontInfo","fontFamily","fontSize","fontWeight","fontStyle","lineHeight","fontVariant","fontStretch","fontSizeAdjust","textRendering","fontFeatureSettings","fontVariantNumeric","fontKerning","measureMathMLStructure","customComponents","timeoutInstance","includeComponent","creationFunction","getVersion","filterThumbmarkData","isArray","browserInfo","browserComponent","ver","majorVer","excludeList","stabilizationOptions","includeList","option","rules","rule","appliesToAllBrowsers","browserMatch","some","browserRule","ruleName","ruleVersionStr","ruleVersion","performFilter","currentObj","path","entries","currentPath","isExcluded","exclusion","startsWith","isIncluded","inclusion","filtered","VISITOR_ID_KEY","currentApiPromise","apiPromiseResult","getApiPromise","components","endpoint","visitorId","localStorage","getItem","getVisitorId","requestBody","clientHash","fetchPromise","fetch","method","headers","api_key","Authorization","response","ok","json","setItem","setVisitorId","catch","timeoutMs","timeoutPromise","info","timed_out","race","getThumbmark","_options","shouldLog","sessionStorage","random","allComponents","elapsed","resolvedComponents","clientComponentsResult","resolveClientComponents","experimentalComponents","apiPromise","apiResult","thumbmark","maybeElapsed","apiComponents","uniqueness","score","thisHash","thumbmarkData","experimentalData","url","payload","pathname","logThumbmarkData","comps","opts","e","promises","fn","resolvedValues","timeoutTime","timeoutVal","p","startTime","now","t","raceAllPerformance","resolvedComponentsRaw","index","getFingerprintData","getFingerprint","includeData","getFingerprintPerformance","Thumbmark","constructor","this","get","overrideOptions","globalIncludeComponent"],"mappings":"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"}
|
package/dist/thumbmark.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ThumbmarkJS={})}(this,(function(e){"use strict";const t="https://api.thumbmarkjs.com",n={exclude:[],include:[],stabilize:["private","iframe"],logging:!0,timeout:5e3,cache_api_call:!0,performance:!1,experimental:!1};let o={...n};const r={private:[{exclude:["canvas"],browsers:["firefox","safari>=17","brave"]},{exclude:["audio"],browsers:["samsungbrowser","safari"]},{exclude:["fonts"],browsers:["firefox"]},{exclude:["audio.sampleHash","hardware.deviceMemory","header.acceptLanguage.q","system.hardwareConcurrency","plugins"],browsers:["brave"]},{exclude:["tls.extensions"],browsers:["firefox","chrome","safari"]},{exclude:["header.acceptLanguage"],browsers:["edge","chrome"]}],iframe:[{exclude:["permissions.camera","permission.geolocation","permissions.microphone","system.applePayVersion","system.cookieEnabled"],browsers:["safari"]}],vpn:[{exclude:["ip"]}]};function i(e){let t=0;for(let n=0;n<e.length;++n)t+=Math.abs(e[n]);return t}function a(e,t,n){let o=[];for(let t=0;t<e[0].data.length;t++){let n=[];for(let o=0;o<e.length;o++)n.push(e[o].data[t]);o.push(s(n))}const r=new Uint8ClampedArray(o);return new ImageData(r,t,n)}function s(e){if(0===e.length)return 0;const t={};for(const n of e)t[n]=(t[n]||0)+1;let n=e[0];for(const e in t)t[e]>t[n]&&(n=parseInt(e,10));return n}function c(e){return e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),(e^=e>>>16)>>>0}const l=new Uint32Array([597399067,2869860233,951274213,2716044179]);function u(e,t){return e<<t|e>>>32-t}function m(e,t=0){var n;if(t=t?0|t:0,"string"==typeof e&&(n=e,e=(new TextEncoder).encode(n).buffer),!(e instanceof ArrayBuffer))throw new TypeError("Expected key to be ArrayBuffer or string");const o=new Uint32Array([t,t,t,t]);!function(e,t){const n=e.byteLength/16|0,o=new Uint32Array(e,0,4*n);for(let e=0;e<n;e++){const n=o.subarray(4*e,4*(e+1));n[0]=Math.imul(n[0],l[0]),n[0]=u(n[0],15),n[0]=Math.imul(n[0],l[1]),t[0]=t[0]^n[0],t[0]=u(t[0],19),t[0]=t[0]+t[1],t[0]=Math.imul(t[0],5)+1444728091,n[1]=Math.imul(n[1],l[1]),n[1]=u(n[1],16),n[1]=Math.imul(n[1],l[2]),t[1]=t[1]^n[1],t[1]=u(t[1],17),t[1]=t[1]+t[2],t[1]=Math.imul(t[1],5)+197830471,n[2]=Math.imul(n[2],l[2]),n[2]=u(n[2],17),n[2]=Math.imul(n[2],l[3]),t[2]=t[2]^n[2],t[2]=u(t[2],15),t[2]=t[2]+t[3],t[2]=Math.imul(t[2],5)+2530024501,n[3]=Math.imul(n[3],l[3]),n[3]=u(n[3],18),n[3]=Math.imul(n[3],l[0]),t[3]=t[3]^n[3],t[3]=u(t[3],13),t[3]=t[3]+t[0],t[3]=Math.imul(t[3],5)+850148119}}(e,o),function(e,t){const n=e.byteLength/16|0,o=e.byteLength%16,r=new Uint32Array(4),i=new Uint8Array(e,16*n,o);switch(o){case 15:r[3]=r[3]^i[14]<<16;case 14:r[3]=r[3]^i[13]<<8;case 13:r[3]=r[3]^i[12],r[3]=Math.imul(r[3],l[3]),r[3]=u(r[3],18),r[3]=Math.imul(r[3],l[0]),t[3]=t[3]^r[3];case 12:r[2]=r[2]^i[11]<<24;case 11:r[2]=r[2]^i[10]<<16;case 10:r[2]=r[2]^i[9]<<8;case 9:r[2]=r[2]^i[8],r[2]=Math.imul(r[2],l[2]),r[2]=u(r[2],17),r[2]=Math.imul(r[2],l[3]),t[2]=t[2]^r[2];case 8:r[1]=r[1]^i[7]<<24;case 7:r[1]=r[1]^i[6]<<16;case 6:r[1]=r[1]^i[5]<<8;case 5:r[1]=r[1]^i[4],r[1]=Math.imul(r[1],l[1]),r[1]=u(r[1],16),r[1]=Math.imul(r[1],l[2]),t[1]=t[1]^r[1];case 4:r[0]=r[0]^i[3]<<24;case 3:r[0]=r[0]^i[2]<<16;case 2:r[0]=r[0]^i[1]<<8;case 1:r[0]=r[0]^i[0],r[0]=Math.imul(r[0],l[0]),r[0]=u(r[0],15),r[0]=Math.imul(r[0],l[1]),t[0]=t[0]^r[0]}}(e,o),function(e,t){t[0]=t[0]^e.byteLength,t[1]=t[1]^e.byteLength,t[2]=t[2]^e.byteLength,t[3]=t[3]^e.byteLength,t[0]=t[0]+t[1]|0,t[0]=t[0]+t[2]|0,t[0]=t[0]+t[3]|0,t[1]=t[1]+t[0]|0,t[2]=t[2]+t[0]|0,t[3]=t[3]+t[0]|0,t[0]=c(t[0]),t[1]=c(t[1]),t[2]=c(t[2]),t[3]=c(t[3]),t[0]=t[0]+t[1]|0,t[0]=t[0]+t[2]|0,t[0]=t[0]+t[3]|0,t[1]=t[1]+t[0]|0,t[2]=t[2]+t[0]|0,t[3]=t[3]+t[0]|0}(e,o);const r=new Uint8Array(o.buffer);return Array.from(r).map((e=>e.toString(16).padStart(2,"0"))).join("")}const d=280;function f(e,t){return new Promise((n=>setTimeout(n,e,t)))}const h=["Arial","Arial Black","Arial Narrow","Arial Rounded MT","Arimo","Archivo","Barlow","Bebas Neue","Bitter","Bookman","Calibri","Cabin","Candara","Century","Century Gothic","Comic Sans MS","Constantia","Courier","Courier New","Crimson Text","DM Mono","DM Sans","DM Serif Display","DM Serif Text","Dosis","Droid Sans","Exo","Fira Code","Fira Sans","Franklin Gothic Medium","Garamond","Geneva","Georgia","Gill Sans","Helvetica","Impact","Inconsolata","Indie Flower","Inter","Josefin Sans","Karla","Lato","Lexend","Lucida Bright","Lucida Console","Lucida Sans Unicode","Manrope","Merriweather","Merriweather Sans","Montserrat","Myriad","Noto Sans","Nunito","Nunito Sans","Open Sans","Optima","Orbitron","Oswald","Pacifico","Palatino","Perpetua","PT Sans","PT Serif","Poppins","Prompt","Public Sans","Quicksand","Rajdhani","Recursive","Roboto","Roboto Condensed","Rockwell","Rubik","Segoe Print","Segoe Script","Segoe UI","Sora","Source Sans Pro","Space Mono","Tahoma","Taviraj","Times","Times New Roman","Titillium Web","Trebuchet MS","Ubuntu","Varela Round","Verdana","Work Sans"],p=["monospace","sans-serif","serif"];function g(e,t){if(!e)throw new Error("Canvas context not supported");return e.font=`72px ${t}`,e.measureText("WwMmLli0Oo").width}function w(){var e;const t=document.createElement("canvas"),n=null!==(e=t.getContext("webgl"))&&void 0!==e?e:t.getContext("experimental-webgl");if(n&&"getParameter"in n)try{const e=(n.getParameter(n.VENDOR)||"").toString(),t=(n.getParameter(n.RENDERER)||"").toString();let o={vendor:e,renderer:t,version:(n.getParameter(n.VERSION)||"").toString(),shadingLanguageVersion:(n.getParameter(n.SHADING_LANGUAGE_VERSION)||"").toString()};if(!t.length||!e.length){const e=n.getExtension("WEBGL_debug_renderer_info");if(e){const t=(n.getParameter(e.UNMASKED_VENDOR_WEBGL)||"").toString(),r=(n.getParameter(e.UNMASKED_RENDERER_WEBGL)||"").toString();t&&(o.vendorUnmasked=t),r&&(o.rendererUnmasked=r)}}return o}catch(e){}return"undefined"}function v(){const e=new Float32Array(1),t=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],t[3]}const y=(e,t,n,o)=>{const r=(n-t)/o;let i=0;for(let n=0;n<o;n++){i+=e(t+(n+.5)*r)}return i*r};function b(e,t){const n={};return t.forEach((t=>{const o=function(e){if(0===e.length)return null;const t={};e.forEach((e=>{const n=String(e);t[n]=(t[n]||0)+1}));let n=e[0],o=1;return Object.keys(t).forEach((e=>{t[e]>o&&(n=e,o=t[e])})),n}(e.map((e=>t in e?e[t]:void 0)).filter((e=>void 0!==e)));o&&(n[t]=o)})),n}const S=["accelerometer","accessibility","accessibility-events","ambient-light-sensor","background-fetch","background-sync","bluetooth","camera","clipboard-read","clipboard-write","device-info","display-capture","gyroscope","geolocation","local-fonts","magnetometer","microphone","midi","nfc","notifications","payment-handler","persistent-storage","push","speaker","storage-access","top-level-storage-access","window-management","query"];function P(){var e,t,n,o,r,i;if("undefined"==typeof navigator)return{name:"unknown",version:"unknown"};const a=navigator.userAgent,s=[/(?<name>SamsungBrowser)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>EdgA|EdgiOS|Edg)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>OPR|OPX)\/(?<version>\d+(?:\.\d+)+)/,/Opera[\s\/](?<version>\d+(?:\.\d+)+)/,/Opera Mini\/(?<version>\d+(?:\.\d+)+)/,/Opera Mobi\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Vivaldi)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Brave)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>CriOS)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>FxiOS)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Chrome|Chromium)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Firefox|Waterfox|Iceweasel|IceCat)\/(?<version>\d+(?:\.\d+)+)/,/Version\/(?<version1>[\d.]+).*Safari\/[\d.]+|(?<name>Safari)\/(?<version2>[\d.]+)/,/(?<name>MSIE|Trident|IEMobile).+?(?<version>\d+(?:\.\d+)+)/,/(?<name>[A-Za-z]+)\/(?<version>\d+(?:\.\d+)+)/],c={edg:"Edge",edga:"Edge",edgios:"Edge",opr:"Opera",opx:"Opera",crios:"Chrome",fxios:"Firefox",samsung:"SamsungBrowser",vivaldi:"Vivaldi",brave:"Brave"};for(const l of s){const s=a.match(l);if(s){let a=null===(e=s.groups)||void 0===e?void 0:e.name,u=(null===(t=s.groups)||void 0===t?void 0:t.version)||(null===(n=s.groups)||void 0===n?void 0:n.version1)||(null===(o=s.groups)||void 0===o?void 0:o.version2);if(a||!(null===(r=s.groups)||void 0===r?void 0:r.version1)&&!(null===(i=s.groups)||void 0===i?void 0:i.version2)||(a="Safari"),!a&&l.source.includes("Opera Mini")&&(a="Opera Mini"),!a&&l.source.includes("Opera Mobi")&&(a="Opera Mobi"),!a&&l.source.includes("Opera")&&(a="Opera"),!a&&s[1]&&(a=s[1]),!u&&s[2]&&(u=s[2]),a){return{name:c[a.toLowerCase()]||a,version:u||"unknown"}}}}return{name:"unknown",version:"unknown"}}function M(){if("undefined"==typeof navigator||!navigator.userAgent)return!1;const e=navigator.userAgent;return/Mobi|Android|iPhone|iPod|IEMobile|Opera Mini|Opera Mobi|webOS|BlackBerry|Windows Phone/i.test(e)&&!/iPad/i.test(e)}function E(){let e=[];const t={"prefers-contrast":["high","more","low","less","forced","no-preference"],"any-hover":["hover","none"],"any-pointer":["none","coarse","fine"],pointer:["none","coarse","fine"],hover:["hover","none"],update:["fast","slow"],"inverted-colors":["inverted","none"],"prefers-reduced-motion":["reduce","no-preference"],"prefers-reduced-transparency":["reduce","no-preference"],scripting:["none","initial-only","enabled"],"forced-colors":["active","none"]};return Object.keys(t).forEach((n=>{t[n].forEach((t=>{matchMedia(`(${n}: ${t})`).matches&&e.push(`${n}: ${t}`)}))})),e}function x(){if("https:"===window.location.protocol&&"function"==typeof window.ApplePaySession)try{const e=window.ApplePaySession.supportsVersion;for(let t=15;t>0;t--)if(e(t))return t}catch(e){return 0}return 0}const C="SamsungBrowser"!==P().name?1:3;let A,T=null;const k=["𝔄","𝔅","ℭ","𝔇","𝔈","𝔉","𝔸","𝔹","ℂ","𝔻","𝔼","𝔽"],I=["β","ψ","λ","ε","ζ","α","ξ","μ","ρ","φ","κ","τ","η","σ","ι","ω","γ","ν","χ","δ","θ","π","υ","ο"];function R(e,t){return`<math><mrow>${t}</mrow></math>`}function O(){let e="<mo>∏</mo>";return k.forEach(((t,n)=>{const o=2*n,r=I.slice(o,o+2);2===r.length&&(e+=`<mmultiscripts><mi>${t}</mi><none/><mi>${r[1]}</mi><mprescripts></mprescripts><mi>${r[0]}</mi><none/></mmultiscripts>`)})),R(0,`<munderover><mmultiscripts>${e}</mmultiscripts></munderover>`)}function L(){const e=[];return k.forEach(((t,n)=>{const o=2*n,r=I.slice(o,o+2);2===r.length&&e.push(R(0,`<mmultiscripts><mi>${t}</mi><none/><mi>${r[1]}</mi><mprescripts></mprescripts><mi>${r[0]}</mi><none/></mmultiscripts>`))})),e}const _={audio:async function(){return async function(){return new Promise(((e,t)=>{try{const t=44100,n=5e3,o=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,n,t),r=o.createBufferSource(),a=o.createOscillator();a.frequency.value=1e3;const s=o.createDynamicsCompressor();let c;s.threshold.value=-50,s.knee.value=40,s.ratio.value=12,s.attack.value=0,s.release.value=.2,a.connect(s),s.connect(o.destination),a.start(),o.oncomplete=t=>{c=t.renderedBuffer.getChannelData(0),e({sampleHash:i(c),maxChannels:o.destination.maxChannelCount,channelCountMode:r.channelCountMode})},o.startRendering()}catch(e){console.error("Error creating audio fingerprint:",e),t(e)}}))}()},canvas:async function(){return new Promise((e=>{const t=Array.from({length:3},(()=>function(){const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)return new ImageData(1,1);e.width=d,e.height=20;const n=t.createLinearGradient(0,0,e.width,e.height);n.addColorStop(0,"red"),n.addColorStop(1/6,"orange"),n.addColorStop(2/6,"yellow"),n.addColorStop(.5,"green"),n.addColorStop(4/6,"blue"),n.addColorStop(5/6,"indigo"),n.addColorStop(1,"violet"),t.fillStyle=n,t.fillRect(0,0,e.width,e.height);const o="Random Text WMwmil10Oo";t.font="23.123px Arial",t.fillStyle="black",t.fillText(o,-5,15),t.fillStyle="rgba(0, 0, 255, 0.5)",t.fillText(o,-3.3,17.7),t.beginPath(),t.moveTo(0,0),t.lineTo(2*e.width/7,e.height),t.strokeStyle="white",t.lineWidth=2,t.stroke();const r=t.getImageData(0,0,e.width,e.height);return r}()));e({commonPixelsHash:m(a(t,d,20).data.toString()).toString()})}))},fonts:async function(e){return new Promise(((e,t)=>{try{!async function(e){for(var t;!document.body;)await f(50);const n=document.createElement("iframe");n.setAttribute("frameBorder","0");const o=n.style;o.setProperty("position","fixed"),o.setProperty("display","block","important"),o.setProperty("visibility","visible"),o.setProperty("border","0"),o.setProperty("opacity","0"),n.src="about:blank",document.body.appendChild(n);const r=n.contentDocument||(null===(t=n.contentWindow)||void 0===t?void 0:t.document);if(!r)throw new Error("Iframe document is not accessible");e({iframe:r}),setTimeout((()=>{document.body.removeChild(n)}),0)}((async({iframe:t})=>{const n=t.createElement("canvas").getContext("2d"),o=p.map((e=>g(n,e)));let r={};h.forEach((e=>{const t=g(n,e);o.includes(t)||(r[e]=t)})),e(r)}))}catch(e){t({error:"unsupported"})}}))},hardware:function(){return new Promise(((e,t)=>{const n=void 0!==navigator.deviceMemory?navigator.deviceMemory:0,o=window.performance&&window.performance.memory?window.performance.memory:0;e({videocard:w(),architecture:v(),deviceMemory:n.toString()||"undefined",jsHeapSizeLimit:o.jsHeapSizeLimit||0})}))},locales:function(){return new Promise((e=>{e({languages:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})}))},math:function(){return new Promise((e=>{e({acos:Math.acos(.5),asin:y(Math.asin,-1,1,97),cos:y(Math.cos,0,Math.PI,97),largeCos:Math.cos(1e20),largeSin:Math.sin(1e20),largeTan:Math.tan(1e20),sin:y(Math.sin,-Math.PI,Math.PI,97),tan:y(Math.tan,0,2*Math.PI,97)})}))},permissions:async function(e){let t=(null==e?void 0:e.permissions_to_check)||S;const n=Array.from({length:3},(()=>async function(e){const t={};for(const n of e)try{const e=await navigator.permissions.query({name:n});t[n]=e.state.toString()}catch(e){}return t}(t)));return Promise.all(n).then((e=>b(e,t)))},plugins:async function(){const e=[];if(navigator.plugins)for(let t=0;t<navigator.plugins.length;t++){const n=navigator.plugins[t];e.push([n.name,n.filename,n.description].join("|"))}return new Promise((t=>{t({plugins:e})}))},screen:function(){return new Promise((e=>{const t={is_touchscreen:navigator.maxTouchPoints>0,maxTouchPoints:navigator.maxTouchPoints,colorDepth:screen.colorDepth,mediaMatches:E()};M()&&navigator.maxTouchPoints>0&&(t.resolution=function(){const e=window.screen.width,t=window.screen.height,n=Math.max(e,t).toString(),o=Math.min(e,t).toString();return`${n}x${o}`}()),e(t)}))},system:function(){return new Promise((e=>{const t=P();e({platform:window.navigator.platform,productSub:navigator.productSub,product:navigator.product,useragent:navigator.userAgent,hardwareConcurrency:navigator.hardwareConcurrency,browser:{name:t.name,version:t.version},mobile:M(),applePayVersion:x(),cookieEnabled:window.navigator.cookieEnabled})}))},webgl:async function(){"undefined"!=typeof document&&(A=document.createElement("canvas"),A.width=200,A.height=100,T=A.getContext("webgl"));try{if(!T)throw new Error("WebGL not supported");const e=Array.from({length:C},(()=>function(){try{if(!T)throw new Error("WebGL not supported");const e="\n attribute vec2 position;\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n }\n ",t="\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color\n }\n ",n=T.createShader(T.VERTEX_SHADER),o=T.createShader(T.FRAGMENT_SHADER);if(!n||!o)throw new Error("Failed to create shaders");if(T.shaderSource(n,e),T.shaderSource(o,t),T.compileShader(n),!T.getShaderParameter(n,T.COMPILE_STATUS))throw new Error("Vertex shader compilation failed: "+T.getShaderInfoLog(n));if(T.compileShader(o),!T.getShaderParameter(o,T.COMPILE_STATUS))throw new Error("Fragment shader compilation failed: "+T.getShaderInfoLog(o));const r=T.createProgram();if(!r)throw new Error("Failed to create shader program");if(T.attachShader(r,n),T.attachShader(r,o),T.linkProgram(r),!T.getProgramParameter(r,T.LINK_STATUS))throw new Error("Shader program linking failed: "+T.getProgramInfoLog(r));T.useProgram(r);const i=137,a=new Float32Array(4*i),s=2*Math.PI/i;for(let e=0;e<i;e++){const t=e*s;a[4*e]=0,a[4*e+1]=0,a[4*e+2]=Math.cos(t)*(A.width/2),a[4*e+3]=Math.sin(t)*(A.height/2)}const c=T.createBuffer();T.bindBuffer(T.ARRAY_BUFFER,c),T.bufferData(T.ARRAY_BUFFER,a,T.STATIC_DRAW);const l=T.getAttribLocation(r,"position");T.enableVertexAttribArray(l),T.vertexAttribPointer(l,2,T.FLOAT,!1,0,0),T.viewport(0,0,A.width,A.height),T.clearColor(0,0,0,1),T.clear(T.COLOR_BUFFER_BIT),T.drawArrays(T.LINES,0,2*i);const u=new Uint8ClampedArray(A.width*A.height*4);T.readPixels(0,0,A.width,A.height,T.RGBA,T.UNSIGNED_BYTE,u);return new ImageData(u,A.width,A.height)}catch(e){return new ImageData(1,1)}finally{T&&(T.bindBuffer(T.ARRAY_BUFFER,null),T.useProgram(null),T.viewport(0,0,T.drawingBufferWidth,T.drawingBufferHeight),T.clearColor(0,0,0,0))}}()));return{commonPixelsHash:m(a(e,A.width,A.height).data.toString()).toString()}}catch(e){return{webgl:"unsupported"}}}},D={webrtc:async function(){return new Promise((e=>{try{const t=window.RTCPeerConnection||window.webkitRTCPeerConnection||window.mozRTCPeerConnection;if(!t)return void e({supported:!1,error:"WebRTC not supported"});const n=new t({iceCandidatePoolSize:1,iceServers:[]});n.createDataChannel("");(async()=>{try{const t={offerToReceiveAudio:!0,offerToReceiveVideo:!0},o=await n.createOffer(t);await n.setLocalDescription(o);const r=o.sdp||"",i=[...new Set((r.match(/extmap:\d+ [^\n\r]+/g)||[]).map((e=>e.replace(/extmap:\d+ /,""))))].sort(),a=e=>{const t=r.match(new RegExp(`m=${e} [^\\s]+ [^\\s]+ ([^\\n\\r]+)`));return t?t[1].split(" "):[]},s=(e,t)=>t.map((t=>{const n=new RegExp(`(rtpmap|fmtp|rtcp-fb):${t} (.+)`,"g"),o=[...r.matchAll(n)];if(!o.length)return null;const i={};return o.forEach((t=>{const[n,o,r]=t,a=r.split("/");"rtpmap"===o?(i.mimeType=`${e}/${a[0]}`,i.clockRate=+a[1],"audio"===e&&(i.channels=+a[2]||1)):"rtcp-fb"===o?(i.feedbackSupport=i.feedbackSupport||[],i.feedbackSupport.push(r)):"fmtp"===o&&(i.sdpFmtpLine=r)})),i})).filter(Boolean),c={audio:s("audio",a("audio")),video:s("video",a("video"))},l=await new Promise((e=>{const t=setTimeout((()=>{n.removeEventListener("icecandidate",o),n.close(),e({supported:!0,codecsSdp:c,extensions:i,timeout:!0})}),3e3),o=r=>{const a=r.candidate;a&&a.candidate&&(clearTimeout(t),n.removeEventListener("icecandidate",o),n.close(),e({supported:!0,codecsSdp:c,extensions:i,candidateType:a.type||""}))};n.addEventListener("icecandidate",o)}));e({hash:m(JSON.stringify(l))})}catch(t){n.close(),e({supported:!0,error:`WebRTC offer failed: ${t.message}`})}})()}catch(t){e({supported:!1,error:`WebRTC error: ${t.message}`})}}))},mathml:async function(){return new Promise((e=>{try{if(!function(){try{const e=document.createElement("math");e.innerHTML="<mrow><mi>x</mi></mrow>",e.style.position="absolute",e.style.visibility="hidden",document.body.appendChild(e);const t=e.getBoundingClientRect();return document.body.removeChild(e),t.width>0&&t.height>0}catch(e){return!1}}())return void e({supported:!1,error:"MathML not supported"});const t=[R("integral","<msubsup><mo>∫</mo><mi>a</mi><mi>b</mi></msubsup><mfrac><mrow><mi>f</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mrow><mi>g</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mfrac><mi>dx</mi>"),R("fraction","<mfrac><mrow><mi>π</mi><mo>×</mo><msup><mi>r</mi><mn>2</mn></msup></mrow><mrow><mn>2</mn><mi>σ</mi></mrow></mfrac>"),R("matrix","<mo>[</mo><mtable><mtr><mtd><mi>α</mi></mtd><mtd><mi>β</mi></mtd></mtr><mtr><mtd><mi>γ</mi></mtd><mtd><mi>δ</mi></mtd></mtr></mtable><mo>]</mo>"),O(),...L()],n={};t.forEach(((e,t)=>{n[`struct_${t}`]=function(e){try{const t=document.createElement("math");t.innerHTML=e.replace(/<\/?math>/g,""),t.style.whiteSpace="nowrap",t.style.position="absolute",t.style.visibility="hidden",t.style.top="-9999px",document.body.appendChild(t);const n=t.getBoundingClientRect(),o=window.getComputedStyle(t),r={dimensions:{width:n.width,height:n.height},fontInfo:{fontFamily:o.fontFamily,fontSize:o.fontSize,fontWeight:o.fontWeight,fontStyle:o.fontStyle,lineHeight:o.lineHeight,fontVariant:o.fontVariant||"normal",fontStretch:o.fontStretch||"normal",fontSizeAdjust:o.fontSizeAdjust||"none",textRendering:o.textRendering||"auto",fontFeatureSettings:o.fontFeatureSettings||"normal",fontVariantNumeric:o.fontVariantNumeric||"normal",fontKerning:o.fontKerning||"auto"}};return document.body.removeChild(t),r}catch(e){return{error:e.message}}}(e)})),e({hash:m(JSON.stringify(n))})}catch(t){e({supported:!1,error:`MathML error: ${t.message}`})}}))}},B={},N={timeout:"true"},F=(e,t,n)=>{B[e]=t};function $(){return"1.3.2"}function V(e,t){var n;let o=P();if("unknown"===o.name&&e.system&&"object"==typeof e.system&&!Array.isArray(e.system)){const t=e.system.browser;if(t&&"object"==typeof t&&!Array.isArray(t)){const e=t;o={name:e.name||"unknown",version:e.version||"unknown"}}}const i=o.name.toLowerCase(),a=o.version.split(".")[0]||"0",s=parseInt(a,10),c=[...(null==t?void 0:t.exclude)||[]],l=(null==t?void 0:t.stabilize)||[],u=(null==t?void 0:t.include)||[];for(const e of l){const t=r[e];if(t)for(const e of t){const t=!("browsers"in e),o=!t&&(null===(n=e.browsers)||void 0===n?void 0:n.some((e=>{const t=e.match(/(.+?)(>=)(\d+)/);if(t){const[,e,,n]=t,o=parseInt(n,10);return i===e&&s>=o}return i===e})));(t||o)&&c.push(...e.exclude)}}return function e(t,n=""){const o={};for(const[r,i]of Object.entries(t)){const t=n?`${n}.${r}`:r;if("object"!=typeof i||Array.isArray(i)||null===i){const e=c.some((e=>t.startsWith(e))),n=u.some((e=>t.startsWith(e)));e&&!n||(o[r]=i)}else{const n=e(i,t);Object.keys(n).length>0&&(o[r]=n)}}return o}(e)}const U="thumbmark_visitor_id";let j=null,W=null;const G=(e,n)=>{if(e.cache_api_call&&W)return Promise.resolve(W);if(j)return j;const o=`${t}/thumbmark`,r=function(){try{return localStorage.getItem(U)}catch(e){return null}}(),i={components:n,options:e,clientHash:m(JSON.stringify(n)),version:"1.3.2"};r&&(i.visitorId=r);const a=fetch(o,{method:"POST",headers:{"x-api-key":e.api_key,Authorization:"custom-authorized","Content-Type":"application/json"},body:JSON.stringify(i)}).then((e=>{if(!e.ok){if(403===e.status)throw new Error("INVALID_API_KEY");throw new Error(`HTTP error! status: ${e.status}`)}return e.json()})).then((e=>(e.visitorId&&e.visitorId!==r&&function(e){try{localStorage.setItem(U,e)}catch(e){}}(e.visitorId),W=e,j=null,e))).catch((e=>{if(console.error("Error fetching pro data",e),j=null,"INVALID_API_KEY"===e.message)throw e;return null})),s=e.timeout||5e3,c=new Promise((e=>{setTimeout((()=>{e({info:{timed_out:!0},version:"1.3.2"})}),s)}));return j=Promise.race([a,c]),j};async function H(e){const o={...n,...e},r=o.logging&&!sessionStorage.getItem("_tmjs_l")&&Math.random()<1e-4,i={..._,...B},{elapsed:a,resolvedComponents:s}=await z(i,o);let c={};if(r||o.experimental){const{resolvedComponents:e}=await z(D,o);c=e}const l=o.api_key?G(o,s):null;let u=null;if(l)try{u=await l}catch(e){if(e instanceof Error&&"INVALID_API_KEY"===e.message)return{error:"Invalid API key or quota exceeded",components:{},info:{},version:"1.3.2",thumbmark:""};throw e}const d=o.performance?{elapsed:a}:{},f=V((null==u?void 0:u.components)||{},o),h={...s,...f},p=(null==u?void 0:u.info)||{uniqueness:{score:"api only"}},g=m(JSON.stringify(h));r&&async function(e,n,o,r={}){var i;const a=`${t}/log`,s={thumbmark:e,components:n,experimental:r,version:"1.3.2",options:o,path:null===(i=null===window||void 0===window?void 0:window.location)||void 0===i?void 0:i.pathname};sessionStorage.setItem("_tmjs_l","1");try{await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)})}catch(e){}}(g,h,o,c).catch((()=>{}));return{...(null==u?void 0:u.visitorId)&&{visitorId:u.visitorId},thumbmark:g,components:h,info:p,version:"1.3.2",...d,...Object.keys(c).length>0&&o.experimental&&{experimental:c}}}async function z(e,t){const o={...n,...t},r=Object.entries(e).filter((([e])=>{var t;return!(null===(t=null==o?void 0:o.exclude)||void 0===t?void 0:t.includes(e))})).filter((([e])=>{var t,n,r,i;return(null===(t=null==o?void 0:o.include)||void 0===t?void 0:t.some((e=>e.includes("."))))?null===(n=null==o?void 0:o.include)||void 0===n?void 0:n.some((t=>t.startsWith(e))):0===(null===(r=null==o?void 0:o.include)||void 0===r?void 0:r.length)||(null===(i=null==o?void 0:o.include)||void 0===i?void 0:i.includes(e))})),i=r.map((([e])=>e)),a=r.map((([e,n])=>n(t))),s=await function(e,t,n){return Promise.all(e.map((e=>{const o=performance.now();return Promise.race([e.then((e=>({value:e,elapsed:performance.now()-o}))),(r=t,i=n,new Promise((e=>{setTimeout((()=>e(i)),r)}))).then((e=>({value:e,elapsed:performance.now()-o})))]);var r,i})))}(a,(null==o?void 0:o.timeout)||5e3,N),c={},l={};s.forEach(((e,t)=>{var n;null!=e.value&&(l[i[t]]=e.value,c[i[t]]=null!==(n=e.elapsed)&&void 0!==n?n:0)}));const u=V(l,o);return{elapsed:c,resolvedComponents:u}}e.Thumbmark=class{constructor(e){this.options={...n,...e}}async get(e){return H({...this.options,...e})}getVersion(){return"1.3.2"}includeComponent(e,t){F(e,t)}},e.filterThumbmarkData=V,e.getFingerprint=async function(e){try{const t=await H(o);return e?{hash:t.thumbmark.toString(),data:t.components}:t.thumbmark.toString()}catch(e){throw e}},e.getFingerprintData=async function(){return(await H(o)).components},e.getFingerprintPerformance=async function(){try{const{elapsed:e,resolvedComponents:t}=await z(_,o);return{...t,elapsed:e}}catch(e){throw e}},e.getThumbmark=H,e.getVersion=$,e.includeComponent=F,e.setOption=function(e,t){o[e]=t},e.stabilizationExclusionRules=r}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).ThumbmarkJS={})}(this,(function(e){"use strict";const t="https://api.thumbmarkjs.com",n={exclude:[],include:[],stabilize:["private","iframe"],logging:!0,timeout:5e3,cache_api_call:!0,performance:!1,experimental:!1};let o={...n};const r={private:[{exclude:["canvas"],browsers:["firefox","safari>=17","brave"]},{exclude:["audio"],browsers:["samsungbrowser","safari"]},{exclude:["fonts"],browsers:["firefox"]},{exclude:["audio.sampleHash","hardware.deviceMemory","header.acceptLanguage.q","system.hardwareConcurrency","plugins"],browsers:["brave"]},{exclude:["tls.extensions"],browsers:["firefox","chrome","safari"]},{exclude:["header.acceptLanguage"],browsers:["edge","chrome"]}],iframe:[{exclude:["permissions.camera","permission.geolocation","permissions.microphone","system.applePayVersion","system.cookieEnabled"],browsers:["safari"]},{exclude:["permissions.background-fetch","permissions.storage-access"],browsers:["chrome","brave","edge","opera"]}],vpn:[{exclude:["ip"]}]};function i(e){let t=0;for(let n=0;n<e.length;++n)t+=Math.abs(e[n]);return t}function a(e,t,n){let o=[];for(let t=0;t<e[0].data.length;t++){let n=[];for(let o=0;o<e.length;o++)n.push(e[o].data[t]);o.push(s(n))}const r=new Uint8ClampedArray(o);return new ImageData(r,t,n)}function s(e){if(0===e.length)return 0;const t={};for(const n of e)t[n]=(t[n]||0)+1;let n=e[0];for(const e in t)t[e]>t[n]&&(n=parseInt(e,10));return n}function c(e){return e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),(e^=e>>>16)>>>0}const l=new Uint32Array([597399067,2869860233,951274213,2716044179]);function u(e,t){return e<<t|e>>>32-t}function m(e,t=0){var n;if(t=t?0|t:0,"string"==typeof e&&(n=e,e=(new TextEncoder).encode(n).buffer),!(e instanceof ArrayBuffer))throw new TypeError("Expected key to be ArrayBuffer or string");const o=new Uint32Array([t,t,t,t]);!function(e,t){const n=e.byteLength/16|0,o=new Uint32Array(e,0,4*n);for(let e=0;e<n;e++){const n=o.subarray(4*e,4*(e+1));n[0]=Math.imul(n[0],l[0]),n[0]=u(n[0],15),n[0]=Math.imul(n[0],l[1]),t[0]=t[0]^n[0],t[0]=u(t[0],19),t[0]=t[0]+t[1],t[0]=Math.imul(t[0],5)+1444728091,n[1]=Math.imul(n[1],l[1]),n[1]=u(n[1],16),n[1]=Math.imul(n[1],l[2]),t[1]=t[1]^n[1],t[1]=u(t[1],17),t[1]=t[1]+t[2],t[1]=Math.imul(t[1],5)+197830471,n[2]=Math.imul(n[2],l[2]),n[2]=u(n[2],17),n[2]=Math.imul(n[2],l[3]),t[2]=t[2]^n[2],t[2]=u(t[2],15),t[2]=t[2]+t[3],t[2]=Math.imul(t[2],5)+2530024501,n[3]=Math.imul(n[3],l[3]),n[3]=u(n[3],18),n[3]=Math.imul(n[3],l[0]),t[3]=t[3]^n[3],t[3]=u(t[3],13),t[3]=t[3]+t[0],t[3]=Math.imul(t[3],5)+850148119}}(e,o),function(e,t){const n=e.byteLength/16|0,o=e.byteLength%16,r=new Uint32Array(4),i=new Uint8Array(e,16*n,o);switch(o){case 15:r[3]=r[3]^i[14]<<16;case 14:r[3]=r[3]^i[13]<<8;case 13:r[3]=r[3]^i[12],r[3]=Math.imul(r[3],l[3]),r[3]=u(r[3],18),r[3]=Math.imul(r[3],l[0]),t[3]=t[3]^r[3];case 12:r[2]=r[2]^i[11]<<24;case 11:r[2]=r[2]^i[10]<<16;case 10:r[2]=r[2]^i[9]<<8;case 9:r[2]=r[2]^i[8],r[2]=Math.imul(r[2],l[2]),r[2]=u(r[2],17),r[2]=Math.imul(r[2],l[3]),t[2]=t[2]^r[2];case 8:r[1]=r[1]^i[7]<<24;case 7:r[1]=r[1]^i[6]<<16;case 6:r[1]=r[1]^i[5]<<8;case 5:r[1]=r[1]^i[4],r[1]=Math.imul(r[1],l[1]),r[1]=u(r[1],16),r[1]=Math.imul(r[1],l[2]),t[1]=t[1]^r[1];case 4:r[0]=r[0]^i[3]<<24;case 3:r[0]=r[0]^i[2]<<16;case 2:r[0]=r[0]^i[1]<<8;case 1:r[0]=r[0]^i[0],r[0]=Math.imul(r[0],l[0]),r[0]=u(r[0],15),r[0]=Math.imul(r[0],l[1]),t[0]=t[0]^r[0]}}(e,o),function(e,t){t[0]=t[0]^e.byteLength,t[1]=t[1]^e.byteLength,t[2]=t[2]^e.byteLength,t[3]=t[3]^e.byteLength,t[0]=t[0]+t[1]|0,t[0]=t[0]+t[2]|0,t[0]=t[0]+t[3]|0,t[1]=t[1]+t[0]|0,t[2]=t[2]+t[0]|0,t[3]=t[3]+t[0]|0,t[0]=c(t[0]),t[1]=c(t[1]),t[2]=c(t[2]),t[3]=c(t[3]),t[0]=t[0]+t[1]|0,t[0]=t[0]+t[2]|0,t[0]=t[0]+t[3]|0,t[1]=t[1]+t[0]|0,t[2]=t[2]+t[0]|0,t[3]=t[3]+t[0]|0}(e,o);const r=new Uint8Array(o.buffer);return Array.from(r).map((e=>e.toString(16).padStart(2,"0"))).join("")}const d=280;function f(e,t){return new Promise((n=>setTimeout(n,e,t)))}const h=["Arial","Arial Black","Arial Narrow","Arial Rounded MT","Arimo","Archivo","Barlow","Bebas Neue","Bitter","Bookman","Calibri","Cabin","Candara","Century","Century Gothic","Comic Sans MS","Constantia","Courier","Courier New","Crimson Text","DM Mono","DM Sans","DM Serif Display","DM Serif Text","Dosis","Droid Sans","Exo","Fira Code","Fira Sans","Franklin Gothic Medium","Garamond","Geneva","Georgia","Gill Sans","Helvetica","Impact","Inconsolata","Indie Flower","Inter","Josefin Sans","Karla","Lato","Lexend","Lucida Bright","Lucida Console","Lucida Sans Unicode","Manrope","Merriweather","Merriweather Sans","Montserrat","Myriad","Noto Sans","Nunito","Nunito Sans","Open Sans","Optima","Orbitron","Oswald","Pacifico","Palatino","Perpetua","PT Sans","PT Serif","Poppins","Prompt","Public Sans","Quicksand","Rajdhani","Recursive","Roboto","Roboto Condensed","Rockwell","Rubik","Segoe Print","Segoe Script","Segoe UI","Sora","Source Sans Pro","Space Mono","Tahoma","Taviraj","Times","Times New Roman","Titillium Web","Trebuchet MS","Ubuntu","Varela Round","Verdana","Work Sans"],p=["monospace","sans-serif","serif"];function g(e,t){if(!e)throw new Error("Canvas context not supported");return e.font=`72px ${t}`,e.measureText("WwMmLli0Oo").width}function w(){var e;const t=document.createElement("canvas"),n=null!==(e=t.getContext("webgl"))&&void 0!==e?e:t.getContext("experimental-webgl");if(n&&"getParameter"in n)try{const e=(n.getParameter(n.VENDOR)||"").toString(),t=(n.getParameter(n.RENDERER)||"").toString();let o={vendor:e,renderer:t,version:(n.getParameter(n.VERSION)||"").toString(),shadingLanguageVersion:(n.getParameter(n.SHADING_LANGUAGE_VERSION)||"").toString()};if(!t.length||!e.length){const e=n.getExtension("WEBGL_debug_renderer_info");if(e){const t=(n.getParameter(e.UNMASKED_VENDOR_WEBGL)||"").toString(),r=(n.getParameter(e.UNMASKED_RENDERER_WEBGL)||"").toString();t&&(o.vendorUnmasked=t),r&&(o.rendererUnmasked=r)}}return o}catch(e){}return"undefined"}function v(){const e=new Float32Array(1),t=new Uint8Array(e.buffer);return e[0]=1/0,e[0]=e[0]-e[0],t[3]}const y=(e,t,n,o)=>{const r=(n-t)/o;let i=0;for(let n=0;n<o;n++){i+=e(t+(n+.5)*r)}return i*r};function b(e,t){const n={};return t.forEach((t=>{const o=function(e){if(0===e.length)return null;const t={};e.forEach((e=>{const n=String(e);t[n]=(t[n]||0)+1}));let n=e[0],o=1;return Object.keys(t).forEach((e=>{t[e]>o&&(n=e,o=t[e])})),n}(e.map((e=>t in e?e[t]:void 0)).filter((e=>void 0!==e)));o&&(n[t]=o)})),n}const S=["accelerometer","accessibility","accessibility-events","ambient-light-sensor","background-fetch","background-sync","bluetooth","camera","clipboard-read","clipboard-write","device-info","display-capture","gyroscope","geolocation","local-fonts","magnetometer","microphone","midi","nfc","notifications","payment-handler","persistent-storage","push","speaker","storage-access","top-level-storage-access","window-management","query"];function P(){var e,t,n,o,r,i;if("undefined"==typeof navigator)return{name:"unknown",version:"unknown"};const a=navigator.userAgent,s=[/(?<name>SamsungBrowser)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>EdgA|EdgiOS|Edg)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>OPR|OPX)\/(?<version>\d+(?:\.\d+)+)/,/Opera[\s\/](?<version>\d+(?:\.\d+)+)/,/Opera Mini\/(?<version>\d+(?:\.\d+)+)/,/Opera Mobi\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Vivaldi)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Brave)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>CriOS)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>FxiOS)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Chrome|Chromium)\/(?<version>\d+(?:\.\d+)+)/,/(?<name>Firefox|Waterfox|Iceweasel|IceCat)\/(?<version>\d+(?:\.\d+)+)/,/Version\/(?<version1>[\d.]+).*Safari\/[\d.]+|(?<name>Safari)\/(?<version2>[\d.]+)/,/(?<name>MSIE|Trident|IEMobile).+?(?<version>\d+(?:\.\d+)+)/,/(?<name>[A-Za-z]+)\/(?<version>\d+(?:\.\d+)+)/],c={edg:"Edge",edga:"Edge",edgios:"Edge",opr:"Opera",opx:"Opera",crios:"Chrome",fxios:"Firefox",samsung:"SamsungBrowser",vivaldi:"Vivaldi",brave:"Brave"};for(const l of s){const s=a.match(l);if(s){let a=null===(e=s.groups)||void 0===e?void 0:e.name,u=(null===(t=s.groups)||void 0===t?void 0:t.version)||(null===(n=s.groups)||void 0===n?void 0:n.version1)||(null===(o=s.groups)||void 0===o?void 0:o.version2);if(a||!(null===(r=s.groups)||void 0===r?void 0:r.version1)&&!(null===(i=s.groups)||void 0===i?void 0:i.version2)||(a="Safari"),!a&&l.source.includes("Opera Mini")&&(a="Opera Mini"),!a&&l.source.includes("Opera Mobi")&&(a="Opera Mobi"),!a&&l.source.includes("Opera")&&(a="Opera"),!a&&s[1]&&(a=s[1]),!u&&s[2]&&(u=s[2]),a){return{name:c[a.toLowerCase()]||a,version:u||"unknown"}}}}return{name:"unknown",version:"unknown"}}function M(){if("undefined"==typeof navigator||!navigator.userAgent)return!1;const e=navigator.userAgent;return/Mobi|Android|iPhone|iPod|IEMobile|Opera Mini|Opera Mobi|webOS|BlackBerry|Windows Phone/i.test(e)&&!/iPad/i.test(e)}function E(){let e=[];const t={"prefers-contrast":["high","more","low","less","forced","no-preference"],"any-hover":["hover","none"],"any-pointer":["none","coarse","fine"],pointer:["none","coarse","fine"],hover:["hover","none"],update:["fast","slow"],"inverted-colors":["inverted","none"],"prefers-reduced-motion":["reduce","no-preference"],"prefers-reduced-transparency":["reduce","no-preference"],scripting:["none","initial-only","enabled"],"forced-colors":["active","none"]};return Object.keys(t).forEach((n=>{t[n].forEach((t=>{matchMedia(`(${n}: ${t})`).matches&&e.push(`${n}: ${t}`)}))})),e}function x(){if("https:"===window.location.protocol&&"function"==typeof window.ApplePaySession)try{const e=window.ApplePaySession.supportsVersion;for(let t=15;t>0;t--)if(e(t))return t}catch(e){return 0}return 0}const C="SamsungBrowser"!==P().name?1:3;let A,T=null;const k=["𝔄","𝔅","ℭ","𝔇","𝔈","𝔉","𝔸","𝔹","ℂ","𝔻","𝔼","𝔽"],I=["β","ψ","λ","ε","ζ","α","ξ","μ","ρ","φ","κ","τ","η","σ","ι","ω","γ","ν","χ","δ","θ","π","υ","ο"];function R(e,t){return`<math><mrow>${t}</mrow></math>`}function O(){let e="<mo>∏</mo>";return k.forEach(((t,n)=>{const o=2*n,r=I.slice(o,o+2);2===r.length&&(e+=`<mmultiscripts><mi>${t}</mi><none/><mi>${r[1]}</mi><mprescripts></mprescripts><mi>${r[0]}</mi><none/></mmultiscripts>`)})),R(0,`<munderover><mmultiscripts>${e}</mmultiscripts></munderover>`)}function L(){const e=[];return k.forEach(((t,n)=>{const o=2*n,r=I.slice(o,o+2);2===r.length&&e.push(R(0,`<mmultiscripts><mi>${t}</mi><none/><mi>${r[1]}</mi><mprescripts></mprescripts><mi>${r[0]}</mi><none/></mmultiscripts>`))})),e}const _={audio:async function(){return async function(){return new Promise(((e,t)=>{try{const t=44100,n=5e3,o=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,n,t),r=o.createBufferSource(),a=o.createOscillator();a.frequency.value=1e3;const s=o.createDynamicsCompressor();let c;s.threshold.value=-50,s.knee.value=40,s.ratio.value=12,s.attack.value=0,s.release.value=.2,a.connect(s),s.connect(o.destination),a.start(),o.oncomplete=t=>{c=t.renderedBuffer.getChannelData(0),e({sampleHash:i(c),maxChannels:o.destination.maxChannelCount,channelCountMode:r.channelCountMode})},o.startRendering()}catch(e){console.error("Error creating audio fingerprint:",e),t(e)}}))}()},canvas:async function(){return new Promise((e=>{const t=Array.from({length:3},(()=>function(){const e=document.createElement("canvas"),t=e.getContext("2d");if(!t)return new ImageData(1,1);e.width=d,e.height=20;const n=t.createLinearGradient(0,0,e.width,e.height);n.addColorStop(0,"red"),n.addColorStop(1/6,"orange"),n.addColorStop(2/6,"yellow"),n.addColorStop(.5,"green"),n.addColorStop(4/6,"blue"),n.addColorStop(5/6,"indigo"),n.addColorStop(1,"violet"),t.fillStyle=n,t.fillRect(0,0,e.width,e.height);const o="Random Text WMwmil10Oo";t.font="23.123px Arial",t.fillStyle="black",t.fillText(o,-5,15),t.fillStyle="rgba(0, 0, 255, 0.5)",t.fillText(o,-3.3,17.7),t.beginPath(),t.moveTo(0,0),t.lineTo(2*e.width/7,e.height),t.strokeStyle="white",t.lineWidth=2,t.stroke();const r=t.getImageData(0,0,e.width,e.height);return r}()));e({commonPixelsHash:m(a(t,d,20).data.toString()).toString()})}))},fonts:async function(e){return new Promise(((e,t)=>{try{!async function(e){for(var t;!document.body;)await f(50);const n=document.createElement("iframe");n.setAttribute("frameBorder","0");const o=n.style;o.setProperty("position","fixed"),o.setProperty("display","block","important"),o.setProperty("visibility","visible"),o.setProperty("border","0"),o.setProperty("opacity","0"),n.src="about:blank",document.body.appendChild(n);const r=n.contentDocument||(null===(t=n.contentWindow)||void 0===t?void 0:t.document);if(!r)throw new Error("Iframe document is not accessible");e({iframe:r}),setTimeout((()=>{document.body.removeChild(n)}),0)}((async({iframe:t})=>{const n=t.createElement("canvas").getContext("2d"),o=p.map((e=>g(n,e)));let r={};h.forEach((e=>{const t=g(n,e);o.includes(t)||(r[e]=t)})),e(r)}))}catch(e){t({error:"unsupported"})}}))},hardware:function(){return new Promise(((e,t)=>{const n=void 0!==navigator.deviceMemory?navigator.deviceMemory:0,o=window.performance&&window.performance.memory?window.performance.memory:0;e({videocard:w(),architecture:v(),deviceMemory:n.toString()||"undefined",jsHeapSizeLimit:o.jsHeapSizeLimit||0})}))},locales:function(){return new Promise((e=>{e({languages:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone})}))},math:function(){return new Promise((e=>{e({acos:Math.acos(.5),asin:y(Math.asin,-1,1,97),cos:y(Math.cos,0,Math.PI,97),largeCos:Math.cos(1e20),largeSin:Math.sin(1e20),largeTan:Math.tan(1e20),sin:y(Math.sin,-Math.PI,Math.PI,97),tan:y(Math.tan,0,2*Math.PI,97)})}))},permissions:async function(e){let t=(null==e?void 0:e.permissions_to_check)||S;const n=Array.from({length:3},(()=>async function(e){const t={};for(const n of e)try{const e=await navigator.permissions.query({name:n});t[n]=e.state.toString()}catch(e){}return t}(t)));return Promise.all(n).then((e=>b(e,t)))},plugins:async function(){const e=[];if(navigator.plugins)for(let t=0;t<navigator.plugins.length;t++){const n=navigator.plugins[t];e.push([n.name,n.filename,n.description].join("|"))}return new Promise((t=>{t({plugins:e})}))},screen:function(){return new Promise((e=>{const t={is_touchscreen:navigator.maxTouchPoints>0,maxTouchPoints:navigator.maxTouchPoints,colorDepth:screen.colorDepth,mediaMatches:E()};M()&&navigator.maxTouchPoints>0&&(t.resolution=function(){const e=window.screen.width,t=window.screen.height,n=Math.max(e,t).toString(),o=Math.min(e,t).toString();return`${n}x${o}`}()),e(t)}))},system:function(){return new Promise((e=>{const t=P();e({platform:window.navigator.platform,productSub:navigator.productSub,product:navigator.product,useragent:navigator.userAgent,hardwareConcurrency:navigator.hardwareConcurrency,browser:{name:t.name,version:t.version},mobile:M(),applePayVersion:x(),cookieEnabled:window.navigator.cookieEnabled})}))},webgl:async function(){"undefined"!=typeof document&&(A=document.createElement("canvas"),A.width=200,A.height=100,T=A.getContext("webgl"));try{if(!T)throw new Error("WebGL not supported");const e=Array.from({length:C},(()=>function(){try{if(!T)throw new Error("WebGL not supported");const e="\n attribute vec2 position;\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n }\n ",t="\n precision mediump float;\n void main() {\n gl_FragColor = vec4(0.812, 0.195, 0.553, 0.921); // Set line color\n }\n ",n=T.createShader(T.VERTEX_SHADER),o=T.createShader(T.FRAGMENT_SHADER);if(!n||!o)throw new Error("Failed to create shaders");if(T.shaderSource(n,e),T.shaderSource(o,t),T.compileShader(n),!T.getShaderParameter(n,T.COMPILE_STATUS))throw new Error("Vertex shader compilation failed: "+T.getShaderInfoLog(n));if(T.compileShader(o),!T.getShaderParameter(o,T.COMPILE_STATUS))throw new Error("Fragment shader compilation failed: "+T.getShaderInfoLog(o));const r=T.createProgram();if(!r)throw new Error("Failed to create shader program");if(T.attachShader(r,n),T.attachShader(r,o),T.linkProgram(r),!T.getProgramParameter(r,T.LINK_STATUS))throw new Error("Shader program linking failed: "+T.getProgramInfoLog(r));T.useProgram(r);const i=137,a=new Float32Array(4*i),s=2*Math.PI/i;for(let e=0;e<i;e++){const t=e*s;a[4*e]=0,a[4*e+1]=0,a[4*e+2]=Math.cos(t)*(A.width/2),a[4*e+3]=Math.sin(t)*(A.height/2)}const c=T.createBuffer();T.bindBuffer(T.ARRAY_BUFFER,c),T.bufferData(T.ARRAY_BUFFER,a,T.STATIC_DRAW);const l=T.getAttribLocation(r,"position");T.enableVertexAttribArray(l),T.vertexAttribPointer(l,2,T.FLOAT,!1,0,0),T.viewport(0,0,A.width,A.height),T.clearColor(0,0,0,1),T.clear(T.COLOR_BUFFER_BIT),T.drawArrays(T.LINES,0,2*i);const u=new Uint8ClampedArray(A.width*A.height*4);T.readPixels(0,0,A.width,A.height,T.RGBA,T.UNSIGNED_BYTE,u);return new ImageData(u,A.width,A.height)}catch(e){return new ImageData(1,1)}finally{T&&(T.bindBuffer(T.ARRAY_BUFFER,null),T.useProgram(null),T.viewport(0,0,T.drawingBufferWidth,T.drawingBufferHeight),T.clearColor(0,0,0,0))}}()));return{commonPixelsHash:m(a(e,A.width,A.height).data.toString()).toString()}}catch(e){return{webgl:"unsupported"}}}},D={webrtc:async function(){return new Promise((e=>{try{const t=window.RTCPeerConnection||window.webkitRTCPeerConnection||window.mozRTCPeerConnection;if(!t)return void e({supported:!1,error:"WebRTC not supported"});const n=new t({iceCandidatePoolSize:1,iceServers:[]});n.createDataChannel("");(async()=>{try{const t={offerToReceiveAudio:!0,offerToReceiveVideo:!0},o=await n.createOffer(t);await n.setLocalDescription(o);const r=o.sdp||"",i=[...new Set((r.match(/extmap:\d+ [^\n\r]+/g)||[]).map((e=>e.replace(/extmap:\d+ /,""))))].sort(),a=e=>{const t=r.match(new RegExp(`m=${e} [^\\s]+ [^\\s]+ ([^\\n\\r]+)`));return t?t[1].split(" "):[]},s=(e,t)=>t.map((t=>{const n=new RegExp(`(rtpmap|fmtp|rtcp-fb):${t} (.+)`,"g"),o=[...r.matchAll(n)];if(!o.length)return null;const i={};return o.forEach((t=>{const[n,o,r]=t,a=r.split("/");"rtpmap"===o?(i.mimeType=`${e}/${a[0]}`,i.clockRate=+a[1],"audio"===e&&(i.channels=+a[2]||1)):"rtcp-fb"===o?(i.feedbackSupport=i.feedbackSupport||[],i.feedbackSupport.push(r)):"fmtp"===o&&(i.sdpFmtpLine=r)})),i})).filter(Boolean),c={audio:s("audio",a("audio")),video:s("video",a("video"))},l=await new Promise((e=>{const t=setTimeout((()=>{n.removeEventListener("icecandidate",o),n.close(),e({supported:!0,codecsSdp:c,extensions:i,timeout:!0})}),3e3),o=r=>{const a=r.candidate;a&&a.candidate&&(clearTimeout(t),n.removeEventListener("icecandidate",o),n.close(),e({supported:!0,codecsSdp:c,extensions:i,candidateType:a.type||""}))};n.addEventListener("icecandidate",o)}));e({hash:m(JSON.stringify(l))})}catch(t){n.close(),e({supported:!0,error:`WebRTC offer failed: ${t.message}`})}})()}catch(t){e({supported:!1,error:`WebRTC error: ${t.message}`})}}))},mathml:async function(){return new Promise((e=>{try{if(!function(){try{const e=document.createElement("math");e.innerHTML="<mrow><mi>x</mi></mrow>",e.style.position="absolute",e.style.visibility="hidden",document.body.appendChild(e);const t=e.getBoundingClientRect();return document.body.removeChild(e),t.width>0&&t.height>0}catch(e){return!1}}())return void e({supported:!1,error:"MathML not supported"});const t=[R("integral","<msubsup><mo>∫</mo><mi>a</mi><mi>b</mi></msubsup><mfrac><mrow><mi>f</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mrow><mi>g</mi><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mfrac><mi>dx</mi>"),R("fraction","<mfrac><mrow><mi>π</mi><mo>×</mo><msup><mi>r</mi><mn>2</mn></msup></mrow><mrow><mn>2</mn><mi>σ</mi></mrow></mfrac>"),R("matrix","<mo>[</mo><mtable><mtr><mtd><mi>α</mi></mtd><mtd><mi>β</mi></mtd></mtr><mtr><mtd><mi>γ</mi></mtd><mtd><mi>δ</mi></mtd></mtr></mtable><mo>]</mo>"),O(),...L()],n={};t.forEach(((e,t)=>{n[`struct_${t}`]=function(e){try{const t=document.createElement("math");t.innerHTML=e.replace(/<\/?math>/g,""),t.style.whiteSpace="nowrap",t.style.position="absolute",t.style.visibility="hidden",t.style.top="-9999px",document.body.appendChild(t);const n=t.getBoundingClientRect(),o=window.getComputedStyle(t),r={dimensions:{width:n.width,height:n.height},fontInfo:{fontFamily:o.fontFamily,fontSize:o.fontSize,fontWeight:o.fontWeight,fontStyle:o.fontStyle,lineHeight:o.lineHeight,fontVariant:o.fontVariant||"normal",fontStretch:o.fontStretch||"normal",fontSizeAdjust:o.fontSizeAdjust||"none",textRendering:o.textRendering||"auto",fontFeatureSettings:o.fontFeatureSettings||"normal",fontVariantNumeric:o.fontVariantNumeric||"normal",fontKerning:o.fontKerning||"auto"}};return document.body.removeChild(t),r}catch(e){return{error:e.message}}}(e)})),e({hash:m(JSON.stringify(n))})}catch(t){e({supported:!1,error:`MathML error: ${t.message}`})}}))}},B={},N={timeout:"true"},F=(e,t,n)=>{B[e]=t};function $(){return"1.3.3"}function V(e,t){var n;let o=P();if("unknown"===o.name&&e.system&&"object"==typeof e.system&&!Array.isArray(e.system)){const t=e.system.browser;if(t&&"object"==typeof t&&!Array.isArray(t)){const e=t;o={name:e.name||"unknown",version:e.version||"unknown"}}}const i=o.name.toLowerCase(),a=o.version.split(".")[0]||"0",s=parseInt(a,10),c=[...(null==t?void 0:t.exclude)||[]],l=(null==t?void 0:t.stabilize)||[],u=(null==t?void 0:t.include)||[];for(const e of l){const t=r[e];if(t)for(const e of t){const t=!("browsers"in e),o=!t&&(null===(n=e.browsers)||void 0===n?void 0:n.some((e=>{const t=e.match(/(.+?)(>=)(\d+)/);if(t){const[,e,,n]=t,o=parseInt(n,10);return i===e&&s>=o}return i===e})));(t||o)&&c.push(...e.exclude)}}return function e(t,n=""){const o={};for(const[r,i]of Object.entries(t)){const t=n?`${n}.${r}`:r;if("object"!=typeof i||Array.isArray(i)||null===i){const e=c.some((e=>t.startsWith(e))),n=u.some((e=>t.startsWith(e)));e&&!n||(o[r]=i)}else{const n=e(i,t);Object.keys(n).length>0&&(o[r]=n)}}return o}(e)}const U="thumbmark_visitor_id";let j=null,W=null;const G=(e,n)=>{if(e.cache_api_call&&W)return Promise.resolve(W);if(j)return j;const o=`${t}/thumbmark`,r=function(){try{return localStorage.getItem(U)}catch(e){return null}}(),i={components:n,options:e,clientHash:m(JSON.stringify(n)),version:"1.3.3"};r&&(i.visitorId=r);const a=fetch(o,{method:"POST",headers:{"x-api-key":e.api_key,Authorization:"custom-authorized","Content-Type":"application/json"},body:JSON.stringify(i)}).then((e=>{if(!e.ok){if(403===e.status)throw new Error("INVALID_API_KEY");throw new Error(`HTTP error! status: ${e.status}`)}return e.json()})).then((e=>(e.visitorId&&e.visitorId!==r&&function(e){try{localStorage.setItem(U,e)}catch(e){}}(e.visitorId),W=e,j=null,e))).catch((e=>{if(console.error("Error fetching pro data",e),j=null,"INVALID_API_KEY"===e.message)throw e;return null})),s=e.timeout||5e3,c=new Promise((e=>{setTimeout((()=>{e({info:{timed_out:!0},version:"1.3.3"})}),s)}));return j=Promise.race([a,c]),j};async function H(e){const o={...n,...e},r=o.logging&&!sessionStorage.getItem("_tmjs_l")&&Math.random()<1e-4,i={..._,...B},{elapsed:a,resolvedComponents:s}=await z(i,o);let c={};if(r||o.experimental){const{resolvedComponents:e}=await z(D,o);c=e}const l=o.api_key?G(o,s):null;let u=null;if(l)try{u=await l}catch(e){if(e instanceof Error&&"INVALID_API_KEY"===e.message)return{error:"Invalid API key or quota exceeded",components:{},info:{},version:"1.3.3",thumbmark:""};throw e}const d=o.performance?{elapsed:a}:{},f=V((null==u?void 0:u.components)||{},o),h={...s,...f},p=(null==u?void 0:u.info)||{uniqueness:{score:"api only"}},g=m(JSON.stringify(h));r&&async function(e,n,o,r={}){var i;const a=`${t}/log`,s={thumbmark:e,components:n,experimental:r,version:"1.3.3",options:o,path:null===(i=null===window||void 0===window?void 0:window.location)||void 0===i?void 0:i.pathname};sessionStorage.setItem("_tmjs_l","1");try{await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)})}catch(e){}}(g,h,o,c).catch((()=>{}));return{...(null==u?void 0:u.visitorId)&&{visitorId:u.visitorId},thumbmark:g,components:h,info:p,version:"1.3.3",...d,...Object.keys(c).length>0&&o.experimental&&{experimental:c}}}async function z(e,t){const o={...n,...t},r=Object.entries(e).filter((([e])=>{var t;return!(null===(t=null==o?void 0:o.exclude)||void 0===t?void 0:t.includes(e))})).filter((([e])=>{var t,n,r,i;return(null===(t=null==o?void 0:o.include)||void 0===t?void 0:t.some((e=>e.includes("."))))?null===(n=null==o?void 0:o.include)||void 0===n?void 0:n.some((t=>t.startsWith(e))):0===(null===(r=null==o?void 0:o.include)||void 0===r?void 0:r.length)||(null===(i=null==o?void 0:o.include)||void 0===i?void 0:i.includes(e))})),i=r.map((([e])=>e)),a=r.map((([e,n])=>n(t))),s=await function(e,t,n){return Promise.all(e.map((e=>{const o=performance.now();return Promise.race([e.then((e=>({value:e,elapsed:performance.now()-o}))),(r=t,i=n,new Promise((e=>{setTimeout((()=>e(i)),r)}))).then((e=>({value:e,elapsed:performance.now()-o})))]);var r,i})))}(a,(null==o?void 0:o.timeout)||5e3,N),c={},l={};s.forEach(((e,t)=>{var n;null!=e.value&&(l[i[t]]=e.value,c[i[t]]=null!==(n=e.elapsed)&&void 0!==n?n:0)}));const u=V(l,o);return{elapsed:c,resolvedComponents:u}}e.Thumbmark=class{constructor(e){this.options={...n,...e}}async get(e){return H({...this.options,...e})}getVersion(){return"1.3.3"}includeComponent(e,t){F(e,t)}},e.filterThumbmarkData=V,e.getFingerprint=async function(e){try{const t=await H(o);return e?{hash:t.thumbmark.toString(),data:t.components}:t.thumbmark.toString()}catch(e){throw e}},e.getFingerprintData=async function(){return(await H(o)).components},e.getFingerprintPerformance=async function(){try{const{elapsed:e,resolvedComponents:t}=await z(_,o);return{...t,elapsed:e}}catch(e){throw e}},e.getThumbmark=H,e.getVersion=$,e.includeComponent=F,e.setOption=function(e,t){o[e]=t},e.stabilizationExclusionRules=r}));
|
|
2
2
|
//# sourceMappingURL=thumbmark.umd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thumbmark.umd.js","sources":["../src/options.ts","../src/components/audio/index.ts","../src/utils/commonPixels.ts","../src/utils/hash.ts","../src/components/canvas/index.ts","../src/utils/ephemeralIFrame.ts","../src/components/fonts/index.ts","../src/components/hardware/index.ts","../src/components/math/index.ts","../src/utils/getMostFrequent.ts","../src/components/permissions/index.ts","../src/components/system/browser.ts","../src/components/screen/index.ts","../src/components/system/index.ts","../src/components/webgl/index.ts","../src/components/mathml/index.ts","../src/factory.ts","../src/components/locales/index.ts","../src/components/plugins/index.ts","../src/components/webrtc/index.ts","../src/utils/version.ts","../src/functions/filterComponents.ts","../src/utils/visitorId.ts","../src/functions/api.ts","../src/functions/index.ts","../src/utils/log.ts","../src/utils/raceAll.ts","../src/thumbmark.ts","../src/functions/legacy_functions.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["API_ENDPOINT","defaultOptions","exclude","include","stabilize","logging","timeout","cache_api_call","performance","experimental","options","stabilizationExclusionRules","private","browsers","iframe","vpn","calculateHash","samples","hash","i","length","Math","abs","getCommonPixels","images","width","height","finalData","data","indice","u","push","getMostFrequent","pixelArray","Uint8ClampedArray","ImageData","arr","frequencyMap","num","mostFrequent","parseInt","fmix","input","imul","C","Uint32Array","rotl","m","n","key","seed","text","TextEncoder","encode","buffer","ArrayBuffer","TypeError","blocks","byteLength","view32","k","subarray","body","reminder","tail","Uint8Array","finalize","byteArray","Array","from","map","byte","toString","padStart","join","_WIDTH","wait","durationMs","resolveWith","Promise","resolve","setTimeout","availableFonts","baseFonts","measureSingleFont","ctx","font","Error","measureText","getVideoCard","canvas","document","createElement","gl","_a","getContext","undefined","vendor","getParameter","VENDOR","renderer","RENDERER","result","version","VERSION","shadingLanguageVersion","SHADING_LANGUAGE_VERSION","debugInfo","getExtension","vendorUnmasked","UNMASKED_VENDOR_WEBGL","rendererUnmasked","UNMASKED_RENDERER_WEBGL","error","getArchitecture","f","Float32Array","u8","Infinity","integrate","a","b","h","sum","mostFrequentValuesInArrayOfDictionaries","keys","forEach","mostFrequentValueForKey","element","String","highestFrequency","Object","mostFrequentValue","obj","filter","val","defaultPermissionKeys","getBrowser","navigator","name","ua","userAgent","regexes","browserNameMap","edg","edga","edgios","opr","opx","crios","fxios","samsung","vivaldi","brave","regex","match","groups","_b","_c","version1","_d","version2","_e","_f","source","includes","toLowerCase","isMobileUserAgent","test","matchMedias","results","mediaQueries","pointer","hover","update","scripting","value","matchMedia","matches","getApplePayVersion","window","location","protocol","ApplePaySession","versionCheck","supportsVersion","_RUNS","BLACKBOARD_BOLD","GREEK_SYMBOLS","createMathML","content","createComplexNestedStructure","nestedContent","bbSymbol","bbIndex","startIdx","greekSet","slice","createSymbolStructures","structures","tm_component_promises","audio","async","reject","sampleRate","numSamples","audioContext","OfflineAudioContext","webkitOfflineAudioContext","audioBuffer","createBufferSource","oscillator","createOscillator","frequency","compressor","createDynamicsCompressor","threshold","knee","ratio","attack","release","connect","destination","start","oncomplete","event","renderedBuffer","getChannelData","sampleHash","maxChannels","maxChannelCount","channelCountMode","startRendering","console","createAudioFingerprint","imageDatas","gradient","createLinearGradient","addColorStop","fillStyle","fillRect","randomText","fillText","beginPath","moveTo","lineTo","strokeStyle","lineWidth","stroke","imageData","getImageData","generateCanvasImageData","commonPixelsHash","fonts","callback","setAttribute","style","setProperty","src","appendChild","iframeDocument","contentDocument","contentWindow","removeChild","ephemeralIFrame","defaultWidths","fontWidth","hardware","deviceMemory","memoryInfo","memory","videocard","architecture","jsHeapSizeLimit","locales","languages","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","math","acos","asin","cos","PI","largeCos","largeSin","sin","largeTan","tan","permissions","permission_keys","permissions_to_check","permissionPromises","permissionStatus","feature","status","query","state","getBrowserPermissionsOnce","all","then","resolvedPermissions","plugins","plugin","filename","description","screen","is_touchscreen","maxTouchPoints","colorDepth","mediaMatches","w","longer","max","shorter","min","screenResolution","system","browser","platform","productSub","product","useragent","hardwareConcurrency","mobile","applePayVersion","cookieEnabled","webgl","vertexShaderSource","fragmentShaderSource","vertexShader","createShader","VERTEX_SHADER","fragmentShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","useProgram","numSpokes","vertices","angleIncrement","angle","vertexBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","positionAttribute","getAttribLocation","enableVertexAttribArray","vertexAttribPointer","FLOAT","viewport","clearColor","clear","COLOR_BUFFER_BIT","drawArrays","LINES","pixelData","readPixels","RGBA","UNSIGNED_BYTE","drawingBufferWidth","drawingBufferHeight","createWebGLImageData","tm_experimental_component_promises","webrtc","RTCPeerConnection","webkitRTCPeerConnection","mozRTCPeerConnection","supported","connection","iceCandidatePoolSize","iceServers","createDataChannel","offerOptions","offerToReceiveAudio","offerToReceiveVideo","offer","createOffer","setLocalDescription","sdp","extensions","Set","x","replace","sort","getDescriptors","mediaType","RegExp","split","constructDescriptions","descriptors","descriptor","matcher","matchAll","_","type","parts","mimeType","clockRate","channels","feedbackSupport","sdpFmtpLine","Boolean","codecsSdp","video","resolveResult","removeEventListener","onIceCandidate","close","candidateObj","candidate","clearTimeout","candidateType","addEventListener","JSON","stringify","message","processOffer","mathml","testElement","innerHTML","position","visibility","rect","getBoundingClientRect","isMathMLSupported","measurements","struct","mathElement","whiteSpace","top","computedStyle","getComputedStyle","dimensions","fontInfo","fontFamily","fontSize","fontWeight","fontStyle","lineHeight","fontVariant","fontStretch","fontSizeAdjust","textRendering","fontFeatureSettings","fontVariantNumeric","fontKerning","measureMathMLStructure","customComponents","timeoutInstance","includeComponent","creationFunction","getVersion","filterThumbmarkData","isArray","browserInfo","browserComponent","ver","majorVer","excludeList","stabilizationOptions","includeList","option","rules","rule","appliesToAllBrowsers","browserMatch","some","browserRule","ruleName","ruleVersionStr","ruleVersion","performFilter","currentObj","path","entries","currentPath","isExcluded","exclusion","startsWith","isIncluded","inclusion","filtered","VISITOR_ID_KEY","currentApiPromise","apiPromiseResult","getApiPromise","components","endpoint","visitorId","localStorage","getItem","getVisitorId","requestBody","clientHash","fetchPromise","fetch","method","headers","api_key","Authorization","response","ok","json","setItem","setVisitorId","catch","timeoutMs","timeoutPromise","info","timed_out","race","getThumbmark","_options","shouldLog","sessionStorage","random","allComponents","elapsed","resolvedComponents","clientComponentsResult","resolveClientComponents","experimentalComponents","apiPromise","apiResult","thumbmark","maybeElapsed","apiComponents","uniqueness","score","thisHash","thumbmarkData","experimentalData","url","payload","pathname","logThumbmarkData","comps","opts","e","promises","fn","resolvedValues","timeoutTime","timeoutVal","p","startTime","now","t","raceAllPerformance","resolvedComponentsRaw","index","constructor","this","get","overrideOptions","globalIncludeComponent","includeData"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"thumbmark.umd.js","sources":["../src/options.ts","../src/components/audio/index.ts","../src/utils/commonPixels.ts","../src/utils/hash.ts","../src/components/canvas/index.ts","../src/utils/ephemeralIFrame.ts","../src/components/fonts/index.ts","../src/components/hardware/index.ts","../src/components/math/index.ts","../src/utils/getMostFrequent.ts","../src/components/permissions/index.ts","../src/components/system/browser.ts","../src/components/screen/index.ts","../src/components/system/index.ts","../src/components/webgl/index.ts","../src/components/mathml/index.ts","../src/factory.ts","../src/components/locales/index.ts","../src/components/plugins/index.ts","../src/components/webrtc/index.ts","../src/utils/version.ts","../src/functions/filterComponents.ts","../src/utils/visitorId.ts","../src/functions/api.ts","../src/functions/index.ts","../src/utils/log.ts","../src/utils/raceAll.ts","../src/thumbmark.ts","../src/functions/legacy_functions.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["API_ENDPOINT","defaultOptions","exclude","include","stabilize","logging","timeout","cache_api_call","performance","experimental","options","stabilizationExclusionRules","private","browsers","iframe","vpn","calculateHash","samples","hash","i","length","Math","abs","getCommonPixels","images","width","height","finalData","data","indice","u","push","getMostFrequent","pixelArray","Uint8ClampedArray","ImageData","arr","frequencyMap","num","mostFrequent","parseInt","fmix","input","imul","C","Uint32Array","rotl","m","n","key","seed","text","TextEncoder","encode","buffer","ArrayBuffer","TypeError","blocks","byteLength","view32","k","subarray","body","reminder","tail","Uint8Array","finalize","byteArray","Array","from","map","byte","toString","padStart","join","_WIDTH","wait","durationMs","resolveWith","Promise","resolve","setTimeout","availableFonts","baseFonts","measureSingleFont","ctx","font","Error","measureText","getVideoCard","canvas","document","createElement","gl","_a","getContext","undefined","vendor","getParameter","VENDOR","renderer","RENDERER","result","version","VERSION","shadingLanguageVersion","SHADING_LANGUAGE_VERSION","debugInfo","getExtension","vendorUnmasked","UNMASKED_VENDOR_WEBGL","rendererUnmasked","UNMASKED_RENDERER_WEBGL","error","getArchitecture","f","Float32Array","u8","Infinity","integrate","a","b","h","sum","mostFrequentValuesInArrayOfDictionaries","keys","forEach","mostFrequentValueForKey","element","String","highestFrequency","Object","mostFrequentValue","obj","filter","val","defaultPermissionKeys","getBrowser","navigator","name","ua","userAgent","regexes","browserNameMap","edg","edga","edgios","opr","opx","crios","fxios","samsung","vivaldi","brave","regex","match","groups","_b","_c","version1","_d","version2","_e","_f","source","includes","toLowerCase","isMobileUserAgent","test","matchMedias","results","mediaQueries","pointer","hover","update","scripting","value","matchMedia","matches","getApplePayVersion","window","location","protocol","ApplePaySession","versionCheck","supportsVersion","_RUNS","BLACKBOARD_BOLD","GREEK_SYMBOLS","createMathML","content","createComplexNestedStructure","nestedContent","bbSymbol","bbIndex","startIdx","greekSet","slice","createSymbolStructures","structures","tm_component_promises","audio","async","reject","sampleRate","numSamples","audioContext","OfflineAudioContext","webkitOfflineAudioContext","audioBuffer","createBufferSource","oscillator","createOscillator","frequency","compressor","createDynamicsCompressor","threshold","knee","ratio","attack","release","connect","destination","start","oncomplete","event","renderedBuffer","getChannelData","sampleHash","maxChannels","maxChannelCount","channelCountMode","startRendering","console","createAudioFingerprint","imageDatas","gradient","createLinearGradient","addColorStop","fillStyle","fillRect","randomText","fillText","beginPath","moveTo","lineTo","strokeStyle","lineWidth","stroke","imageData","getImageData","generateCanvasImageData","commonPixelsHash","fonts","callback","setAttribute","style","setProperty","src","appendChild","iframeDocument","contentDocument","contentWindow","removeChild","ephemeralIFrame","defaultWidths","fontWidth","hardware","deviceMemory","memoryInfo","memory","videocard","architecture","jsHeapSizeLimit","locales","languages","language","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","math","acos","asin","cos","PI","largeCos","largeSin","sin","largeTan","tan","permissions","permission_keys","permissions_to_check","permissionPromises","permissionStatus","feature","status","query","state","getBrowserPermissionsOnce","all","then","resolvedPermissions","plugins","plugin","filename","description","screen","is_touchscreen","maxTouchPoints","colorDepth","mediaMatches","w","longer","max","shorter","min","screenResolution","system","browser","platform","productSub","product","useragent","hardwareConcurrency","mobile","applePayVersion","cookieEnabled","webgl","vertexShaderSource","fragmentShaderSource","vertexShader","createShader","VERTEX_SHADER","fragmentShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","useProgram","numSpokes","vertices","angleIncrement","angle","vertexBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","positionAttribute","getAttribLocation","enableVertexAttribArray","vertexAttribPointer","FLOAT","viewport","clearColor","clear","COLOR_BUFFER_BIT","drawArrays","LINES","pixelData","readPixels","RGBA","UNSIGNED_BYTE","drawingBufferWidth","drawingBufferHeight","createWebGLImageData","tm_experimental_component_promises","webrtc","RTCPeerConnection","webkitRTCPeerConnection","mozRTCPeerConnection","supported","connection","iceCandidatePoolSize","iceServers","createDataChannel","offerOptions","offerToReceiveAudio","offerToReceiveVideo","offer","createOffer","setLocalDescription","sdp","extensions","Set","x","replace","sort","getDescriptors","mediaType","RegExp","split","constructDescriptions","descriptors","descriptor","matcher","matchAll","_","type","parts","mimeType","clockRate","channels","feedbackSupport","sdpFmtpLine","Boolean","codecsSdp","video","resolveResult","removeEventListener","onIceCandidate","close","candidateObj","candidate","clearTimeout","candidateType","addEventListener","JSON","stringify","message","processOffer","mathml","testElement","innerHTML","position","visibility","rect","getBoundingClientRect","isMathMLSupported","measurements","struct","mathElement","whiteSpace","top","computedStyle","getComputedStyle","dimensions","fontInfo","fontFamily","fontSize","fontWeight","fontStyle","lineHeight","fontVariant","fontStretch","fontSizeAdjust","textRendering","fontFeatureSettings","fontVariantNumeric","fontKerning","measureMathMLStructure","customComponents","timeoutInstance","includeComponent","creationFunction","getVersion","filterThumbmarkData","isArray","browserInfo","browserComponent","ver","majorVer","excludeList","stabilizationOptions","includeList","option","rules","rule","appliesToAllBrowsers","browserMatch","some","browserRule","ruleName","ruleVersionStr","ruleVersion","performFilter","currentObj","path","entries","currentPath","isExcluded","exclusion","startsWith","isIncluded","inclusion","filtered","VISITOR_ID_KEY","currentApiPromise","apiPromiseResult","getApiPromise","components","endpoint","visitorId","localStorage","getItem","getVisitorId","requestBody","clientHash","fetchPromise","fetch","method","headers","api_key","Authorization","response","ok","json","setItem","setVisitorId","catch","timeoutMs","timeoutPromise","info","timed_out","race","getThumbmark","_options","shouldLog","sessionStorage","random","allComponents","elapsed","resolvedComponents","clientComponentsResult","resolveClientComponents","experimentalComponents","apiPromise","apiResult","thumbmark","maybeElapsed","apiComponents","uniqueness","score","thisHash","thumbmarkData","experimentalData","url","payload","pathname","logThumbmarkData","comps","opts","e","promises","fn","resolvedValues","timeoutTime","timeoutVal","p","startTime","now","t","raceAllPerformance","resolvedComponentsRaw","index","constructor","this","get","overrideOptions","globalIncludeComponent","includeData"],"mappings":"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"}
|
package/package.json
CHANGED
package/src/options.ts
CHANGED
|
@@ -50,10 +50,17 @@ export const stabilizationExclusionRules = {
|
|
|
50
50
|
'permission.geolocation',
|
|
51
51
|
'permissions.microphone',
|
|
52
52
|
'system.applePayVersion',
|
|
53
|
-
'system.cookieEnabled'
|
|
53
|
+
'system.cookieEnabled',
|
|
54
54
|
],
|
|
55
55
|
browsers: ['safari']
|
|
56
56
|
},
|
|
57
|
+
{
|
|
58
|
+
exclude: [
|
|
59
|
+
'permissions.background-fetch',
|
|
60
|
+
'permissions.storage-access',
|
|
61
|
+
],
|
|
62
|
+
browsers: ['chrome', 'brave', 'edge', 'opera']
|
|
63
|
+
}
|
|
57
64
|
|
|
58
65
|
],
|
|
59
66
|
'vpn': [
|