From ce9752ac2f97bdf3f345345e9b1da07e2f880e43 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Aug 2026 08:37:20 +0000 Subject: [PATCH 1/2] chore(deps): bump eslint from 9.39.5 to 10.8.1 Bumps [eslint](https://github.com/eslint/eslint) from 9.39.5 to 10.8.1. - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/compare/v9.39.5...v10.8.1) --- updated-dependencies: - dependency-name: eslint dependency-version: 10.8.1 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package.json | 2 +- pnpm-lock.yaml | 262 ++++++++++++++----------------------------------- 2 files changed, 77 insertions(+), 187 deletions(-) diff --git a/package.json b/package.json index 833b329..dc50b9f 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "@eslint/js": "^9.17.0", "@types/node": "^22.10.5", "@vitest/coverage-v8": "^3.2.6", - "eslint": "^9.17.0", + "eslint": "^10.8.1", "jsdom": "^25.0.1", "typescript": "^5.7.2", "typescript-eslint": "^8.19.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c13684d..95e2283 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,8 +18,8 @@ importers: specifier: ^3.2.6 version: 3.2.7(vitest@3.2.7(@types/node@22.20.1)(jsdom@25.0.1)(lightningcss@1.33.0)) eslint: - specifier: ^9.17.0 - version: 9.39.5 + specifier: ^10.8.1 + version: 10.8.1 jsdom: specifier: ^25.0.1 version: 25.0.1 @@ -28,7 +28,7 @@ importers: version: 5.9.3 typescript-eslint: specifier: ^8.19.0 - version: 8.67.0(eslint@9.39.5)(typescript@5.9.3) + version: 8.67.0(eslint@10.8.1)(typescript@5.9.3) vite: specifier: ^8.2.2 version: 8.2.2(@types/node@22.20.1) @@ -260,33 +260,29 @@ packages: resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/config-array@0.21.2': - resolution: {integrity: sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/config-helpers@0.4.2': - resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/config-array@0.23.5': + resolution: {integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/core@0.17.0': - resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/config-helpers@0.7.0': + resolution: {integrity: sha512-DObd/KKUsU+FaFv4PLxSRenpXfQWmPXXP3pPZ6/K1PCrMu2vQpMDMuQe/BqYeoLcz8ro0bVDF1RxOJgfVEdhUw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/eslintrc@3.3.6': - resolution: {integrity: sha512-l2Ul9PrHsPCKcEY/ac7VgFj9D80C7S68sOKc618SyHDPK36s1XcFebXY0iTzUVn4Yq+YbwvSnDmCz9yxjX+QrA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/core@1.2.1': + resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@eslint/js@9.39.5': resolution: {integrity: sha512-QywQuszQh77pIXCsq998c8hbhSTI/azTty1Z6N53dmAudKHhy573j3yvRLsX2BSp8YpLtoCEG8E9DJe+8zUh4A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/object-schema@2.1.7': - resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/object-schema@3.0.5': + resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/plugin-kit@0.4.1': - resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/plugin-kit@0.7.2': + resolution: {integrity: sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} '@humanfs/core@0.19.2': resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==} @@ -586,6 +582,9 @@ packages: '@types/deep-eql@4.0.2': resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + '@types/esrecurse@4.3.1': + resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} + '@types/estree@1.0.9': resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} @@ -725,9 +724,6 @@ packages: resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} - argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - assertion-error@2.0.1: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} @@ -745,9 +741,6 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - brace-expansion@1.1.18: - resolution: {integrity: sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==} - brace-expansion@2.1.4: resolution: {integrity: sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==} @@ -763,18 +756,10 @@ packages: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - chai@5.3.3: resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==} engines: {node: '>=18'} - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - check-error@2.1.3: resolution: {integrity: sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==} engines: {node: '>= 16'} @@ -790,9 +775,6 @@ packages: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -877,26 +859,21 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - eslint-scope@8.4.0: - resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-scope@9.1.2: + resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-visitor-keys@4.2.1: - resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint-visitor-keys@5.0.1: resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - eslint@9.39.5: - resolution: {integrity: sha512-DgZS62aPLXKlnxILS/AYCoRvHaZeXceIzlXPkkGGzJWSow1aEk0lbTlxUSlyjC8jcaKxAdOnTDz+o1JFSBsyjw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + eslint@10.8.1: + resolution: {integrity: sha512-wqA7W2jbsC/BnV9Iv1UZpKVFkO1AdNoSmYW8NWG4HNOBbkAMvIqDZ27pI2f07dqn583NcIC44ckjAcOXDL1QbQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} hasBin: true peerDependencies: jiti: '*' @@ -904,9 +881,9 @@ packages: jiti: optional: true - espree@10.4.0: - resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@11.2.0: + resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} esquery@1.7.0: resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} @@ -997,10 +974,6 @@ packages: deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true - globals@14.0.0: - resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} - engines: {node: '>=18'} - gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} @@ -1048,10 +1021,6 @@ packages: resolution: {integrity: sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==} engines: {node: '>= 4'} - import-fresh@3.3.1: - resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} - engines: {node: '>=6'} - imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -1099,10 +1068,6 @@ packages: js-tokens@9.0.1: resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} - js-yaml@4.3.1: - resolution: {integrity: sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==} - hasBin: true - jsdom@25.0.1: resolution: {integrity: sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==} engines: {node: '>=18'} @@ -1206,9 +1171,6 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - loupe@3.2.1: resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==} @@ -1241,9 +1203,6 @@ packages: resolution: {integrity: sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==} engines: {node: 18 || 20 || >=22} - minimatch@3.1.5: - resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} - minimatch@9.0.9: resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} engines: {node: '>=16 || 14 >=14.17'} @@ -1281,10 +1240,6 @@ packages: package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - parse5@7.3.0: resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} @@ -1326,10 +1281,6 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - rolldown@1.2.5: resolution: {integrity: sha512-VD2IE5PUG4Oj8zz2VGykiYd5wbnjdIiSsNQb8Qu5B+noEp+A78mu2iVvpp27g8es14Tk9rofNs5Tku9iQCS4fA==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1399,10 +1350,6 @@ packages: resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} engines: {node: '>=12'} - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - strip-literal@3.1.0: resolution: {integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==} @@ -1792,50 +1739,36 @@ snapshots: '@esbuild/win32-x64@0.25.12': optional: true - '@eslint-community/eslint-utils@4.10.1(eslint@9.39.5)': + '@eslint-community/eslint-utils@4.10.1(eslint@10.8.1)': dependencies: - eslint: 9.39.5 + eslint: 10.8.1 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} - '@eslint/config-array@0.21.2': + '@eslint/config-array@0.23.5': dependencies: - '@eslint/object-schema': 2.1.7 + '@eslint/object-schema': 3.0.5 debug: 4.4.3 - minimatch: 3.1.5 + minimatch: 10.2.6 transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.4.2': + '@eslint/config-helpers@0.7.0': dependencies: - '@eslint/core': 0.17.0 + '@eslint/core': 1.2.1 - '@eslint/core@0.17.0': + '@eslint/core@1.2.1': dependencies: '@types/json-schema': 7.0.15 - '@eslint/eslintrc@3.3.6': - dependencies: - ajv: 6.15.0 - debug: 4.4.3 - espree: 10.4.0 - globals: 14.0.0 - ignore: 5.3.2 - import-fresh: 3.3.1 - js-yaml: 4.3.1 - minimatch: 3.1.5 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - '@eslint/js@9.39.5': {} - '@eslint/object-schema@2.1.7': {} + '@eslint/object-schema@3.0.5': {} - '@eslint/plugin-kit@0.4.1': + '@eslint/plugin-kit@0.7.2': dependencies: - '@eslint/core': 0.17.0 + '@eslint/core': 1.2.1 levn: 0.4.1 '@humanfs/core@0.19.2': @@ -2016,6 +1949,8 @@ snapshots: '@types/deep-eql@4.0.2': {} + '@types/esrecurse@4.3.1': {} + '@types/estree@1.0.9': {} '@types/json-schema@7.0.15': {} @@ -2024,15 +1959,15 @@ snapshots: dependencies: undici-types: 6.21.0 - '@typescript-eslint/eslint-plugin@8.67.0(@typescript-eslint/parser@8.67.0(eslint@9.39.5)(typescript@5.9.3))(eslint@9.39.5)(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.67.0(@typescript-eslint/parser@8.67.0(eslint@10.8.1)(typescript@5.9.3))(eslint@10.8.1)(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.67.0(eslint@9.39.5)(typescript@5.9.3) + '@typescript-eslint/parser': 8.67.0(eslint@10.8.1)(typescript@5.9.3) '@typescript-eslint/scope-manager': 8.67.0 - '@typescript-eslint/type-utils': 8.67.0(eslint@9.39.5)(typescript@5.9.3) - '@typescript-eslint/utils': 8.67.0(eslint@9.39.5)(typescript@5.9.3) + '@typescript-eslint/type-utils': 8.67.0(eslint@10.8.1)(typescript@5.9.3) + '@typescript-eslint/utils': 8.67.0(eslint@10.8.1)(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.67.0 - eslint: 9.39.5 + eslint: 10.8.1 ignore: 7.0.6 natural-compare: 1.4.0 ts-api-utils: 2.5.0(typescript@5.9.3) @@ -2040,14 +1975,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.67.0(eslint@9.39.5)(typescript@5.9.3)': + '@typescript-eslint/parser@8.67.0(eslint@10.8.1)(typescript@5.9.3)': dependencies: '@typescript-eslint/scope-manager': 8.67.0 '@typescript-eslint/types': 8.67.0 '@typescript-eslint/typescript-estree': 8.67.0(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.67.0 debug: 4.4.3 - eslint: 9.39.5 + eslint: 10.8.1 typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -2070,13 +2005,13 @@ snapshots: dependencies: typescript: 5.9.3 - '@typescript-eslint/type-utils@8.67.0(eslint@9.39.5)(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.67.0(eslint@10.8.1)(typescript@5.9.3)': dependencies: '@typescript-eslint/types': 8.67.0 '@typescript-eslint/typescript-estree': 8.67.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.67.0(eslint@9.39.5)(typescript@5.9.3) + '@typescript-eslint/utils': 8.67.0(eslint@10.8.1)(typescript@5.9.3) debug: 4.4.3 - eslint: 9.39.5 + eslint: 10.8.1 ts-api-utils: 2.5.0(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: @@ -2099,13 +2034,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.67.0(eslint@9.39.5)(typescript@5.9.3)': + '@typescript-eslint/utils@8.67.0(eslint@10.8.1)(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@9.39.5) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.8.1) '@typescript-eslint/scope-manager': 8.67.0 '@typescript-eslint/types': 8.67.0 '@typescript-eslint/typescript-estree': 8.67.0(typescript@5.9.3) - eslint: 9.39.5 + eslint: 10.8.1 typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -2201,8 +2136,6 @@ snapshots: ansi-styles@6.2.3: {} - argparse@2.0.1: {} - assertion-error@2.0.1: {} ast-v8-to-istanbul@0.3.12: @@ -2217,11 +2150,6 @@ snapshots: balanced-match@4.0.4: {} - brace-expansion@1.1.18: - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - brace-expansion@2.1.4: dependencies: balanced-match: 1.0.2 @@ -2237,8 +2165,6 @@ snapshots: es-errors: 1.3.0 function-bind: 1.1.2 - callsites@3.1.0: {} - chai@5.3.3: dependencies: assertion-error: 2.0.1 @@ -2247,11 +2173,6 @@ snapshots: loupe: 3.2.1 pathval: 2.0.1 - chalk@4.1.2: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - check-error@2.1.3: {} color-convert@2.0.1: @@ -2264,8 +2185,6 @@ snapshots: dependencies: delayed-stream: 1.0.0 - concat-map@0.0.1: {} - cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -2358,39 +2277,36 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-scope@8.4.0: + eslint-scope@9.1.2: dependencies: + '@types/esrecurse': 4.3.1 + '@types/estree': 1.0.9 esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@4.2.1: {} - eslint-visitor-keys@5.0.1: {} - eslint@9.39.5: + eslint@10.8.1: dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@9.39.5) + '@eslint-community/eslint-utils': 4.10.1(eslint@10.8.1) '@eslint-community/regexpp': 4.12.2 - '@eslint/config-array': 0.21.2 - '@eslint/config-helpers': 0.4.2 - '@eslint/core': 0.17.0 - '@eslint/eslintrc': 3.3.6 - '@eslint/js': 9.39.5 - '@eslint/plugin-kit': 0.4.1 + '@eslint/config-array': 0.23.5 + '@eslint/config-helpers': 0.7.0 + '@eslint/core': 1.2.1 + '@eslint/plugin-kit': 0.7.2 '@humanfs/node': 0.16.8 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 '@types/estree': 1.0.9 ajv: 6.15.0 - chalk: 4.1.2 cross-spawn: 7.0.6 debug: 4.4.3 escape-string-regexp: 4.0.0 - eslint-scope: 8.4.0 - eslint-visitor-keys: 4.2.1 - espree: 10.4.0 + eslint-scope: 9.1.2 + eslint-visitor-keys: 5.0.1 + espree: 11.2.0 esquery: 1.7.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -2401,18 +2317,17 @@ snapshots: imurmurhash: 0.1.4 is-glob: 4.0.3 json-stable-stringify-without-jsonify: 1.0.1 - lodash.merge: 4.6.2 - minimatch: 3.1.5 + minimatch: 10.2.6 natural-compare: 1.4.0 optionator: 0.9.4 transitivePeerDependencies: - supports-color - espree@10.4.0: + espree@11.2.0: dependencies: acorn: 8.18.0 acorn-jsx: 5.3.2(acorn@8.18.0) - eslint-visitor-keys: 4.2.1 + eslint-visitor-keys: 5.0.1 esquery@1.7.0: dependencies: @@ -2507,8 +2422,6 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 1.11.1 - globals@14.0.0: {} - gopd@1.2.0: {} has-flag@4.0.0: {} @@ -2551,11 +2464,6 @@ snapshots: ignore@7.0.6: {} - import-fresh@3.3.1: - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - imurmurhash@0.1.4: {} is-extglob@2.1.1: {} @@ -2601,10 +2509,6 @@ snapshots: js-tokens@9.0.1: {} - js-yaml@4.3.1: - dependencies: - argparse: 2.0.1 - jsdom@25.0.1: dependencies: cssstyle: 4.6.0 @@ -2701,8 +2605,6 @@ snapshots: dependencies: p-locate: 5.0.0 - lodash.merge@4.6.2: {} - loupe@3.2.1: {} lru-cache@10.4.3: {} @@ -2733,10 +2635,6 @@ snapshots: dependencies: brace-expansion: 5.0.9 - minimatch@3.1.5: - dependencies: - brace-expansion: 1.1.18 - minimatch@9.0.9: dependencies: brace-expansion: 2.1.4 @@ -2770,10 +2668,6 @@ snapshots: package-json-from-dist@1.0.1: {} - parent-module@1.0.1: - dependencies: - callsites: 3.1.0 - parse5@7.3.0: dependencies: entities: 6.0.1 @@ -2805,8 +2699,6 @@ snapshots: punycode@2.3.1: {} - resolve-from@4.0.0: {} - rolldown@1.2.5: dependencies: '@oxc-project/types': 0.146.0 @@ -2908,8 +2800,6 @@ snapshots: dependencies: ansi-regex: 6.3.0 - strip-json-comments@3.1.1: {} - strip-literal@3.1.0: dependencies: js-tokens: 9.0.1 @@ -2963,13 +2853,13 @@ snapshots: dependencies: prelude-ls: 1.2.1 - typescript-eslint@8.67.0(eslint@9.39.5)(typescript@5.9.3): + typescript-eslint@8.67.0(eslint@10.8.1)(typescript@5.9.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.67.0(@typescript-eslint/parser@8.67.0(eslint@9.39.5)(typescript@5.9.3))(eslint@9.39.5)(typescript@5.9.3) - '@typescript-eslint/parser': 8.67.0(eslint@9.39.5)(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.67.0(@typescript-eslint/parser@8.67.0(eslint@10.8.1)(typescript@5.9.3))(eslint@10.8.1)(typescript@5.9.3) + '@typescript-eslint/parser': 8.67.0(eslint@10.8.1)(typescript@5.9.3) '@typescript-eslint/typescript-estree': 8.67.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.67.0(eslint@9.39.5)(typescript@5.9.3) - eslint: 9.39.5 + '@typescript-eslint/utils': 8.67.0(eslint@10.8.1)(typescript@5.9.3) + eslint: 10.8.1 typescript: 5.9.3 transitivePeerDependencies: - supports-color From ecf424597b02fae66dbf43b4ce0bf47355aa46c3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Aug 2026 08:37:44 +0000 Subject: [PATCH 2/2] [dependabot-skip] Rebuild frontend assets --- src/Resources/public/js/device-intelligence.min.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Resources/public/js/device-intelligence.min.js b/src/Resources/public/js/device-intelligence.min.js index fb2371f..1de9b04 100644 --- a/src/Resources/public/js/device-intelligence.min.js +++ b/src/Resources/public/js/device-intelligence.min.js @@ -1,2 +1,2 @@ -var DeviceIntelligence=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t={script:`color:#0ea5e9;font-weight:bold`,debug:`color:#6b7280`,info:`color:#2563eb`,warn:`color:#d97706`,error:`color:#dc2626;font-weight:bold`},n={script:`đŸ“Ļ`,debug:`🔍`,info:`â„šī¸`,warn:`âš ī¸`,error:`❌`};function r(e){return e.map(e=>typeof e==`object`&&e&&!(e instanceof Error)?JSON.stringify(e):e)}function i(e,r){if(r!==void 0&&r!==``){console.log(`%c${n.script} ${e} script loaded, build time: %c${r}`,t.script,`color:#059669`);return}console.log(`%c${n.script} ${e} script loaded`,t.script)}function a(e,i,a){let o=n[e],s=t[e],c=`%c${o} ${i}`,l=console[e];if(a.length>0){l(c,s,...r(a));return}l(c,s)}function o(e,t,n){return(...r)=>{e()&&a(n,t,r)}}function s(e,t={}){let n=`[${e}]`,{buildTime:r,alwaysLog:a=!1}=t,s=a===!0,c=s;return{scriptLoaded(){i(n,r)},setDebug(e){c=s?!0:e},debug:o(()=>c,n,`debug`),info:o(()=>c,n,`info`),warn:o(()=>c,n,`warn`),error:o(()=>c,n,`error`)}}var c=class{entry=null;get(){return this.entry===null?null:Date.now()>=this.entry.expiresAt?(this.entry=null,null):this.entry.value}set(e,t){let n=t*1e3;this.entry={value:e,expiresAt:Date.now()+n},n<=0&&(this.entry=null)}clear(){this.entry=null}has(){return this.get()!==null}},l=16;async function u(e){let t=globalThis.crypto?.subtle;if(!t)throw Error(`WebCrypto SubtleCrypto is not available`);let n=typeof e==`string`?new TextEncoder().encode(e):e,r=await t.digest(`SHA-256`,n),i=new Uint8Array(r),a=``;for(let e=0;e1?1:e}function p(e){return{name:e.name,value:e.value,normalizedValue:e.normalizedValue,quality:f(e.quality),stability:f(e.stability),entropyCategory:e.entropyCategory,collectedAt:e.collectedAt??Date.now()}}function m(e){return new Promise((t,n)=>{let r=()=>{n(new DOMException(`The operation was aborted.`,`AbortError`))};if(e.aborted){r();return}e.addEventListener(`abort`,r,{once:!0})})}function h(e,t){return Promise.race([e,m(t)])}function g(e){if(e.abortSignal.aborted)throw new DOMException(`The operation was aborted.`,`AbortError`)}var ee=44100,_=44100,v=256,y=class{name=`audio`;async collect(e){g(e);let t=b();if(!t)throw Error(`OfflineAudioContext is not available`);let n=new t(1,_,ee),r=n.createOscillator();r.type=`triangle`,r.frequency.value=1e4;let i=n.createDynamicsCompressor();i.threshold.value=-50,i.knee.value=40,i.ratio.value=12,i.attack.value=0,i.release.value=.25,r.connect(i),i.connect(n.destination),r.start(0);let a=await d(x((await h(n.startRendering(),e.abortSignal)).getChannelData(0),v).join(`,`));return p({name:this.name,value:a,normalizedValue:a,quality:.85,stability:.9,entropyCategory:`high`})}};function b(){let e=globalThis;return e.OfflineAudioContext??e.webkitOfflineAudioContext??null}function x(e,t){let n=Math.max(1,Math.floor(e.length/t)),r=[];for(let i=0;i`u`?null:navigator,r=n?.userAgent??``;n&&n.webdriver===!0&&t.push(`webdriver`),!n||!Array.isArray(n.languages)||n.languages.length===0?t.push(`missing-languages`):n.language&&n.languages[0]&&n.language!==n.languages[0]&&t.push(`language-mismatch`),!n||typeof n.hardwareConcurrency!=`number`?t.push(`missing-hardware-concurrency`):(n.hardwareConcurrency<=0||n.hardwareConcurrency>128)&&t.push(`implausible-hardware-concurrency`),/headless/i.test(r)&&t.push(`headless-ua`),/HeadlessChrome/i.test(r)&&t.push(`headless-chrome`),typeof window<`u`&&window.outerWidth===0&&window.outerHeight===0&&t.push(`zero-outer-size`);let i={indicators:t,confidence:f(t.reduce((e,t)=>e+(S[t]??.15),0))};return p({name:this.name,value:i,normalizedValue:i,quality:.8,stability:.5,entropyCategory:`low`})}},w=280,T=80,E=class{name=`canvas`;async collect(e){if(g(e),typeof document>`u`)throw Error(`document is not available`);let t=document.createElement(`canvas`);t.width=w,t.height=T,t.style.display=`none`;let n=t.getContext(`2d`,{willReadFrequently:!0});if(!n)throw Error(`CanvasRenderingContext2D is not available`);D(n);let r=await d(n.getImageData(0,0,w,T).data);return p({name:this.name,value:r,normalizedValue:r,quality:.92,stability:.95,entropyCategory:`high`})}};function D(e){e.fillStyle=`#f60`,e.fillRect(8,8,90,48),e.fillStyle=`#069`,e.fillRect(108,12,70,40),e.strokeStyle=`#111827`,e.lineWidth=2,e.beginPath(),e.arc(220,36,26,0,Math.PI*2),e.stroke(),e.beginPath(),e.arc(248,52,14,.25*Math.PI,1.6*Math.PI),e.stroke(),e.fillStyle=`#111827`,e.font=`16px Arial, sans-serif`,e.textBaseline=`top`,e.fillText(`DeviceIntelligence`,12,58),e.fillStyle=`rgba(16, 185, 129, 0.45)`,e.fillRect(40,20,36,18)}var O=class{name=`capabilities`;async collect(e){g(e);let t=typeof navigator>`u`?null:navigator,n=typeof window>`u`?null:window,r={cookieEnabled:t?.cookieEnabled??!1,pdfViewerEnabled:!!t?.pdfViewerEnabled,serviceWorker:!!(t&&`serviceWorker`in t),webgl:k(),webgpu:!!(t&&`gpu`in t),wasm:typeof WebAssembly<`u`,sharedArrayBuffer:typeof SharedArrayBuffer<`u`,touch:(t?.maxTouchPoints??0)>0,matchMedia:typeof n?.matchMedia==`function`,localStorage:A(`localStorage`),sessionStorage:A(`sessionStorage`),indexedDB:typeof indexedDB<`u`},i=Object.entries(r).filter(([,e])=>e).map(([e])=>e).sort();return p({name:this.name,value:r,normalizedValue:i,quality:.9,stability:.9,entropyCategory:`medium`})}};function k(){if(typeof document>`u`||typeof navigator<`u`&&/jsdom/i.test(navigator.userAgent))return!1;try{let e=document.createElement(`canvas`);return!!(e.getContext(`webgl`)||e.getContext(`experimental-webgl`))}catch{return!1}}function A(e){try{let t=globalThis[e],n=`__di_cap__`;return t.setItem(n,`1`),t.removeItem(n),!0}catch{return!1}}function j(e){let t=e.trim();return t.length===0?`other`:/Edg(?:e|A|iOS)?\/|\bEdge\//i.test(t)||/^Edge\s/i.test(t)?M(t,`Edge`,/(?:Edg(?:e|A|iOS)?|Edge)[/\s](\d+)/i):/\bOPR\/|\bOpera\//i.test(t)||/^Opera\s/i.test(t)?M(t,`Opera`,/(?:OPR|Opera)[/\s](\d+)/i):/\bFirefox\/|\bFxiOS\//i.test(t)||/^Firefox\s/i.test(t)?M(t,`Firefox`,/(?:Firefox|FxiOS)[/\s](\d+)/i):/^Chrome\s+\d+/i.test(t)?M(t,`Chrome`,/^Chrome\s+(\d+)/i):/\bSafari\//i.test(t)&&/\bVersion\//i.test(t)&&!/\b(Chrome|Chromium|CriOS|Edg|OPR)\b/i.test(t)||/^Safari\s/i.test(t)?M(t,`Safari`,/(?:Version|Safari)[/\s](\d+)/i):/\b(Chrome|Chromium|CriOS)\//i.test(t)?M(t,`Chrome`,/(?:Chrome|Chromium|CriOS)\/(\d+)/i):`other`}function M(e,t,n){let r=e.match(n)?.[1];return r?`${t} ${r}`:t}function N(e){let t=e.toLowerCase();return t.includes(`win`)?`windows`:t.includes(`android`)?`android`:t.includes(`iphone`)||t.includes(`ipad`)||t.includes(`ipod`)||t.includes(`ios`)?`ios`:t.includes(`mac`)||t.includes(`darwin`)?`macos`:t.includes(`linux`)||t.includes(`x11`)||t.includes(`cros`)?`linux`:`other`}function P(e,t){let n=Math.max(e,t);return!Number.isFinite(n)||n<=0?`other`:n<=480?`mobile-s`:n<=767?`mobile-l`:n<=1280?`tablet`:n<=1920?`hd`:n<=2560?`qhd`:n<=3840?`uhd`:`other`}function F(e,t){let n=`${e} ${t}`.toLowerCase();return n.includes(`apple`)||n.includes(`metal`)?`apple`:n.includes(`nvidia`)||n.includes(`geforce`)||n.includes(`quadro`)?`nvidia`:n.includes(`amd`)||n.includes(`radeon`)||n.includes(`ati`)?`amd`:n.includes(`intel`)?`intel`:n.includes(`mali`)?`mali`:n.includes(`adreno`)?`adreno`:`other`}var I=[`architecture`,`bitness`,`model`,`platformVersion`,`uaFullVersion`,`fullVersionList`],L=class{name=`client_hints`;async collect(e){if(g(e),typeof navigator>`u`)throw Error(`navigator is not available`);let t=navigator.userAgentData;if(!t)return p({name:this.name,value:{brands:[],mobile:null,platform:``,highEntropy:!1,available:!1},normalizedValue:{browser:j(navigator.userAgent??``),platform:N(navigator.platform??navigator.userAgent??``),highEntropy:!1},quality:.35,stability:.7,entropyCategory:`medium`});let n={brands:Array.isArray(t.brands)?t.brands:[],mobile:typeof t.mobile==`boolean`?t.mobile:null,platform:t.platform??``,highEntropy:!1,available:!0},r={},i=!1;if(e.consent.highEntropy&&typeof t.getHighEntropyValues==`function`)try{r=await h(t.getHighEntropyValues([...I]),e.abortSignal),i=!0}catch{i=!1}let a={...n,...r,highEntropy:i},o=R(n.brands),s=typeof r.uaFullVersion==`string`?String(r.uaFullVersion):o?.version??``,c=o?`${o.brand} ${s}`:navigator.userAgent;return p({name:this.name,value:a,normalizedValue:{browser:j(c),platform:N(n.platform||navigator.platform||``),highEntropy:i},quality:i?.95:.7,stability:.75,entropyCategory:`medium`})}};function R(e){return e.find(e=>{let t=e.brand.toLowerCase();return t!==`not?a;brand`&&t!==`not a;brand`&&!t.includes(`not:`)})??e[0]??null}var z=`mmmmmmmmmmlli`,B=`monospace`,V=[`Arial`,`Times New Roman`,`Courier New`,`Georgia`,`Verdana`,`Roboto`],H=class{name=`fonts`;async collect(e){if(g(e),typeof document>`u`||!document.body)throw Error(`document.body is not available`);let t=U(z,B),n=V.filter(e=>U(z,`${e}, ${B}`)!==t);return p({name:this.name,value:n,normalizedValue:[...n].sort(),quality:.7,stability:.8,entropyCategory:`high`})}};function U(e,t){let n=document.createElement(`span`);n.style.cssText=[`position:absolute`,`left:-9999px`,`top:0`,`visibility:hidden`,`white-space:nowrap`,`font:72px ${t}`].join(`;`),n.textContent=e,document.body.appendChild(n);let r=n.offsetWidth;return document.body.removeChild(n),r}var W=class{name=`navigator`;async collect(e){if(g(e),typeof navigator>`u`)throw Error(`navigator is not available`);let t=navigator.userAgent??``,n=navigator.platform??``,r=Array.isArray(navigator.languages)?[...navigator.languages]:[],i=navigator,a={userAgent:t,platform:n,language:navigator.language??``,languages:r,hardwareConcurrency:navigator.hardwareConcurrency??null,deviceMemory:typeof i.deviceMemory==`number`?i.deviceMemory:null,maxTouchPoints:navigator.maxTouchPoints??0,vendor:navigator.vendor??``},o=j(t),s=N(n||t);return p({name:this.name,value:a,normalizedValue:{browser:o,platform:s,hardwareConcurrency:a.hardwareConcurrency},quality:t.length>0?.9:.4,stability:.8,entropyCategory:`medium`})}},G=class{name=`screen`;async collect(e){g(e);let t=typeof screen>`u`?null:screen;if(!t)throw Error(`screen is not available`);let n=K(t.width),r=K(t.height),i={width:n,height:r,availWidth:K(t.availWidth),availHeight:K(t.availHeight),colorDepth:K(t.colorDepth),pixelDepth:K(t.pixelDepth),pixelRatio:K(typeof devicePixelRatio==`number`?devicePixelRatio:1)},a=P(n,r);return p({name:this.name,value:i,normalizedValue:{screenClass:a,width:n,height:r},quality:n>0&&r>0?.95:.4,stability:.7,entropyCategory:`low`})}};function K(e){return Number.isFinite(e)?e:0}var q=class{name=`timezone`;async collect(e){g(e);let t=`UTC`;try{t=Intl.DateTimeFormat().resolvedOptions().timeZone||`UTC`}catch{t=`UTC`}let n=new Date().getTimezoneOffset(),r={timeZone:t,offsetMinutes:n};return p({name:this.name,value:r,normalizedValue:t,quality:t.length>0?.99:.3,stability:.85,entropyCategory:`low`})}},J=class{name=`webgl`;async collect(e){if(g(e),typeof document>`u`)throw Error(`document is not available`);let t=document.createElement(`canvas`);t.width=1,t.height=1;let n=Y(t);if(!n)throw Error(`WebGL is not available`);try{let e=n.getExtension(`WEBGL_debug_renderer_info`),t=X(n,e?e.UNMASKED_VENDOR_WEBGL:n.VENDOR),r=X(n,e?e.UNMASKED_RENDERER_WEBGL:n.RENDERER),i=await d([...n.getSupportedExtensions()??[]].sort().join(`,`)),a=n.getParameter(n.MAX_VIEWPORT_DIMS),o={maxTextureSize:Z(n,n.MAX_TEXTURE_SIZE),maxViewportDims:Array.isArray(a)?[Number(a[0]),Number(a[1])]:a instanceof Int32Array?[a[0]??0,a[1]??0]:null,maxRenderbufferSize:Z(n,n.MAX_RENDERBUFFER_SIZE),maxVertexAttribs:Z(n,n.MAX_VERTEX_ATTRIBS),maxFragmentUniformVectors:Z(n,n.MAX_FRAGMENT_UNIFORM_VECTORS)},s={vendor:t,renderer:r,extensionsHash:i,limits:o},c=typeof r==`string`&&r.length>0,l=c&&e?.88:c?.7:.45;return p({name:this.name,value:s,normalizedValue:{gpuFamily:F(t??``,r??``),extensionsHash:i,maxTextureSize:o.maxTextureSize},quality:l,stability:.95,entropyCategory:`high`})}finally{n.getExtension(`WEBGL_lose_context`)?.loseContext()}}};function Y(e){let t={alpha:!0,antialias:!1,depth:!1,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1};return e.getContext(`webgl`,t)||e.getContext(`experimental-webgl`,t)}function X(e,t){try{let n=e.getParameter(t);return typeof n==`string`&&n.length>0?n:null}catch{return null}}function Z(e,t){try{let n=e.getParameter(t);return typeof n==`number`&&Number.isFinite(n)?n:null}catch{return null}}async function Q(e,t,n){try{let r=await fetch(e,{method:`POST`,credentials:`same-origin`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t),signal:n});if(!r.ok)return null;let i=await r.text();if(i.trim().length===0)return{ok:!0};let a=JSON.parse(i);return typeof a!=`object`||!a?{ok:!0}:a}catch{return null}}var $=`1.0.0`,te=`/_device/collect`,ne=1500,re=3600,ie={audio:!0,canvas:!0,webgl:!0,screen:!0,timezone:!0,navigator:!0,clientHints:!0,capabilities:!0,automation:!0,fonts:!1},ae=class{endpoint;timeout;cacheTtl;cacheEnabled;consent;cache=new c;collectors=[];constructor(e={}){this.endpoint=e.endpoint??te,this.timeout=se(e.timeout),this.cacheEnabled=e.cache?.enabled??!0,this.cacheTtl=e.cache?.ttl??re,this.consent={highEntropy:e.consent?.highEntropy??!0},this.collectors=oe({...ie,...e.collectors})}async collect(){return this.runCollect(!1)}async refresh(){return this.runCollect(!0)}getCachedObservation(){return this.cache.get()}clear(){this.cache.clear()}registerCollector(e){this.collectors.push(e)}async runCollect(e){try{if(!e&&this.cacheEnabled){let e=this.cache.get();if(e)return e.result}let t=new AbortController,n=globalThis.setTimeout(()=>t.abort(),this.timeout),r={timeout:this.timeout,abortSignal:t.signal,consent:this.consent},i={};try{i=await this.collectSignals(r)}finally{globalThis.clearTimeout(n)}let a=this.collectors.length,o=Object.keys(i).length,s=ol.abort(),this.timeout),d=null;try{d=await Q(this.endpoint,c,l.signal)}finally{globalThis.clearTimeout(u)}let f=d===null,p=o>0,m={ok:!f&&p&&d?.ok!==!1,degraded:!!d?.degraded||s||f||!p,signals:i};d?.new!==void 0&&(m.new=d.new),d?.token!==void 0&&(m.token=d.token),d?.expiresAt!==void 0&&(m.expiresAt=d.expiresAt),d?.deviceId!==void 0&&(m.deviceId=d.deviceId),d?.confidence!==void 0&&(m.confidence=d.confidence),d?.risk!==void 0&&(m.risk=d.risk),(f||!p)&&(m.ok=!1,m.degraded=!0);let h={timestamp:Date.now(),signals:i,result:m};return this.cacheEnabled&&this.cache.set(h,this.cacheTtl),m}catch{return{ok:!1,degraded:!0,signals:{}}}}async collectSignals(e){let t={},n=this.collectors.map(async n=>{try{let r=await h(n.collect(e),e.abortSignal);r&&typeof r.name==`string`&&(t[r.name]=r)}catch{}}),r=Promise.all(n),i=le(this.timeout,e.abortSignal);return await Promise.race([r,i]),await Promise.allSettled(n),t}toPayload(e){let t={};for(let[n,r]of Object.entries(e))t[n]={value:r.value,quality:r.quality,collectedAt:r.collectedAt};return{v:1,sdkVersion:$,timestamp:Math.floor(Date.now()/1e3),nonce:ce(),consent:this.consent,signals:t}}};function oe(e){let t=[];return e.navigator&&t.push(new W),e.clientHints&&t.push(new L),e.screen&&t.push(new G),e.timezone&&t.push(new q),e.capabilities&&t.push(new O),e.automation&&t.push(new C),e.canvas&&t.push(new E),e.webgl&&t.push(new J),e.audio&&t.push(new y),e.fonts&&t.push(new H),t}function se(e){return typeof e==`number`&&Number.isFinite(e)&&e>0?e:ne}function ce(){let e=new Uint8Array(16);if(globalThis.crypto?.getRandomValues)globalThis.crypto.getRandomValues(e);else for(let t=0;t{if(t.aborted){n();return}let r=globalThis.setTimeout(n,e);t.addEventListener(`abort`,()=>{globalThis.clearTimeout(r),n()},{once:!0})})}return s(`device-intelligence`,{buildTime:`2026-08-24T08:02:34.524Z`}).scriptLoaded(),e.DeviceIntelligence=ae,e.MemoryCache=c,e.SDK_VERSION=$,e.normalizeBrowser=j,e.normalizeGpuFamily=F,e.normalizePlatform=N,e.normalizeScreenClass=P,e})({});globalThis.DeviceIntelligence=DeviceIntelligence.DeviceIntelligence; +var DeviceIntelligence=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t={script:`color:#0ea5e9;font-weight:bold`,debug:`color:#6b7280`,info:`color:#2563eb`,warn:`color:#d97706`,error:`color:#dc2626;font-weight:bold`},n={script:`đŸ“Ļ`,debug:`🔍`,info:`â„šī¸`,warn:`âš ī¸`,error:`❌`};function r(e){return e.map(e=>typeof e==`object`&&e&&!(e instanceof Error)?JSON.stringify(e):e)}function i(e,r){if(r!==void 0&&r!==``){console.log(`%c${n.script} ${e} script loaded, build time: %c${r}`,t.script,`color:#059669`);return}console.log(`%c${n.script} ${e} script loaded`,t.script)}function a(e,i,a){let o=n[e],s=t[e],c=`%c${o} ${i}`,l=console[e];if(a.length>0){l(c,s,...r(a));return}l(c,s)}function o(e,t,n){return(...r)=>{e()&&a(n,t,r)}}function s(e,t={}){let n=`[${e}]`,{buildTime:r,alwaysLog:a=!1}=t,s=a===!0,c=s;return{scriptLoaded(){i(n,r)},setDebug(e){c=s?!0:e},debug:o(()=>c,n,`debug`),info:o(()=>c,n,`info`),warn:o(()=>c,n,`warn`),error:o(()=>c,n,`error`)}}var c=class{entry=null;get(){return this.entry===null?null:Date.now()>=this.entry.expiresAt?(this.entry=null,null):this.entry.value}set(e,t){let n=t*1e3;this.entry={value:e,expiresAt:Date.now()+n},n<=0&&(this.entry=null)}clear(){this.entry=null}has(){return this.get()!==null}},l=16;async function u(e){let t=globalThis.crypto?.subtle;if(!t)throw Error(`WebCrypto SubtleCrypto is not available`);let n=typeof e==`string`?new TextEncoder().encode(e):e,r=await t.digest(`SHA-256`,n),i=new Uint8Array(r),a=``;for(let e=0;e1?1:e}function p(e){return{name:e.name,value:e.value,normalizedValue:e.normalizedValue,quality:f(e.quality),stability:f(e.stability),entropyCategory:e.entropyCategory,collectedAt:e.collectedAt??Date.now()}}function m(e){return new Promise((t,n)=>{let r=()=>{n(new DOMException(`The operation was aborted.`,`AbortError`))};if(e.aborted){r();return}e.addEventListener(`abort`,r,{once:!0})})}function h(e,t){return Promise.race([e,m(t)])}function g(e){if(e.abortSignal.aborted)throw new DOMException(`The operation was aborted.`,`AbortError`)}var ee=44100,_=44100,v=256,y=class{name=`audio`;async collect(e){g(e);let t=b();if(!t)throw Error(`OfflineAudioContext is not available`);let n=new t(1,_,ee),r=n.createOscillator();r.type=`triangle`,r.frequency.value=1e4;let i=n.createDynamicsCompressor();i.threshold.value=-50,i.knee.value=40,i.ratio.value=12,i.attack.value=0,i.release.value=.25,r.connect(i),i.connect(n.destination),r.start(0);let a=await d(x((await h(n.startRendering(),e.abortSignal)).getChannelData(0),v).join(`,`));return p({name:this.name,value:a,normalizedValue:a,quality:.85,stability:.9,entropyCategory:`high`})}};function b(){let e=globalThis;return e.OfflineAudioContext??e.webkitOfflineAudioContext??null}function x(e,t){let n=Math.max(1,Math.floor(e.length/t)),r=[];for(let i=0;i`u`?null:navigator,r=n?.userAgent??``;n&&n.webdriver===!0&&t.push(`webdriver`),!n||!Array.isArray(n.languages)||n.languages.length===0?t.push(`missing-languages`):n.language&&n.languages[0]&&n.language!==n.languages[0]&&t.push(`language-mismatch`),!n||typeof n.hardwareConcurrency!=`number`?t.push(`missing-hardware-concurrency`):(n.hardwareConcurrency<=0||n.hardwareConcurrency>128)&&t.push(`implausible-hardware-concurrency`),/headless/i.test(r)&&t.push(`headless-ua`),/HeadlessChrome/i.test(r)&&t.push(`headless-chrome`),typeof window<`u`&&window.outerWidth===0&&window.outerHeight===0&&t.push(`zero-outer-size`);let i={indicators:t,confidence:f(t.reduce((e,t)=>e+(S[t]??.15),0))};return p({name:this.name,value:i,normalizedValue:i,quality:.8,stability:.5,entropyCategory:`low`})}},w=280,T=80,E=class{name=`canvas`;async collect(e){if(g(e),typeof document>`u`)throw Error(`document is not available`);let t=document.createElement(`canvas`);t.width=w,t.height=T,t.style.display=`none`;let n=t.getContext(`2d`,{willReadFrequently:!0});if(!n)throw Error(`CanvasRenderingContext2D is not available`);D(n);let r=await d(n.getImageData(0,0,w,T).data);return p({name:this.name,value:r,normalizedValue:r,quality:.92,stability:.95,entropyCategory:`high`})}};function D(e){e.fillStyle=`#f60`,e.fillRect(8,8,90,48),e.fillStyle=`#069`,e.fillRect(108,12,70,40),e.strokeStyle=`#111827`,e.lineWidth=2,e.beginPath(),e.arc(220,36,26,0,Math.PI*2),e.stroke(),e.beginPath(),e.arc(248,52,14,.25*Math.PI,1.6*Math.PI),e.stroke(),e.fillStyle=`#111827`,e.font=`16px Arial, sans-serif`,e.textBaseline=`top`,e.fillText(`DeviceIntelligence`,12,58),e.fillStyle=`rgba(16, 185, 129, 0.45)`,e.fillRect(40,20,36,18)}var O=class{name=`capabilities`;async collect(e){g(e);let t=typeof navigator>`u`?null:navigator,n=typeof window>`u`?null:window,r={cookieEnabled:t?.cookieEnabled??!1,pdfViewerEnabled:!!t?.pdfViewerEnabled,serviceWorker:!!(t&&`serviceWorker`in t),webgl:k(),webgpu:!!(t&&`gpu`in t),wasm:typeof WebAssembly<`u`,sharedArrayBuffer:typeof SharedArrayBuffer<`u`,touch:(t?.maxTouchPoints??0)>0,matchMedia:typeof n?.matchMedia==`function`,localStorage:A(`localStorage`),sessionStorage:A(`sessionStorage`),indexedDB:typeof indexedDB<`u`},i=Object.entries(r).filter(([,e])=>e).map(([e])=>e).sort();return p({name:this.name,value:r,normalizedValue:i,quality:.9,stability:.9,entropyCategory:`medium`})}};function k(){if(typeof document>`u`||typeof navigator<`u`&&/jsdom/i.test(navigator.userAgent))return!1;try{let e=document.createElement(`canvas`);return!!(e.getContext(`webgl`)||e.getContext(`experimental-webgl`))}catch{return!1}}function A(e){try{let t=globalThis[e],n=`__di_cap__`;return t.setItem(n,`1`),t.removeItem(n),!0}catch{return!1}}function j(e){let t=e.trim();return t.length===0?`other`:/Edg(?:e|A|iOS)?\/|\bEdge\//i.test(t)||/^Edge\s/i.test(t)?M(t,`Edge`,/(?:Edg(?:e|A|iOS)?|Edge)[/\s](\d+)/i):/\bOPR\/|\bOpera\//i.test(t)||/^Opera\s/i.test(t)?M(t,`Opera`,/(?:OPR|Opera)[/\s](\d+)/i):/\bFirefox\/|\bFxiOS\//i.test(t)||/^Firefox\s/i.test(t)?M(t,`Firefox`,/(?:Firefox|FxiOS)[/\s](\d+)/i):/^Chrome\s+\d+/i.test(t)?M(t,`Chrome`,/^Chrome\s+(\d+)/i):/\bSafari\//i.test(t)&&/\bVersion\//i.test(t)&&!/\b(Chrome|Chromium|CriOS|Edg|OPR)\b/i.test(t)||/^Safari\s/i.test(t)?M(t,`Safari`,/(?:Version|Safari)[/\s](\d+)/i):/\b(Chrome|Chromium|CriOS)\//i.test(t)?M(t,`Chrome`,/(?:Chrome|Chromium|CriOS)\/(\d+)/i):`other`}function M(e,t,n){let r=e.match(n)?.[1];return r?`${t} ${r}`:t}function N(e){let t=e.toLowerCase();return t.includes(`win`)?`windows`:t.includes(`android`)?`android`:t.includes(`iphone`)||t.includes(`ipad`)||t.includes(`ipod`)||t.includes(`ios`)?`ios`:t.includes(`mac`)||t.includes(`darwin`)?`macos`:t.includes(`linux`)||t.includes(`x11`)||t.includes(`cros`)?`linux`:`other`}function P(e,t){let n=Math.max(e,t);return!Number.isFinite(n)||n<=0?`other`:n<=480?`mobile-s`:n<=767?`mobile-l`:n<=1280?`tablet`:n<=1920?`hd`:n<=2560?`qhd`:n<=3840?`uhd`:`other`}function F(e,t){let n=`${e} ${t}`.toLowerCase();return n.includes(`apple`)||n.includes(`metal`)?`apple`:n.includes(`nvidia`)||n.includes(`geforce`)||n.includes(`quadro`)?`nvidia`:n.includes(`amd`)||n.includes(`radeon`)||n.includes(`ati`)?`amd`:n.includes(`intel`)?`intel`:n.includes(`mali`)?`mali`:n.includes(`adreno`)?`adreno`:`other`}var I=[`architecture`,`bitness`,`model`,`platformVersion`,`uaFullVersion`,`fullVersionList`],L=class{name=`client_hints`;async collect(e){if(g(e),typeof navigator>`u`)throw Error(`navigator is not available`);let t=navigator.userAgentData;if(!t)return p({name:this.name,value:{brands:[],mobile:null,platform:``,highEntropy:!1,available:!1},normalizedValue:{browser:j(navigator.userAgent??``),platform:N(navigator.platform??navigator.userAgent??``),highEntropy:!1},quality:.35,stability:.7,entropyCategory:`medium`});let n={brands:Array.isArray(t.brands)?t.brands:[],mobile:typeof t.mobile==`boolean`?t.mobile:null,platform:t.platform??``,highEntropy:!1,available:!0},r={},i=!1;if(e.consent.highEntropy&&typeof t.getHighEntropyValues==`function`)try{r=await h(t.getHighEntropyValues([...I]),e.abortSignal),i=!0}catch{i=!1}let a={...n,...r,highEntropy:i},o=R(n.brands),s=typeof r.uaFullVersion==`string`?String(r.uaFullVersion):o?.version??``,c=o?`${o.brand} ${s}`:navigator.userAgent;return p({name:this.name,value:a,normalizedValue:{browser:j(c),platform:N(n.platform||navigator.platform||``),highEntropy:i},quality:i?.95:.7,stability:.75,entropyCategory:`medium`})}};function R(e){return e.find(e=>{let t=e.brand.toLowerCase();return t!==`not?a;brand`&&t!==`not a;brand`&&!t.includes(`not:`)})??e[0]??null}var z=`mmmmmmmmmmlli`,B=`monospace`,V=[`Arial`,`Times New Roman`,`Courier New`,`Georgia`,`Verdana`,`Roboto`],H=class{name=`fonts`;async collect(e){if(g(e),typeof document>`u`||!document.body)throw Error(`document.body is not available`);let t=U(z,B),n=V.filter(e=>U(z,`${e}, ${B}`)!==t);return p({name:this.name,value:n,normalizedValue:[...n].sort(),quality:.7,stability:.8,entropyCategory:`high`})}};function U(e,t){let n=document.createElement(`span`);n.style.cssText=[`position:absolute`,`left:-9999px`,`top:0`,`visibility:hidden`,`white-space:nowrap`,`font:72px ${t}`].join(`;`),n.textContent=e,document.body.appendChild(n);let r=n.offsetWidth;return document.body.removeChild(n),r}var W=class{name=`navigator`;async collect(e){if(g(e),typeof navigator>`u`)throw Error(`navigator is not available`);let t=navigator.userAgent??``,n=navigator.platform??``,r=Array.isArray(navigator.languages)?[...navigator.languages]:[],i=navigator,a={userAgent:t,platform:n,language:navigator.language??``,languages:r,hardwareConcurrency:navigator.hardwareConcurrency??null,deviceMemory:typeof i.deviceMemory==`number`?i.deviceMemory:null,maxTouchPoints:navigator.maxTouchPoints??0,vendor:navigator.vendor??``},o=j(t),s=N(n||t);return p({name:this.name,value:a,normalizedValue:{browser:o,platform:s,hardwareConcurrency:a.hardwareConcurrency},quality:t.length>0?.9:.4,stability:.8,entropyCategory:`medium`})}},G=class{name=`screen`;async collect(e){g(e);let t=typeof screen>`u`?null:screen;if(!t)throw Error(`screen is not available`);let n=K(t.width),r=K(t.height),i={width:n,height:r,availWidth:K(t.availWidth),availHeight:K(t.availHeight),colorDepth:K(t.colorDepth),pixelDepth:K(t.pixelDepth),pixelRatio:K(typeof devicePixelRatio==`number`?devicePixelRatio:1)},a=P(n,r);return p({name:this.name,value:i,normalizedValue:{screenClass:a,width:n,height:r},quality:n>0&&r>0?.95:.4,stability:.7,entropyCategory:`low`})}};function K(e){return Number.isFinite(e)?e:0}var q=class{name=`timezone`;async collect(e){g(e);let t=`UTC`;try{t=Intl.DateTimeFormat().resolvedOptions().timeZone||`UTC`}catch{t=`UTC`}let n=new Date().getTimezoneOffset(),r={timeZone:t,offsetMinutes:n};return p({name:this.name,value:r,normalizedValue:t,quality:t.length>0?.99:.3,stability:.85,entropyCategory:`low`})}},J=class{name=`webgl`;async collect(e){if(g(e),typeof document>`u`)throw Error(`document is not available`);let t=document.createElement(`canvas`);t.width=1,t.height=1;let n=Y(t);if(!n)throw Error(`WebGL is not available`);try{let e=n.getExtension(`WEBGL_debug_renderer_info`),t=X(n,e?e.UNMASKED_VENDOR_WEBGL:n.VENDOR),r=X(n,e?e.UNMASKED_RENDERER_WEBGL:n.RENDERER),i=await d([...n.getSupportedExtensions()??[]].sort().join(`,`)),a=n.getParameter(n.MAX_VIEWPORT_DIMS),o={maxTextureSize:Z(n,n.MAX_TEXTURE_SIZE),maxViewportDims:Array.isArray(a)?[Number(a[0]),Number(a[1])]:a instanceof Int32Array?[a[0]??0,a[1]??0]:null,maxRenderbufferSize:Z(n,n.MAX_RENDERBUFFER_SIZE),maxVertexAttribs:Z(n,n.MAX_VERTEX_ATTRIBS),maxFragmentUniformVectors:Z(n,n.MAX_FRAGMENT_UNIFORM_VECTORS)},s={vendor:t,renderer:r,extensionsHash:i,limits:o},c=typeof r==`string`&&r.length>0,l=c&&e?.88:c?.7:.45;return p({name:this.name,value:s,normalizedValue:{gpuFamily:F(t??``,r??``),extensionsHash:i,maxTextureSize:o.maxTextureSize},quality:l,stability:.95,entropyCategory:`high`})}finally{n.getExtension(`WEBGL_lose_context`)?.loseContext()}}};function Y(e){let t={alpha:!0,antialias:!1,depth:!1,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1};return e.getContext(`webgl`,t)||e.getContext(`experimental-webgl`,t)}function X(e,t){try{let n=e.getParameter(t);return typeof n==`string`&&n.length>0?n:null}catch{return null}}function Z(e,t){try{let n=e.getParameter(t);return typeof n==`number`&&Number.isFinite(n)?n:null}catch{return null}}async function Q(e,t,n){try{let r=await fetch(e,{method:`POST`,credentials:`same-origin`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t),signal:n});if(!r.ok)return null;let i=await r.text();if(i.trim().length===0)return{ok:!0};let a=JSON.parse(i);return typeof a!=`object`||!a?{ok:!0}:a}catch{return null}}var $=`1.0.0`,te=`/_device/collect`,ne=1500,re=3600,ie={audio:!0,canvas:!0,webgl:!0,screen:!0,timezone:!0,navigator:!0,clientHints:!0,capabilities:!0,automation:!0,fonts:!1},ae=class{endpoint;timeout;cacheTtl;cacheEnabled;consent;cache=new c;collectors=[];constructor(e={}){this.endpoint=e.endpoint??te,this.timeout=se(e.timeout),this.cacheEnabled=e.cache?.enabled??!0,this.cacheTtl=e.cache?.ttl??re,this.consent={highEntropy:e.consent?.highEntropy??!0},this.collectors=oe({...ie,...e.collectors})}async collect(){return this.runCollect(!1)}async refresh(){return this.runCollect(!0)}getCachedObservation(){return this.cache.get()}clear(){this.cache.clear()}registerCollector(e){this.collectors.push(e)}async runCollect(e){try{if(!e&&this.cacheEnabled){let e=this.cache.get();if(e)return e.result}let t=new AbortController,n=globalThis.setTimeout(()=>t.abort(),this.timeout),r={timeout:this.timeout,abortSignal:t.signal,consent:this.consent},i={};try{i=await this.collectSignals(r)}finally{globalThis.clearTimeout(n)}let a=this.collectors.length,o=Object.keys(i).length,s=ol.abort(),this.timeout),d=null;try{d=await Q(this.endpoint,c,l.signal)}finally{globalThis.clearTimeout(u)}let f=d===null,p=o>0,m={ok:!f&&p&&d?.ok!==!1,degraded:!!d?.degraded||s||f||!p,signals:i};d?.new!==void 0&&(m.new=d.new),d?.token!==void 0&&(m.token=d.token),d?.expiresAt!==void 0&&(m.expiresAt=d.expiresAt),d?.deviceId!==void 0&&(m.deviceId=d.deviceId),d?.confidence!==void 0&&(m.confidence=d.confidence),d?.risk!==void 0&&(m.risk=d.risk),(f||!p)&&(m.ok=!1,m.degraded=!0);let h={timestamp:Date.now(),signals:i,result:m};return this.cacheEnabled&&this.cache.set(h,this.cacheTtl),m}catch{return{ok:!1,degraded:!0,signals:{}}}}async collectSignals(e){let t={},n=this.collectors.map(async n=>{try{let r=await h(n.collect(e),e.abortSignal);r&&typeof r.name==`string`&&(t[r.name]=r)}catch{}}),r=Promise.all(n),i=le(this.timeout,e.abortSignal);return await Promise.race([r,i]),await Promise.allSettled(n),t}toPayload(e){let t={};for(let[n,r]of Object.entries(e))t[n]={value:r.value,quality:r.quality,collectedAt:r.collectedAt};return{v:1,sdkVersion:$,timestamp:Math.floor(Date.now()/1e3),nonce:ce(),consent:this.consent,signals:t}}};function oe(e){let t=[];return e.navigator&&t.push(new W),e.clientHints&&t.push(new L),e.screen&&t.push(new G),e.timezone&&t.push(new q),e.capabilities&&t.push(new O),e.automation&&t.push(new C),e.canvas&&t.push(new E),e.webgl&&t.push(new J),e.audio&&t.push(new y),e.fonts&&t.push(new H),t}function se(e){return typeof e==`number`&&Number.isFinite(e)&&e>0?e:ne}function ce(){let e=new Uint8Array(16);if(globalThis.crypto?.getRandomValues)globalThis.crypto.getRandomValues(e);else for(let t=0;t{if(t.aborted){n();return}let r=globalThis.setTimeout(n,e);t.addEventListener(`abort`,()=>{globalThis.clearTimeout(r),n()},{once:!0})})}return s(`device-intelligence`,{buildTime:`2026-08-24T08:37:43.483Z`}).scriptLoaded(),e.DeviceIntelligence=ae,e.MemoryCache=c,e.SDK_VERSION=$,e.normalizeBrowser=j,e.normalizeGpuFamily=F,e.normalizePlatform=N,e.normalizeScreenClass=P,e})({});globalThis.DeviceIntelligence=DeviceIntelligence.DeviceIntelligence; //# sourceMappingURL=device-intelligence.min.js.map \ No newline at end of file