
Sprunked | Free Online Game
Sprunked is a classic game, full of fun and challenges, that will bring you joy.

Sprunked is a classic game, full of fun and challenges, that will bring you joy.
© Copyright 2024 All rights reserved.
<main class="main-content">
<header class="header">
<span class="header-overline">Directory Index</span>
<h1 class="header-title">Sprunki Live</h1>
</header>
<div class="list-container">
<ul class="list_1">
<li class="list-item">
<a href="/kw-click" data-ct="LCbNDugSQtfPbKgnpZoO9CNso4OsC3Sih810Zm-NvjXSiKAp-3N_CwoEUxR2kL7xEQM7qTrZZ-NXIXeB25w09rDHvD8GzEl66sY64eaRZoR7r9nS7-2Y3DgrlsGcH72K6zLnXtJ02yICNg6B8U6R6c-APVFDtTcwwrHdzM6hP5VCUTLz6Tjl0hh7QLRO_KCsx0as0GagQRCKVh4CApmjyJRFiVRAt6duhLo5y6emXYranJJ3bZqeh8G7fRD_c9SvBAjDDQ8cIvVcPU6fu-bYvctGu230FdHeYmEmdnOlOVGpuriDb5qIJ2uw8IGF16qRzP6AtKKsoTBBs-0J-T51bSEwjDZEgTRd0BjXwuw8VpWHy9VN3BaemXde6JgdrEWpaJg0X_Y4hvQ4LGznJEH1I3e_fth3UkLiiQ_fjlab5F4cp3nRABPxtos9aHfGaUSH8IeD_AHAI4C1ILzKWz9123B9kPu23-Vf30ZWT3Wd0RhdIIYra0IqlhVZQLtFqCsroYzWWFvxZXq9uagQ5ZXstBwlrVm8QjysrupEMhfHeBf_KK4hhYaysAmIqWVCAZVhNwCq_EO9i6bI_mrkP_EMjIeFb-odCyKrwgg5dfOpwmW13hvcT8yvK-J-mVQswArcZ7vLeVSK6Uss1sbUa_oolusfpPGujY7qg2l4Cqn1n4zyFrdw0STi-FyINcwuwe1G6VEuSkse0MpZMrY1j07RwtNSXgXir89cXTvmH05W7o1cdSwgNiWoGIaULFiYSFAThBfZl6oeWQ0GVYTZCcRinNiBzkix2LOQsv-WsYi2g89Ot44XolwozXuo2QJr4x1_5rQQud8dNfm4FgFDvNLooaK7XihM1wR-dHU5yiWupETImetMOR_CecN-HVHJIW7-GnY-B8-I-YZRtcqL6gLE9-L_rTrlYL9YxmCQBQjJ53EiAni9n6dD5015X2fYvldEULvK7uNWPkyMboTwkn0lyxidxHDz-VXceezEIKSwfPgMTOQKisd7xJxoEfMxcbX6GoXdkdbfCrf4nQK-vFQMQpCqbrfj5lkPB3OZtGTkLyxxQ6MrojTzJfelTFWQhnUBlJhp1QZFxEk_H9fnwwhjvMDgl3I0QMbfem1bNHdFsnYiqWrA4WhZ0jGsx_PLZ4GxXhyEqHzYIQVI2tQQMZ3zS4LlsMZS2Yax3uVofolcFAU3xzopRVqI3FWl3Zo-gNQLLiGzIVybbXQkqSDEpgVsjeqKHpR5uRvvl1ltxHywn7-M6OilVe2F-VNd87RjiRTPPymv6uvdt6ZlncqcGSvtxE1DgdPLghv1k8oKnqvP1ARo4kKe3ygEAkuMKJZqCof-q44cfUfopE69yVErwcSgwcJ2v7qmSbWBa8UIFql-YlJ6DqSbi5a_N2C7dhm7bdWYDPrn-A1G2glZ6kyLAM5lZ9Qzm6p3pPBEgpEXhvnAm6A0VqsnOAlxUepvbWXcCrciPFv2y8BJ5ilxdp9cxr1gQcn1Z0V_QSnmS9pfmRzfUzlf43S2hdEFuD4BMMKwsvBc6WHwhI50a7FQVPRVPUfbd75y8UZ0wXbdwWq4WwxAKsEbEv8gf7x5LCCf6tIJd7Bg_kLOrvErCYcvKGUQd_HbKeDBh81K9Gh6Yu8g3AmGcbl-6g7E9DYiYB0I__acinA_zT2WEb-gaMIzBmkW9xVZPp3Wm5ITjnJitq0wki05ovNx8qE" class="dir-link" target="_blank">
<div class="dir-content">
<span class="kw-text">find local dates now</span>
</div>
<div class="dir-icon">
<svg viewBox="0 0 24 24"><path d="M9.29 15.88L13.17 12 9.29 8.12c-.39-.39-.39-1.02 0-1.41.39-.39 1.02-.39 1.41 0l4.59 4.59c.39.39.39 1.02 0 1.41l-4.59 4.59c-.39.39-1.02.39-1.41 0-.38-.39-.39-1.03 0-1.42z"/></svg>
</div>
</a>
</li>
<li class="list-item">
<a href="/kw-click" data-ct="eLaicAj5VPoN2Ll5VJ9fCaJpUCe-D2XZcg1k68eDzBDwadaYHs-AgGmtak6d0-cCoTMWAJihjQGO3xbuLWjGgJUph5SmTMEGHctiZ82dOdYkWAx8Y-Vg4OSjsPf5WlV5wznfz1G3ApcXChYDdfvM2eYHsNoLYR39COJ7TVDja_Xq_BYCxWCPE9WwapM2-uEPlx-RhEjybozKRZOkxvJkOzw9KFTVXSea7erobQ9S6WWytB3gafJizO5HwVE2-0GtmrPlMXawZ2D5zihBhzqoGN1sBTqSCHuT0ohR6gpM3OBk28GyRuQHW_z3LasQ4sgdj7bUOerlHgdGXl69dARtB2jKxY_iMYoV19IB5CKdtPUyj8BuWTLE6RiJh-PV8GoVLand5cVMo20xurTmMHPaDD58ElG8uOiBJ0pQXqeZUy5Dm37PZTu7sGNSFfbWq9xHcIULPXPX5pWUsdAl30zJx92TCp9g48vksnpISLa6HJ8pmCSTmoY2c-HLPXd11SdDC8zLo3Mdi0rpxjJK9PgLiCnhdOlkzx_CL4l1aeSa2MUiS6al4tr8S6zFnxz-1SNotRPJIHmTOga386lmB7D0ENdE_z6c4CX7E65ZHEX-QFgQB4zuXzi_KqlLKKx_6YufqNoaCgDBnAXm9G_RoRwG1BsX6J5xSFy3xrbRk5OuoIbM_KwYs4dTZowyaOsaFS50b4EtoOXmTAhM7-5ck0tytuydpS30MPPbIs11PQniWZ5P4qC-2bDkx9MKXLO4z8wwTfK8sl-GRUgG5F7E4okG3nzMyBWAD8yHBmNdZ3JCzHjfawZZKhYFiFEpREyEUrSmMEQfPveShIEpLidK7A8VbhggdptVRSqatKEnAhRaAze-jojXwmcwf_5O8KDrvyeqZHCVcgGHm3AUJPaNbIkA1VAaGZAh7CHmEMErk760flccasqB1a5kVGPcdtyvm-Bx1lQB977AipiJWykMmAhEDHquy4Nmdmysf5Sw57CccwTCUWxK2gFs54DGfeqS4ACpe14JjgLS9HpEI45G5DVUiFwIX0hF7q0yggYNMrwVVCEyPjXtwI7ZXsRUB4dChY1ikwYJ_PV1BZwUJdu7aSrgq9iZ2YaJnFN8bdN8OrrN9L7A3og0w6jGh_-QVHFPJcsPGIdxT8AYLVCwRLq567o5ukXENz3xPtv9UBxgmWYjibTI37rMQu6a2CwE4BF0havcUSRF_4sX2-6ygwiilT3mAWdiT8nYsMcKZO4OFNUmvGaQV0_rQFVHrA1GeGUfWv186iYquVb7pvE_80SQKgQW9ELVspXvrQBS-kyQNBEX_OXgDA-YEuesMEyMbG1FMGJw9kvOGe1jvFRio7DDz89K_kQctb4aYEkal1aSnXjqRL-IxAXFbkKZcBpL3fpPAbFnGfyOT5i56rwJz1Sq3TQi2soIv3INw1inIP5ZIA13NbVqFuz6Wcpq_-qjZBr5EQzG_5R8xfXkSJm9gCMQiVhjCRWk2q-Jq0bxCripvDW-DWozP6FKGC2By-Mnljy4XRlp9gZtJiVn51syd72XUCaNxb4RF6hIXG-dD-V79U1MpBklmcBe5urdK74n1bAZFZQYSxzbHpbLfh7Q9QUAjhKf4jvRbRMBAUIKmTuF2WlicnLXLRa_sXPKlJPw64o84hbreRoFTkNSNnxWntBX4MJN_qbcjvVQs6qeFMVz61oOCE16K8CeMY6Qteh74c3HP0Y" class="dir-link" target="_blank">
<div class="dir-content">
<span class="kw-text">private dating app reviews</span>
</div>
<div class="dir-icon">
<svg viewBox="0 0 24 24"><path d="M9.29 15.88L13.17 12 9.29 8.12c-.39-.39-.39-1.02 0-1.41.39-.39 1.02-.39 1.41 0l4.59 4.59c.39.39.39 1.02 0 1.41l-4.59 4.59c-.39.39-1.02.39-1.41 0-.38-.39-.39-1.03 0-1.42z"/></svg>
</div>
</a>
</li>
<li class="list-item">
<a href="/kw-click" data-ct="hjNV81V1PPR5lsW_RvrrBflOipSIaPare3kdwykEjXHxlDf0upYoHaApLWEGbcEfFzGtnU3mGTzgx9yJvtPQogspYhwChaU183ZUlJc110NPmpIRXWd7XGQ29qZexjMaXOGFmt8UUmiKUVHr8F9auHBWk_JNgsFV4OOCk5TYU-z12a-xIU3YbrD54RmCpFmWzZoIDlzzpmfMhNLJxR23-xzsvcFn5KNXEFio3UWpNPt7Ft3IJ1biOKLlvuOD5wd87QJP9GyvqPKjzAf83_LifY0C9-WryxO7pQZusLwl6URhwK22Vh4a_8XcbXGv4b4AI_0ZOQyTbtt2tRIWXjXC1B6oD0uTXwD2zdxo9UvxmqQsx0tLvUB75TLCBzG9ndFjHEMLm_XUW3KJZq28TBtfOjlZlQ6e2rOYjtTG3OlSBgAofDAHCx929exip4fZX7a7lWQ0vef2DGQ2LRsM20bF0ksfZQBxoBcDk0wEXE-r2T13pBEs2y3sJSq3BQhD2kK811W3ZBf-bAL3Lgs4u0jUiiiti4FuWCiieLOqYxEDmn-yYYxuXjU-Os66liqLTvQH-rdCLTYiVeLZ-UphtatI16TL_JvkOcrxiwNdHZpWSdoKZVzuhjZjutnRebzD-ImAuBl9ekx-xpZ2Mz8i9yhmQoRTA48Jzuatitkl78DNgHtQ2fBTU9f1EgqU65TcirMXKCCySseBrec2VLUJ7bNhWRt-938Yt6ekG0OBXHex84Ym4u68bDMtLvClzAJnXvJqbXWhtZzvdU_TJSlzCL4C4CW1NXX7Gn0ubHOkYgSCVL6nvwNc9BIsz1P_rxsfk1Zibbkb-KclQ88XKIeBpnWY93RDTMPA6XIGhR57q3Xy0mRSh_ZhjtWpihFZ7G36jmb-1dxZvawUbg2LSaf-y09-Ok0GHCBWCdFRa2TAuD3GtQUEuf9AN85T42cE9ge_1NiUKRZt_KzoGCrzQJ6Gu0gTqSMC818n7FbcX48E6fB0B367aqv1n9a9bhn7DyG5mQg_eO5Xxq1asdW5OdH1HhqigTHuNL9Xn2ovWiiE37dPefN2HSMj60zNz5_qnapeIIhyYEe9mi6tn3H9Oypp3rfBzRnlnBKRtRmyeiNLDBq7Qvc0PEXD79M0RT8RBC5vSRsRYgSI1K-ltWLuTZt_WHG0P40rLi4Ddn5d3I0EIAQVoYsD-StiMEvBLpd6BuXDp3DY2rYnvst8ktzPwEwnK3UOQuYDSuOcVmlR0dRPE-c2KmYajMwWFUnL_maAExg6jwAuS7hi7RjcZ4-BFDi1axVpAY6IekYplNHrAQQxi6vTKreu1FDWYLBsdiRJNyROnwcaZrSORCTBb6rbi1UToaYA8nmQFihwIJu96lXgMakynf5pe8aLZ6a5mumZPab6I-QJjtFyVzB47LzcLunN4GBb_wIjw7J0Ynjlcc9JQDtbHL5Ui4kL0-12IBw3G3dPScmtyzTdKIcuDR8yqZKerqwE7dV5mfVPNyOvV05wCRKmH22jixu3i-fuND-ygyQPg2QBOzyjjRWgbyhOUXvsHvHnrJgQJwb-yzuOjAiKqscl4ZJCTpHKoWxe7-f78fC2ndb7bnO_bKnJcwFfT2Hwx7ExmDCFJmtfndVFBaOuRupT7vApnOfTiiFVKv48UCi9xwK2U5iunCNLFq4vOEaEDfqrbt3QLLxPxkQluISGeHtaB-1GEh2wKcoY4nGYBS5y8hZsjg" class="dir-link" target="_blank">
<div class="dir-content">
<span class="kw-text">best hookup apps no sign up</span>
</div>
<div class="dir-icon">
<svg viewBox="0 0 24 24"><path d="M9.29 15.88L13.17 12 9.29 8.12c-.39-.39-.39-1.02 0-1.41.39-.39 1.02-.39 1.41 0l4.59 4.59c.39.39.39 1.02 0 1.41l-4.59 4.59c-.39.39-1.02.39-1.41 0-.38-.39-.39-1.03 0-1.42z"/></svg>
</div>
</a>
</li>
<li class="list-item">
<a href="/kw-click" data-ct="CSLgsphHmEuJhJpdncjfmxbusIVj3udM5XYABXzjUjQ3No0ZP5AL2sYkIpGblSWgyxfi_w0Kj2Q-toygz8REnnBXmX7vTrWnyIkt_Uv32iBasP0jQ0nBblG3gm3ne7fsHNN1-KPHTyQmoyeJrTqCI-E7Ctoe-g_q8Jr3_3Zw_uhqUkuY_tcqsIDpGKUMkqDKeezDImgtIFd8vzpmPcYx5P7rCd5jbFt-Sw0mVdNCPyLCyyCT30Rat42uX5GnGAOeKsa1W6yWrVNMjnPIYiMySdwQ9BJV3eQNYkGbfRzAwvRt_hXRcPN0y2J_oRPAYhKx9iO8RDEiERRUErq1eSJMwrwOp3BM8NgliSUCZZu_jH7CfquFfizkSAVqQB9iV0n7PkVEiWDTyLTJ-ToWQpAUkwEC3aMnE6m2hSfV69rvNg0bsayPffHj7MSt6KhWSfrrUM5dNiqlc5lGYJuwU9IUtiQtWpEToreTffqyy-5Fk5W_aVX8SMI3RsVIrbAT1NOeV8zX-OuEywDcUPMaQT9hE8whknRJ68Sj_bbsqEffn9SEiNIJTbeAAlQSvRAFI6yEh8-9mz55Mvpdao6JW9mWSRlJTmbYRk-cvE0EGz_BfE_awBy35BQmUSa21z4Rwn6stMUtogjOJypJYGMhYP0-irYHmEJOJ049Mc6JNCv2hM1pwlz4LauUgRfaOiT7UW5o0DMgmRkrylouPzoavBV_2vIaExYcb1BkSMYpbiqmso0w5SkQj905CVW4G0VbwiFRIpGZY38zaIfuQwsLx5V3w4TFtf_0OVGW-IKH0ZwQYswEyquJEO8jNHx4XJZ6X4ogDSIi2w72hNGWMh-imN4bxyYn2shEirPSDd99TzRO9FIBe63ex8ZOec99EPEygvowBu5t7MOGuyc1aRFbKQh832nhgiOfvz0MbwMpjmzvAZmVIPdH9m3nj2yMz33UAP-V0cusdPzo-ZQ53JvQ7sg3M_hy5GgAieY2AFEeqRH1NDUzT3PVfkJOeYNczcUQQjw8qS1nLSi-Q9ODzfXmZRPzSnIT0PzS_Koj_KOPcqkmpUL8a1rCHNlVehW1LkHGMbI-wbz6JXB3gc-jzIoiaeDYeDWkFAxWyCDwZ9XZ4ha3Qod-QEF88k_9iu2vQqTisQ94KyC3rO1on8feYyXx0IGtsZejGkWkxNjoUnCiZMSHYG-w1Al1aidAGiQr46B_jXT0e1hlvp04ZLLQ1R8BUatS1AcVnQBTitDOJbREBRPHH7KbUKBH2v9vCHJXMk4B5oobjXUfTg-xWilCBQzMMJCd03xGx83sj6R5USjG8zbLbk6bogrYnITgRAez9t2OXjiBqLiwIhVROvC25KQHE0aKVlCjSDh45YMvPi4CXRkAg8sUuGkLwjPd7v04SoHvNwsOdV9zKTntSP3NCz4lVvS9VjnGQDOC0MsPYkFB4yArSl1zB5W8m6alLoQ6PDSFmlsGu6EibzLgE_N4dDmtBnRqT3ib1mTWlJpM7uZIqD9qMzRA0sk57pdpXAGK_xHAVySGwlHOH0kxYaf3Jsi-T4Y8M31TfuS-9X_bodwhmLY1F68cS5jgnkiAKUcn2ZRkAwDHKS25MsmHAp_fQsAeepv1S8UV5sxgVWbQT6akYWQO7lL3vH0BZPrQck785InfncFL9HgVm4Q2TToBHAWA0DMH7N95x8eFaayOzR0kFwR7IdRUCANGGC9Q0AUEwUZsMz0HrlwZ" class="dir-link" target="_blank">
<div class="dir-content">
<span class="kw-text">best dating app subscription</span>
</div>
<div class="dir-icon">
<svg viewBox="0 0 24 24"><path d="M9.29 15.88L13.17 12 9.29 8.12c-.39-.39-.39-1.02 0-1.41.39-.39 1.02-.39 1.41 0l4.59 4.59c.39.39.39 1.02 0 1.41l-4.59 4.59c-.39.39-1.02.39-1.41 0-.38-.39-.39-1.03 0-1.42z"/></svg>
</div>
</a>
</li>
<li class="list-item">
<a href="/kw-click" data-ct="UCImWCbIacOQoUUe7dzFnAuyxD8eULbco1vvUXXSfpy9eNQit_12MlvuM4Z-IquXYmEAqFHRFthsv32-WkVVidqNObQO8B3h-HZRBPczNaPTMjHPdUqJmjyI0ep5YZ59Z6CmIJpxI8wsXodPTxz4ahXa2d7u4U6StPaMDE-Bya6zTUsZX63vhBA4P0aKdmfpur6d-Nl-_RJF5ewblZLhgIYja4X4sa631nvk93za1Lfxg7zK8Slvs3MS_e0SqhiK5CTq3cLnMjdfLrzv7acvQ0ZiWuf6enO8SWBXimIPbGXvAo2QmEPPOpmO_fLtQV_J3tZAP8ZiuOyHIGoi78Wog-1WzZRnZpvHI8g-AWIvF-mQMtXTp8exj5jhEeg-U65GrsvdSPye-jx4aIY9nlaad3QLmJ0WzMwKRqlC7HhBAOzLQbVEo3x5oVUllPSypC_eL_jCTU7_kUPDWkosTng1jpFWwud0_Bn2u2Ub1H5WKjmHXojjSI5s4D-TBqCFBKwOJf_CG-ItVHv0rksr9UHExs2R5AirSjDygdSAhHkfW384FVp8VxqBZ7lrEQQx3FWHU2FfyetOD9LmjWmfuJOQJfNUvE-cUR0dnSV88-Wvph7MukbttquaA0QVaPRdprFlOOBuMlNemkPFdvuiUFQLyMOcWpNoQ-QW7iPMdwv_iduusm8Uy9ZqujTE3UMnyqKlnhmLObYXs6hEZwkw7cvOp7eiE7IgOEdzk7bHu-5oFtwH7l_ma-7IT0DXy1EidUbb40xpq9SbLW_lyFzm3x54nPvs2h1C8EGBZM1wF8C_avBV8VUs1AL9kvKve3wUIvqBkQaYdQIi41BOG9X0fJBxM1oiVutz3n8gmKSIJg_lQlhkXu46joIdosvw9UmwXGKNodz1P1XZLcqDFtkaV8ZmymFbm42Cim7_aF-ckRcXen5QEo21X5gHm-jmG_yNQK1zVvJ_32dIy5POMhb6PDhzgZiXRf4Bcl6kbHCobyZuSxxJqFcXuSlHZ2h9FsG6wZ2oz8CpZ3AN3zPDkZy8Me3zLxxgsTZ1R5sRX1TiYO4p5_KpYYsxq4-CZfFMZ3tmF1fdwJLDciKlX6lgXPMfnwCwaQO3z3Nzuhuhg2aXdR4iYd25XeVarrl3JbH-PH6o_02iv2N9fwcICvDGamMOX7J_TP5_BQWz3x6Ct09XWmFxA4AhxAP8p-UZYAJJJWMnKhSG4IRGJ58wd8aGmeesd4oy2M2Zt-oPx7mbmSlHbxm-wsfR-mrv4UpTCL8FJd4CbYiX-sg0A-dbZVrs5jK6EiJKcxphgl48F40G6NUxP8PgYHRDg0fDah0NlA5iy2_Pml9qHHCzYuxUNU05EI6cS20WB-6RYgfxs5WHZVbsZj1O3-JAsjmvvZHSx0nqaA8qSWpHasCKx7KWsKipwG5iV5N6HeH3IH3MmXBhl6dDEb6T93W1z2UUcNNFVhlkkMoPsQmXElAYbHEk4PDTtk-Il1fNSStQJ9L8gBwr4TpVnT1YrMD2HoLz4T2p8Pq6XCA3ck-ZTCMWcGD45m1JHJ_dWMyinpAChov-HmFHEytblPuSu0swD0-JpANfTvAeseBBtreoT4KiY0LFSDkgdLBdNy0NK1b8DZk21s72tqrRdg4i2S_j9Sln_kvHlWgvk44WP46oJ9mf0gS5ReclZlP1pUMsRtwAvFHMdh2AC4lSAMcnl31aCVVy_X05V8VOEw" class="dir-link" target="_blank">
<div class="dir-content">
<span class="kw-text">online dating site deals</span>
</div>
<div class="dir-icon">
<svg viewBox="0 0 24 24"><path d="M9.29 15.88L13.17 12 9.29 8.12c-.39-.39-.39-1.02 0-1.41.39-.39 1.02-.39 1.41 0l4.59 4.59c.39.39.39 1.02 0 1.41l-4.59 4.59c-.39.39-1.02.39-1.41 0-.38-.39-.39-1.03 0-1.42z"/></svg>
</div>
</a>
</li>
</ul>
</div>
</main>
<footer class="footer">
<a href="https://intivesearch.com/privacy?dmn=sprunki.live&testId=21" target="_blank">Privacy Policy</a>
<a href="https://intivesearch.com/terms?dmn=sprunki.live&testId=21" target="_blank">Terms of Service</a>
</footer>
<script>
window.__cherami = {
sessionId: "341784d8-6af7-4e7e-b0be-c6ec8938fcca",
source: "",
tkn: "19vnMT3S",
reportUrl: window.location.origin + '/cherami/report'
};
// Report an event. `payload.wa` is sent to the legacy report, `payload.dmFeed`
// to the new dm-feed report; include only the destinations this event needs.
function report(action, payload) {
payload = payload || {};
const data = { action: action, _ts: String(Date.now()) };
const source = window.__cherami.source;
const sessionId = window.__cherami.sessionId;
const tkn = window.__cherami.tkn;
// Carry the partner token so the server resolves the correct campaign
// instead of falling back to the default token.
if (tkn) data.tkn = tkn;
if (payload.wa) {
const wa = Object.assign({}, payload.wa);
if (source) wa.cid = source;
if (sessionId) wa.sid = sessionId;
data.wa = JSON.stringify(wa);
}
if (payload.dmFeed) {
const dmFeed = Object.assign({}, payload.dmFeed);
if (source) dmFeed.source = source;
if (sessionId) dmFeed.session_id = sessionId;
data.dmFeed = JSON.stringify(dmFeed);
}
const reportUrl = new URL(window.__cherami.reportUrl);
reportUrl.search = new URLSearchParams(data).toString();
const img = new Image();
img.src = reportUrl.toString();
}
function getCanvasFingerprint() {
try {
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
if (!ctx) return null;
canvas.width = 200;
canvas.height = 50;
ctx.textBaseline = 'top';
ctx.font = '14px Arial';
ctx.textBaseline = 'alphabetic';
ctx.fillStyle = '#f60';
ctx.fillRect(125, 1, 62, 20);
ctx.fillStyle = '#069';
ctx.fillText('Cherami fingerprint', 2, 15);
ctx.fillStyle = 'rgba(102, 204, 0, 0.7)';
ctx.fillText('Cherami fingerprint', 4, 17);
return canvas.toDataURL().substring(0, 100);
} catch (e) {
return null;
}
}
function getWebGLFingerprint() {
try {
const canvas = document.createElement('canvas');
const gl = canvas.getContext('webgl') || canvas.getContext('experimental-webgl');
if (!gl) return null;
const debugInfo = gl.getExtension('WEBGL_debug_renderer_info');
if (debugInfo) {
return {
vendor: gl.getParameter(debugInfo.UNMASKED_VENDOR_WEBGL) || '',
renderer: gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL) || '',
};
}
return null;
} catch (e) {
return null;
}
}
function reportClientAttestation() {
try {
const c = window.__cherami || {};
if (!c || !c.sessionId) {
return;
}
const canvasFp = getCanvasFingerprint();
const webglFp = getWebGLFingerprint();
const attestation = JSON.stringify({
jsExecuted: true,
screenW: window.screen.width,
screenH: window.screen.height,
dpr: window.devicePixelRatio || 1,
maxTouchPoints: navigator.maxTouchPoints || 0,
webdriver: navigator.webdriver === true,
tzOffset: new Date().getTimezoneOffset(),
cookieEnabled: navigator.cookieEnabled,
languagesCount: navigator.languages ? navigator.languages.length : 0,
platform: navigator.platform || '',
canvasFp: canvasFp,
webglVendor: webglFp ? webglFp.vendor : null,
webglRenderer: webglFp ? webglFp.renderer : null,
hardwareConcurrency: navigator.hardwareConcurrency || 0,
deviceMemory: navigator.deviceMemory || 0,
});
const payload = {
action: 'clientCheck',
wa: { extraString1: attestation, sid: c.sessionId || null },
dmFeed: { extra_string1: attestation, source: c.source || null, session_id: c.sessionId || null },
};
if (navigator.sendBeacon) {
const blob = new Blob([JSON.stringify({ action: payload.action, payload })], {
type: 'application/json',
});
navigator.sendBeacon(c.reportUrl, blob);
return;
}
fetch(c.reportUrl, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ action: payload.action, payload }),
keepalive: true,
credentials: 'include',
}).catch(function() {
// Silent fail - don't break page
});
} catch (err) {
// Silent fail - don't break page
}
}
window.addEventListener('load', function() {
reportClientAttestation();
});
// ─── Funnel click tracking ────────────────────────────────────────────
var pageOpenedAt = Date.now();
function msSincePageOpen() {
return Date.now() - pageOpenedAt;
}
// Which part of the result the user clicked (stored as click_zone).
function keywordClickZone(clicked) {
if (clicked.closest('.arrow') || clicked.closest('.kw-arrow')) return 'arrow';
if (clicked.closest('.anchortext') || clicked.closest('.kw-text')) return 'text';
return 'row';
}
function adClickZone(clicked) {
if (clicked.closest('.arrow_wrap')) return 'cta';
if (clicked.closest('.title')) return 'title';
if (clicked.closest('.desc')) return 'description';
if (clicked.closest('.url')) return 'domain';
return 'ad';
}
// Assembled here rather than rendered into the page, so a scrape comes away with nothing to replay.
function armKeywordLink(link, clicked) {
link.href = '/kw-click?t=' + encodeURIComponent(link.dataset.ct)
+ '&ttc=' + msSincePageOpen()
+ '&zone=' + encodeURIComponent(keywordClickZone(clicked));
}
function trackAdClick(link, clicked) {
var ads = document.querySelectorAll('a.content-wrap');
report('adClick', {
dmFeed: {
page: 'ads',
step: 'click',
ads_variant: '',
test_id: '21',
root_domain: 'sprunki.live',
position: Array.prototype.indexOf.call(ads, link) + 1,
click_zone: adClickZone(clicked),
time_to_click_ms: msSincePageOpen()
}
});
}
// pointerdown/keydown fire before the new tab's URL is locked in; middle- and ctrl-click reach
// only these two, plain click only the third.
function onKeywordIntent(event) {
try {
var clicked = event.target;
if (!clicked || !clicked.closest) return;
if (event.type === 'keydown' && event.key !== 'Enter') return;
var keywordLink = clicked.closest('a[data-ct]');
if (keywordLink) armKeywordLink(keywordLink, clicked);
} catch (err) {}
}
document.addEventListener('pointerdown', onKeywordIntent, true);
document.addEventListener('keydown', onKeywordIntent, true);
// Capture-phase click still precedes the default navigation, and catches the activations
// pointerdown never sees. Without it those hits reach /kw-click with no token and get a 400.
document.addEventListener('click', onKeywordIntent, true);
document.addEventListener('click', function (event) {
try {
var clicked = event.target;
if (!clicked || !clicked.closest) return;
var adLink = clicked.closest('a.content-wrap');
if (adLink) {
trackAdClick(adLink, clicked);
}
} catch (err) {}
}, true);
</script> <script>
(function () {
var props = {"trafficSrc":"intango_park_dm_1638_1","ysid":"5HBSKSDLBQEVF"} || {};
var startedAt = Date.now();
var called = false;
var reported = null;
function send(step) {
try {
if (typeof report !== 'function') return;
report('yahooBeacon', {
dmFeed: {
page: 'keywords',
step: step,
test_id: '21',
root_domain: 'sprunki.live',
kw_variant: 'keywords-test-9',
extra_integer1: Date.now() - startedAt
}
});
} catch (e) {}
}
function settle(step) {
if (reported) return;
reported = step;
send(step);
}
function argument() {
props.ykws = Array.prototype.map.call(document.querySelectorAll('.list_1 a'), function (a) {
return a.textContent ? a.textContent.trim() : '';
}).filter(Boolean).join(',');
return props;
}
// Never gated on `reported`: the deadline gives up on measuring, not on billing.
function run() {
if (called) return true;
if (typeof window.initDMKeywords !== 'function') return false;
called = true;
try {
window.initDMKeywords(argument());
reported ? send('late-ok') : settle('ok');
} catch (e) {
settle('threw');
}
return true;
}
function poll() {
if (run() || reported) return;
if (Date.now() - startedAt < 15000) setTimeout(poll, 50);
else settle('timeout');
}
var script = document.createElement('script');
// Dated, not per-request: a unique query string made every impression a cache miss.
script.src = 'https://s.appreports.net/serenity.js?v=' + new Date().toISOString().slice(0, 10);
script.async = true;
script.onload = run;
script.onerror = function () { settle('load-failed'); };
document.head.appendChild(script);
poll();
})();
</script>
<script>
window.addEventListener('load', function () {
try {
var anchors = document.querySelectorAll('.list_1 a');
var kws = Array.prototype.map.call(anchors, function (a) {
var kwTextNode = a.querySelector('.kw-text');
return (kwTextNode && kwTextNode.textContent ? kwTextNode.textContent.trim() : '');
}).filter(function (s) { return s.length > 0; }).join(',');
report('keywordsPageLoad', {
wa: {
extraString1: kws,
extraString2: 'sprunki.live',
extraString3: '21'
},
dmFeed: {
page: 'keywords',
step: 'load',
kw_variant: 'keywords-test-9',
test_id: '21',
root_domain: 'sprunki.live',
item_count: kws ? kws.split(',').length : 0
}
});
} catch (e) {
report('keywordsPageLoad', {
wa: {
extraString1: '',
extraString2: 'sprunki.live',
extraString3: '21'
},
dmFeed: {
page: 'keywords',
step: 'load',
kw_variant: 'keywords-test-9',
test_id: '21',
root_domain: 'sprunki.live',
item_count: 0
}
});
}
});
</script>
MightyBard
Bards inspire through song!
FighterOfLegends
Fighting legendary creatures is epic!
CraftingKing
Crafting system is superb!
RogueAssassin
So addictive! Can’t stop playing!
HeroOfLight
Shining light in the darkness is a quest!
ZombieSlayer
Best zombie game I’ve played!