您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Sound of Blitzin
当前为
// ==UserScript== // @name Lichess Blitzin Pack // @namespace http://example.com // @description Sound of Blitzin // @include http://*.lichess.org/* // @version 1.2 // @grant none // ==/UserScript== $.sound = (function() { var Move = new Audio(); Move.src = 'data:audio/wav;base64,UklGRpAHAABXQVZFZm10IBAAAAABAAEAIlYAACJWAAABAAgAZGF0YWwHAAB/fn59fXx+f3+Af4GBgICBgIB/gH+Af39/f3+BgoKDgoKBgYKBgYKCgX98fH1+f4CBgYKDgoJ9enx+gH96c3F5iJunpZBrSC0jKUFnlcPg4sOSZlRmkLjKvZt4YmBteoB/fYOPobG3tq2eh2tLKg8BAxc4W3eBe2pcV1piaWxvdX6GiIBxYVVUWmd6kKm9y9HNyMjN1NfQup+IeHV/jZylpZZ8WzsmHiU4VHCGjoNrUT89RlRcYWVwgZSipJyQjJOmvtfp8fDm1sCokoF6enyDi5SboaKel4t+bl5UUFJbZWxubGVaTkI7QU5jeY2bpKuytrOolYBwam5+j5+rsK6jlH5rXlleaHN7fnpwY1ZLRUVKU2BueX9/eGlYSUFBSVtzjqOytrGmmo+IgHt6fYSNl5uamJSRlJqgo6Kaj4J4cW5rZ2JbU1BRV2JtdHZ2cmtjXlpZXWNqcnZ8f4CChISFhoaIjJSdp6+zsKmglIqEhIeNkpKQiH94c3JydHZ2dXZ0cW9ta2hmZmZnaGtvdX6Fi42NjIyOjpCSkpCPjY6Rk5ibnZ2cmZWTkY+Ni4eDfXhxa2dobHJ5fYB/fXx4c3Bta2hoaGptcHN2enx/goWGh4eGh4mKi4uJh4aHiYuLioqLjpOXl5aSioR/fX18fHdzcXJ1eHp5dXFvcXZ6fX16d3V1dnh6ent9gIOGh4SCf3+BhouOj46NjI2Oj4+NioSAfXt7foCAf359fXx7eXZyb29xc3Jwbm5wcnd4eHl4enx/gYGBgYKEh4iIhoOCgYOFh4mIh4SCgoOGh4iGhH98e3t7e3t6eHZ0c3RzcnJ0dnl+gYKAfXh0cXJ0eH2DiY6QjoqEf3+CiI2PjYeBend5fYKFh4aGhYWDf3t0bmtqbHB0eHp5eHd1dXd5enp7fX+DhYWDgHt4eHp9g4eLjo+QjYiDf39/goWHhoOBgH9/gICAgIKDhISCf3x5d3Z1dnd6fYCBgoSEhoaDgn98ent9foGEhYaGhIKAf4CDhomLioiEgX59fH1+fX9+gIGChYSDgX99fXt6eHd4eXp8fX18enl4enp9f39/fHl1dHV4e4CGi46NioaCf3x8fH6BhIiKioqHhIGAgH9/fnx7eHd3eXl6fHx9f35/fn19fn9/gICAf31+f4GFiYqLioiFgn99fX6Ag4aGhoJ+e3p7fX+AgYGCgX98eXVzc3N2eXx/gYGBfXt5dXd5e36BgYGCgYKCf358enl7foCDhIWFhIOBgH9+f39/fn59fn5/f39/fXt7e3t9fX+AgICAf4CAgIGBgoOEg4KBf317e3x+gIKCgoGAgH99fXx8fH2AgYODhIGAgH19f4KFh4mIhYOAfHh2dnZ7f4KFhoWCgX98fHp7enx8fH1+fn19fH5+gIB/fXp4eX1/gIB/fX6BgYSHhoeHhIF9e3x7fH5+f35+f4CCg4SDgX58e3p7fH+BgYF/fHt8fHx8fX+Bg4SCgH58e3x9f4CBg4WGhoSCgYKDhYaGh4WEg4OBgX9+fn1+f4B/gH9+fn17enp8fHx+gIGCgYF+fHx7foCAgYKBgoOEhISDgH99fHt6fH2AgYGCgoF/e3l4eHl8fX5+fX18fXx8fXx9f4CBgYGAgIB/f39/gIGBgYGBgH99fHx+gIKEhoeGhoSBf318e3t7e3t+f4CBgIB/f4B+fn19fHt7e3t6eXh3dnh6fICAgH+AgICBgH99fX1+f39/fn9+f39/f3+AgH9/f39+fX18fXx8fX19fH1+gH9/gH59fn+AgoOEhIOCgoKDhISEg4GBgoOEhYaGhoaEhISDhIOEhISEg4F/fXx8fX+BgoODgYB9fHx+gIOEg4J/fn5/gIGCgoGCg4OEg4OAfnx8fH6Af358fH1+foB/fXt5d3V2d3h5e3t7e3x8fn1+fX19fX18fH1+fn9+fX1+gIKEhYWDgX98enh2dnd6fH+AgH99fX59fn99fHx8e3t7e3x8f4CChISEhIOBgH5/f359fH18foCAgH+Af39/f4B/gH9/gIGBgIGCgYGAgICAgYKCgoGBgX9/f3+AgH9+fHx7e31+gH9/fn1+f4GBg4KBgoGBgYKCgYKCg4KCgoGCgIGBgYKCgYGBgICAgH9+fX18fH19fX5/gICAgH9+fX18fH19f39/gIB/gICAgYGBgYGAgH9/fnx9fHx8fn5/gH9/f39/f4CAgYKBgH9+fn19f39/f4CAf4B+fX19fX59f358fXx9fX5/f4B9fHx7fHx+gIGCgoODgoKCgYKBgYGBgYKBgIB/f4B/fn5+fX9+fn18fXt8e3p7e3t8fX5+f4CBgYCBgoGAgYGCgYKBgoGBgICBgICBf359fHt8fHx+foCAgH9+fXt7enp7fH1/gIKCgoGCgoODg4OCg4KBgoGAgIB/f39/f3+AgIB/f4B/fX58e3t7e3x8fX6AgoGCgIB/fn5/f4CBgYKDg4KBgH9/gICAgH9+f35+fn9/gIGAgICAf358enp7e3t+f39/gICAf3+AgH+AgICA'; var Take = new Audio(); Take.src = 'data:audio/wav;base64,UklGRowJAABXQVZFZm10IBAAAAABAAEAIlYAACJWAAABAAgAZGF0YWgJAACAf3+AgH9/f39/f39/fn9+f39+fm1yfnt+foGChISCg4SFhYaFhoWFhYaIh4eGhoWFg4GAf318e3p4d3V1dHJycXFwb3Bwb3BwcHFxcnNyc3R0dXZ3eHh5enp8fX1+f4CAgYKDg4SEhYaFhoeHh4eIiImJiYiIiIeHiIeIiIeHh4eHh4aGhYaFhoWFhIWEhIWFhYWFhISFhIWEhoaGh4aHh4eHhoSFhoWGhoaFhIOCgYB/f35/f35/fn59e3p5enx8eXRwbnaGmK21qYdUIgQCGDxeeIufs8TLxbOfkIeEgoKCgoB4a2RnfJ6/1tnJsJR7ZVRGPDMrJCAgKTpRaXuDgHVmWldea3iAfnduaWdobXJ8i5urtry+v8HFxsK3p5aJhIeOlpqZk4l9c21qaW1wdHd6enZvZFlTUlRZX2Vsdn+Ijo6Ni4uOkpicoKOkpaOgnJiTkI6MjI2OjYmDfHRwbWxsamhnZWRjYWBhY2VnZmVlZWlvdHt/g4eIiIiIio6RlJWUk5OTk5ORkI6Ni4uKiYiJiYiHg4B8eXh5eHd1cW5raWdqbXF3ent6eHVzcXFwcHBzdnuAhYuQlpmZlpKPjYyMi4qJiImKjZCRk5KQjoqGf3pzbmllYmBgYmVqb3N3eXp6eXl6e318fX19f4CChIWHiYqLjo+QkJGQkI+MioaEgYCAf4B/fXx7eXh4eHl5enp6eHVzcG9ub3Bxc3V3eXp7foCCg4WGhoiJjI2Ojo2NjY2NjYyKh4aFhYSCgH58eXh3eHd3dnRzcnFxcnJ0dXZ3d3l6e35/gH+Af4CBgoOFh4eKi4yMjY2Li4mHhYOBgH17enh5ent7e3t7fHt8fHp5eHd2dXZ4eXt9foCBg4SEhISFhoeHh4aGhoWEgoGBf359fXx7fH1+fXx7ent8fHt6eHh4d3Z2dXV3eXx+f35+f4CAgoKEhYSFhIOEhIODgoKBgYGCgYKDgoKCgH9+fX1+f39+fX18e3l4d3h5ent7e31+f4GBgoGAgYCBgIB/gICBgICAgYGDhIWGhoeGhYKAfnx6eXl4eHh5e31+fX5/f3+AgYB/f359fX1/gIKDhIWFhoiLjIuJhoOAfn16enl5enl6eXl6ent9fH19fX59fn5+f4B/gIGBgoOGh4mJiYiGhYSEhIODgoF/fnx6eXd3dnV1dnZ3eHl7fH1+fn5+f3+AgYGAgIB/gIGBgYKEhYaHhoWCgoF/f318e3t7e3x+fX5/fn19e3t7ent7fH5/gYKDhYaGhYSDgoGAgIB/f39+f39+fn59fn18e3x7enl6enp7fH18fX5+f4CBgoODhISEhoaHhoeGhYWEg4KAf359fnx8fHx9fHx7enl3dnV0dHV2dnh5ent8fX5/f4CBgoODhIWFhIWFhYeIiImIh4WEgoCAf318fHx7enp7e3x9fHt6enl6eXp5enl6e3t9foGDhIWGh4aGhoeHh4eGhYSDg4KCgYKBgH9+fXx7e3p7enl5d3d3d3d3eHd4eXp7fX+AgoOEhIWFhYWFh4aHhoWFg4KAf3+Af39+fX17e3p7fX9/fHl3eX+FiYmFf3l1dHZ6gYmOjIR7cW5xeYGHiYmIhYKAgICCg4OBfnx8fYCChoyQkpKQjIeDgH59end1dHJyc3Z3eHp7fHt7enp5eXp7enl6eXp7fH5+fn9+fX1/gIKDhYaHiYqLiYiGgoB/gIGAf4B/gIGEh4iKiYeFgn9+f4GFio6PjIJzXkk6MjI6SV10i56prqyppqWkoZ2ViX1wZmJncoehutHf4djDpodoTz40Mzg/R05SVVdYWl1fZWtwcnBrY1pRS0hMUl1pd4aTn6qzvMXO1NbVz8S3qZ6UkZGTl5mZlY+GfXNqX1RJQDgxLCkpKzRATl1seYaQmZ2enJiXl5ujr7zK2OPs8vLv59jHsZyIdmZbVFBQVVpfZGZlYFpRSUNAPz9AQUFCQ0dNV2V1h5Whqq2trKmloZ+alZKNioqMj5OZm5iUjIR9eHNycXFwbWliXVZSUFJVXGFnbnN4enx9fn+ChoqNkpWVk5CNiYiJi46RlJWWlpWVko2Jg4GAgIB+enNrZGBgYWdtdHp+gIB/fXx8fn+BgX98eXd3e3+Fi5CUmZydnZmSioF6dHJyc3V0dXR1dnd4enyAgYKBgH18enp5eXd3eXt+f4GBgH9+fH6BhYmLjIuIhIODhYaJiomHgXx2c3BydHh+goaIiIaBfnt4d3ZzcXBvcXR5f4KHi4+Tlpmal5ONhn94dHFvb3F0d3t+gIOEg4J/fnt6e3t6eHVzdHmAhYeEg4GDh4uNjYuIhYJ/fHl4eXl7fHx+gIGDg4OCgX99e3p6fH+BhIWEg4SEg4OCgX98eXh4eXt+f318fHt9fn9+fXp6enp6enx+f4GBgYB/f35/f4GCg4OCgICAf358e3t8fn+Af39+fn5+fXx8fHx8fn+AhIaJiYiGg4B/fXt5eHd2d3p9goaJiYmFgX56d3d2eHl5enp7foGGiYqJhoWEg4J/fnx8fX+AgoCAf359e3p5eHd3d3h6ent7fHx7enp6fH1+f4GCgoSGio2QkI+MiIWBf358fH1+f4CAgYOCgX99eXdzcG9ubm9xdXh8f4KFhoiIiYiGhYSEhYaHiImIiYiIiYmKiomGhIKAfnx7eHd2dXRzcnJycnJyc3R2eHt9f4CBgYKDg4OCg4SDhIWGh4iKjI2Oj46MiYWAfHl3dXV3eHp7e3p6enl4d3Z2dnZ3eHl6e31+gYOFhoaHh4aEgoB+fH1+f4CDg4SFhoWFhIODgoB/fnx8fHt8fHx7fHx9f4CBg4KCgH9+fHt5eHh2d3h5e3x9f4CBgoWGhoWEg4B/fn5+f4CChIaGhYJ+enZ0dXd8gIOHiIeFgn9+fn+Ag4SFhYOAfXp3dnZ5fICEhYSBfHdzcG9yc3V3eHl5eXl6enx/gYWKjZCRkI+NiomHg398eXZ1dXZ6f4SKjpCQjYmCfXhzcG1tbW1vcHJ1eX6EiY2OjoyJhYF/fHl3dnh8gYaKjY6PjoyJh4SBf359fXx7e3p6e3x9fn9/f39/f358e3h3dnV2eHt+gIKEhYWGhoWFhYWFhIOBfnx8e3x+gIKEhYSDgX99enh3dXR0dXd4eXt9f4KDhIODgoKDgYGAf3+AgYGDg4ODgYCAgIGAgYGAgH59e3p6ent9fn9/f39+f39+fg=='; Take.volume=0.4; var Dong = new Audio(); Dong.src = 'data:audio/wav;base64,UklGRgIUAABXQVZFZm10IBAAAAABAAEAESsAABErAAABAAgAZmFjdAQAAABeEwAAZGF0YV4TAACAenuGhoB8fICDf36AgYB9eoCEhYF3eYWGf3x9gIF/fX+EhXt4gYaCgHt8g4R9e3+Agn99gISEfHmAgoOAe3uDkH9yiIWKiWRotKNUZ5isdVmToHVdiYZ0fYl5hXx8g3pzjIVthIxzeoeAeHuShW9qkHt4kZRmeo6LdGaTsWVqoZR0cIKJhYB/f4yQgGWJioCCgHeHdICJc2+Ah4B/iHV9dGqMioF0hIF7goR1d4CShoCAgH15g46CeX6GhoCEiXF2mIKEdH+Id3iDd4OPgmmFg3N+dHGXiGx2e5FwXJKzXGGjiWR+hJNsbpyMZHmWf3mSgISLfH91jISBc4SEi391eHpwh3+HgHZ9cG2RmWRplZRxaoOcY22knGBwnI5gaqSjYHSVf3+AhoRrg5hsjLNxWI6RjIB8i3dZlptgbpeHdm2Zm2BaloxweomZYGemlmSBhXxxd5+WX4CQcoCieWmMk4VwgqR7WKCSanGKh21krZZXbpx6aHSOiWJ5kGhwqXprfpCIgGeHiW6QsHBujIV6bZSrbWmjknJsjINqcamMZHOWgGpumJBdcpN0f4xncoSVkmx0o25djZ9zfYaMeWaXl1pwoIx0epSGbXGWgXaNiXF1eZOAboOJZomRdHB0inpqlJ9qXYeZcH2AjHNnlppqcpOcbHaclHN0hHmPjoB/d3mSbn2cf3CAdJOAZoCDb4iddHCAg3dsgKhyaJqUanyOimRnqJZshYh+dHuSjnqAf1yWrGZhjpCMf3J+hnB8gH+FeYCFcIqQZ2yIh4R3gJtqbpiFaH2Mg3FqnqNZcZl6ipxjZ5SNfGiJr2dRrKZmZZOPZ2Sgh2J3hnt6eYWDa3eGc5SpXGWTfY2VYHeQgICAiZFpZ5qKd46AcIiHhXh6iHdvmY9reot/bG+omlpwjHKHlWl3ioB8coifYFugm2l+loByeZWDaYh9a5OOdoCDgG9poJ5laJSDgYJ0f4B9hHl/kXhpjICAk2lomZF0cn+NdXCRjG+Bi3tsdJyKY32WdYCcZ1+Yk3VrhZtqXaCWZ3aKeXOAlYNee5d5cIqHd3eIgHSAjHdqj5GBfm56jniGjHd/e3qGdYOca12RnHVqhZZ1bIuMa3iVgGR5opZaaKOAeJp1ZIyRe22FmntkhpOCfHp4fn2Si2hwnIlkco6ScWqQjnV9ent7fZKMaH2TfXWFgIZ9f4J4gZR6ZI6hd26AlIFtg4d0hIl3e4CQkGdqnId1gIB7hYV7coOUfWqDin98dHiFgIaNaWqWlGxuh5dwZY+NfYZwgIaBjIZqe5eAdICMh3d0h4CCjnRqkY+AdG+Fg3SFhnmBfXR3e5CeZGWYkHp3f4V6eoqDe4x9a4CJkoxlapZ8f4ttdImFgneClnFohomFiXV8hXqJh2p/knt7g4aHeneAeYmXcmuQhn2AcYmGdIGFgIZ4fIB7hJN7cIeJf3qAj31wl4ltfIx6d4SMgHB6hHmDiW53jYl1cImSaHaVhXqCf3d+g4mKb3uQf4V9eod8dIaEhIFzdoOBiIBwf4l9dnuGinJ9hXqLkGlsj456fYaLcmyXi3GBg3R+h4t9bX2Ee4aGdneDhXBwl5tpbpCAgItwd4aCiIN9hXl0h4CElHVukIR9gX+AenuUg2yBknxrgJaBdIN4Z5ajZGuZiHBujpdlZ5uHcpCGbneHjHxyjIF0hYt3f4WBe3uLind9gYCRjHSAiXeEfnqJf4GBbJKjZWCflmp0iYludJaDZICTfXCDinxzjXlpoJ9kapOKcm2QmWpumn95i3VvhoeDgXZ5g3yFfnqJenSIh4B+e4F3eZaHbIOAd4CBiYdwfIVvjaRgY6GTdn2EgHBylodrgYx1d4CRgHCHeWiYlm13hoB2cJCZZ2mNgICWcnWHe4mMbn2Ad4eJfot+c4eFfYKIh29ym4Nuiod0fYCLh2x6iW6IqGthm4lyeXyNc2ycjGuAhXd3hImBd4aBcoOFfYCChIF1hpJwdIx3jpZqcot5holzhn1rkIJ3hXV3hYeAfYCDcXeUhm2Ehnx9f46OZHSScJOkYWmShoF7go5qYZyJb4WAcn+GhHl2gX10i490eX6AgHqMl2xzgHKamWR7iXWJiXqCdHKJfYWZdGmQkHV2hYdzcJuKb4iCbn6EjYZwg3tdnKljbIuCf3WCk21plIp1jH1wh4d7gHuAhH6JhHuIf3t/d42QdX2BdJKNbH2Kd4CBfYF7eoZ3fZRwZ5OXc3WAhXp1jolugYN6fICJgHaGgHCUlmdwkIJ6eYOJdG6Yi3CDd2uMin+AeHqBfIWCd4N/f3t3j4hye4GAiYZygIB0iYp4f4B7hHyDlmRkmpB3e4iFbnSSg3KIhXd5gYl3fI51bJaWanKLgHd1ipJsbZWEdY53cYKDhX99iIB7eoCJi3l6hH2BhISCfH+LgnSBhXSDhX+Af399c4+bZWmbi251jYd0gIZ6dYaIdXqMgXKAk3ttjI1qdoyEeXeMjmxyjoF9i3l1hIOAenyDh4F7fYKBeXmHhX2AgX18gIZ7dIyAbYmMf3l7iXRqmZxgZZyMbXeMhHR9i4B0g4BtgZKAcoGMdXCQjG96iX96d4uOcHeDfoSHenmEhICAfYGEen6FgYZ5dIuFeoGDfXqEh3h9jn1wgIWEf4KMdG2QlGlsm4xtfYqAenyEf3qMgHCFjXx0gop5e4WBeXuJh3J0j4p5fYGAgIB3fYmAhIV1fYiAen+Ehnl3ioN3f4J5gJB7bIWSeHKDinhziYxwcpWQZHGZgnSBhIB4f4V9fYl8cImQeXOFhXt/g4B4eYmGdHiOh3J3iYl+e36GenGOjnB6jIJ2f4uBc3mNhXSAhnSDlHJqkJl0bYyQdHGOjWpzl4lsfox8doCMhHaAhnp+iH10hIx9eoSCgYB3gYN9g4l6dYiLeHiEi35yi5VwcJKJcXqRhnB5jYFxfZCAdYSDc4aTdG2GjH13hIl3c4qPcHaQgXWBh4N0dY2JdXuHg32AgHyAg4N9d4CLgHWAh3d8in90hYh7d4CMe2uMmW5tkYtzdomGcnqTiGx1kIFzgIV7fYmAdYOLe3OAjIByhpF0dYaBf4CAhXlyj5BvcIyLenyFgnp6hYJ4gIuAdICMfXaFgHeDi4B4gJB2bJGYcG6Oind6iYZ0d5GIcn6Mf3eAg32AhH55gYZ/eYCKfXKHjX17fYCAfYGIenSMkXR0jIl0domKd3aLhnJ5joNygIl9fISAen2DfneFjnVvi490cYqLeXiEh3Z1i4Vxe4uBfH+CgHp8hYR6fYR7f4l+dYCHgHyAgYB7gIV5dI+Qb3KOiXR0iYl1d4yEdYCFe3mEhn95f4eAe4KAeIGJeXOMkXRzhod/eoSKdXOQjHJ2joV0e4yJdHWJhHZ+h397hYR6e4aAeH2EhH+AiXpyipB0c4yOdnOJjHl0iYl0e4yBd3+HgHd8jIN0fod9fIZ/dIOMf3iAhn93foh+d4eLdHSOiXF4iod0dY+LcXeJgHmDhXx5g4R9eYGDen+HgHmBhXl0hot9d4GHe3SHjHN1ioN3fYiDc3eMinB3j4J1goJ4gIiAd4CMgHWAh310hox3dYuHdnmJh3d0iYl4eoeAeoCAfn+AhoJ0fomAeYOCfYCJfnaAiX12hJF8cImRdXOMiXV6i4Z1d5KManSRgniEgXl9hYF5fYeAdoGMfHSDh3l6iId3eIWHeXeHi3Z3iYV9gICAenqMiXN6jIF0fomAeYCEfX2EgHR/jH1whpJ1bouLdHWJh3BykpBrco6EdH+GgH2CgHx8hIF5f4mAeYGDf3yAgn19hYZ7dYaKd3SGhXx7hId6dYmJcHSUjG53iYR1eomEd4CFe4CMfHKEkXtziYx3domLdHSQjHB1kIZ1e4OAf4CEgHyBgHeAiX99f4CCgH+AgH2Ahn97hol5d4WIfXmAhn56iYpxdJGIdX2KhHR3ioN4gIR6gIl/dIKLenSEiX15hIR1d4mGdHqHgXyAgIB9fIGCf4R/eYCCgYB8fYeEenyFgHyAfnqEiX13gYZ8d4CHfHeHiXR3ioN0fIuGdXuJgXeAgXuBiX13hIl+eICHfXqHh3t7hoB5fYeAfH+DhX16hYN9gIB+gIN/f3x+iIR5f4aAf4KAfYCDf3qFjHx1god7eYiIeHuJhHd7iYN0e42FeICAeYKIfHmBhIB6gIZ8d4KEfX6Gg3l8goF9fYOFfXqCg31/gH+AgIOBe3uGgnZ9iYF7foOAfoB/eICHf3eCiXh0hId6eoWEd3uJhXR5ioJ4gIN9gIR8eoGEgH2Ag4B8gIF+fYGAgICBgHt6goV9e4GDfX2Cgn19g4N7fYmEdnyGgX1/g4B9gIJ8gIZ+doSMfXmDhHt7hIR7fYmGdnmMhXd9hICAgYB/fYCBfYCFgH2AgICAf4CAgIGEfnuBhXt6hYd+fICDf32Dg3d6ioR3fYaBeXyFgXyAgXt+hX52gop7d4OGfnyAgHt8h4Z2eoeDen+DgH1/goGAgIB7f4CBf36AgYB8f4GAf4B/e4OGe3iAhH16goZ+eYOFd3qJgXd/h4N6fISAeX+FgICFfneAh396gISAfYKDfXyEhHp8iYV5e4SDfXqEhH1/g4B/gYB9fYCHhHp+g4CAg398g4Z9eoWIe3eBh397hoZ4eoiCen6FgHp9h4R4fIF9gIZ+e4GFfXqAhYB7gIKAf4GBe3yDg319hIV6d4SFfH2AgH+BgYB7fIWBeYCFgHyAf3uChXt5g4Z/e4CFfHiDhX19g4B6f4OAenyGg3l/gX5/gH5+gISAfX2BgH2AgoB9gYJ/f4GAe3qFiH14hIZ6e4OAf4CBgH1/hoF3f4aAfoGAfYCCf3yDhn16g4d/eoGDfX2Fgn5/g4F4eomGeX2EgYCAgH9/gIF/gISAe4CDgH+AgICAgYF/fICEe3mHiXt7gICAgICBe32Gg3d8hoF5fYWDf4CAfX+DgHuAhX95gYV9e4CAf3+EhXd3h4V4fISBfX+AgX9/gH98gYR/fYCAf31/gYGAgIB/gIR9eIGFf32Ag4B8gIJ9fYaDeHyHhHp7g4F9f4SAf4F/eoGGgHuAg4B/f4CAf4GDfX6GhHt8goOAf4CBgH6CgX2AgoB9gIaCenyDgn1/gYCAhH57goV+eoCFgH6AgXx9hIN7foWDenyFhXt7g4GAgIB9gIF/fICCg4B8f4GAgIB7fIWEfH2Bgnx7gYV/fYCAf4CAf3t+hIJ7fYWCenyBgICDfXuAhH96gIOAe4CEf32BgHt9hIN6fISEe3yDgX2AgH6BhH97fYCEgH2Ag4B/gIB/gIB+fYOFf3qAg4B9gYKAgIGAfX+EgXl7iIR8foGAf4CAf4CEgHuAhYB7gIOAgIKBfYCBgH1+hYV8e4KCgIB+foKCgH+AgIB/fH+FgX1/gICAgIB+gIR9e4OFfXp/gICAgIB8f4SBeX2FgHt/g4CAgHx8goR/e4GFfXqAgX9/gH+AgYGAe3yDgn19gYF/fn1/gIB+fYCBgoB8f4GAfoCCgX9/f36ChHx5hIZ+fICAf3+AgH+AhIB5f4WAe3+BgICAf3+AgXx7hId/e4CDgH+AgICBgIB/gISBe32Dg4B/gICAgICAgICAf4CBg4B8fYOBgICAf4CCfHqFhnt7g4OAf3+AfoCEgH2Ag398gIGAf3+AgIODfHuBgn99gYKAgH19goF/f3+Ag4F8fYCAf32Ag4B9gIB/gIB+fYCDgXx9goB8foCAgoN7eYSFfHuAgYB/gIB/f4B/fYGDgH6AgIB/f4CAgYF9f4OBfX2AgIOBfX6CgH5/gICBgX5/goJ+e4CEf32CgX+AgH9/gYOAfYCDgH+AgH+Cg359hYR7fIKDgH+AgICBgH6AgoB/gICBgX1+gICBgH9/goGAf4CAgIB9gISBfX+AgIGAfn+Bgn99goR8e4GAgIGAfX6AgX9+gIGAgICAf4CAe3yFhHx9gIB/f4CAgIB/fYCDf31+f4GCf3+AgH9+f4CAgH9/gICAf3x/g4B/gIB/gIB9f4KCfHyDhH19gICAgIB/gIKAfX6BgYCAgICAgYB9f4KBfX+CgYB+f4CAgYB+gYN/f4CAgIB9fYODgH9/gICAgICAgYB/f4CCgH2AgYCBgH5/gYF9fYODfn6AgICAfn2Ag4CAf4CAfoCAgICAgH+AgoB8fYCBgICAgICAfX2Bg39+gICBgHx8gICAgICAgH5/f4CBgH9/gICAfn9/f4CAgICBgHt8g4N/f4CAgIF+foCAgH6Ag4B/f3+AgICAgICAgH+AgICAf4CAgYB+foCBgICAgIKBfX6CgX9+gIGAgIB/gIGAfYCCgICAgICAgIB/gIOBfn6CgX1/gICBgX5+gYGAf3+AgICAgICAf36AgYCAf3+BgX9+gICAgICAgIB+fn+Ag4F9f4GAf3+AgICAgICBgn17gIGAgH+AgICAf3+AgIB+f4OCfX1/f4CAf4CAgH9+gICAfoCAgICAf4CAgICAgICAf36AgIB/gICAgICAf4CAgH6AgYCAgICAgICAgICDgH6AgYB/gICAgICAgICAgH+AgoGAgICAgIB/gICAgICAgICAgICAgICAgICAgH9/goN/f4GBgICAgICAgGFsaWEiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1hcmtCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'; var baseUrl = $('body').data('sound-dir') + '/'; Howler.volume(lichess.storage.get('sound-volume') || 0.1); var audio = { dong: 'dong', moveW: 'move', moveB: 'move', take: 'take', lowtime: 'lowtime' }; var volumes = { lowtime: 0.5 }; var get = new $.lazy(function(k) { return new Howl({ src: ['ogg', 'mp3'].map(function(ext) { return baseUrl + audio[k] + '.' + ext; }), volume: volumes[k] || 0.1 }); }); var $control = $('#sound_control'); var $toggle = $('#sound_state'); var enabled = function() { return !!lichess.storage.get('sound'); }; $control.add($toggle).toggleClass('sound_state_on', enabled()); var play = { move: function(white) { if (enabled()) { if (white) Move.play(); else Move.play(); } }, take: function() { if (enabled()) Take.play(); }, dong: function() { if (enabled()) Dong.play(); }, lowtime: function() { if (enabled()) Lowtime.play(); } }; var setVolume = function(v) { lichess.storage.set('sound-volume', v); Howler.volume(v); }; var manuallySetVolume = $.fp.debounce(function(v) { setVolume(v); play.move(true); }, 50); $toggle.click(function() { var enab = !enabled(); if (enab) lichess.storage.set('sound', 1); else lichess.storage.remove('sound'); $control.add($toggle).toggleClass('sound_state_on', enab); play.dong(); return false; }); $toggle.one('mouseover', function() { $toggle.parent().find('.slider').slider({ orientation: "vertical", min: 0, max: 1, range: 'min', step: 0.01, value: Howler.volume(), slide: function(e, ui) { manuallySetVolume(ui.value); } }); }); return play; })();