@prosopo/provider 3.3.0 → 3.12.14

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.
Files changed (377) hide show
  1. package/CHANGELOG.md +718 -0
  2. package/coverage/base.css +224 -0
  3. package/coverage/block-navigation.js +87 -0
  4. package/coverage/clover.xml +4278 -0
  5. package/coverage/coverage-final.json +42 -0
  6. package/coverage/favicon.png +0 -0
  7. package/coverage/index.html +311 -0
  8. package/coverage/prettify.css +1 -0
  9. package/coverage/prettify.js +2 -0
  10. package/coverage/sort-arrow-sprite.png +0 -0
  11. package/coverage/sorter.js +210 -0
  12. package/coverage/src/api/admin/apiAdminRoutesProvider.ts.html +214 -0
  13. package/coverage/src/api/admin/apiRegisterSiteKeyEndpoint.ts.html +259 -0
  14. package/coverage/src/api/admin/apiRemoveDetectorKeyEndpoint.ts.html +283 -0
  15. package/coverage/src/api/admin/apiToggleMaintenanceModeEndpoint.ts.html +334 -0
  16. package/coverage/src/api/admin/apiUpdateDetectorKeyEndpoint.ts.html +298 -0
  17. package/coverage/src/api/admin/createApiAdminRoutesProvider.ts.html +163 -0
  18. package/coverage/src/api/admin/index.html +191 -0
  19. package/coverage/src/api/blacklistRequestInspector.ts.html +751 -0
  20. package/coverage/src/api/block.ts.html +187 -0
  21. package/coverage/src/api/captcha.ts.html +2803 -0
  22. package/coverage/src/api/domainMiddleware.ts.html +493 -0
  23. package/coverage/src/api/headerCheckMiddleware.ts.html +256 -0
  24. package/coverage/src/api/ignoreMiddleware.ts.html +181 -0
  25. package/coverage/src/api/index.html +266 -0
  26. package/coverage/src/api/ja4Middleware.ts.html +400 -0
  27. package/coverage/src/api/public.ts.html +343 -0
  28. package/coverage/src/api/robotsMiddleware.ts.html +157 -0
  29. package/coverage/src/api/validateAddress.ts.html +214 -0
  30. package/coverage/src/api/verify.ts.html +871 -0
  31. package/coverage/src/compositeIpAddress.ts.html +340 -0
  32. package/coverage/src/index.html +161 -0
  33. package/coverage/src/index.ts.html +175 -0
  34. package/coverage/src/pairs.ts.html +238 -0
  35. package/coverage/src/rules/index.html +116 -0
  36. package/coverage/src/rules/lang.ts.html +187 -0
  37. package/coverage/src/schedulers/captchaScheduler.ts.html +250 -0
  38. package/coverage/src/schedulers/getClientList.ts.html +271 -0
  39. package/coverage/src/schedulers/index.html +131 -0
  40. package/coverage/src/services/index.html +131 -0
  41. package/coverage/src/services/ipComparison.ts.html +685 -0
  42. package/coverage/src/services/ipInfo.ts.html +490 -0
  43. package/coverage/src/tasks/captchaManager.ts.html +865 -0
  44. package/coverage/src/tasks/client/clientTasks.ts.html +1381 -0
  45. package/coverage/src/tasks/client/index.html +116 -0
  46. package/coverage/src/tasks/dataset/datasetTasks.ts.html +268 -0
  47. package/coverage/src/tasks/dataset/datasetTasksUtils.ts.html +271 -0
  48. package/coverage/src/tasks/dataset/index.html +131 -0
  49. package/coverage/src/tasks/detection/decodePayload.js.html +127 -0
  50. package/coverage/src/tasks/detection/getBotScore.ts.html +244 -0
  51. package/coverage/src/tasks/detection/index.html +131 -0
  52. package/coverage/src/tasks/frictionless/frictionlessTasks.ts.html +1216 -0
  53. package/coverage/src/tasks/frictionless/frictionlessTasksUtils.ts.html +247 -0
  54. package/coverage/src/tasks/frictionless/index.html +131 -0
  55. package/coverage/src/tasks/imgCaptcha/imgCaptchaTasks.ts.html +1972 -0
  56. package/coverage/src/tasks/imgCaptcha/imgCaptchaTasksUtils.ts.html +232 -0
  57. package/coverage/src/tasks/imgCaptcha/index.html +131 -0
  58. package/coverage/src/tasks/index.html +146 -0
  59. package/coverage/src/tasks/index.ts.html +127 -0
  60. package/coverage/src/tasks/powCaptcha/index.html +131 -0
  61. package/coverage/src/tasks/powCaptcha/powTasks.ts.html +961 -0
  62. package/coverage/src/tasks/powCaptcha/powTasksUtils.ts.html +244 -0
  63. package/coverage/src/tasks/tasks.ts.html +388 -0
  64. package/coverage/src/util.ts.html +1627 -0
  65. package/coverage/src/utils/hashUserAgent.ts.html +184 -0
  66. package/coverage/src/utils/index.html +116 -0
  67. package/dist/api/admin/apiAdminRoutesProvider.d.ts +9 -0
  68. package/dist/api/admin/apiAdminRoutesProvider.d.ts.map +1 -0
  69. package/dist/api/admin/apiAdminRoutesProvider.js +13 -18
  70. package/dist/api/admin/apiAdminRoutesProvider.js.map +1 -0
  71. package/dist/api/admin/apiRegisterSiteKeyEndpoint.d.ts +14 -0
  72. package/dist/api/admin/apiRegisterSiteKeyEndpoint.d.ts.map +1 -0
  73. package/dist/api/admin/apiRegisterSiteKeyEndpoint.js.map +1 -0
  74. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.d.ts +23 -0
  75. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.d.ts.map +1 -0
  76. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.js +7 -4
  77. package/dist/api/admin/apiRemoveDetectorKeyEndpoint.js.map +1 -0
  78. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.d.ts +13 -0
  79. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.d.ts.map +1 -0
  80. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.js +40 -0
  81. package/dist/api/admin/apiToggleMaintenanceModeEndpoint.js.map +1 -0
  82. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.d.ts +14 -0
  83. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.d.ts.map +1 -0
  84. package/dist/api/admin/apiUpdateDetectorKeyEndpoint.js.map +1 -0
  85. package/dist/api/admin/createApiAdminRoutesProvider.d.ts +4 -0
  86. package/dist/api/admin/createApiAdminRoutesProvider.d.ts.map +1 -0
  87. package/dist/api/admin/createApiAdminRoutesProvider.js.map +1 -0
  88. package/dist/api/blacklistRequestInspector.d.ts +19 -0
  89. package/dist/api/blacklistRequestInspector.d.ts.map +1 -0
  90. package/dist/api/blacklistRequestInspector.js +14 -12
  91. package/dist/api/blacklistRequestInspector.js.map +1 -0
  92. package/dist/api/block.d.ts +3 -0
  93. package/dist/api/block.d.ts.map +1 -0
  94. package/dist/api/block.js.map +1 -0
  95. package/dist/api/captcha.d.ts +4 -0
  96. package/dist/api/captcha.d.ts.map +1 -0
  97. package/dist/api/captcha.js +226 -48
  98. package/dist/api/captcha.js.map +1 -0
  99. package/dist/api/domainMiddleware.d.ts +4 -0
  100. package/dist/api/domainMiddleware.d.ts.map +1 -0
  101. package/dist/api/domainMiddleware.js +8 -8
  102. package/dist/api/domainMiddleware.js.map +1 -0
  103. package/dist/api/headerCheckMiddleware.d.ts +4 -0
  104. package/dist/api/headerCheckMiddleware.d.ts.map +1 -0
  105. package/dist/api/headerCheckMiddleware.js +4 -0
  106. package/dist/api/headerCheckMiddleware.js.map +1 -0
  107. package/dist/api/ignoreMiddleware.d.ts +3 -0
  108. package/dist/api/ignoreMiddleware.d.ts.map +1 -0
  109. package/dist/api/ignoreMiddleware.js +4 -1
  110. package/dist/api/ignoreMiddleware.js.map +1 -0
  111. package/dist/api/ja4Middleware.d.ts +10 -0
  112. package/dist/api/ja4Middleware.d.ts.map +1 -0
  113. package/dist/api/ja4Middleware.js +5 -23
  114. package/dist/api/ja4Middleware.js.map +1 -0
  115. package/dist/api/public.d.ts +4 -0
  116. package/dist/api/public.d.ts.map +1 -0
  117. package/dist/api/public.js +26 -3
  118. package/dist/api/public.js.map +1 -0
  119. package/dist/api/robotsMiddleware.d.ts +3 -0
  120. package/dist/api/robotsMiddleware.d.ts.map +1 -0
  121. package/dist/api/robotsMiddleware.js.map +1 -0
  122. package/dist/api/validateAddress.d.ts +5 -0
  123. package/dist/api/validateAddress.d.ts.map +1 -0
  124. package/dist/api/validateAddress.js.map +1 -0
  125. package/dist/api/verify.d.ts +4 -0
  126. package/dist/api/verify.d.ts.map +1 -0
  127. package/dist/api/verify.js +27 -3
  128. package/dist/api/verify.js.map +1 -0
  129. package/dist/cjs/api/admin/apiAdminRoutesProvider.cjs +13 -18
  130. package/dist/cjs/api/admin/apiRegisterSiteKeyEndpoint.cjs +2 -1
  131. package/dist/cjs/api/admin/apiRemoveDetectorKeyEndpoint.cjs +9 -5
  132. package/dist/cjs/api/admin/apiToggleMaintenanceModeEndpoint.cjs +41 -0
  133. package/dist/cjs/api/blacklistRequestInspector.cjs +13 -11
  134. package/dist/cjs/api/captcha.cjs +226 -48
  135. package/dist/cjs/api/domainMiddleware.cjs +8 -8
  136. package/dist/cjs/api/headerCheckMiddleware.cjs +4 -0
  137. package/dist/cjs/api/ignoreMiddleware.cjs +3 -0
  138. package/dist/cjs/api/ja4Middleware.cjs +6 -23
  139. package/dist/cjs/api/public.cjs +26 -3
  140. package/dist/cjs/api/verify.cjs +27 -3
  141. package/dist/cjs/compositeIpAddress.cjs +53 -0
  142. package/dist/cjs/index.cjs +7 -0
  143. package/dist/cjs/pairs.cjs +27 -0
  144. package/dist/cjs/services/ipComparison.cjs +123 -0
  145. package/dist/cjs/services/ipInfo.cjs +87 -0
  146. package/dist/cjs/tasks/captchaManager.cjs +41 -10
  147. package/dist/cjs/tasks/client/clientTasks.cjs +31 -43
  148. package/dist/cjs/tasks/detection/decodePayload.cjs +616 -281
  149. package/dist/cjs/tasks/detection/getBotScore.cjs +28 -4
  150. package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +227 -36
  151. package/dist/cjs/tasks/frictionless/frictionlessTasksUtils.cjs +17 -0
  152. package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +78 -30
  153. package/dist/cjs/tasks/powCaptcha/powTasks.cjs +49 -21
  154. package/dist/cjs/util.cjs +262 -17
  155. package/dist/cjs/utils/hashUserAgent.cjs +10 -0
  156. package/dist/compositeIpAddress.d.ts +5 -0
  157. package/dist/compositeIpAddress.d.ts.map +1 -0
  158. package/dist/compositeIpAddress.js +53 -0
  159. package/dist/compositeIpAddress.js.map +1 -0
  160. package/dist/index.d.ts +17 -0
  161. package/dist/index.d.ts.map +1 -0
  162. package/dist/index.js +8 -1
  163. package/dist/index.js.map +1 -0
  164. package/dist/pairs.d.ts +3 -0
  165. package/dist/pairs.d.ts.map +1 -0
  166. package/dist/pairs.js +27 -0
  167. package/dist/pairs.js.map +1 -0
  168. package/dist/rules/lang.d.ts +3 -0
  169. package/dist/rules/lang.d.ts.map +1 -0
  170. package/dist/rules/lang.js.map +1 -0
  171. package/dist/schedulers/captchaScheduler.d.ts +4 -0
  172. package/dist/schedulers/captchaScheduler.d.ts.map +1 -0
  173. package/dist/schedulers/captchaScheduler.js.map +1 -0
  174. package/dist/schedulers/getClientList.d.ts +4 -0
  175. package/dist/schedulers/getClientList.d.ts.map +1 -0
  176. package/dist/schedulers/getClientList.js.map +1 -0
  177. package/dist/schedulers/setClientEntropy.d.ts +4 -0
  178. package/dist/schedulers/setClientEntropy.d.ts.map +1 -0
  179. package/dist/schedulers/setClientEntropy.js +31 -0
  180. package/dist/schedulers/setClientEntropy.js.map +1 -0
  181. package/dist/services/ipComparison.d.ts +3 -0
  182. package/dist/services/ipComparison.d.ts.map +1 -0
  183. package/dist/services/ipComparison.js +123 -0
  184. package/dist/services/ipComparison.js.map +1 -0
  185. package/dist/services/ipInfo.d.ts +3 -0
  186. package/dist/services/ipInfo.d.ts.map +1 -0
  187. package/dist/services/ipInfo.js +87 -0
  188. package/dist/services/ipInfo.js.map +1 -0
  189. package/dist/tasks/captchaManager.d.ts +34 -0
  190. package/dist/tasks/captchaManager.d.ts.map +1 -0
  191. package/dist/tasks/captchaManager.js +39 -9
  192. package/dist/tasks/captchaManager.js.map +1 -0
  193. package/dist/tasks/client/clientTasks.d.ts +21 -0
  194. package/dist/tasks/client/clientTasks.d.ts.map +1 -0
  195. package/dist/tasks/client/clientTasks.js +31 -43
  196. package/dist/tasks/client/clientTasks.js.map +1 -0
  197. package/dist/tasks/dataset/datasetTasks.d.ts +13 -0
  198. package/dist/tasks/dataset/datasetTasks.d.ts.map +1 -0
  199. package/dist/tasks/dataset/datasetTasks.js.map +1 -0
  200. package/dist/tasks/dataset/datasetTasksUtils.d.ts +3 -0
  201. package/dist/tasks/dataset/datasetTasksUtils.d.ts.map +1 -0
  202. package/dist/tasks/dataset/datasetTasksUtils.js.map +1 -0
  203. package/dist/tasks/detection/decodePayload.d.ts +5 -0
  204. package/dist/tasks/detection/decodePayload.d.ts.map +1 -0
  205. package/dist/tasks/detection/decodePayload.js +616 -281
  206. package/dist/tasks/detection/decodePayload.js.map +1 -0
  207. package/dist/tasks/detection/getBotScore.d.ts +20 -0
  208. package/dist/tasks/detection/getBotScore.d.ts.map +1 -0
  209. package/dist/tasks/detection/getBotScore.js +29 -5
  210. package/dist/tasks/detection/getBotScore.js.map +1 -0
  211. package/dist/tasks/frictionless/frictionlessTasks.d.ts +67 -0
  212. package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -0
  213. package/dist/tasks/frictionless/frictionlessTasks.js +227 -36
  214. package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -0
  215. package/dist/tasks/frictionless/frictionlessTasksUtils.d.ts +6 -0
  216. package/dist/tasks/frictionless/frictionlessTasksUtils.d.ts.map +1 -0
  217. package/dist/tasks/frictionless/frictionlessTasksUtils.js +18 -1
  218. package/dist/tasks/frictionless/frictionlessTasksUtils.js.map +1 -0
  219. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts +30 -0
  220. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -0
  221. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +80 -32
  222. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -0
  223. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts +7 -0
  224. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.d.ts.map +1 -0
  225. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js.map +1 -0
  226. package/dist/tasks/index.d.ts +2 -0
  227. package/dist/tasks/index.d.ts.map +1 -0
  228. package/dist/tasks/index.js.map +1 -0
  229. package/dist/tasks/powCaptcha/powTasks.d.ts +17 -0
  230. package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -0
  231. package/dist/tasks/powCaptcha/powTasks.js +50 -22
  232. package/dist/tasks/powCaptcha/powTasks.js.map +1 -0
  233. package/dist/tasks/powCaptcha/powTasksUtils.d.ts +3 -0
  234. package/dist/tasks/powCaptcha/powTasksUtils.d.ts.map +1 -0
  235. package/dist/tasks/powCaptcha/powTasksUtils.js.map +1 -0
  236. package/dist/tasks/tasks.d.ts +25 -0
  237. package/dist/tasks/tasks.d.ts.map +1 -0
  238. package/dist/tasks/tasks.js.map +1 -0
  239. package/dist/tests/index.d.ts +2 -0
  240. package/dist/tests/index.d.ts.map +1 -0
  241. package/dist/tests/index.js +2 -0
  242. package/dist/tests/index.js.map +1 -0
  243. package/dist/tests/integration/accessRules.integration.test.d.ts +2 -0
  244. package/dist/tests/integration/accessRules.integration.test.d.ts.map +1 -0
  245. package/dist/tests/integration/accessRules.integration.test.js +588 -0
  246. package/dist/tests/integration/accessRules.integration.test.js.map +1 -0
  247. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.d.ts +2 -0
  248. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.d.ts.map +1 -0
  249. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js +60 -0
  250. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js.map +1 -0
  251. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.d.ts +2 -0
  252. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.d.ts.map +1 -0
  253. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.js +368 -0
  254. package/dist/tests/integration/api/blacklistRequestInspector.integration.test.js.map +1 -0
  255. package/dist/tests/integration/imgCaptcha.integration.test.d.ts +2 -0
  256. package/dist/tests/integration/imgCaptcha.integration.test.d.ts.map +1 -0
  257. package/dist/tests/integration/imgCaptcha.integration.test.js +272 -0
  258. package/dist/tests/integration/imgCaptcha.integration.test.js.map +1 -0
  259. package/dist/tests/integration/ipValidation.integration.test.d.ts +2 -0
  260. package/dist/tests/integration/ipValidation.integration.test.d.ts.map +1 -0
  261. package/dist/tests/integration/ipValidation.integration.test.js +75 -0
  262. package/dist/tests/integration/ipValidation.integration.test.js.map +1 -0
  263. package/dist/tests/integration/mocks/solvedTestCaptchas.d.ts +32 -0
  264. package/dist/tests/integration/mocks/solvedTestCaptchas.d.ts.map +1 -0
  265. package/dist/tests/integration/mocks/solvedTestCaptchas.js +1046 -0
  266. package/dist/tests/integration/mocks/solvedTestCaptchas.js.map +1 -0
  267. package/dist/tests/integration/powCaptcha.integration.test.d.ts +2 -0
  268. package/dist/tests/integration/powCaptcha.integration.test.d.ts.map +1 -0
  269. package/dist/tests/integration/powCaptcha.integration.test.js +308 -0
  270. package/dist/tests/integration/powCaptcha.integration.test.js.map +1 -0
  271. package/dist/tests/integration/registerSitekey.d.ts +3 -0
  272. package/dist/tests/integration/registerSitekey.d.ts.map +1 -0
  273. package/dist/tests/integration/registerSitekey.js +24 -0
  274. package/dist/tests/integration/registerSitekey.js.map +1 -0
  275. package/dist/tests/integration/userAccessPolicy.d.ts +2 -0
  276. package/dist/tests/integration/userAccessPolicy.d.ts.map +1 -0
  277. package/dist/tests/integration/userAccessPolicy.js +2 -0
  278. package/dist/tests/integration/userAccessPolicy.js.map +1 -0
  279. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.d.ts +2 -0
  280. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.d.ts.map +1 -0
  281. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.js +60 -0
  282. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.js.map +1 -0
  283. package/dist/tests/unit/api/ignoreMiddleware.unit.test.d.ts +2 -0
  284. package/dist/tests/unit/api/ignoreMiddleware.unit.test.d.ts.map +1 -0
  285. package/dist/tests/unit/api/ignoreMiddleware.unit.test.js +43 -0
  286. package/dist/tests/unit/api/ignoreMiddleware.unit.test.js.map +1 -0
  287. package/dist/tests/unit/api/ja4Middleware.unit.test.d.ts +2 -0
  288. package/dist/tests/unit/api/ja4Middleware.unit.test.d.ts.map +1 -0
  289. package/dist/tests/unit/api/ja4Middleware.unit.test.js +57 -0
  290. package/dist/tests/unit/api/ja4Middleware.unit.test.js.map +1 -0
  291. package/dist/tests/unit/compositeIpAddress.unit.test.d.ts +2 -0
  292. package/dist/tests/unit/compositeIpAddress.unit.test.d.ts.map +1 -0
  293. package/dist/tests/unit/compositeIpAddress.unit.test.js +86 -0
  294. package/dist/tests/unit/compositeIpAddress.unit.test.js.map +1 -0
  295. package/dist/tests/unit/pairs.unit.test.d.ts +2 -0
  296. package/dist/tests/unit/pairs.unit.test.d.ts.map +1 -0
  297. package/dist/tests/unit/pairs.unit.test.js +83 -0
  298. package/dist/tests/unit/pairs.unit.test.js.map +1 -0
  299. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.d.ts +2 -0
  300. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.d.ts.map +1 -0
  301. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js +75 -0
  302. package/dist/tests/unit/schedulers/captchaScheduler.unit.test.js.map +1 -0
  303. package/dist/tests/unit/services/ipComparison.unit.test.d.ts +2 -0
  304. package/dist/tests/unit/services/ipComparison.unit.test.d.ts.map +1 -0
  305. package/dist/tests/unit/services/ipComparison.unit.test.js +258 -0
  306. package/dist/tests/unit/services/ipComparison.unit.test.js.map +1 -0
  307. package/dist/tests/unit/services/ipInfo.unit.test.d.ts +2 -0
  308. package/dist/tests/unit/services/ipInfo.unit.test.d.ts.map +1 -0
  309. package/dist/tests/unit/services/ipInfo.unit.test.js +210 -0
  310. package/dist/tests/unit/services/ipInfo.unit.test.js.map +1 -0
  311. package/dist/tests/unit/tasks/captchaManager.unit.test.d.ts +2 -0
  312. package/dist/tests/unit/tasks/captchaManager.unit.test.d.ts.map +1 -0
  313. package/dist/tests/unit/tasks/captchaManager.unit.test.js +311 -0
  314. package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -0
  315. package/dist/tests/unit/tasks/client/clientTasks.unit.test.d.ts +2 -0
  316. package/dist/tests/unit/tasks/client/clientTasks.unit.test.d.ts.map +1 -0
  317. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js +289 -0
  318. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js.map +1 -0
  319. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.d.ts +2 -0
  320. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.d.ts.map +1 -0
  321. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js +92 -0
  322. package/dist/tests/unit/tasks/dataset/datasetTasks.unit.test.js.map +1 -0
  323. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.d.ts +2 -0
  324. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.d.ts.map +1 -0
  325. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js +75 -0
  326. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js.map +1 -0
  327. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.d.ts +2 -0
  328. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.d.ts.map +1 -0
  329. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.js +143 -0
  330. package/dist/tests/unit/tasks/frictionless/decryptPayload.unit.test.js.map +1 -0
  331. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.d.ts +2 -0
  332. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.d.ts.map +1 -0
  333. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js +145 -0
  334. package/dist/tests/unit/tasks/frictionless/frictionlessTasks.unit.test.js.map +1 -0
  335. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.d.ts +2 -0
  336. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.d.ts.map +1 -0
  337. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.js +64 -0
  338. package/dist/tests/unit/tasks/frictionless/frictionlessTasksUtils.unit.test.js.map +1 -0
  339. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.d.ts +2 -0
  340. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.d.ts.map +1 -0
  341. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js +388 -0
  342. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js.map +1 -0
  343. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.d.ts +2 -0
  344. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.d.ts.map +1 -0
  345. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js +46 -0
  346. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js.map +1 -0
  347. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.d.ts +2 -0
  348. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.d.ts.map +1 -0
  349. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js +216 -0
  350. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js.map +1 -0
  351. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.d.ts +2 -0
  352. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.d.ts.map +1 -0
  353. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js +69 -0
  354. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js.map +1 -0
  355. package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.d.ts +2 -0
  356. package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.d.ts.map +1 -0
  357. package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.js +505 -0
  358. package/dist/tests/unit/util.evaluateIpValidationRules.unit.test.js.map +1 -0
  359. package/dist/tests/unit/util.ipDistance.unit.test.d.ts +2 -0
  360. package/dist/tests/unit/util.ipDistance.unit.test.d.ts.map +1 -0
  361. package/dist/tests/unit/util.ipDistance.unit.test.js +93 -0
  362. package/dist/tests/unit/util.ipDistance.unit.test.js.map +1 -0
  363. package/dist/tests/unit/util.unit.test.d.ts +2 -0
  364. package/dist/tests/unit/util.unit.test.d.ts.map +1 -0
  365. package/dist/tests/unit/util.unit.test.js +170 -0
  366. package/dist/tests/unit/util.unit.test.js.map +1 -0
  367. package/dist/util.d.ts +24 -0
  368. package/dist/util.d.ts.map +1 -0
  369. package/dist/util.js +263 -18
  370. package/dist/util.js.map +1 -0
  371. package/dist/utils/hashUserAgent.d.ts +2 -0
  372. package/dist/utils/hashUserAgent.d.ts.map +1 -0
  373. package/dist/utils/hashUserAgent.js +10 -0
  374. package/dist/utils/hashUserAgent.js.map +1 -0
  375. package/package.json +31 -29
  376. package/vite.test.config.ts +3 -2
  377. package/vite.threads.test.config.ts +33 -0
@@ -0,0 +1,271 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/tasks/dataset/datasetTasksUtils.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/tasks/dataset</a> datasetTasksUtils.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">0% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>0/37</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>1/1</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>1/1</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">0% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>0/37</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line low'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
129
+ <span class="cline-any cline-neutral">&nbsp;</span>
130
+ <span class="cline-any cline-neutral">&nbsp;</span>
131
+ <span class="cline-any cline-neutral">&nbsp;</span>
132
+ <span class="cline-any cline-neutral">&nbsp;</span>
133
+ <span class="cline-any cline-neutral">&nbsp;</span>
134
+ <span class="cline-any cline-neutral">&nbsp;</span>
135
+ <span class="cline-any cline-neutral">&nbsp;</span>
136
+ <span class="cline-any cline-neutral">&nbsp;</span>
137
+ <span class="cline-any cline-neutral">&nbsp;</span>
138
+ <span class="cline-any cline-neutral">&nbsp;</span>
139
+ <span class="cline-any cline-neutral">&nbsp;</span>
140
+ <span class="cline-any cline-neutral">&nbsp;</span>
141
+ <span class="cline-any cline-no">&nbsp;</span>
142
+ <span class="cline-any cline-no">&nbsp;</span>
143
+ <span class="cline-any cline-neutral">&nbsp;</span>
144
+ <span class="cline-any cline-neutral">&nbsp;</span>
145
+ <span class="cline-any cline-no">&nbsp;</span>
146
+ <span class="cline-any cline-no">&nbsp;</span>
147
+ <span class="cline-any cline-no">&nbsp;</span>
148
+ <span class="cline-any cline-no">&nbsp;</span>
149
+ <span class="cline-any cline-no">&nbsp;</span>
150
+ <span class="cline-any cline-neutral">&nbsp;</span>
151
+ <span class="cline-any cline-no">&nbsp;</span>
152
+ <span class="cline-any cline-no">&nbsp;</span>
153
+ <span class="cline-any cline-no">&nbsp;</span>
154
+ <span class="cline-any cline-no">&nbsp;</span>
155
+ <span class="cline-any cline-no">&nbsp;</span>
156
+ <span class="cline-any cline-neutral">&nbsp;</span>
157
+ <span class="cline-any cline-no">&nbsp;</span>
158
+ <span class="cline-any cline-no">&nbsp;</span>
159
+ <span class="cline-any cline-no">&nbsp;</span>
160
+ <span class="cline-any cline-neutral">&nbsp;</span>
161
+ <span class="cline-any cline-neutral">&nbsp;</span>
162
+ <span class="cline-any cline-no">&nbsp;</span>
163
+ <span class="cline-any cline-no">&nbsp;</span>
164
+ <span class="cline-any cline-no">&nbsp;</span>
165
+ <span class="cline-any cline-no">&nbsp;</span>
166
+ <span class="cline-any cline-no">&nbsp;</span>
167
+ <span class="cline-any cline-neutral">&nbsp;</span>
168
+ <span class="cline-any cline-neutral">&nbsp;</span>
169
+ <span class="cline-any cline-no">&nbsp;</span>
170
+ <span class="cline-any cline-no">&nbsp;</span>
171
+ <span class="cline-any cline-no">&nbsp;</span>
172
+ <span class="cline-any cline-no">&nbsp;</span>
173
+ <span class="cline-any cline-no">&nbsp;</span>
174
+ <span class="cline-any cline-neutral">&nbsp;</span>
175
+ <span class="cline-any cline-no">&nbsp;</span>
176
+ <span class="cline-any cline-neutral">&nbsp;</span>
177
+ <span class="cline-any cline-neutral">&nbsp;</span>
178
+ <span class="cline-any cline-no">&nbsp;</span>
179
+ <span class="cline-any cline-no">&nbsp;</span>
180
+ <span class="cline-any cline-no">&nbsp;</span>
181
+ <span class="cline-any cline-no">&nbsp;</span>
182
+ <span class="cline-any cline-no">&nbsp;</span>
183
+ <span class="cline-any cline-no">&nbsp;</span>
184
+ <span class="cline-any cline-no">&nbsp;</span>
185
+ <span class="cline-any cline-no">&nbsp;</span>
186
+ <span class="cline-any cline-no">&nbsp;</span>
187
+ <span class="cline-any cline-neutral">&nbsp;</span>
188
+ <span class="cline-any cline-no">&nbsp;</span>
189
+ <span class="cline-any cline-no">&nbsp;</span>
190
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">// Copyright 2021-2025 Prosopo (UK) Ltd.
191
+ //
192
+ // Licensed under the Apache License, Version 2.0 (the "License");
193
+ // you may not use this file except in compliance with the License.
194
+ // You may obtain a copy of the License at
195
+ //
196
+ // http://www.apache.org/licenses/LICENSE-2.0
197
+ //
198
+ // Unless required by applicable law or agreed to in writing, software
199
+ // distributed under the License is distributed on an "AS IS" BASIS,
200
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ // See the License for the specific language governing permissions and
202
+ // limitations under the License.
203
+ <span class="cstat-no" title="statement not covered" >import { ProsopoEnvError } from "@prosopo/common";</span>
204
+ <span class="cstat-no" title="statement not covered" >import { buildDataset } from "@prosopo/datasets";</span>
205
+ import type { DatasetRaw } from "@prosopo/types";
206
+ &nbsp;
207
+ <span class="cstat-no" title="statement not covered" >export const providerValidateDataset = async (</span>
208
+ <span class="cstat-no" title="statement not covered" > datasetRaw: DatasetRaw,</span>
209
+ <span class="cstat-no" title="statement not covered" > minSolvedCaptchas: number,</span>
210
+ <span class="cstat-no" title="statement not covered" > minUnsolvedCaptchas: number,</span>
211
+ <span class="cstat-no" title="statement not covered" >) =&gt; {</span>
212
+ // Check that the number of captchas in the dataset is greater or equal to min number of solved captchas
213
+ <span class="cstat-no" title="statement not covered" > if (datasetRaw.captchas.length &lt; minSolvedCaptchas + minUnsolvedCaptchas) {</span>
214
+ <span class="cstat-no" title="statement not covered" > throw new ProsopoEnvError("DATASET.CAPTCHAS_COUNT_LESS_THAN_CONFIGURED", {</span>
215
+ <span class="cstat-no" title="statement not covered" > context: { failedFuncName: providerValidateDataset.name },</span>
216
+ <span class="cstat-no" title="statement not covered" > });</span>
217
+ <span class="cstat-no" title="statement not covered" > }</span>
218
+ &nbsp;
219
+ <span class="cstat-no" title="statement not covered" > const solutions = datasetRaw.captchas</span>
220
+ <span class="cstat-no" title="statement not covered" > .map((captcha): number =&gt; (captcha.solution ? 1 : 0))</span>
221
+ <span class="cstat-no" title="statement not covered" > .reduce((partialSum, b) =&gt; partialSum + b, 0);</span>
222
+ &nbsp;
223
+ // Check enough solved captchas
224
+ <span class="cstat-no" title="statement not covered" > if (solutions &lt; minSolvedCaptchas) {</span>
225
+ <span class="cstat-no" title="statement not covered" > throw new ProsopoEnvError("DATASET.SOLUTIONS_COUNT_LESS_THAN_CONFIGURED", {</span>
226
+ <span class="cstat-no" title="statement not covered" > context: { failedFuncName: providerValidateDataset.name },</span>
227
+ <span class="cstat-no" title="statement not covered" > });</span>
228
+ <span class="cstat-no" title="statement not covered" > }</span>
229
+ &nbsp;
230
+ // Check enough unsolved captchas
231
+ <span class="cstat-no" title="statement not covered" > if (solutions &lt; minUnsolvedCaptchas) {</span>
232
+ <span class="cstat-no" title="statement not covered" > throw new ProsopoEnvError("DATASET.SOLUTIONS_COUNT_LESS_THAN_CONFIGURED", {</span>
233
+ <span class="cstat-no" title="statement not covered" > context: { failedFuncName: providerValidateDataset.name },</span>
234
+ <span class="cstat-no" title="statement not covered" > });</span>
235
+ <span class="cstat-no" title="statement not covered" > }</span>
236
+ &nbsp;
237
+ <span class="cstat-no" title="statement not covered" > const dataset = await buildDataset(datasetRaw);</span>
238
+ &nbsp;
239
+ // Check DSetID and DSetContentID are defined
240
+ <span class="cstat-no" title="statement not covered" > if (!dataset.datasetId || !dataset.datasetContentId) {</span>
241
+ <span class="cstat-no" title="statement not covered" > throw new ProsopoEnvError("DATASET.DATASET_ID_UNDEFINED", {</span>
242
+ <span class="cstat-no" title="statement not covered" > context: {</span>
243
+ <span class="cstat-no" title="statement not covered" > failedFuncName: providerValidateDataset.name,</span>
244
+ <span class="cstat-no" title="statement not covered" > datasetId: dataset.datasetId,</span>
245
+ <span class="cstat-no" title="statement not covered" > datasetContentId: dataset.datasetContentId,</span>
246
+ <span class="cstat-no" title="statement not covered" > },</span>
247
+ <span class="cstat-no" title="statement not covered" > });</span>
248
+ <span class="cstat-no" title="statement not covered" > }</span>
249
+ &nbsp;
250
+ <span class="cstat-no" title="statement not covered" > return dataset;</span>
251
+ <span class="cstat-no" title="statement not covered" >};</span>
252
+ &nbsp;</pre></td></tr></table></pre>
253
+
254
+ <div class='push'></div><!-- for sticky footer -->
255
+ </div><!-- /wrapper -->
256
+ <div class='footer quiet pad2 space-top1 center small'>
257
+ Code coverage generated by
258
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
259
+ at 2025-10-22T12:32:26.285Z
260
+ </div>
261
+ <script src="../../../prettify.js"></script>
262
+ <script>
263
+ window.onload = function () {
264
+ prettyPrint();
265
+ };
266
+ </script>
267
+ <script src="../../../sorter.js"></script>
268
+ <script src="../../../block-navigation.js"></script>
269
+ </body>
270
+ </html>
271
+
@@ -0,0 +1,131 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/tasks/dataset</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../index.html">All files</a> src/tasks/dataset</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">0% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>0/64</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>2/2</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>2/2</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">0% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>0/64</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line low'></div>
65
+ <div class="pad1">
66
+ <table class="coverage-summary">
67
+ <thead>
68
+ <tr>
69
+ <th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
70
+ <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
71
+ <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
72
+ <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
73
+ <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
74
+ <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
75
+ <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
76
+ <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
77
+ <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
78
+ <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
79
+ </tr>
80
+ </thead>
81
+ <tbody><tr>
82
+ <td class="file low" data-value="datasetTasks.ts"><a href="datasetTasks.ts.html">datasetTasks.ts</a></td>
83
+ <td data-value="0" class="pic low">
84
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
85
+ </td>
86
+ <td data-value="0" class="pct low">0%</td>
87
+ <td data-value="27" class="abs low">0/27</td>
88
+ <td data-value="100" class="pct high">100%</td>
89
+ <td data-value="1" class="abs high">1/1</td>
90
+ <td data-value="100" class="pct high">100%</td>
91
+ <td data-value="1" class="abs high">1/1</td>
92
+ <td data-value="0" class="pct low">0%</td>
93
+ <td data-value="27" class="abs low">0/27</td>
94
+ </tr>
95
+
96
+ <tr>
97
+ <td class="file low" data-value="datasetTasksUtils.ts"><a href="datasetTasksUtils.ts.html">datasetTasksUtils.ts</a></td>
98
+ <td data-value="0" class="pic low">
99
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
100
+ </td>
101
+ <td data-value="0" class="pct low">0%</td>
102
+ <td data-value="37" class="abs low">0/37</td>
103
+ <td data-value="100" class="pct high">100%</td>
104
+ <td data-value="1" class="abs high">1/1</td>
105
+ <td data-value="100" class="pct high">100%</td>
106
+ <td data-value="1" class="abs high">1/1</td>
107
+ <td data-value="0" class="pct low">0%</td>
108
+ <td data-value="37" class="abs low">0/37</td>
109
+ </tr>
110
+
111
+ </tbody>
112
+ </table>
113
+ </div>
114
+ <div class='push'></div><!-- for sticky footer -->
115
+ </div><!-- /wrapper -->
116
+ <div class='footer quiet pad2 space-top1 center small'>
117
+ Code coverage generated by
118
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
+ at 2025-10-22T12:32:26.285Z
120
+ </div>
121
+ <script src="../../../prettify.js"></script>
122
+ <script>
123
+ window.onload = function () {
124
+ prettyPrint();
125
+ };
126
+ </script>
127
+ <script src="../../../sorter.js"></script>
128
+ <script src="../../../block-navigation.js"></script>
129
+ </body>
130
+ </html>
131
+
@@ -0,0 +1,127 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/tasks/detection/decodePayload.js</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">src/tasks/detection</a> decodePayload.js</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">0% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>0/15</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">0% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/1</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">0% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>0/1</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">0% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>0/15</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line low'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
81
+ <span class="cline-any cline-no">&nbsp;</span>
82
+ <span class="cline-any cline-no">&nbsp;</span>
83
+ <span class="cline-any cline-no">&nbsp;</span>
84
+ <span class="cline-any cline-no">&nbsp;</span>
85
+ <span class="cline-any cline-no">&nbsp;</span>
86
+ <span class="cline-any cline-no">&nbsp;</span>
87
+ <span class="cline-any cline-no">&nbsp;</span>
88
+ <span class="cline-any cline-no">&nbsp;</span>
89
+ <span class="cline-any cline-no">&nbsp;</span>
90
+ <span class="cline-any cline-no">&nbsp;</span>
91
+ <span class="cline-any cline-no">&nbsp;</span>
92
+ <span class="cline-any cline-no">&nbsp;</span>
93
+ <span class="cline-any cline-no">&nbsp;</span>
94
+ <span class="cline-any cline-no">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" >// Copyright 2021-2025 Prosopo (UK) Ltd.<span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ></span></span></span>
95
+ <span class="cstat-no" title="statement not covered" >//</span>
96
+ <span class="cstat-no" title="statement not covered" >// Licensed under the Apache License, Version 2.0 (the "License");</span>
97
+ <span class="cstat-no" title="statement not covered" >// you may not use this file except in compliance with the License.</span>
98
+ <span class="cstat-no" title="statement not covered" >// You may obtain a copy of the License at</span>
99
+ <span class="cstat-no" title="statement not covered" >//</span>
100
+ <span class="cstat-no" title="statement not covered" >// http://www.apache.org/licenses/LICENSE-2.0</span>
101
+ <span class="cstat-no" title="statement not covered" >//</span>
102
+ <span class="cstat-no" title="statement not covered" >// Unless required by applicable law or agreed to in writing, software</span>
103
+ <span class="cstat-no" title="statement not covered" >// distributed under the License is distributed on an "AS IS" BASIS,</span>
104
+ <span class="cstat-no" title="statement not covered" >// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
105
+ <span class="cstat-no" title="statement not covered" >// See the License for the specific language governing permissions and</span>
106
+ <span class="cstat-no" title="statement not covered" >// limitations under the License.</span>
107
+ <span class="cstat-no" title="statement not covered" >// @ts-nocheck</span>
108
+ <span class="cstat-no" title="statement not covered" >import{RSA_PKCS1_OAEP_PADDING as nN0ejl}from'node:constants';import{privateDecrypt as VXSt9h_}from'node:crypto';function ofHgQ3(){}var CNECW1N=Object['defineProperty'],VelCzdy,AwUnAA_,nqxaDB,LFFRjo0,stpbNIT,QIauZVL,Fm2Gyh,o593Tu,CUpoM1,Ut4HAFh,ua08ADD,bo7s6VO,WbtBVW,ngXw9D,w8DAK1,y7dB_H,ZbNZ_ES,A9r0iG,bS6fuiu,iq2Em9H,rKZ5jA;function ZY8oK5(nN0ejl){return rKZ5jA[nN0ejl&gt;0x37?nN0ejl+0x1c:nN0ejl-0x17]}rKZ5jA=o_5oA5();var pdzroq=[],WCwMH1=['QBdv*31!','Txo;s6(S','8bF[[#%','("LXYimukL[KS&amp;k','##v/]@|_Ob`.lUC,}H','wTYX7J5_','&lt;j0&gt;l:w_','s&amp;L6kR2H','O!7eY^JCj','(The1]X_','|&gt;h=t,`sj','"Maea','P,IO','GdGR6Q~*9]{WlLFajg`=?^o','s7]eTZSH','99}6PF6s8*',':&gt;W/BRo','H%J=SAVH','0f&amp;&gt;/?o','&gt;U`eLs8Xt15','$M&amp;&gt;#R}}`bPE_2CJ/#zfPF,_et','h&gt;Gy]M*_','h&gt;Gy_v~}I1r','3&gt;V}*"QEN^]','!!E@/?JFd|','3&gt;dM4FDkkV',ZY8oK5(0x17),'&gt;:F.9^`^qP%&lt;q%b','P,.yImgx6','+9Xf','##.yImgx6',ZY8oK5(0x19),'CqS.','_!`eD','{{7m+$9"F%rE(G|F','P]sD3x8lr','D#%&lt;','##.yImgx6','zENEG','H%J=SAVH','"Maea','s7]eTZSH','W#2O','!!kX`R&amp;4j','7!AXCwH1;*','pTEyIIVH','99}6PF6s8*','w[ofL','_!`eD','`?FfIFYFU|2&lt;U2S','P,.yImgx6','X!0fU',ZY8oK5(0x18),'H!yO',':U0f',ZY8oK5(0x17),'D.FfIFYFU|2&lt;U2S','P,.yImgx6','[.Ff',ZY8oK5(0x18),'H!yO',':U0f',ZY8oK5(0x17),'6{(q)X5/#Z6d%`4#','P,.yImgx6','00IO)Vgy6','/i;?s',ZY8oK5(0x19),'Q*Z^','V[P/%$5_','YPdM(RGJ7',']]2RxZOXs##}%A/}5^T&amp;8^hHk5PORqlJ?T^6|w)vHfZ','y?^3&lt;JT15rt"*nYuZ^kwNRuX1%="`#!*','j[/&amp;DA}*A17$sD&gt;4s]5j5v&lt;B!ff&gt;x7','Cb^!U&gt;IkJ%!IALbdqUA=UKe*Y&gt;%tlZXUfR:N,F8_',':fI3n3~En','p^1=,+%*eB','MMo&gt;NQo','U,CNyG)vG0!YkZzTRbyu%$_rV%axP8d1XeAeFs]kJ%r','3[!3VZrCNLqx]L?x.jsMcP6H','*&gt;EOk^+"z#eE#U{uGL^ux:J}nr/N7p2=9[lfBCo','_&gt;8&gt;j$YxpSbeUn','8*bj.y9m_B','M?LNik~0e&lt;a|sxB','$&amp;]ypQux]]2`?UwaNM8Ms;GE7','4=:q(^7SX|sp87~}PT`(8s3=D|&amp;e%acTS[?N%$6S1&gt;i','jq*(QGkk@yG#oaZI}9z&amp;:r?=o#=N:p(Z&gt;o','/I.@Y[g,ozjYB#SaU=ZuLQd}8%f.z]X','{PRM"~uxVz}E=(.x$5l!As`zz#a','wQiu+&amp;=[8B&amp;@2(_It#a==?&gt;}4^YR#_(I','3]~3^vSD=^}LLIiZzT#;ZI~0R|J]H','KI?uv2/"p0quEA:U9^"!JF1+XV,&amp;#76I(^5MDKPS%5ZNNa./','c`.U%G]4F[N@BA2+/H','oz!31"@4Z00&lt;YD{ue7$fO~zHl0`aGAT++#7','BB`@jRUxZSg#2x@i&amp;PaOSwk4uVJ$pDp/R/cMGw*~:&lt;w','(dzE`Z&lt;By0B(haU~u9Z6i2+:J1)F8a3=}bT;T[U}BV','n?AyzG7D(b5eaU;d%]oK5v+S95:&amp;F#+x@.@Rn"M1_1F~6YO','QjvE7CR}NbYW6wh}k.y!','QjS6YE3+fOdxw2(1[7/!.J?4]`TYH','JjMe+k8C^*','T[6;FZ(EDre7hL4D%b|6','1zbX"$:H6','ZB%R$^}Fs#MF{UzduH','xbky"(yH','!.p6Aw0B[L','{`n/$"0R!&gt;x(,7=ds7lu=EkSwBEF[I[4"o','7+_kkANxA1&lt;D9r]+AMde)&gt;8rA1V$5~wu8z7','yTP6qi0CjOZ&amp;$A$itM+(LNNB(|*^2(!xmuky=F_*(SVYTUX','b&amp;&amp;jC[xv6','F5SEf$&amp;4|1`kM]I1CpKf}E[mBLk+%]&lt;x','q7ef^JNjNyL.t(^x9IEO','o&lt;efp"^.G0)O7pr=w&gt;_','G7/!+mbMH[2D1Ll4&gt;P.OS','uvpEAw9H|S^L5A.x','u?AXd5q6#B/VjnjDu,_esEq6K#JN#_','nBgjgwmSb[M&lt;F+&lt;V;..=;m&amp;"[VWb}IEuciif^R&lt;BR`2EH','{PhOwq,rUbUSALUdFp.=k^;4J[vxf%kU.j8f/2?HY1I','57daor=[:*vOZ2_I3Qxk`Q16zB,^uaB','=#I/@Qs+0yhFm%Wu%UkXk"#yj0XkTwRDYJQj2Gi+Dr=aD8j','*I.UG^uB:B`7&amp;x~*@V^uE5lVA%|$OY]+k]RyZ,11.f','Xq^&amp;!~KJ}]u$h#,UhI26','#&gt;YnX$"M:*H.&lt;pHT~QW6zvFJv&lt;%z}q61hQ6K~,mH','GMtEk3[:.&gt;Yh2%:a@jhyd&amp;o','y.MO](o',']bre+,S6`bOJvIyuyP23B~qk"SjJ9LJ~}9WEDKS1|0V(+A{d','eT1=:i{.;fJ(7i{~@|fMoGXXV&lt;E"JDb}lM@Ed&gt;"=&lt;f','hVOMO[]+q&gt;)^TLf','Z7LN3M}*3SA=D(9ij&gt;2R^RX~Qyd','hPeaZIGRdL&amp;5%#{+uf0&gt;BQm6aLm~bx9D{ip?yGtH','3fDaEz/[;B4FO_e=liNyj$_Fy1','^]oaFRwvw#O7&amp;%bTlL7','&gt;TPRh3&amp;[Y&gt;&lt;]9ZpDTH','@]YM4+&gt;_','j[KEe+hTxScp,Q[u@b3&gt;:i:1e*','KP6E}&gt;BvS*o(E87D%]C?|','EMIum[u}T0872%EauR}3V^&amp;6z%)u:Z[Ty.E3n~?S7','gbt/83v}&amp;LF%;Q{W]^PRoCjpy1^`|:}d8z7','!9rerp,}e&lt;H(ySKaF`i&amp;7JrC|0d"SIt,pbC/S','xfF&amp;Z.BX^zmy`U]4d.Tuby^B,|+"bDbTAo',':J8}FwNvvXA@P(Wua.]X','3Lp!vF~_]5g0d2pIiUEy^yLXaL6.g:}=','?&gt;Je1wex638(u?t+dV?u0Q?4xro._2X','],f}=A3H7','zTzNA"6HgS$#.A}=eJhnf~*EeB',':flN*[bH','rQp6"J{JJftNG7','},l&amp;8[?4q[nTwD&amp;ZCiP3FsLx0[kFhaN1L*/!','S%.Ro%OxDb72E]?/H,"ORN3Td`=NH','DR/Ed+_d9brFC"4DC]G@eF"[*#__1Y2=sM"6YAwErb`Mx73u','&amp;`Ku?yP"U|1j/_o9L,$E$"o','K.&lt;M3z&amp;S=*7(PQEu*z2E?wj~~&gt;z]BiB','zLreFR*r)]6rdDZDt&gt;(qCNlT6','n%zu(wM:z5,+*s2=X!C?C[)EESs!Ap[+;&gt;%3GN?4YB9"o','4[^qd&gt;5}`VZ','o=IRHs?[6','bM^&amp;~k0vgb&gt;&amp;Q%u}`eB=xAf65VQN1_X*F]A=s~bH',',jd(LR`1*BE*n~S1*zojW','TTL3f%8071`QG#di0.]yoCtH=^y/dDmJpfz!F?`6`V%!Bi&amp;D','eT7(&amp;^j02y[','@|)==FP6n','9R^/KNl+]LgvmQ;xH&gt;D}DK~_;&lt;lvzp&gt;JS.ofB','4T%@|EH+*zKHJq%T*=C/c;8pnSr','Dv.??wn4H*yElZV|GpD&gt;gNsHXbHSpqrd{P:E(%O*k|y','+9f&gt;J+s49`','[&gt;hwMin6v#Z&lt;;8y+)M.6','&amp;|L/^Q8~O^X((?;/lp./%iPS4rLV&lt;SQ,LH','W[AwPF"MTrJ"nn','b&amp;^6Y[8vA0s`e]c+!e!OqpU_tr=rY"7*YP2u(~S:S&lt;q]F7',']]Jk.3WE@L}$MY6*giqjd&amp;O~H&lt;|3jn','f=+ef%&lt;r4|=r6Z{=URGwk3$[q#]','@/VkSQy:?rMFo','?&gt;0fuK}xe[.pzLB','&amp;b7=`[g.!','/TL6O~~_10ZOH','Uvfkpy}Ejr^&amp;s!*a9V1e4kVH','`qbMa+a6n1+(HD*u*MMXU','[TVarG1y.14&amp;o',';TjEbyOxn&gt;KpUq)iUU0&amp;u+s[T0BJGA"I&gt;&gt;5Mt','O*?!P2o','c|[M.v6zrLjJeA6/:^QjbG@6s%9','kL8;z$YBgrOY~?o90]yN$Njd#*`QdD{~qo','M[;(umz:JzQupS&gt;u4|=3($Uxq##VlL[devn61','K]A@8Zk[A&gt;j8rD,/[Ph@I:8_','1MZEoijdbfKX5aH9A&amp;T;ZF1s!','[&gt;O@lE&lt;xdVMF:ah})?`(8E;+qz*xq!tu','9[)3rGL0bf:t%a@a_qvfqGK,GS','pM.nqp1SA%J$OYm,','~Ihn&lt;ybk(|{D~aOD9/&amp;j@P[Tszc@=2pIevlj+&amp;)__zzpvSf','e,e}&gt;pk[_[`$#?e*=bea{Ez:Z1%','I%8}WZ"6Fye','?&gt;:ET[7z)^e','#%{XimKJ^#byn~CWcXg&gt;vY~E{^A5g]bx4QI6','z.)3f3PHFzMt6w5dxeC!`"Z~)yQVH','%by!g?I+JfE"L_yuP?v/)2..rLF!B:J}@5R@@N;+v#|(x7','%QH&gt;T]SDJfBTC"&amp;16[;k9&gt;3H','6++e5vT:t0#|;Q2T+JdeOC?6v*gR?7ZDvB_eU[o','+J7(qMlH}z/73Y&gt;Jp|VK3z(j7','WUcjCEPzh1M`8#U=,b=uH~!0Hfx$Pqn/v^~@4.o','tv}NQGlm]]4&amp;TwB','j+/ff38CR^uaAp7Ix%y35ro','!.3fw5I:q#',']]N@xAoX/#]','ev}E@RPSPXht,7Uu~jjEy5v,;f|aA__I)M@!','(.I3{&amp;Wrf|B8H','C|9(&gt;pu}ULh5!?;TD?2O6$71+[&gt;6"~2=[o','/=C?:q0}s%K!dq`Dh/8ju:o','&gt;T1e!^]S`LjSbQ)Z"^7Rr(tH','zQ,fyrA[;[uE3pX/cMW6.v`S^]jb3LjD@5c&gt;UZo','4Tp!,&gt;=y=*^zt8ZZEo','_%?!;,^R!','I%#K|E;=P^n2hYoT=Rv!a','VjK6H3v*)tQLH','p|"R#Rh=9V8V4(X*RV^NT]{Bwz7T.]JIZbm6AP]H.f&gt;','$u4ax[&gt;,jr=(I8D=3]hRN~U_V&lt;Gn|?T+?IHj.^qH','*zE60Jfy:*UxeAX','cM%6Z,7D3SSbn~2~]I~=g]Zr/&lt;&lt;FS8RZD9`e1ZKE:#l#H','JM(j&gt;Ii"]VGedIFU{dQ&gt;{KK,,VSbsQ?*:j^6X~;kb#e^aY(*','g&amp;@RL^mTM&gt;gppLv1z&amp;K6','&gt;MYM1s~EW1TO_I|,1MuRa],_0["&amp;6ap*G7dMd2,~+[7a&amp;!','IBAeAP~xWSv/Un7~K.W&amp;f[P:a|E/ea1|MMH','K`RXF~o','9|C?^yFEK`&lt;*kZy4pj}3H~X*#z_(G?}}3]dkkQl6jO(pO2L','i=CuC?w,oBXjP89Z#?G6^%8XP*x','g](fNwzT%X/^n(jD','D,+=]pe_/&lt;a','rTC/f~^vQ%C~s(|uK]a(Qi3SHBWYD!b~','/9D&gt;i&gt;dFF*:u9p8i{]sX+qWr^yr6_sxdXU}u*^4SQzI','&lt;Qlj:z;4~0j.h7[dX+jEOQS1KyvqG#y+','Y72/5zj}M1RhM#C40&amp;TNzr74@]6.5]kiB?`Ou','cQOe"$u}1[0tS%I/(]yu0$/6jrJQ(7','g&amp;8&gt;f$T1J#&gt;N7p$ipo','m|_e5zNJQ*%Lbx!I)[!6gKyz^*a'];iq2Em9H=(nN0ejl,VXSt9h_,ofHgQ3,CNECW1N,VelCzdy)=&gt;{var AwUnAA_=EVyiO6(nN0ejl=&gt;{return rKZ5jA[nN0ejl&lt;0x18?nN0ejl&lt;0x18?nN0ejl&lt;0x18?nN0ejl&gt;-0x9?nN0ejl+0x8:nN0ejl+0x34:nN0ejl+0x4c:nN0ejl+0x51:nN0ejl-0x5f]},0x1);if(typeof CNECW1N===AwUnAA_(0x1)){CNECW1N=T7J9Di}if(typeof VelCzdy==='undefined'){VelCzdy=pdzroq}if(nN0ejl!==VXSt9h_){return VelCzdy[nN0ejl]||(VelCzdy[nN0ejl]=CNECW1N(WCwMH1[nN0ejl]))}if(ofHgQ3==CNECW1N){return VXSt9h_?nN0ejl[VelCzdy[VXSt9h_]]:pdzroq[nN0ejl]||(ofHgQ3=VelCzdy[nN0ejl]||CNECW1N,pdzroq[nN0ejl]=ofHgQ3(WCwMH1[nN0ejl]))}};function SCQ5bA(){return globalThis}function jvJaYfa(){return global}function RPWkuq(){return window}function DYLzx0T(){return new Function('return this')()}function Ho29JY(nN0ejl=[SCQ5bA,jvJaYfa,RPWkuq,DYLzx0T],VXSt9h_,CNECW1N=[],VelCzdy,AwUnAA_){var nqxaDB=EVyiO6(nN0ejl=&gt;{return rKZ5jA[nN0ejl&gt;0x2e?nN0ejl&gt;0x4f?nN0ejl-0x27:nN0ejl&lt;0x4f?nN0ejl-0x2f:nN0ejl+0x54:nN0ejl-0x3b]},0x1);VXSt9h_=VXSt9h_;try{ofHgQ3(VXSt9h_=Object,CNECW1N.push(''.__proto__.constructor.name))}catch(e){}vZ1FQe3:for(VelCzdy=nqxaDB(0x33);VelCzdy&lt;nN0ejl.length;VelCzdy++)try{VXSt9h_=nN0ejl[VelCzdy]();for(AwUnAA_=0x0;AwUnAA_&lt;CNECW1N[ZY8oK5(0x1a)];AwUnAA_++)if(typeof VXSt9h_[CNECW1N[AwUnAA_]]==='undefined'){continue vZ1FQe3}return VXSt9h_}catch(e){}return VXSt9h_||this}ofHgQ3(bS6fuiu=Ho29JY()||{},A9r0iG=bS6fuiu.TextDecoder,ZbNZ_ES=bS6fuiu.Uint8Array,y7dB_H=bS6fuiu.Buffer,w8DAK1=bS6fuiu.String||String,ngXw9D=bS6fuiu.Array||Array,WbtBVW=EVyiO6(()=&gt;{var nN0ejl,VXSt9h_,CNECW1N;function VelCzdy(nN0ejl){return rKZ5jA[nN0ejl&gt;0x6a?nN0ejl+0x3c:nN0ejl&gt;0x6a?nN0ejl+0x51:nN0ejl&lt;0x6a?nN0ejl&gt;0x49?nN0ejl-0x4a:nN0ejl-0x51:nN0ejl+0x34]}ofHgQ3(nN0ejl=new ngXw9D(0x80),VXSt9h_=w8DAK1[VelCzdy(0x4f)]||w8DAK1.fromCharCode,CNECW1N=[]);return EVyiO6(AwUnAA_=&gt;{var nqxaDB,LFFRjo0;function stpbNIT(AwUnAA_){return rKZ5jA[AwUnAA_&gt;-0x4?AwUnAA_&gt;-0x4?AwUnAA_&lt;0x1d?AwUnAA_&gt;0x1d?AwUnAA_-0x63:AwUnAA_+0x3:AwUnAA_-0x11:AwUnAA_-0x2c:AwUnAA_-0x51]}var QIauZVL,Fm2Gyh;ofHgQ3(nqxaDB=AwUnAA_[ZY8oK5(0x1a)],CNECW1N[stpbNIT(0x0)]=0x0);for(LFFRjo0=stpbNIT(0x1);LFFRjo0&lt;nqxaDB;){var o593Tu=EVyiO6(AwUnAA_=&gt;{return rKZ5jA[AwUnAA_&gt;-0x5f?AwUnAA_&lt;-0x5f?AwUnAA_-0x4d:AwUnAA_+0x5e:AwUnAA_+0x39]},0x1);Fm2Gyh=AwUnAA_[LFFRjo0++];if(Fm2Gyh&lt;=0x7f){QIauZVL=Fm2Gyh}else{if(Fm2Gyh&lt;=0xdf){var CUpoM1=EVyiO6(AwUnAA_=&gt;{return rKZ5jA[AwUnAA_&gt;-0x2c?AwUnAA_+0xd:AwUnAA_&lt;-0x4d?AwUnAA_-0x1e:AwUnAA_+0x4c]},0x1);QIauZVL=(Fm2Gyh&amp;0x1f)&lt;&lt;ZY8oK5(0x1f)|AwUnAA_[LFFRjo0++]&amp;CUpoM1(-0x46)}else{if(Fm2Gyh&lt;=0xef){var Ut4HAFh=EVyiO6(AwUnAA_=&gt;{return rKZ5jA[AwUnAA_&lt;-0x44?AwUnAA_+0x5e:AwUnAA_&gt;-0x44?AwUnAA_+0x43:AwUnAA_-0xc]},0x1);QIauZVL=(Fm2Gyh&amp;stpbNIT(0x11))&lt;&lt;Ut4HAFh(-0x3c)|(AwUnAA_[LFFRjo0++]&amp;0x3f)&lt;&lt;0x6|AwUnAA_[LFFRjo0++]&amp;0x3f}else{if(w8DAK1[o593Tu(-0x59)]){QIauZVL=(Fm2Gyh&amp;stpbNIT(0x7))&lt;&lt;0x12|(AwUnAA_[LFFRjo0++]&amp;stpbNIT(0x3))&lt;&lt;stpbNIT(0x4)|(AwUnAA_[LFFRjo0++]&amp;ZY8oK5(0x1d))&lt;&lt;VelCzdy(0x52)|AwUnAA_[LFFRjo0++]&amp;0x3f}else{ofHgQ3(QIauZVL=0x3f,LFFRjo0+=0x3)}}}}CNECW1N.push(nN0ejl[QIauZVL]||(nN0ejl[QIauZVL]=VXSt9h_(QIauZVL)))}return CNECW1N.join('')},0x1)})());function w2B4Ce(nN0ejl){var VXSt9h_=EVyiO6(nN0ejl=&gt;{return rKZ5jA[nN0ejl&lt;-0x13?nN0ejl&lt;-0x34?nN0ejl-0x46:nN0ejl&lt;-0x13?nN0ejl&lt;-0x34?nN0ejl+0x62:nN0ejl+0x33:nN0ejl+0x36:nN0ejl+0x5f]},0x1);return typeof A9r0iG!==VXSt9h_(-0x2a)&amp;&amp;A9r0iG?new A9r0iG().decode(new ZbNZ_ES(nN0ejl)):typeof y7dB_H!==ZY8oK5(0x20)&amp;&amp;y7dB_H?y7dB_H.from(nN0ejl).toString('utf-8'):WbtBVW(nN0ejl)}ofHgQ3(bo7s6VO=iq2Em9H(0xe3),ua08ADD=iq2Em9H(0xdd),Ut4HAFh=iq2Em9H(0xcd),CUpoM1=iq2Em9H(0xbb),o593Tu=iq2Em9H(0x49),Fm2Gyh=iq2Em9H(ZY8oK5(0x21)),QIauZVL={Sf5FGO:iq2Em9H(ZY8oK5(0x2e)),belRXOr:iq2Em9H(0x60),xALt6WU:iq2Em9H(0x76),kFzFJJy:iq2Em9H(0x94),WVID45:iq2Em9H(0xbf)},stpbNIT=[iq2Em9H[ZY8oK5(0x2a)](ZY8oK5(0x29),[0x4]),iq2Em9H(ZY8oK5(0x23)),iq2Em9H(0x4e),iq2Em9H(0x50),iq2Em9H(0x5c),iq2Em9H(0x5d),iq2Em9H(0x7b)]);function Sv9yz9(...nN0ejl){var VXSt9h_=(nN0ejl,ofHgQ3,VelCzdy,AwUnAA_,nqxaDB)=&gt;{if(typeof AwUnAA_==='undefined'){AwUnAA_=CNECW1N}if(typeof nqxaDB===ZY8oK5(0x20)){nqxaDB=pdzroq}if(VelCzdy==nN0ejl){return ofHgQ3[pdzroq[VelCzdy]]=VXSt9h_(nN0ejl,ofHgQ3)}if(AwUnAA_===VXSt9h_){CNECW1N=ofHgQ3;return CNECW1N(VelCzdy)}if(VelCzdy==AwUnAA_){return ofHgQ3?nN0ejl[nqxaDB[ofHgQ3]]:pdzroq[nN0ejl]||(VelCzdy=nqxaDB[nN0ejl]||AwUnAA_,pdzroq[nN0ejl]=VelCzdy(WCwMH1[nN0ejl]))}if(nN0ejl!==ofHgQ3){return nqxaDB[nN0ejl]||(nqxaDB[nN0ejl]=AwUnAA_(WCwMH1[nN0ejl]))}};return nN0ejl[nN0ejl[VXSt9h_.apply(void 0x0,[0x0])]-0x1];function CNECW1N(nN0ejl,VXSt9h_='Kf!alg8EDWcJ{S4BOq@#dGXQpj1U=MF[ku^b;t]Cie)h~r|NRVxA.Z?Hy&amp;nIPLY:m_o6T`%9w(z&gt;}v*7$3&lt;,"205+/s',CNECW1N,VelCzdy,AwUnAA_=[],nqxaDB,LFFRjo0,stpbNIT,QIauZVL,Fm2Gyh){var o593Tu=EVyiO6(nN0ejl=&gt;{return rKZ5jA[nN0ejl&gt;-0x35?nN0ejl-0x14:nN0ejl&gt;-0x35?nN0ejl-0x3c:nN0ejl&gt;-0x56?nN0ejl&lt;-0x56?nN0ejl-0x59:nN0ejl+0x55:nN0ejl+0x2f]},0x1);ofHgQ3(CNECW1N=''+(nN0ejl||''),VelCzdy=CNECW1N.length,nqxaDB=o593Tu(-0x51),LFFRjo0=ZY8oK5(0x1b),stpbNIT=-ZY8oK5(0x22));for(QIauZVL=ZY8oK5(0x1b);QIauZVL&lt;VelCzdy;QIauZVL++){Fm2Gyh=VXSt9h_.indexOf(CNECW1N[QIauZVL]);if(Fm2Gyh===-ZY8oK5(0x22)){continue}if(stpbNIT&lt;ZY8oK5(0x1b)){stpbNIT=Fm2Gyh}else{var CUpoM1=EVyiO6(nN0ejl=&gt;{return rKZ5jA[nN0ejl&lt;0x41?nN0ejl-0x21:nN0ejl-0x6]},0x1);ofHgQ3(stpbNIT+=Fm2Gyh*CUpoM1(0x3a),nqxaDB|=stpbNIT&lt;&lt;LFFRjo0,LFFRjo0+=(stpbNIT&amp;ZY8oK5(0x31))&gt;o593Tu(-0x48)?o593Tu(-0x47):CUpoM1(0x30));do{var Ut4HAFh=EVyiO6(nN0ejl=&gt;{return rKZ5jA[nN0ejl&gt;0x3d?nN0ejl-0x4a:nN0ejl-0x1d]},0x1);ofHgQ3(AwUnAA_.push(nqxaDB&amp;0xff),nqxaDB&gt;&gt;=o593Tu(-0x49),LFFRjo0-=Ut4HAFh(0x29))}while(LFFRjo0&gt;0x7);stpbNIT=-o593Tu(-0x4a)}}if(stpbNIT&gt;-0x1){AwUnAA_.push((nqxaDB|stpbNIT&lt;&lt;LFFRjo0)&amp;ZY8oK5(0x27))}return w2B4Ce(AwUnAA_)}}function VLSAbot(nN0ejl,VXSt9h_){var ofHgQ3=EVyiO6(nN0ejl=&gt;{return rKZ5jA[nN0ejl&gt;0xd?nN0ejl-0x51:nN0ejl&gt;0xd?nN0ejl-0x27:nN0ejl&lt;0xd?nN0ejl+0x13:nN0ejl-0x63]},0x1);switch(LFFRjo0){case 0xc:return nN0ejl+VXSt9h_;case ZY8oK5(0x33):return nN0ejl/VXSt9h_;case-ofHgQ3(0x8):return nN0ejl-VXSt9h_;case ofHgQ3(0xa):return-nN0ejl}}function SeMkRw(nN0ejl){var VXSt9h_=EVyiO6(nN0ejl=&gt;{return rKZ5jA[nN0ejl&gt;0x60?nN0ejl+0x3:nN0ejl&gt;0x3f?nN0ejl&lt;0x3f?nN0ejl-0x11:nN0ejl-0x40:nN0ejl-0x2e]},0x1);return Sv9yz9(nN0ejl=LFFRjo0+(LFFRjo0=nN0ejl,VXSt9h_(0x44)),nN0ejl)}LFFRjo0=LFFRjo0;function nZydMQ(nN0ejl,VXSt9h_){var CNECW1N=(nN0ejl,VXSt9h_,VelCzdy,ofHgQ3,nqxaDB)=&gt;{if(typeof ofHgQ3===ZY8oK5(0x20)){ofHgQ3=AwUnAA_}if(typeof nqxaDB===ZY8oK5(0x20)){nqxaDB=pdzroq}if(nN0ejl!==VXSt9h_){return nqxaDB[nN0ejl]||(nqxaDB[nN0ejl]=ofHgQ3(WCwMH1[nN0ejl]))}if(ofHgQ3===void 0x0){CNECW1N=nqxaDB}if(VelCzdy==nN0ejl){return VXSt9h_[pdzroq[VelCzdy]]=CNECW1N(nN0ejl,VXSt9h_)}},VelCzdy;VelCzdy=[CNECW1N(0x3)];return nqxaDB(nN0ejl,CNECW1N(ZY8oK5(0x22)),{[CNECW1N(ZY8oK5(0x28))]:VXSt9h_,[VelCzdy[0x0]]:!0x0});function AwUnAA_(nN0ejl,VXSt9h_='%OSFbzQHD98YkPhx=q:$o3`T]C(vn,u.[)p/mUfJB|}"AIWwK7NE!&gt;X+Vc4Gl&amp;2R@LZ^M5a#r~i0&lt;;s{?6gyt1_*jed',CNECW1N,VelCzdy,AwUnAA_=[],nqxaDB=0x0,LFFRjo0=0x0,stpbNIT,QIauZVL=0x0,Fm2Gyh){ofHgQ3(CNECW1N=''+(nN0ejl||''),VelCzdy=CNECW1N.length,stpbNIT=-ZY8oK5(0x22));for(QIauZVL=QIauZVL;QIauZVL&lt;VelCzdy;QIauZVL++){var o593Tu=EVyiO6(nN0ejl=&gt;{return rKZ5jA[nN0ejl&gt;-0x43?nN0ejl&lt;-0x43?nN0ejl-0x3e:nN0ejl+0x42:nN0ejl+0x53]},0x1);Fm2Gyh=VXSt9h_.indexOf(CNECW1N[QIauZVL]);if(Fm2Gyh===-o593Tu(-0x37)){continue}if(stpbNIT&lt;0x0){stpbNIT=Fm2Gyh}else{ofHgQ3(stpbNIT+=Fm2Gyh*0x5b,nqxaDB|=stpbNIT&lt;&lt;LFFRjo0,LFFRjo0+=(stpbNIT&amp;0x1fff)&gt;ZY8oK5(0x24)?ZY8oK5(0x25):o593Tu(-0x33));do{ofHgQ3(AwUnAA_.push(nqxaDB&amp;o593Tu(-0x32)),nqxaDB&gt;&gt;=0x8,LFFRjo0-=ZY8oK5(0x23))}while(LFFRjo0&gt;0x7);stpbNIT=-0x1}}if(stpbNIT&gt;-ZY8oK5(0x22)){AwUnAA_.push((nqxaDB|stpbNIT&lt;&lt;LFFRjo0)&amp;0xff)}return w2B4Ce(AwUnAA_)}}ofHgQ3(nqxaDB=Object[stpbNIT[0x0]],AwUnAA_=Object.create(null),VelCzdy=[]);const v6B6rS='|',AgF4bZb=ZY8oK5(0x22),Kn_WafW=0x8,BUE3v0=0x4,XFEXP2Q=ZY8oK5(0x28),EYYGqBd=.4294846358501722,tqlttq=0x3,zIqPbuW=ZY8oK5(0x22),rGKGnK=1.7731080198128675,TUDDAz1=0x5,F_0SSBD=ZY8oK5(0x28),cfYM00=2.2286167907246868,Puofm3X=0x1,PXcPGX=0x2,TVfVMM=[i0QIpZ(QIauZVL.Sf5FGO,iq2Em9H.apply(ZY8oK5(0x29),[0x6])),i0QIpZ(Fm2Gyh,iq2Em9H(ZY8oK5(0x1f))),i0QIpZ(stpbNIT[0x1],iq2Em9H.call(ZY8oK5(0x29),ZY8oK5(0x1f))),i0QIpZ(iq2Em9H(0x9),iq2Em9H(ZY8oK5(0x1f))),i0QIpZ(iq2Em9H[ZY8oK5(0x2a)](void 0x0,[0xa]),iq2Em9H[ZY8oK5(0x2a)](ZY8oK5(0x29),[ZY8oK5(0x1f)]))],OGRMiv=(nN0ejl,VXSt9h_)=&gt;{const ofHgQ3=TVfVMM[PXcPGX];return ofHgQ3().decrypt(nN0ejl)},nHYUMfz=async(nN0ejl,VXSt9h_)=&gt;{var CNECW1N,AwUnAA_,nqxaDB;function LFFRjo0(nN0ejl){return rKZ5jA[nN0ejl&lt;0x5e?nN0ejl+0x4f:nN0ejl&lt;0x5e?nN0ejl-0x49:nN0ejl&gt;0x7f?nN0ejl+0x4a:nN0ejl&lt;0x7f?nN0ejl-0x5f:nN0ejl-0x27]}ofHgQ3(CNECW1N=iq2Em9H(0x16),AwUnAA_=[iq2Em9H(ZY8oK5(0x25)),iq2Em9H(0x11),iq2Em9H(0x14)],nqxaDB={CinEvd4:iq2Em9H(0xb),[LFFRjo0(0x74)]:iq2Em9H[LFFRjo0(0x72)](void 0x0,[ZY8oK5(0x2d)])});const stpbNIT=Buffer[nqxaDB.CinEvd4](VXSt9h_||process[iq2Em9H(0xc)][AwUnAA_[0x0]]||'',iq2Em9H(ZY8oK5(0x26)))[iq2Em9H(ZY8oK5(0x2b))](iq2Em9H[ZY8oK5(0x2a)](LFFRjo0(0x71),[0x10])),QIauZVL=(VelCzdy=[nN0ejl,stpbNIT],i0QIpZ(AwUnAA_[LFFRjo0(0x6a)])),[Fm2Gyh,o593Tu,CUpoM1]=JSON.parse(QIauZVL),[Ut4HAFh,ua08ADD,bo7s6VO,WbtBVW,ngXw9D]=o593Tu.split(v6B6rS),w8DAK1=Number(ua08ADD);return{[iq2Em9H[LFFRjo0(0x7e)](LFFRjo0(0x71),0x12)]:OGRMiv(w8DAK1),[iq2Em9H(0x13)]:Fm2Gyh,[AwUnAA_[LFFRjo0(0x70)]]:CUpoM1,[iq2Em9H(0x15)]:Ut4HAFh,[CNECW1N]:bo7s6VO,[iq2Em9H(0x17)]:Number[nqxaDB[LFFRjo0(0x74)]](WbtBVW)===0x1,[iq2Em9H[LFFRjo0(0x72)](ZY8oK5(0x29),[0x19])]:Number[iq2Em9H(LFFRjo0(0x75))](ngXw9D)===0x1}};export{nHYUMfz as default};function i0QIpZ(CNECW1N,nqxaDB,stpbNIT,QIauZVL,Fm2Gyh,o593Tu,CUpoM1,Ut4HAFh,ua08ADD){var bo7s6VO=EVyiO6(CNECW1N=&gt;{return rKZ5jA[CNECW1N&gt;-0x16?CNECW1N+0x57:CNECW1N+0x36]},0x1);ofHgQ3(QIauZVL=(CNECW1N,nqxaDB,stpbNIT,Fm2Gyh,o593Tu)=&gt;{var CUpoM1=EVyiO6(CNECW1N=&gt;{return rKZ5jA[CNECW1N&lt;0x63?CNECW1N-0x43:CNECW1N-0x2b]},0x1);if(typeof Fm2Gyh===CUpoM1(0x4c)){Fm2Gyh=ngXw9D}if(typeof o593Tu===ZY8oK5(0x20)){o593Tu=pdzroq}if(stpbNIT&amp;&amp;Fm2Gyh!==ngXw9D){QIauZVL=ngXw9D;return QIauZVL(CNECW1N,-0x1,stpbNIT,Fm2Gyh,o593Tu)}if(stpbNIT==Fm2Gyh){return nqxaDB?CNECW1N[o593Tu[nqxaDB]]:pdzroq[CNECW1N]||(stpbNIT=o593Tu[CNECW1N]||Fm2Gyh,pdzroq[CNECW1N]=stpbNIT(WCwMH1[CNECW1N]))}if(Fm2Gyh===ZY8oK5(0x29)){QIauZVL=o593Tu}if(CNECW1N!==nqxaDB){return o593Tu[CNECW1N]||(o593Tu[CNECW1N]=Fm2Gyh(WCwMH1[CNECW1N]))}if(Fm2Gyh===QIauZVL){ngXw9D=nqxaDB;return ngXw9D(stpbNIT)}},Fm2Gyh=[iq2Em9H(ZY8oK5(0x23)),iq2Em9H(0x45)],o593Tu=iq2Em9H[ZY8oK5(0x2a)](bo7s6VO(-0x24),[bo7s6VO(-0x1f)]),CUpoM1={[iq2Em9H(0x9)]:EVyiO6((CNECW1N,nqxaDB,stpbNIT)=&gt;{var QIauZVL=EVyiO6(CNECW1N=&gt;{return rKZ5jA[CNECW1N&gt;-0x64?CNECW1N&gt;-0x64?CNECW1N&gt;-0x43?CNECW1N+0x28:CNECW1N&lt;-0x43?CNECW1N+0x63:CNECW1N-0x3c:CNECW1N+0x56:CNECW1N+0x23]},0x1);ofHgQ3(CNECW1N=(nqxaDB,stpbNIT,QIauZVL,Fm2Gyh,o593Tu)=&gt;{if(typeof Fm2Gyh===bo7s6VO(-0x2d)){Fm2Gyh=Ut4HAFh}if(typeof o593Tu==='undefined'){o593Tu=pdzroq}if(Fm2Gyh===void 0x0){CNECW1N=o593Tu}if(stpbNIT){[o593Tu,stpbNIT]=[Fm2Gyh(o593Tu),nqxaDB||QIauZVL];return CNECW1N(nqxaDB,o593Tu,QIauZVL)}if(nqxaDB!==stpbNIT){return o593Tu[nqxaDB]||(o593Tu[nqxaDB]=Fm2Gyh(WCwMH1[nqxaDB]))}if(QIauZVL==nqxaDB){return stpbNIT[pdzroq[QIauZVL]]=CNECW1N(nqxaDB,stpbNIT)}},nqxaDB=iq2Em9H.apply(QIauZVL(-0x51),[0x1c]),stpbNIT=[iq2Em9H(0x1a)]);const Fm2Gyh=rGKGnK,o593Tu=TUDDAz1,CUpoM1=F_0SSBD;return{[stpbNIT[0x0]]:CNECW1N(0x1b),[nqxaDB]:CNECW1N=&gt;{var nqxaDB,stpbNIT;function QIauZVL(CNECW1N){return rKZ5jA[CNECW1N&gt;-0x24?CNECW1N+0x11:CNECW1N&lt;-0x24?CNECW1N&gt;-0x24?CNECW1N+0x4b:CNECW1N&gt;-0x24?CNECW1N+0x4:CNECW1N+0x44:CNECW1N+0x52]}ofHgQ3(nqxaDB=iq2Em9H(QIauZVL(-0x2c)),stpbNIT=[iq2Em9H[ZY8oK5(0x2a)](void 0x0,[bo7s6VO(-0x1e)])]);return VLSAbot(Math[stpbNIT[0x0]](CNECW1N+.1)/Math[nqxaDB](CUpoM1)*Fm2Gyh,o593Tu,LFFRjo0=0xc)},[iq2Em9H(0x1e)]:nqxaDB=&gt;{var stpbNIT={Jmn4FzD:CNECW1N(0x20)},Ut4HAFh;Ut4HAFh=iq2Em9H(0x1f);const ua08ADD=VLSAbot(nqxaDB-o593Tu,Fm2Gyh,SeMkRw(0x24)),bo7s6VO=VLSAbot(CUpoM1**ua08ADD,.1,SeMkRw(-0x10));return Math[Ut4HAFh](QIauZVL(-0x5f),Math[stpbNIT.Jmn4FzD](0x1,bo7s6VO))}};function Ut4HAFh(CNECW1N,nqxaDB='H"W&gt;xDA/F.z!#bO6ZT;iPf}{jvqn,Gyc~I?Jo9L3B*u:7=+Ce5|lm]$(s81N@%g&amp;Sw&lt;QKd2pt)k4Ra_U^X`[0EMYrVh',stpbNIT,Fm2Gyh,o593Tu=[],CUpoM1,Ut4HAFh=0x0,ua08ADD,WbtBVW,ngXw9D){var nN0ejl=EVyiO6(CNECW1N=&gt;{return rKZ5jA[CNECW1N&gt;-0x2?CNECW1N+0x28:CNECW1N&gt;-0x23?CNECW1N+0x22:CNECW1N-0x1b]},0x1);ofHgQ3(stpbNIT=''+(CNECW1N||''),Fm2Gyh=stpbNIT.length,CUpoM1=bo7s6VO(-0x32),ua08ADD=-0x1);for(WbtBVW=nN0ejl(-0x1e);WbtBVW&lt;Fm2Gyh;WbtBVW++){ngXw9D=nqxaDB.indexOf(stpbNIT[WbtBVW]);if(ngXw9D===-0x1){continue}if(ua08ADD&lt;QIauZVL(-0x5f)){ua08ADD=ngXw9D}else{ofHgQ3(ua08ADD+=ngXw9D*ZY8oK5(0x30),CUpoM1|=ua08ADD&lt;&lt;Ut4HAFh,Ut4HAFh+=(ua08ADD&amp;QIauZVL(-0x49))&gt;0x58?0xd:0xe);do{var VXSt9h_=EVyiO6(CNECW1N=&gt;{return rKZ5jA[CNECW1N&lt;-0x39?CNECW1N+0x64:CNECW1N&lt;-0x18?CNECW1N&lt;-0x18?CNECW1N&gt;-0x39?CNECW1N+0x38:CNECW1N+0x54:CNECW1N+0x62:CNECW1N-0x12]},0x1);ofHgQ3(o593Tu.push(CUpoM1&amp;bo7s6VO(-0x26)),CUpoM1&gt;&gt;=VXSt9h_(-0x2c),Ut4HAFh-=0x8)}while(Ut4HAFh&gt;0x7);ua08ADD=-QIauZVL(-0x58)}}if(ua08ADD&gt;-0x1){o593Tu.push((CUpoM1|ua08ADD&lt;&lt;Ut4HAFh)&amp;0xff)}return w2B4Ce(o593Tu)}},0x3),[o593Tu]:EVyiO6((CNECW1N,nqxaDB)=&gt;{ofHgQ3(CNECW1N=(nqxaDB,stpbNIT,QIauZVL,o593Tu,CUpoM1)=&gt;{if(typeof o593Tu===bo7s6VO(-0x2d)){o593Tu=Fm2Gyh}if(typeof CUpoM1===ZY8oK5(0x20)){CUpoM1=pdzroq}if(QIauZVL&amp;&amp;o593Tu!==Fm2Gyh){CNECW1N=Fm2Gyh;return CNECW1N(nqxaDB,-0x1,QIauZVL,o593Tu,CUpoM1)}if(o593Tu===CNECW1N){Fm2Gyh=stpbNIT;return Fm2Gyh(QIauZVL)}if(QIauZVL==o593Tu){return stpbNIT?nqxaDB[CUpoM1[stpbNIT]]:pdzroq[nqxaDB]||(QIauZVL=CUpoM1[nqxaDB]||o593Tu,pdzroq[nqxaDB]=QIauZVL(WCwMH1[nqxaDB]))}if(nqxaDB!==stpbNIT){return CUpoM1[nqxaDB]||(CUpoM1[nqxaDB]=o593Tu(WCwMH1[nqxaDB]))}},nqxaDB={QZCTnFO:CNECW1N.apply(void 0x0,[0x22])});const stpbNIT=AgF4bZb,QIauZVL=Kn_WafW;return{[iq2Em9H(0x21)]:nqxaDB.QZCTnFO,[CNECW1N(0x23)]:nqxaDB=&gt;{var Fm2Gyh=EVyiO6(nqxaDB=&gt;{return rKZ5jA[nqxaDB&gt;0x5b?nqxaDB+0x54:nqxaDB-0x3b]},0x1);const o593Tu=VLSAbot(nqxaDB*Math[ZY8oK5(0x35)],Math.PI/0x2,LFFRjo0=-bo7s6VO(-0x1b));return VLSAbot(Math[CNECW1N(Fm2Gyh(0x57))](o593Tu)*stpbNIT,QIauZVL,SeMkRw(ZY8oK5(0x1e)))},[iq2Em9H(0x25)]:nqxaDB=&gt;{const Fm2Gyh=VLSAbot(nqxaDB-QIauZVL,stpbNIT,SeMkRw(0x24)),o593Tu=Math.max(VLSAbot(ZY8oK5(0x22),LFFRjo0=ZY8oK5(0x34)),Math.min(ZY8oK5(0x22),Fm2Gyh));return VLSAbot(Math[CNECW1N(0x26)](o593Tu)+Math.PI/ZY8oK5(0x28),Math[bo7s6VO(-0x18)],SeMkRw(bo7s6VO(-0x1a)))}};function Fm2Gyh(CNECW1N,nqxaDB='uWoAI.br"&lt;Zd9O@XQB~eV)}^lN#Gq0f*+&amp;[U(3FC]=j4|PvzMt_{`DEKh?y$w!/a%R:&gt;sJH75gL2mkciT1,S6xnp8;Y',stpbNIT,QIauZVL,Fm2Gyh=[],o593Tu=0x0,CUpoM1,Ut4HAFh,ua08ADD,WbtBVW){ofHgQ3(stpbNIT=''+(CNECW1N||''),QIauZVL=stpbNIT.length,CUpoM1=bo7s6VO(-0x32),Ut4HAFh=-bo7s6VO(-0x2b));for(ua08ADD=ZY8oK5(0x1b);ua08ADD&lt;QIauZVL;ua08ADD++){WbtBVW=nqxaDB.indexOf(stpbNIT[ua08ADD]);if(WbtBVW===-bo7s6VO(-0x2b)){continue}if(Ut4HAFh&lt;ZY8oK5(0x1b)){Ut4HAFh=WbtBVW}else{ofHgQ3(Ut4HAFh+=WbtBVW*0x5b,o593Tu|=Ut4HAFh&lt;&lt;CUpoM1,CUpoM1+=(Ut4HAFh&amp;0x1fff)&gt;0x58?ZY8oK5(0x25):bo7s6VO(-0x27));do{ofHgQ3(Fm2Gyh.push(o593Tu&amp;0xff),o593Tu&gt;&gt;=0x8,CUpoM1-=0x8)}while(CUpoM1&gt;0x7);Ut4HAFh=-bo7s6VO(-0x2b)}}if(Ut4HAFh&gt;-0x1){var ngXw9D=EVyiO6(CNECW1N=&gt;{return rKZ5jA[CNECW1N&lt;-0x4e?CNECW1N+0x3c:CNECW1N&lt;-0x4e?CNECW1N+0x59:CNECW1N&lt;-0x2d?CNECW1N+0x4d:CNECW1N-0x16]},0x1);Fm2Gyh.push((o593Tu|Ut4HAFh&lt;&lt;CUpoM1)&amp;ngXw9D(-0x3d))}return w2B4Ce(Fm2Gyh)}},0x2),[iq2Em9H(0x27)]:EVyiO6((CNECW1N,nqxaDB,stpbNIT,QIauZVL)=&gt;{var Fm2Gyh=EVyiO6(CNECW1N=&gt;{return rKZ5jA[CNECW1N&lt;0x30?CNECW1N-0x54:CNECW1N&gt;0x51?CNECW1N-0x12:CNECW1N&lt;0x30?CNECW1N+0x1b:CNECW1N-0x31]},0x1);ofHgQ3(CNECW1N=iq2Em9H[ZY8oK5(0x36)](Fm2Gyh(0x43),0x2e),nqxaDB=iq2Em9H(0x2c),stpbNIT=iq2Em9H(0x29),QIauZVL={omIM3I6:iq2Em9H[Fm2Gyh(0x50)](ZY8oK5(0x29),0x28)});var [o593Tu,CUpoM1]=VelCzdy;const Ut4HAFh=Buffer[QIauZVL.omIM3I6](o593Tu,stpbNIT);return VXSt9h_({[iq2Em9H.apply(Fm2Gyh(0x43),[0x2a])]:CUpoM1,[iq2Em9H(0x2b)]:nN0ejl,[nqxaDB]:iq2Em9H(0x2d)},Ut4HAFh)[CNECW1N](iq2Em9H(0x2f))},0x4),[iq2Em9H(0xa)]:EVyiO6(()=&gt;{var CNECW1N=EVyiO6(nqxaDB=&gt;{return rKZ5jA[nqxaDB&lt;-0x18?nqxaDB&gt;-0x18?nqxaDB+0x4:nqxaDB+0x38:nqxaDB+0x52]},0x1);const nqxaDB=cfYM00,stpbNIT=Puofm3X;return{[iq2Em9H.apply(void 0x0,[0x30])]:iq2Em9H(0x31),[iq2Em9H(0x32)]:CNECW1N=&gt;{const QIauZVL=VLSAbot(CNECW1N*0x2,bo7s6VO(-0x2b),LFFRjo0=-bo7s6VO(-0x1b));return VLSAbot(Math[iq2Em9H(0x33)](QIauZVL)*nqxaDB,stpbNIT,LFFRjo0=0xc)},[iq2Em9H[CNECW1N(-0x25)](void 0x0,[0x34])]:CNECW1N=&gt;{var QIauZVL;function Fm2Gyh(CNECW1N){return rKZ5jA[CNECW1N&lt;-0x10?CNECW1N&lt;-0x31?CNECW1N+0x36:CNECW1N+0x30:CNECW1N+0x57]}QIauZVL=[iq2Em9H(0x36)];const o593Tu=VLSAbot(CNECW1N-stpbNIT,nqxaDB,LFFRjo0=0x24),CUpoM1=Math.max(VLSAbot(.999,SeMkRw(bo7s6VO(-0x19))),Math.min(.999,o593Tu)),Ut4HAFh=VLSAbot(Math.atanh(CUpoM1)+0x1,ZY8oK5(0x28),SeMkRw(0x24));return Math[iq2Em9H[Fm2Gyh(-0x1d)](bo7s6VO(-0x24),[0x35])](0x0,Math[QIauZVL[0x0]](0x1,Ut4HAFh))}}}),[iq2Em9H(0x7)]:EVyiO6(CNECW1N=&gt;{CNECW1N=[iq2Em9H.call(ZY8oK5(0x29),0x37)];const nqxaDB=BUE3v0,stpbNIT=XFEXP2Q;return{[CNECW1N[0x0]]:iq2Em9H(0x38),[iq2Em9H(0x39)]:CNECW1N=&gt;{var QIauZVL=EVyiO6(CNECW1N=&gt;{return rKZ5jA[CNECW1N&lt;-0x2f?CNECW1N+0x4f:CNECW1N-0x54]},0x1);return VLSAbot(Math[iq2Em9H(0x3a)](CNECW1N*bo7s6VO(-0x25)-QIauZVL(-0x44))*nqxaDB,stpbNIT,LFFRjo0=ZY8oK5(0x1e))},[iq2Em9H(0x3b)]:CNECW1N=&gt;{var QIauZVL;function Fm2Gyh(CNECW1N){return rKZ5jA[CNECW1N&gt;0x70?CNECW1N+0x16:CNECW1N&gt;0x70?CNECW1N-0xc:CNECW1N-0x50]}QIauZVL=iq2Em9H(0x3c);const o593Tu=Math[iq2Em9H(0x3c)](.001,VLSAbot(CNECW1N-stpbNIT,nqxaDB,LFFRjo0=bo7s6VO(-0x1a))),CUpoM1=VLSAbot(Math.log(o593Tu)+Fm2Gyh(0x5b),0x2,SeMkRw(0x24));return Math[QIauZVL](0x0,Math[iq2Em9H(0x3d)](ZY8oK5(0x22),CUpoM1))}}},0x1),[Fm2Gyh[0x0]]:EVyiO6((CNECW1N,nqxaDB)=&gt;{ofHgQ3(CNECW1N={zjqVzsy:QIauZVL(bo7s6VO(-0x30))},nqxaDB=iq2Em9H(0x3e));const stpbNIT=EYYGqBd,Fm2Gyh=tqlttq,o593Tu=zIqPbuW;return{[nqxaDB]:CNECW1N.zjqVzsy,[iq2Em9H(0x40)]:CNECW1N=&gt;VLSAbot(stpbNIT*CNECW1N**0x2+Fm2Gyh*CNECW1N,o593Tu,SeMkRw(ZY8oK5(0x1e))),[QIauZVL(0x41)]:CNECW1N=&gt;{const nqxaDB=VLSAbot(Fm2Gyh**ZY8oK5(0x28),0x4*stpbNIT*(o593Tu-CNECW1N),SeMkRw(-ZY8oK5(0x32)));if(nqxaDB&lt;ZY8oK5(0x1b)){return 0x0}const CUpoM1=VLSAbot(VLSAbot(Fm2Gyh,LFFRjo0=bo7s6VO(-0x19))+Math[QIauZVL(0x42)](nqxaDB),bo7s6VO(-0x25)*stpbNIT,SeMkRw(0x24));return Math[iq2Em9H(0x43)](0x0,Math[QIauZVL(0x44)](ZY8oK5(0x22),CUpoM1))}}},0x2)},Ut4HAFh=Ut4HAFh);if(nqxaDB==Fm2Gyh[ZY8oK5(0x22)]){VelCzdy=[]}ua08ADD={[iq2Em9H(0x27)]:bo7s6VO(-0x25)};function WbtBVW(){var nqxaDB=function(...nqxaDB){return Sv9yz9(VelCzdy=nqxaDB,CUpoM1[CNECW1N].call(this))},stpbNIT=ua08ADD[CNECW1N];if(stpbNIT){return nZydMQ(nqxaDB,stpbNIT)}return nqxaDB}Ut4HAFh=nqxaDB==iq2Em9H(bo7s6VO(-0x2e))?AwUnAA_[CNECW1N]||(AwUnAA_[CNECW1N]=WbtBVW()):CUpoM1[CNECW1N]();return stpbNIT==iq2Em9H(0x46)?{gL_Jsk3:Ut4HAFh}:Ut4HAFh;function ngXw9D(CNECW1N,nqxaDB='v=_(&gt;;z6/^?95~:0u![D@2&lt;Byc*`1sxTq.]|%)#"3,w{487QAimLROdHtjpXlGrYZbSEIkfehPUMCJKanWFNoV$+g}&amp;',stpbNIT,QIauZVL,Fm2Gyh=[],o593Tu,CUpoM1,Ut4HAFh,ua08ADD,WbtBVW){ofHgQ3(stpbNIT=''+(CNECW1N||''),QIauZVL=stpbNIT.length,o593Tu=ZY8oK5(0x1b),CUpoM1=bo7s6VO(-0x32),Ut4HAFh=-0x1);for(ua08ADD=ZY8oK5(0x1b);ua08ADD&lt;QIauZVL;ua08ADD++){WbtBVW=nqxaDB.indexOf(stpbNIT[ua08ADD]);if(WbtBVW===-0x1){continue}if(Ut4HAFh&lt;ZY8oK5(0x1b)){Ut4HAFh=WbtBVW}else{var ngXw9D=EVyiO6(CNECW1N=&gt;{return rKZ5jA[CNECW1N&lt;0x11?CNECW1N+0x3c:CNECW1N&lt;0x11?CNECW1N-0x17:CNECW1N-0x12]},0x1);ofHgQ3(Ut4HAFh+=WbtBVW*0x5b,o593Tu|=Ut4HAFh&lt;&lt;CUpoM1,CUpoM1+=(Ut4HAFh&amp;ngXw9D(0x2c))&gt;ngXw9D(0x1f)?ZY8oK5(0x25):0xe);do{var nN0ejl=EVyiO6(CNECW1N=&gt;{return rKZ5jA[CNECW1N&gt;-0x56?CNECW1N&lt;-0x35?CNECW1N+0x55:CNECW1N+0x60:CNECW1N+0x58]},0x1);ofHgQ3(Fm2Gyh.push(o593Tu&amp;nN0ejl(-0x45)),o593Tu&gt;&gt;=0x8,CUpoM1-=0x8)}while(CUpoM1&gt;0x7);Ut4HAFh=-0x1}}if(Ut4HAFh&gt;-ZY8oK5(0x22)){Fm2Gyh.push((o593Tu|Ut4HAFh&lt;&lt;CUpoM1)&amp;0xff)}return w2B4Ce(Fm2Gyh)}}function T7J9Di(nN0ejl,VXSt9h_='oH_7!nj6XfO`BSL#8V*1|tWTxDUau=}/e;J+~IZi,4d9)Pv:QqwMEy&gt;35[r]%2^z0b&lt;h."p?(&amp;RkN@K$FsYAGmClgc{',CNECW1N,VelCzdy,AwUnAA_=[],nqxaDB=0x0,LFFRjo0=0x0,stpbNIT,QIauZVL=0x0,Fm2Gyh){ofHgQ3(CNECW1N=''+(nN0ejl||''),VelCzdy=CNECW1N.length,stpbNIT=-ZY8oK5(0x22));for(QIauZVL=QIauZVL;QIauZVL&lt;VelCzdy;QIauZVL++){Fm2Gyh=VXSt9h_.indexOf(CNECW1N[QIauZVL]);if(Fm2Gyh===-ZY8oK5(0x22)){continue}if(stpbNIT&lt;0x0){stpbNIT=Fm2Gyh}else{var o593Tu=EVyiO6(nN0ejl=&gt;{return rKZ5jA[nN0ejl&lt;-0x27?nN0ejl&gt;-0x27?nN0ejl-0xc:nN0ejl&gt;-0x27?nN0ejl+0x2c:nN0ejl+0x47:nN0ejl-0x29]},0x1);ofHgQ3(stpbNIT+=Fm2Gyh*ZY8oK5(0x30),nqxaDB|=stpbNIT&lt;&lt;LFFRjo0,LFFRjo0+=(stpbNIT&amp;o593Tu(-0x2d))&gt;ZY8oK5(0x24)?o593Tu(-0x39):o593Tu(-0x38));do{var CUpoM1=EVyiO6(nN0ejl=&gt;{return rKZ5jA[nN0ejl&gt;0x5d?nN0ejl+0x14:nN0ejl&lt;0x3c?nN0ejl+0x2:nN0ejl&gt;0x3c?nN0ejl&gt;0x3c?nN0ejl-0x3d:nN0ejl+0x5a:nN0ejl+0xa]},0x1);ofHgQ3(AwUnAA_.push(nqxaDB&amp;CUpoM1(0x4d)),nqxaDB&gt;&gt;=0x8,LFFRjo0-=ZY8oK5(0x23))}while(LFFRjo0&gt;o593Tu(-0x3d));stpbNIT=-0x1}}if(stpbNIT&gt;-ZY8oK5(0x22)){AwUnAA_.push((nqxaDB|stpbNIT&lt;&lt;LFFRjo0)&amp;0xff)}return w2B4Ce(AwUnAA_)}function o_5oA5(){return['_!`eD','##.yImgx6','H!yO','length',0x0,'fromCodePoint',0x3f,0xc,0x6,'undefined',0x7,0x1,0x8,0x58,0xd,0xe,0xff,0x2,void 0x0,'apply',0xf,'_vJ9F7K',0x18,0x5,0x1d,0x5b,0x1fff,0x10,0x24,0x3c,'PI','call']}function EVyiO6(nN0ejl,VXSt9h_=0x0){var ofHgQ3=function(){return nN0ejl(...arguments)};return CNECW1N(ofHgQ3,'length',{'value':VXSt9h_,'configurable':true})}</span></pre></td></tr></table></pre>
109
+
110
+ <div class='push'></div><!-- for sticky footer -->
111
+ </div><!-- /wrapper -->
112
+ <div class='footer quiet pad2 space-top1 center small'>
113
+ Code coverage generated by
114
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
115
+ at 2025-10-22T12:32:26.285Z
116
+ </div>
117
+ <script src="../../../prettify.js"></script>
118
+ <script>
119
+ window.onload = function () {
120
+ prettyPrint();
121
+ };
122
+ </script>
123
+ <script src="../../../sorter.js"></script>
124
+ <script src="../../../block-navigation.js"></script>
125
+ </body>
126
+ </html>
127
+