diff --git a/bio/Pixel.ttf b/bio/Pixel.ttf new file mode 100644 index 0000000..dcca687 Binary files /dev/null and b/bio/Pixel.ttf differ diff --git a/bio/README.md b/bio/README.md new file mode 100644 index 0000000..ee3294e --- /dev/null +++ b/bio/README.md @@ -0,0 +1 @@ +fuck the haters :middlefinger: \ No newline at end of file diff --git a/bio/audio.js b/bio/audio.js new file mode 100644 index 0000000..18149c9 --- /dev/null +++ b/bio/audio.js @@ -0,0 +1,138 @@ +const songs = [ + { + title: "Bladee & Ecco2k - Bleach", + src: "https://easyfiles.cc/2024/9/4ac37ab2-20d7-4fd8-863b-3dcee1c418cd/BLADEE%20&%20ECCO2K%20-%20BLEACH%20-%20drain%20gang%20(720p50,%20h264)(1).mp4" , + duration: 153 + }, + + { + title: "woody - Heaven & Hell", + src: "https://easyfiles.cc/2024/9/20fa08a2-8212-4212-93b7-9c62fc563505/woody%20heaven%20&%20hell%20prod.%201mint%20-%20real1woody%20(1080p,%20h264)(1).mp4" , + duration: 142 + }, + + + { + title: "woody - God Said I Was Good", + src: "https://easyfiles.cc/2024/8/9cafa851-0405-4009-b639-08ff5e029dc3/youtube_Z4IF2ujq1Xk_1280x720_h264(1).mp4" , + duration: 135 + }, + + { + title: "SmokeTeam6 - PackistanFlashback", + src: "file:///C:/Users/Fabio/Downloads/SmokeTeam6%20-%20PackistanFlashback%20(VEVO%20Official%20Music%20Video)%20-%20benwbush%20(1080p,%20h264)(1).mp4" , + duration: 92 + }, + + { + title: "sniper2004 - la ny", + src: "https://easyfiles.cc/2024/8/b8332c2a-e70b-4ec0-9ba8-acc7e5449db7/youtube_mkmn3QZSZUM_874x720_h264(1).mp4" , + duration: 87 + }, + + { + title: "Joeyy - PR Package", + src: "https://easyfiles.cc/2024/8/7c649f45-6573-4665-9675-4d869ea1332a/youtube_ZvphwrKo52s_1280x720_h264(1).mp4" , + duration: 111 + }, + + { + title: "woody - Paint Thinner", + src: "https://easyfiles.cc/2024/8/2110cfc6-d700-4c42-bc66-bafa5799c1fc/youtube_rhaFMuU1_qw_1280x720_h264(1).mp4" , + duration: 100 + }, + +]; + +let currentSongIndex = 0; +let isPlaying = false; + +const main = document.getElementById("player") +const videoPlayer = document.getElementById("videoPlayer"); +const playPauseButton = document.getElementById("playPause"); +const songInfo = document.getElementById("songInfo"); +const progressBar = document.getElementById("progressBar"); +const volumeSlider = document.getElementById('volumeSlider'); +const volumePercent = document.getElementById('volumePercent') +const currentDuration = document.getElementById("current-duration"); +const totalDuration = document.getElementById("total-duration"); + +videoPlayer.addEventListener("timeupdate", () => { + let value = (videoPlayer.currentTime / videoPlayer.duration) * 100; + progressBar.value = value; + updateSliderBackground(progressBar, value); + currentDuration.innerText = formatTime(videoPlayer.currentTime); + totalDuration.innerText = formatTime(songs[currentSongIndex].duration); +}); + +progressBar.addEventListener('wheel', function (event) { + event.preventDefault(); +}); + +document.getElementById("prev").addEventListener("click", () => { + currentSongIndex = (currentSongIndex - 1 + songs.length) % songs.length; + loadSong(currentSongIndex); + if (isPlaying) { + videoPlayer.play(); + } +}); + +document.getElementById("next").addEventListener("click", () => { + currentSongIndex = (currentSongIndex + 1) % songs.length; + loadSong(currentSongIndex); + if (isPlaying) { + videoPlayer.play(); + } +}); + +playPauseButton.addEventListener("click", () => { + if (isPlaying) { + videoPlayer.pause(); + playPauseButton.innerHTML = "►"; + } else { + videoPlayer.play(); + playPauseButton.innerHTML = "❚❚"; + } + isPlaying =!isPlaying; +}); + +videoPlayer.addEventListener("ended", () => { + currentSongIndex = (currentSongIndex + 1) % songs.length; + loadSong(currentSongIndex); + videoPlayer.play(); +}); + +function updateSliderBackground(slider, value) { + slider.style.background = `linear-gradient(to right, #ffffff 0%, #ffffff ${value}%, #cbcbcb ${value}%, #cbcbcb 100%)`; +} + +function loadSong(index) { + videoPlayer.src = songs[index].src; + songInfo.innerText = songs[index].title; + progressBar.value = 0; + totalDuration.innerText = formatTime(songs[index].duration); + videoPlayer.load(); + videoPlayer.play(); +} + +videoPlayer.volume = volumeSlider.value / 100; +volumePercent.innerText = `${volumeSlider.value}%`; +updateVolumeSliderBackground(volumeSlider, volumeSlider.value); + +volumeSlider.addEventListener('input', function () { + videoPlayer.volume = volumeSlider.value / 100; + volumePercent.innerText = `${volumeSlider.value}%`; + updateVolumeSliderBackground(volumeSlider, volumeSlider.value); +}); + +function updateVolumeSliderBackground(slider, value) { + slider.style.background = `linear-gradient(to right, #ffffff 0%, #ffffff ${value}%, #cbcbcb ${value}%, #cbcbcb 100%)`; +} + +function formatTime(time) { + const minutes = Math.floor(time / 60); + const seconds = Math.floor(time % 60); + return `${minutes}:${seconds.toString().padStart(2, "0")}`; +} + +loadSong(0); \ No newline at end of file diff --git a/bio/disable-devtool@latest b/bio/disable-devtool@latest new file mode 100644 index 0000000..f71219f --- /dev/null +++ b/bio/disable-devtool@latest @@ -0,0 +1 @@ +!function (e, t) { "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = "undefined" != typeof globalThis ? globalThis : e || self).DisableDevtool = t() }(this, function () { "use strict"; function o(e) { return (o = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e })(e) } function i(e, t) { if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function") } function r(e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i) } } function u(e, t, n) { t && r(e.prototype, t), n && r(e, n), Object.defineProperty(e, "prototype", { writable: !1 }) } function e(e, t, n) { t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n } function n(e, t) { if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), Object.defineProperty(e, "prototype", { writable: !1 }), t && a(e, t) } function c(e) { return (c = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (e) { return e.__proto__ || Object.getPrototypeOf(e) })(e) } function a(e, t) { return (a = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (e, t) { return e.__proto__ = t, e })(e, t) } function H(e, t) { if (t && ("object" == typeof t || "function" == typeof t)) return t; if (void 0 !== t) throw new TypeError("Derived constructors may only return object or undefined"); t = e; if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return t } function l(n) { var i = function () { if ("undefined" == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ("function" == typeof Proxy) return !0; try { return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () { })), !0 } catch (e) { return !1 } }(); return function () { var e, t = c(n); return H(this, i ? (e = c(this).constructor, Reflect.construct(t, arguments, e)) : t.apply(this, arguments)) } } function f(e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++)i[n] = e[n]; return i } function s(e, t) { var n, i = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; if (!i) { if (Array.isArray(e) || (i = function (e, t) { if (e) { if ("string" == typeof e) return f(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Map" === (n = "Object" === n && e.constructor ? e.constructor.name : n) || "Set" === n ? Array.from(e) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? f(e, t) : void 0 } }(e)) || t && e && "number" == typeof e.length) return i && (e = i), n = 0, { s: t = function () { }, n: function () { return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] } }, e: function (e) { throw e }, f: t }; throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.") } var o, r = !0, u = !1; return { s: function () { i = i.call(e) }, n: function () { var e = i.next(); return r = e.done, e }, e: function (e) { u = !0, o = e }, f: function () { try { r || null == i.return || i.return() } finally { if (u) throw o } } } } function t() { if (d.url) window.location.href = d.url; else if (d.rewriteHTML) try { document.documentElement.innerHTML = d.rewriteHTML } catch (e) { document.documentElement.innerText = d.rewriteHTML } else { try { window.opener = null, window.open("", "_self"), window.close(), window.history.back() } catch (e) { console.log(e) } setTimeout(function () { window.location.href = d.timeOutUrl || "https://theajack.github.io/disable-devtool/404.html?h=".concat(encodeURIComponent(location.host)) }, 500) } } var d = { md5: "", ondevtoolopen: t, ondevtoolclose: null, url: "", timeOutUrl: "", tkName: "ddtk", interval: 500, disableMenu: !0, stopIntervalTime: 5e3, clearIntervalWhenDevOpenTrigger: !1, detectors: [0, 1, 3, 4, 5, 6, 7], clearLog: !0, disableSelect: !1, disableCopy: !1, disableCut: !1, disablePaste: !1, ignore: null, disableIframeParents: !0, seo: !0, rewriteHTML: "" }, U = ["detectors", "ondevtoolclose", "ignore"]; function q(e) { var t, n = 0 < arguments.length && void 0 !== e ? e : {}; for (t in d) { var i = t; void 0 === n[i] || o(d[i]) !== o(n[i]) && -1 === U.indexOf(i) || (d[i] = n[i]) } "function" == typeof d.ondevtoolclose && !0 === d.clearIntervalWhenDevOpenTrigger && (d.clearIntervalWhenDevOpenTrigger = !1, console.warn("【DISABLE-DEVTOOL】clearIntervalWhenDevOpenTrigger 在使用 ondevtoolclose 时无效")) } function v() { return (new Date).getTime() } function z(e) { var t = v(); return e(), v() - t } function B(n, i) { function e(t) { return function () { n && n(); var e = t.apply(void 0, arguments); return i && i(), e } } var t = window.alert, o = window.confirm, r = window.prompt; try { window.alert = e(t), window.confirm = e(o), window.prompt = e(r) } catch (e) { } } var p = { iframe: !1, pc: !1, qqBrowser: !1, firefox: !1, macos: !1, edge: !1, oldEdge: !1, ie: !1, iosChrome: !1, iosEdge: !1, chrome: !1, seoBot: !1, mobile: !1 }; function W() { function e(e) { return -1 !== t.indexOf(e) } var t = navigator.userAgent.toLowerCase(), n = function () { var e = navigator, t = e.platform, e = e.maxTouchPoints; if ("number" == typeof e) return 1 < e; if ("string" == typeof t) { e = t.toLowerCase(); if (/(mac|win)/i.test(e)) return !1; if (/(android|iphone|ipad|ipod|arch)/i.test(e)) return !0 } return /(iphone|ipad|ipod|ios|android)/i.test(navigator.userAgent.toLowerCase()) }(), i = !!window.top && window !== window.top, o = !n, r = e("qqbrowser"), u = e("firefox"), c = e("macintosh"), a = e("edge"), l = a && !e("chrome"), f = l || e("trident") || e("msie"), s = e("crios"), d = e("edgios"), v = e("chrome") || s, h = !n && /(googlebot|baiduspider|bingbot|applebot|petalbot|yandexbot|bytespider|chrome\-lighthouse|moto g power)/i.test(t); Object.assign(p, { iframe: i, pc: o, qqBrowser: r, firefox: u, macos: c, edge: a, oldEdge: l, ie: f, iosChrome: s, iosEdge: d, chrome: v, seoBot: h, mobile: n }) } function M() { for (var e = function () { for (var e = {}, t = 0; t < 500; t++)e["".concat(t)] = "".concat(t); return e }(), t = [], n = 0; n < 50; n++)t.push(e); return t } var h, y, K, b = window.console || { log: function () { }, table: function () { }, clear: function () { } }; function w() { d.clearLog && K() } var V = "", F = !1; function X() { var e = d.ignore; if (e) { if ("function" == typeof e) return e(); if (0 !== e.length) { var t = location.href; if (V === t) return F; V = t; var n, i = !1, o = s(e); try { for (o.s(); !(n = o.n()).done;) { var r = n.value; if ("string" == typeof r) { if (-1 !== t.indexOf(r)) { i = !0; break } } else if (r.test(t)) { i = !0; break } } } catch (e) { o.e(e) } finally { o.f() } return F = i } } } var N = function () { return !1 }; function g(n) { var t, e, i = 74, o = 73, r = 85, u = 83, c = 123, a = p.macos ? function (e, t) { return e.metaKey && e.altKey && (t === o || t === i) } : function (e, t) { return e.ctrlKey && e.shiftKey && (t === o || t === i) }, l = p.macos ? function (e, t) { return e.metaKey && e.altKey && t === r || e.metaKey && t === u } : function (e, t) { return e.ctrlKey && (t === u || t === r) }; n.addEventListener("keydown", function (e) { var t = (e = e || n.event).keyCode || e.which; if (t === c || a(e, t) || l(e, t)) return T(n, e) }, !0), t = n, d.disableMenu && t.addEventListener("contextmenu", function (e) { if ("touch" !== e.pointerType) return T(t, e) }), e = n, d.disableSelect && m(e, "selectstart"), e = n, d.disableCopy && m(e, "copy"), e = n, d.disableCut && m(e, "cut"), e = n, d.disablePaste && m(e, "paste") } function m(t, e) { t.addEventListener(e, function (e) { return T(t, e) }) } function T(e, t) { if (!X() && !N()) return (t = t || e.event).returnValue = !1, t.preventDefault(), !1 } var O, D = !1, S = {}; function $(e) { S[e] = !1 } function G() { for (var e in S) if (S[e]) return D = !0; return D = !1 } (_ = O = O || {})[_.Unknown = -1] = "Unknown", _[_.RegToString = 0] = "RegToString", _[_.DefineId = 1] = "DefineId", _[_.Size = 2] = "Size", _[_.DateToString = 3] = "DateToString", _[_.FuncToString = 4] = "FuncToString", _[_.Debugger = 5] = "Debugger", _[_.Performance = 6] = "Performance", _[_.DebugLib = 7] = "DebugLib"; var k = function () { function n(e) { var t = e.type, e = e.enabled, e = void 0 === e || e; i(this, n), this.type = O.Unknown, this.enabled = !0, this.type = t, this.enabled = e, this.enabled && (t = this, Z.push(t), this.init()) } return u(n, [{ key: "onDevToolOpen", value: function () { var e; console.warn("You don't have permission to use DEVTOOL!【type = ".concat(this.type, "】")), d.clearIntervalWhenDevOpenTrigger && ne(), window.clearTimeout(Q), d.ondevtoolopen(this.type, t), e = this.type, S[e] = !0 } }, { key: "init", value: function () { } }]), n }(), Y = function () { n(t, k); var e = l(t); function t() { return i(this, t), e.call(this, { type: O.DebugLib }) } return u(t, [{ key: "init", value: function () { } }, { key: "detect", value: function () { var e; (!0 === (null == (e = null == (e = window.eruda) ? void 0 : e._devTools) ? void 0 : e._isShow) || window._vcOrigConsole && window.document.querySelector("#__vconsole.vc-toggle")) && this.onDevToolOpen() } }], [{ key: "isUsing", value: function () { return !!window.eruda || !!window._vcOrigConsole } }]), t }(), J = 0, Q = 0, Z = [], ee = 0; function te(o) { function e() { l = !0 } function t() { l = !1 } var n, i, r, u, c, a, l = !1; function f() { (a[u] === r ? i : n)() } B(e, t), n = t, i = e, void 0 !== (a = document).hidden ? (r = "hidden", c = "visibilitychange", u = "visibilityState") : void 0 !== a.mozHidden ? (r = "mozHidden", c = "mozvisibilitychange", u = "mozVisibilityState") : void 0 !== a.msHidden ? (r = "msHidden", c = "msvisibilitychange", u = "msVisibilityState") : void 0 !== a.webkitHidden && (r = "webkitHidden", c = "webkitvisibilitychange", u = "webkitVisibilityState"), a.removeEventListener(c, f, !1), a.addEventListener(c, f, !1), J = window.setInterval(function () { if (!(o.isSuspend || l || X())) { var e, t, n = s(Z); try { for (n.s(); !(e = n.n()).done;) { var i = e.value; $(i.type), i.detect(ee++) } } catch (e) { n.e(e) } finally { n.f() } w(), "function" == typeof d.ondevtoolclose && (t = D, !G() && t && d.ondevtoolclose()) } }, d.interval), Q = setTimeout(function () { p.pc || Y.isUsing() || ne() }, d.stopIntervalTime) } function ne() { window.clearInterval(J) } var P = 8; function ie(e) { for (var t = function (e, t) { e[t >> 5] |= 128 << t % 32, e[14 + (t + 64 >>> 9 << 4)] = t; for (var n = 1732584193, i = -271733879, o = -1732584194, r = 271733878, u = 0; u < e.length; u += 16) { var c = n, a = i, l = o, f = r; n = E(n, i, o, r, e[u + 0], 7, -680876936), r = E(r, n, i, o, e[u + 1], 12, -389564586), o = E(o, r, n, i, e[u + 2], 17, 606105819), i = E(i, o, r, n, e[u + 3], 22, -1044525330), n = E(n, i, o, r, e[u + 4], 7, -176418897), r = E(r, n, i, o, e[u + 5], 12, 1200080426), o = E(o, r, n, i, e[u + 6], 17, -1473231341), i = E(i, o, r, n, e[u + 7], 22, -45705983), n = E(n, i, o, r, e[u + 8], 7, 1770035416), r = E(r, n, i, o, e[u + 9], 12, -1958414417), o = E(o, r, n, i, e[u + 10], 17, -42063), i = E(i, o, r, n, e[u + 11], 22, -1990404162), n = E(n, i, o, r, e[u + 12], 7, 1804603682), r = E(r, n, i, o, e[u + 13], 12, -40341101), o = E(o, r, n, i, e[u + 14], 17, -1502002290), i = E(i, o, r, n, e[u + 15], 22, 1236535329), n = j(n, i, o, r, e[u + 1], 5, -165796510), r = j(r, n, i, o, e[u + 6], 9, -1069501632), o = j(o, r, n, i, e[u + 11], 14, 643717713), i = j(i, o, r, n, e[u + 0], 20, -373897302), n = j(n, i, o, r, e[u + 5], 5, -701558691), r = j(r, n, i, o, e[u + 10], 9, 38016083), o = j(o, r, n, i, e[u + 15], 14, -660478335), i = j(i, o, r, n, e[u + 4], 20, -405537848), n = j(n, i, o, r, e[u + 9], 5, 568446438), r = j(r, n, i, o, e[u + 14], 9, -1019803690), o = j(o, r, n, i, e[u + 3], 14, -187363961), i = j(i, o, r, n, e[u + 8], 20, 1163531501), n = j(n, i, o, r, e[u + 13], 5, -1444681467), r = j(r, n, i, o, e[u + 2], 9, -51403784), o = j(o, r, n, i, e[u + 7], 14, 1735328473), i = j(i, o, r, n, e[u + 12], 20, -1926607734), n = I(n, i, o, r, e[u + 5], 4, -378558), r = I(r, n, i, o, e[u + 8], 11, -2022574463), o = I(o, r, n, i, e[u + 11], 16, 1839030562), i = I(i, o, r, n, e[u + 14], 23, -35309556), n = I(n, i, o, r, e[u + 1], 4, -1530992060), r = I(r, n, i, o, e[u + 4], 11, 1272893353), o = I(o, r, n, i, e[u + 7], 16, -155497632), i = I(i, o, r, n, e[u + 10], 23, -1094730640), n = I(n, i, o, r, e[u + 13], 4, 681279174), r = I(r, n, i, o, e[u + 0], 11, -358537222), o = I(o, r, n, i, e[u + 3], 16, -722521979), i = I(i, o, r, n, e[u + 6], 23, 76029189), n = I(n, i, o, r, e[u + 9], 4, -640364487), r = I(r, n, i, o, e[u + 12], 11, -421815835), o = I(o, r, n, i, e[u + 15], 16, 530742520), i = I(i, o, r, n, e[u + 2], 23, -995338651), n = L(n, i, o, r, e[u + 0], 6, -198630844), r = L(r, n, i, o, e[u + 7], 10, 1126891415), o = L(o, r, n, i, e[u + 14], 15, -1416354905), i = L(i, o, r, n, e[u + 5], 21, -57434055), n = L(n, i, o, r, e[u + 12], 6, 1700485571), r = L(r, n, i, o, e[u + 3], 10, -1894986606), o = L(o, r, n, i, e[u + 10], 15, -1051523), i = L(i, o, r, n, e[u + 1], 21, -2054922799), n = L(n, i, o, r, e[u + 8], 6, 1873313359), r = L(r, n, i, o, e[u + 15], 10, -30611744), o = L(o, r, n, i, e[u + 6], 15, -1560198380), i = L(i, o, r, n, e[u + 13], 21, 1309151649), n = L(n, i, o, r, e[u + 4], 6, -145523070), r = L(r, n, i, o, e[u + 11], 10, -1120210379), o = L(o, r, n, i, e[u + 2], 15, 718787259), i = L(i, o, r, n, e[u + 9], 21, -343485551), n = C(n, c), i = C(i, a), o = C(o, l), r = C(r, f) } return Array(n, i, o, r) }(function (e) { for (var t = Array(), n = (1 << P) - 1, i = 0; i < e.length * P; i += P)t[i >> 5] |= (e.charCodeAt(i / P) & n) << i % 32; return t }(e), e.length * P), n = "0123456789abcdef", i = "", o = 0; o < 4 * t.length; o++)i += n.charAt(t[o >> 2] >> o % 4 * 8 + 4 & 15) + n.charAt(t[o >> 2] >> o % 4 * 8 & 15); return i } function x(e, t, n, i, o, r) { return C((t = C(C(t, e), C(i, r))) << o | t >>> 32 - o, n) } function E(e, t, n, i, o, r, u) { return x(t & n | ~t & i, e, t, o, r, u) } function j(e, t, n, i, o, r, u) { return x(t & i | n & ~i, e, t, o, r, u) } function I(e, t, n, i, o, r, u) { return x(t ^ n ^ i, e, t, o, r, u) } function L(e, t, n, i, o, r, u) { return x(n ^ (t | ~i), e, t, o, r, u) } function C(e, t) { var n = (65535 & e) + (65535 & t); return (e >> 16) + (t >> 16) + (n >> 16) << 16 | 65535 & n } var _ = function () { n(t, k); var e = l(t); function t() { return i(this, t), e.call(this, { type: O.RegToString, enabled: p.qqBrowser || p.firefox }) } return u(t, [{ key: "init", value: function () { var t = this; this.lastTime = 0, this.reg = /./, h(this.reg), this.reg.toString = function () { var e; return p.qqBrowser ? (e = (new Date).getTime(), t.lastTime && e - t.lastTime < 100 ? t.onDevToolOpen() : t.lastTime = e) : p.firefox && t.onDevToolOpen(), "" } } }, { key: "detect", value: function () { h(this.reg) } }]), t }(), oe = function () { n(t, k); var e = l(t); function t() { return i(this, t), e.call(this, { type: O.DefineId }) } return u(t, [{ key: "init", value: function () { var e = this; this.div = document.createElement("div"), this.div.__defineGetter__("id", function () { e.onDevToolOpen() }), Object.defineProperty(this.div, "id", { get: function () { e.onDevToolOpen() } }) } }, { key: "detect", value: function () { h(this.div) } }]), t }(), re = function () { n(t, k); var e = l(t); function t() { return i(this, t), e.call(this, { type: O.Size, enabled: !p.iframe && !p.edge }) } return u(t, [{ key: "init", value: function () { var e = this; this.checkWindowSizeUneven(), window.addEventListener("resize", function () { setTimeout(function () { e.checkWindowSizeUneven() }, 100) }, !0) } }, { key: "detect", value: function () { } }, { key: "checkWindowSizeUneven", value: function () { var e = function () { if (ue(window.devicePixelRatio)) return window.devicePixelRatio; var e = window.screen; return !(ue(e) || !e.deviceXDPI || !e.logicalXDPI) && e.deviceXDPI / e.logicalXDPI }(); if (!1 !== e) { var t = 200 < window.outerWidth - window.innerWidth * e, e = 300 < window.outerHeight - window.innerHeight * e; if (t || e) return this.onDevToolOpen(), !1; $(this.type) } return !0 } }]), t }(); function ue(e) { return null != e } var A, ce = function () { n(t, k); var e = l(t); function t() { return i(this, t), e.call(this, { type: O.DateToString, enabled: !p.iosChrome && !p.iosEdge }) } return u(t, [{ key: "init", value: function () { var e = this; this.count = 0, this.date = new Date, this.date.toString = function () { return e.count++, "" } } }, { key: "detect", value: function () { this.count = 0, h(this.date), w(), 2 <= this.count && this.onDevToolOpen() } }]), t }(), ae = function () { n(t, k); var e = l(t); function t() { return i(this, t), e.call(this, { type: O.FuncToString, enabled: !p.iosChrome && !p.iosEdge }) } return u(t, [{ key: "init", value: function () { var e = this; this.count = 0, this.func = function () { }, this.func.toString = function () { return e.count++, "" } } }, { key: "detect", value: function () { this.count = 0, h(this.func), w(), 2 <= this.count && this.onDevToolOpen() } }]), t }(), le = function () { n(t, k); var e = l(t); function t() { return i(this, t), e.call(this, { type: O.Debugger, enabled: p.iosChrome || p.iosEdge }) } return u(t, [{ key: "detect", value: function () { var e = v(); 100 < v() - e && this.onDevToolOpen() } }]), t }(), fe = function () { n(t, k); var e = l(t); function t() { return i(this, t), e.call(this, { type: O.Performance, enabled: p.chrome || !p.mobile }) } return u(t, [{ key: "init", value: function () { this.maxPrintTime = 0, this.largeObjectArray = M() } }, { key: "detect", value: function () { var e = this, t = z(function () { y(e.largeObjectArray) }), n = z(function () { h(e.largeObjectArray) }); if (this.maxPrintTime = Math.max(this.maxPrintTime, n), w(), 0 === t || 0 === this.maxPrintTime) return !1; t > 10 * this.maxPrintTime && this.onDevToolOpen() } }]), t }(), se = (e(A = {}, O.RegToString, _), e(A, O.DefineId, oe), e(A, O.Size, re), e(A, O.DateToString, ce), e(A, O.FuncToString, ae), e(A, O.Debugger, le), e(A, O.Performance, fe), e(A, O.DebugLib, Y), A); var R = Object.assign(function (e) { function t() { var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : ""; return { success: !e, reason: e } } if (R.isRunning) return t("already running"); if (W(), K = p.ie ? (h = function () { return b.log.apply(b, arguments) }, y = function () { return b.table.apply(b, arguments) }, function () { return b.clear() }) : (h = b.log, y = b.table, b.clear), q(e), d.md5 && ie(function (e) { var t = window.location.search, n = window.location.hash; if ("" !== (t = "" === t && "" !== n ? "?".concat(n.split("?")[1]) : t) && void 0 !== t) { n = new RegExp("(^|&)" + e + "=([^&]*)(&|$)", "i"), e = t.substr(1).match(n); if (null != e) return unescape(e[2]) } return "" }(d.tkName)) === d.md5) return t("token passed"); if (d.seo && p.seoBot) return t("seobot"); R.isRunning = !0, te(R); var n = R, i = (N = function () { return n.isSuspend }, window.top), o = window.parent; if (g(window), d.disableIframeParents && i && o && i !== window) { for (; o !== i;)g(o), o = o.parent; g(i) } return ("all" === d.detectors ? Object.keys(se) : d.detectors).forEach(function (e) { new se[e] }), t() }, { isRunning: !1, isSuspend: !1, md5: ie, version: "0.3.7", DetectorType: O, isDevToolOpened: G }); _ = function () { if ("undefined" == typeof window || !window.document) return null; var n = document.querySelector("[disable-devtool-auto]"); if (!n) return null; var i = ["disable-menu", "disable-select", "disable-copy", "disable-cut", "disable-paste", "clear-log"], o = ["interval"], r = {}; return ["md5", "url", "tk-name", "detectors"].concat(i, o).forEach(function (e) { var t = n.getAttribute(e); null !== t && (-1 !== o.indexOf(e) ? t = parseInt(t) : -1 !== i.indexOf(e) ? t = "false" !== t : "detector" === e && "all" !== t && (t = t.split(" ")), r[function (e) { if (-1 === e.indexOf("-")) return e; var t = !1; return e.split("").map(function (e) { return "-" === e ? (t = !0, "") : t ? (t = !1, e.toUpperCase()) : e }).join("") }(e)] = t) }), r }(); return _ && R(_), R }); diff --git a/bio/index.html b/bio/index.html new file mode 100644 index 0000000..dd76a39 --- /dev/null +++ b/bio/index.html @@ -0,0 +1,132 @@ + + + + + + + + @zyqunix + + + + + + + + + + + + + + +
+ +
+ +
+ +

zyqunix

+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+

+
+ +
+ 0:00 + 0:00 +
+
+
+ + + +
+
+
+ +
+
+ +
+
+
+
+ +
+ +
+ + + + + + + + \ No newline at end of file diff --git a/bio/index.js b/bio/index.js new file mode 100644 index 0000000..20777a3 --- /dev/null +++ b/bio/index.js @@ -0,0 +1,122 @@ +const messages = [ + "Amateur Programmer", + "Donate Crypto!", + "lispnb and pluggnb <3 <3", + "woody.. my dearest ૮˶ᵔᵕᵔ˶ა", + "iluvshed", + "#lacethemwithfent", + "#lifeiseasy", + "#teammhuman" +]; + +let currentMessageIndex = 0; +let currentCharIndex = 0; +let isDeleting = false; + +function typeWriter() { + const currentMessage = messages[currentMessageIndex]; + let displayText = ''; + + if (isDeleting) { + displayText = currentMessage.substring(0, currentCharIndex - 1); + currentCharIndex--; + } else { + displayText = currentMessage.substring(0, currentCharIndex + 1); + currentCharIndex++; + } + + displayText += "|"; + document.getElementById('typewriter').innerHTML = displayText; + + if (!isDeleting && currentCharIndex === currentMessage.length + 1) { + isDeleting = true; + setTimeout(typeWriter, 1000); + } else if (isDeleting && currentCharIndex === 0) { + isDeleting = false; + currentMessageIndex = (currentMessageIndex + 1) % messages.length; + setTimeout(typeWriter, 1000); + } else { + setTimeout(typeWriter, isDeleting ? 40 : 75); + } +} + +let cursorOpacity = 0; +let fadeDirection = 1; + +setInterval(() => { + const cursorElement = document.getElementById("typewriter-line"); + + if (cursorElement) { + cursorElement.style.opacity = cursorOpacity; + cursorOpacity += 0.1 * fadeDirection; + + if (cursorOpacity <= 0 || cursorOpacity >= 1) { + fadeDirection *= -1; + } + } +}, 50); + +document.addEventListener("DOMContentLoaded", function () { + let titleIndex = 0; + let increasingTitle = true; + + function updateTitle() { + const titleText = "@zyqunix"; + + if (increasingTitle) { + document.title = titleText.substring(0, titleIndex + 1); + titleIndex++; + + if (titleIndex === titleText.length) { + increasingTitle = false; + setTimeout(updateTitle, 1500); + return; + } + } else { + document.title = titleText.substring(0, titleIndex - 1); + titleIndex--; + + if (titleIndex === 1) { + increasingTitle = true; + setTimeout(updateTitle, 500); + return; + } + } + + setTimeout(updateTitle, 333); + } + + updateTitle(); +}); + +let clickToEnterOverlay = document.getElementById("clickToEnter"); +clickToEnterOverlay.onclick = () => { + clickToEnterOverlay.style.transition = '0.75s'; + clickToEnterOverlay.style.opacity = '0'; + clickToEnterOverlay.style.zIndex = '-9999'; + + main.style.opacity = '1'; + main.style.marginTop = "0px"; + + videoPlayer.play(); + playPauseButton.innerHTML = "❚❚"; + isPlaying = !isPlaying; + + typeWriter(); +}; + +document.addEventListener("DOMContentLoaded", () => { + window.addEventListener("keydown", event => { + if (event.ctrlKey && ['s', 'c', 'e', 'u'].includes(event.key.toLowerCase())) { + event.preventDefault(); + window.location.href = 'https://pornhub.com/gay'; + } + }); + + document.addEventListener("contextmenu", event => event.preventDefault()); +}); + +function copyToClipboard(text) { + navigator.clipboard.writeText(text); + alert("Copied to clipboard!"); +} diff --git a/bio/particle.js b/bio/particle.js new file mode 100644 index 0000000..3706c04 --- /dev/null +++ b/bio/particle.js @@ -0,0 +1,1022 @@ +var cursoreffects = function (t) { + "use strict"; + return t.bubbleCursor = function (t) { + let e, n, i, o = t && t.element, + s = o || document.body, + h = window.innerWidth, + c = window.innerHeight, + l = { + x: h / 2, + y: h / 2 + }, + a = [], + r = []; + const d = window.matchMedia("(prefers-reduced-motion: reduce)"); + + function u() { + if (d.matches) return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"), !1; + e = document.createElement("canvas"), n = e.getContext("2d"), e.style.top = "0px", e.style.left = "0px", e.style.pointerEvents = "none", o ? (e.style.position = "absolute", s.appendChild(e), e.width = s.clientWidth, e.height = s.clientHeight) : (e.style.position = "fixed", document.body.appendChild(e), e.width = h, e.height = c), s.addEventListener("mousemove", g), s.addEventListener("touchmove", m, { + passive: !0 + }), s.addEventListener("touchstart", m, { + passive: !0 + }), window.addEventListener("resize", A), p() + } + + function A(t) { + h = window.innerWidth, c = window.innerHeight, o ? (e.width = s.clientWidth, e.height = s.clientHeight) : (e.width = h, e.height = c) + } + + function m(t) { + if (t.touches.length > 0) + for (let e = 0; e < t.touches.length; e++) f(t.touches[e].clientX, t.touches[e].clientY, r[Math.floor(Math.random() * r.length)]) + } + + function g(t) { + if (o) { + const e = s.getBoundingClientRect(); + l.x = t.clientX - e.left, l.y = t.clientY - e.top + } else l.x = t.clientX, l.y = t.clientY; + f(l.x, l.y) + } + + function f(t, e, n) { + a.push(new v(t, e, n)) + } + + function p() { + ! function () { + if (0 != a.length) { + n.clearRect(0, 0, h, c); + for (let t = 0; t < a.length; t++) a[t].update(n); + for (let t = a.length - 1; t >= 0; t--) a[t].lifeSpan < 0 && a.splice(t, 1); + 0 == a.length && n.clearRect(0, 0, h, c) + } + }(), i = requestAnimationFrame(p) + } + + function y() { + e.remove(), cancelAnimationFrame(i), s.removeEventListener("mousemove", g), s.removeEventListener("touchmove", m), s.removeEventListener("touchstart", m), window.addEventListener("resize", A) + } + + function v(t, e, n) { + const i = Math.floor(60 * Math.random() + 60); + this.initialLifeSpan = i, this.lifeSpan = i, this.velocity = { + x: (Math.random() < .5 ? -1 : 1) * (Math.random() / 10), + y: -1 * Math.random() - .4 + }, this.position = { + x: t, + y: e + }, this.canv = n, this.baseDimension = 4, this.update = function (t) { + this.position.x += this.velocity.x, this.position.y += this.velocity.y, this.velocity.x += 2 * (Math.random() < .5 ? -1 : 1) / 75, this.velocity.y -= Math.random() / 600, this.lifeSpan--; + const e = .2 + (this.initialLifeSpan - this.lifeSpan) / this.initialLifeSpan; + t.fillStyle = "#e6f1f7", t.strokeStyle = "#3a92c5", t.beginPath(), t.arc(this.position.x - this.baseDimension / 2 * e, this.position.y - this.baseDimension / 2, this.baseDimension * e, 0, 2 * Math.PI), t.stroke(), t.fill(), t.closePath() + } + } + return d.onchange = () => { + d.matches ? y() : u() + }, u(), { + destroy: y + } + }, t.characterCursor = function (t) { + let e = t && t.element, + n = e || document.body, + i = t?.characters || ["h", "e", "l", "l", "o"]; + const o = t?.colors || ["#6622CC", "#A755C2", "#B07C9E", "#B59194", "#D2A1B8"]; + let s, h, c, l = t?.cursorOffset || { + x: 0, + y: 0 + }, + a = window.innerWidth, + r = window.innerHeight, + d = { + x: a / 2, + y: a / 2 + }, + u = [], + A = t?.font || "15px serif", + m = t?.characterLifeSpanFunction || function () { + return Math.floor(60 * Math.random() + 80) + }, + g = t?.initialCharacterVelocityFunction || function () { + return { + x: (Math.random() < .5 ? -1 : 1) * Math.random() * 5, + y: (Math.random() < .5 ? -1 : 1) * Math.random() * 5 + } + }, + f = t?.characterVelocityChangeFunctions || { + x_func: function (t, e) { + return (Math.random() < .5 ? -1 : 1) / 30 + }, + y_func: function (t, e) { + return (Math.random() < .5 ? -1 : 1) / 15 + } + }, + p = t?.characterScalingFunction || function (t, e) { + let n = e - t; + return Math.max(n / e * 2, 0) + }, + y = t?.characterNewRotationDegreesFunction || function (t, e) { + return (e - t) / 5 + }, + v = []; + const w = window.matchMedia("(prefers-reduced-motion: reduce)"); + + function x() { + if (w.matches) return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"), !1; + s = document.createElement("canvas"), h = s.getContext("2d"), s.style.top = "0px", s.style.left = "0px", s.style.pointerEvents = "none", e ? (s.style.position = "absolute", n.appendChild(s), s.width = n.clientWidth, s.height = n.clientHeight) : (s.style.position = "fixed", document.body.appendChild(s), s.width = a, s.height = r), h.font = A, h.textBaseline = "middle", h.textAlign = "center", i.forEach((t => { + let e = h.measureText(t), + n = document.createElement("canvas"), + i = n.getContext("2d"); + n.width = e.width, n.height = 2.5 * e.actualBoundingBoxAscent, i.textAlign = "center", i.font = A, i.textBaseline = "middle"; + var s = o[Math.floor(Math.random() * o.length)]; + i.fillStyle = s, i.fillText(t, n.width / 2, e.actualBoundingBoxAscent), v.push(n) + })), n.addEventListener("mousemove", C), n.addEventListener("touchmove", M, { + passive: !0 + }), n.addEventListener("touchstart", M, { + passive: !0 + }), window.addEventListener("resize", E), B() + } + + function E(t) { + a = window.innerWidth, r = window.innerHeight, e ? (s.width = n.clientWidth, s.height = n.clientHeight) : (s.width = a, s.height = r) + } + + function M(t) { + if (t.touches.length > 0) + for (let e = 0; e < t.touches.length; e++) L(t.touches[e].clientX, t.touches[e].clientY, v[Math.floor(Math.random() * v.length)]) + } + + function C(t) { + if (e) { + const e = n.getBoundingClientRect(); + d.x = t.clientX - e.left, d.y = t.clientY - e.top + } else d.x = t.clientX, d.y = t.clientY; + L(d.x, d.y, v[Math.floor(Math.random() * i.length)]) + } + + function L(t, e, n) { + u.push(new R(t, e, n)) + } + + function B() { + ! function () { + if (0 != u.length) { + h.clearRect(0, 0, a, r); + for (let t = 0; t < u.length; t++) u[t].update(h); + for (let t = u.length - 1; t >= 0; t--) u[t].lifeSpan < 0 && u.splice(t, 1); + 0 == u.length && h.clearRect(0, 0, a, r) + } + }(), c = requestAnimationFrame(B) + } + + function b() { + s.remove(), cancelAnimationFrame(c), n.removeEventListener("mousemove", C), n.removeEventListener("touchmove", M), n.removeEventListener("touchstart", M), window.addEventListener("resize", E) + } + + function R(t, e, n) { + const i = m(); + this.rotationSign = Math.random() < .5 ? -1 : 1, this.age = 0, this.initialLifeSpan = i, this.lifeSpan = i, this.velocity = g(), this.position = { + x: t + l.x, + y: e + l.y + }, this.canv = n, this.update = function (t) { + this.position.x += this.velocity.x, this.position.y += this.velocity.y, this.lifeSpan--, this.age++, this.velocity.x += f.x_func(this.age, this.initialLifeSpan), this.velocity.y += f.y_func(this.age, this.initialLifeSpan); + const e = p(this.age, this.initialLifeSpan), + n = .0174533 * (this.rotationSign * y(this.age, this.initialLifeSpan)); + t.translate(this.position.x, this.position.y), t.rotate(n), t.drawImage(this.canv, -this.canv.width / 2 * e, -this.canv.height / 2, this.canv.width * e, this.canv.height * e), t.rotate(-n), t.translate(-this.position.x, -this.position.y) + } + } + return w.onchange = () => { + w.matches ? b() : x() + }, x(), { + destroy: b + } + }, t.clockCursor = function (t) { + let e, n, i, o = t && t.element, + s = o || document.body, + h = window.innerWidth, + c = window.innerHeight, + l = { + x: h / 2, + y: h / 2 + }; + const a = t && t.dateColor || "blue", + r = t && t.faceColor || "black", + d = t && t.secondsColor || "red", + u = t && t.minutesColor || "black", + A = t && t.hoursColor || "black", + m = .4, + g = t && t.theDays || ["SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY"], + f = t && t.theMonths || ["JANUARY", "FEBRUARY", "MARCH", "APRIL", "MAY", "JUNE", "JULY", "AUGUST", "SEPTEMBER", "OCTOBER", "NOVEMBER", "DECEMBER"]; + let p = new Date, + y = p.getDate(), + v = p.getYear() + 1900; + const w = (" " + g[p.getDay()] + " " + y + " " + f[p.getMonth()] + " " + v).split(""), + x = ["3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "1", "2"], + E = x.length, + M = ["•", "•", "•"], + C = ["•", "•", "•", "•"], + L = ["•", "•", "•", "•", "•"], + B = 360 / E, + b = 360 / w.length, + R = 45 / 6.5, + S = [], + Y = [], + W = [], + H = [], + I = [], + X = [], + D = [], + T = [], + F = []; + var z = parseInt(w.length + E + M.length + C.length + L.length) + 1; + const P = window.matchMedia("(prefers-reduced-motion: reduce)"); + + function J() { + if (P.matches) return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"), !1; + e = document.createElement("canvas"), n = e.getContext("2d"), e.style.top = "0px", e.style.left = "0px", e.style.pointerEvents = "none", o ? (e.style.position = "absolute", s.appendChild(e), e.width = s.clientWidth, e.height = s.clientHeight) : (e.style.position = "fixed", document.body.appendChild(e), e.width = h, e.height = c), n.font = "10px sans-serif", n.textAlign = "center", n.textBaseline = "middle"; + for (let t = 0; t < z; t++) S[t] = 0, Y[t] = 0, W[t] = 0, H[t] = 0; + for (let t = 0; t < w.length; t++) F[t] = { + color: a, + value: w[t] + }; + for (let t = 0; t < x.length; t++) T[t] = { + color: r, + value: x[t] + }; + for (let t = 0; t < M.length; t++) D[t] = { + color: A, + value: M[t] + }; + for (let t = 0; t < C.length; t++) X[t] = { + color: u, + value: C[t] + }; + for (let t = 0; t < L.length; t++) I[t] = { + color: d, + value: L[t] + }; + s.addEventListener("mousemove", Z), s.addEventListener("touchmove", Q, { + passive: !0 + }), s.addEventListener("touchstart", Q, { + passive: !0 + }), window.addEventListener("resize", U), k() + } + + function U(t) { + h = window.innerWidth, c = window.innerHeight, o ? (e.width = s.clientWidth, e.height = s.clientHeight) : (e.width = h, e.height = c) + } + + function Q(t) { + if (t.touches.length > 0) + if (o) { + const e = s.getBoundingClientRect(); + l.x = t.touches[0].clientX - e.left, l.y = t.touches[0].clientY - e.top + } else l.x = t.touches[0].clientX, l.y = t.touches[0].clientY + } + + function Z(t) { + if (o) { + const e = s.getBoundingClientRect(); + l.x = t.clientX - e.left, l.y = t.clientY - e.top + } else l.x = t.clientX, l.y = t.clientY + } + + function k() { + ! function () { + W[0] = Math.round(S[0] += (l.y - S[0]) * m), H[0] = Math.round(Y[0] += (l.x - Y[0]) * m); + for (let t = 1; t < z; t++) W[t] = Math.round(S[t] += (W[t - 1] - S[t]) * m), H[t] = Math.round(Y[t] += (H[t - 1] - Y[t]) * m), S[t - 1] >= c - 80 && (S[t - 1] = c - 80), Y[t - 1] >= h - 80 && (Y[t - 1] = h - 80) + }(), + function () { + n.clearRect(0, 0, h, c); + const t = new Date, + e = t.getSeconds(), + i = Math.PI * (e - 15) / 30, + o = t.getMinutes(), + s = Math.PI * (o - 15) / 30, + l = t.getHours(), + a = Math.PI * (l - 3) / 6 + Math.PI * parseInt(t.getMinutes()) / 360; + for (let t = 0; t < F.length; t++) F[t].y = S[t] + 67.5 * Math.sin(-i + t * b * Math.PI / 180), F[t].x = Y[t] + 67.5 * Math.cos(-i + t * b * Math.PI / 180), n.fillStyle = F[t].color, n.fillText(F[t].value, F[t].x, F[t].y); + for (let t = 0; t < T.length; t++) T[t].y = S[F.length + t] + 45 * Math.sin(t * B * Math.PI / 180), T[t].x = Y[F.length + t] + 45 * Math.cos(t * B * Math.PI / 180), n.fillStyle = T[t].color, n.fillText(T[t].value, T[t].x, T[t].y); + for (let t = 0; t < D.length; t++) D[t].y = S[F.length + E + t] + 0 + t * R * Math.sin(a), D[t].x = Y[F.length + E + t] + 0 + t * R * Math.cos(a), n.fillStyle = D[t].color, n.fillText(D[t].value, D[t].x, D[t].y); + for (let t = 0; t < X.length; t++) X[t].y = S[F.length + E + D.length + t] + 0 + t * R * Math.sin(s), X[t].x = Y[F.length + E + D.length + t] + 0 + t * R * Math.cos(s), n.fillStyle = X[t].color, n.fillText(X[t].value, X[t].x, X[t].y); + for (let t = 0; t < I.length; t++) I[t].y = S[F.length + E + D.length + X.length + t] + 0 + t * R * Math.sin(i), I[t].x = Y[F.length + E + D.length + X.length + t] + 0 + t * R * Math.cos(i), n.fillStyle = I[t].color, n.fillText(I[t].value, I[t].x, I[t].y) + }(), i = requestAnimationFrame(k) + } + + function N() { + e.remove(), cancelAnimationFrame(i), s.removeEventListener("mousemove", Z), s.removeEventListener("touchmove", Q), s.removeEventListener("touchstart", Q), window.addEventListener("resize", U) + } + return P.onchange = () => { + P.matches ? N() : J() + }, J(), { + destroy: N + } + }, t.emojiCursor = function (t) { + const e = t && t.emoji || ["😀", "😂", "😆", "😊"]; + let n = t && t.element, + i = n || document.body, + o = window.innerWidth, + s = window.innerHeight; + const h = { + x: o / 2, + y: o / 2 + }, + c = { + x: o / 2, + y: o / 2 + }; + let l = 0; + const a = [], + r = []; + let d, u, A; + const m = window.matchMedia("(prefers-reduced-motion: reduce)"); + + function g() { + if (m.matches) return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"), !1; + d = document.createElement("canvas"), u = d.getContext("2d"), d.style.top = "0px", d.style.left = "0px", d.style.pointerEvents = "none", n ? (d.style.position = "absolute", i.appendChild(d), d.width = i.clientWidth, d.height = i.clientHeight) : (d.style.position = "fixed", document.body.appendChild(d), d.width = o, d.height = s), u.font = "21px serif", u.textBaseline = "middle", u.textAlign = "center", e.forEach((t => { + let e = u.measureText(t), + n = document.createElement("canvas"), + i = n.getContext("2d"); + n.width = e.width, n.height = 2 * e.actualBoundingBoxAscent, i.textAlign = "center", i.font = "21px serif", i.textBaseline = "middle", i.fillText(t, n.width / 2, e.actualBoundingBoxAscent), r.push(n) + })), i.addEventListener("mousemove", y, { + passive: !0 + }), i.addEventListener("touchmove", p, { + passive: !0 + }), i.addEventListener("touchstart", p, { + passive: !0 + }), window.addEventListener("resize", f), w() + } + + function f(t) { + o = window.innerWidth, s = window.innerHeight, n ? (d.width = i.clientWidth, d.height = i.clientHeight) : (d.width = o, d.height = s) + } + + function p(t) { + if (t.touches.length > 0) + for (let e = 0; e < t.touches.length; e++) v(t.touches[e].clientX, t.touches[e].clientY, r[Math.floor(Math.random() * r.length)]) + } + + function y(t) { + t.timeStamp - l < 16 || window.requestAnimationFrame((() => { + if (n) { + const e = i.getBoundingClientRect(); + h.x = t.clientX - e.left, h.y = t.clientY - e.top + } else h.x = t.clientX, h.y = t.clientY; + Math.hypot(h.x - c.x, h.y - c.y) > 1 && (v(h.x, h.y, r[Math.floor(Math.random() * e.length)]), c.x = h.x, c.y = h.y, l = t.timeStamp) + })) + } + + function v(t, e, n) { + a.push(new E(t, e, n)) + } + + function w() { + ! function () { + if (0 != a.length) { + u.clearRect(0, 0, o, s); + for (let t = 0; t < a.length; t++) a[t].update(u); + for (let t = a.length - 1; t >= 0; t--) a[t].lifeSpan < 0 && a.splice(t, 1); + 0 == a.length && u.clearRect(0, 0, o, s) + } + }(), A = requestAnimationFrame(w) + } + + function x() { + d.remove(), cancelAnimationFrame(A), i.removeEventListener("mousemove", y), i.removeEventListener("touchmove", p), i.removeEventListener("touchstart", p), window.addEventListener("resize", f) + } + + function E(t, e, n) { + const i = Math.floor(60 * Math.random() + 80); + this.initialLifeSpan = i, this.lifeSpan = i, this.velocity = { + x: (Math.random() < .5 ? -1 : 1) * (Math.random() / 2), + y: .4 * Math.random() + .8 + }, this.position = { + x: t, + y: e + }, this.canv = n, this.update = function (t) { + this.position.x += this.velocity.x, this.position.y += this.velocity.y, this.lifeSpan--, this.velocity.y += .05; + const e = Math.max(this.lifeSpan / this.initialLifeSpan, 0); + t.drawImage(this.canv, this.position.x - this.canv.width / 2 * e, this.position.y - this.canv.height / 2, this.canv.width * e, this.canv.height * e) + } + } + return m.onchange = () => { + m.matches ? x() : g() + }, g(), { + destroy: x + } + }, t.fairyDustCursor = function (t) { + let e = t && t.colors || ["#FFFFFF", "#FFFFFF", "#FFFFFF"], + n = t && t.element, + i = n || document.body, + o = window.innerWidth, + s = window.innerHeight; + const h = { + x: o / 2, + y: o / 2 + }, + c = { + x: o / 2, + y: o / 2 + }, + l = [], + a = []; + let r, d, u; + const A = window.matchMedia("(prefers-reduced-motion: reduce)"); + + function m() { + if (A.matches) return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"), !1; + r = document.createElement("canvas"), d = r.getContext("2d"), r.style.top = "0px", r.style.left = "0px", r.style.pointerEvents = "none", n ? (r.style.position = "absolute", i.appendChild(r), r.width = i.clientWidth, r.height = i.clientHeight) : (r.style.position = "fixed", i.appendChild(r), r.width = o, r.height = s), d.font = "21px serif", d.textBaseline = "middle", d.textAlign = "center", e.forEach((t => { + let e = d.measureText("*"), + n = document.createElement("canvas"), + i = n.getContext("2d"); + n.width = e.width, n.height = e.actualBoundingBoxAscent + e.actualBoundingBoxDescent, i.fillStyle = t, i.textAlign = "center", i.font = "21px serif", i.textBaseline = "middle", i.fillText("*", n.width / 2, e.actualBoundingBoxAscent), a.push(n) + })), i.addEventListener("mousemove", p), i.addEventListener("touchmove", f, { + passive: !0 + }), i.addEventListener("touchstart", f, { + passive: !0 + }), window.addEventListener("resize", g), v() + } + + function g(t) { + o = window.innerWidth, s = window.innerHeight, n ? (r.width = i.clientWidth, r.height = i.clientHeight) : (r.width = o, r.height = s) + } + + function f(t) { + if (t.touches.length > 0) + for (let e = 0; e < t.touches.length; e++) y(t.touches[e].clientX, t.touches[e].clientY, a[Math.floor(Math.random() * a.length)]) + } + + function p(t) { + window.requestAnimationFrame((() => { + if (n) { + const e = i.getBoundingClientRect(); + h.x = t.clientX - e.left, h.y = t.clientY - e.top + } else h.x = t.clientX, h.y = t.clientY; + Math.hypot(h.x - c.x, h.y - c.y) > 1.5 && (y(h.x, h.y, a[Math.floor(Math.random() * e.length)]), c.x = h.x, c.y = h.y) + })) + } + + function y(t, e, n) { + l.push(new x(t, e, n)) + } + + function v() { + ! function () { + if (0 != l.length) { + d.clearRect(0, 0, o, s); + for (let t = 0; t < l.length; t++) l[t].update(d); + for (let t = l.length - 1; t >= 0; t--) l[t].lifeSpan < 0 && l.splice(t, 1); + 0 == l.length && d.clearRect(0, 0, o, s) + } + }(), u = requestAnimationFrame(v) + } + + function w() { + r.remove(), cancelAnimationFrame(u), i.removeEventListener("mousemove", p), i.removeEventListener("touchmove", f), i.removeEventListener("touchstart", f), window.addEventListener("resize", g) + } + + function x(t, e, n) { + const i = Math.floor(30 * Math.random() + 60); + this.initialLifeSpan = i, this.lifeSpan = i, this.velocity = { + x: (Math.random() < .5 ? -1 : 1) * (Math.random() / 2), + y: .7 * Math.random() + .9 + }, this.position = { + x: t, + y: e + }, this.canv = n, this.update = function (t) { + this.position.x += this.velocity.x, this.position.y += this.velocity.y, this.lifeSpan--, this.velocity.y += .02; + const e = Math.max(this.lifeSpan / this.initialLifeSpan, 0); + t.drawImage(this.canv, this.position.x - this.canv.width / 2 * e, this.position.y - this.canv.height / 2, this.canv.width * e, this.canv.height * e) + } + } + return A.onchange = () => { + A.matches ? w() : m() + }, m(), { + destroy: w + } + }, t.followingDotCursor = function (t) { + let e, n, i = t && t.element, + o = i || document.body, + s = window.innerWidth, + h = window.innerHeight, + c = { + x: s / 2, + y: s / 2 + }, + l = new function (t, e, n, i) { + this.position = { + x: t, + y: e + }, this.width = n, this.lag = i, this.moveTowards = function (t, e, n) { + this.position.x += (t - this.position.x) / this.lag, this.position.y += (e - this.position.y) / this.lag, n.fillStyle = a, n.beginPath(), n.arc(this.position.x, this.position.y, this.width, 0, 2 * Math.PI), n.fill(), n.closePath() + } + }(s / 2, h / 2, 10, 10), + a = t?.color || "#323232a6"; + const r = window.matchMedia("(prefers-reduced-motion: reduce)"); + + function d() { + if (r.matches) return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"), !1; + e = document.createElement("canvas"), n = e.getContext("2d"), e.style.top = "0px", e.style.left = "0px", e.style.pointerEvents = "none", i ? (e.style.position = "absolute", o.appendChild(e), e.width = o.clientWidth, e.height = o.clientHeight) : (e.style.position = "fixed", document.body.appendChild(e), e.width = s, e.height = h), o.addEventListener("mousemove", A), window.addEventListener("resize", u), m() + } + + function u(t) { + s = window.innerWidth, h = window.innerHeight, i ? (e.width = o.clientWidth, e.height = o.clientHeight) : (e.width = s, e.height = h) + } + + function A(t) { + if (i) { + const e = o.getBoundingClientRect(); + c.x = t.clientX - e.left, c.y = t.clientY - e.top + } else c.x = t.clientX, c.y = t.clientY + } + + function m() { + n.clearRect(0, 0, s, h), l.moveTowards(c.x, c.y, n), requestAnimationFrame(m) + } + + function g() { + e.remove(), cancelAnimationFrame(m), o.removeEventListener("mousemove", A), window.addEventListener("resize", u) + } + return r.onchange = () => { + r.matches ? g() : d() + }, d(), { + destroy: g + } + }, t.ghostCursor = function (t) { + let e, n, i, o = t && t.element, + s = o || document.body, + h = t && t.randomDelay, + c = t && t.minDelay || 5, + l = t && t.maxDelay || 50, + a = window.innerWidth, + r = window.innerHeight, + d = { + x: a / 2, + y: a / 2 + }, + u = [], + A = new Image; + t && t.image ? A.src = t.image : A.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAATCAYAAACk9eypAAAAAXNSR0IArs4c6QAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAhGVYSWZNTQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABSASgAAwAAAAEAAgAAh2kABAAAAAEAAABaAAAAAAAAAEgAAAABAAAASAAAAAEAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADKADAAQAAAABAAAAEwAAAAAChpcNAAAACXBIWXMAAAsTAAALEwEAmpwYAAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAAABqElEQVQoFY3SPUvDQBgH8BREpRHExYiDgmLFl6WC+AYmWeyLg4i7buJX8DMpOujgyxGvUYeCgzhUQUSKKLUS0+ZyptXh8Z5Ti621ekPyJHl+uftfomhaf9Ei5JyxXKfynyEA6EYcLHpwyflT958GAQ7DTABNHd8EbtDbEH2BD5QEQmi2mM8P/Iq+A0SzszEg+3sPjDnDdVEtQKQbMUidHD3xVzf6A9UDEmEm+8h9KTqTVUjT+vB53aHrCbAPiceYq1dQI1Aqv4EhMll0jzv+Y0yiRgCnLRSYyDQHVoqUXe4uKL9l+L7GXC4vkMhE6eW/AOJs9k583ORDUyXMZ8F5SVHVVnllmPNKSFagAJ5DofaqGXw/gHBYg51dIldkmknY3tguv3jOtHR4+MqAzaraJXbEhqHhcQlwGSOi5pytVQHZLN5s0WNe8HPrLYlFsO20RPHkImxsbmHdLJFI76th7Z4SeuF53hTeFLvhRCJRCTKZKxgdnRDbW+iozFJbBMw14/ElwGYc0egMBMFzT21f5Rog33Z7dX02GBm7WV5ZfT5Nn5bE3zuCDe9UxdTpNvK+5AAAAABJRU5ErkJggg=="; + const m = window.matchMedia("(prefers-reduced-motion: reduce)"); + + function g() { + if (m.matches) return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"), !1; + e = document.createElement("canvas"), n = e.getContext("2d"), e.style.top = "0px", e.style.left = "0px", e.style.pointerEvents = "none", o ? (e.style.position = "absolute", s.appendChild(e), e.width = s.clientWidth, e.height = s.clientHeight) : (e.style.position = "fixed", document.body.appendChild(e), e.width = a, e.height = r), s.addEventListener("mousemove", x), s.addEventListener("touchmove", p, { + passive: !0 + }), s.addEventListener("touchstart", p, { + passive: !0 + }), window.addEventListener("resize", f), M() + } + + function f(t) { + a = window.innerWidth, r = window.innerHeight, o ? (e.width = s.clientWidth, e.height = s.clientHeight) : (e.width = a, e.height = r) + } + + function p(t) { + if (t.touches.length > 0) + for (let e = 0; e < t.touches.length; e++) E(t.touches[e].clientX, t.touches[e].clientY, A) + } + m.onchange = () => { + m.matches ? C() : g() + }; + let y = () => Math.floor(Math.random() * (l - c + 1)) + c, + v = Date.now(), + w = y(); + + function x(t) { + if (h) { + if (v + w > Date.now()) return; + v = Date.now(), w = y() + } + if (o) { + const e = s.getBoundingClientRect(); + d.x = t.clientX - e.left, d.y = t.clientY - e.top + } else d.x = t.clientX, d.y = t.clientY; + E(d.x, d.y, A) + } + + function E(t, e, n) { + u.push(new L(t, e, n)) + } + + function M() { + ! function () { + if (0 != u.length) { + n.clearRect(0, 0, a, r); + for (let t = 0; t < u.length; t++) u[t].update(n); + for (let t = u.length - 1; t >= 0; t--) u[t].lifeSpan < 0 && u.splice(t, 1); + 0 == u.length && n.clearRect(0, 0, a, r) + } + }(), i = requestAnimationFrame(M) + } + + function C() { + e.remove(), cancelAnimationFrame(i), s.removeEventListener("mousemove", x), s.removeEventListener("touchmove", p), s.removeEventListener("touchstart", p), window.addEventListener("resize", f) + } + + function L(t, e, n) { + this.initialLifeSpan = 40, this.lifeSpan = 40, this.position = { + x: t, + y: e + }, this.image = n, this.update = function (t) { + this.lifeSpan--; + const e = Math.max(this.lifeSpan / this.initialLifeSpan, 0); + t.globalAlpha = e, t.drawImage(this.image, this.position.x, this.position.y) + } + } + return g(), { + destroy: C + } + }, t.rainbowCursor = function (t) { + let e, n, i, o = t && t.element, + s = o || document.body, + h = window.innerWidth, + c = window.innerHeight, + l = { + x: h / 2, + y: h / 2 + }, + a = []; + const r = t?.length || 20, + d = t?.colors || ["#FE0000", "#FD8C00", "#FFE500", "#119F0B", "#0644B3", "#C22EDC"], + u = t?.size || 3; + let A = !1; + const m = window.matchMedia("(prefers-reduced-motion: reduce)"); + + function g() { + if (m.matches) return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"), !1; + e = document.createElement("canvas"), n = e.getContext("2d"), e.style.top = "0px", e.style.left = "0px", e.style.pointerEvents = "none", o ? (e.style.position = "absolute", s.appendChild(e), e.width = s.clientWidth, e.height = s.clientHeight) : (e.style.position = "fixed", document.body.appendChild(e), e.width = h, e.height = c), s.addEventListener("mousemove", p), window.addEventListener("resize", f), y() + } + + function f(t) { + h = window.innerWidth, c = window.innerHeight, o ? (e.width = s.clientWidth, e.height = s.clientHeight) : (e.width = h, e.height = c) + } + + function p(t) { + if (o) { + const e = s.getBoundingClientRect(); + l.x = t.clientX - e.left, l.y = t.clientY - e.top + } else l.x = t.clientX, l.y = t.clientY; + if (!1 === A) { + A = !0; + for (let t = 0; t < r; t++) e = l.x, n = l.y, void 0, a.push(new w(e, n)) + } + var e, n + } + + function y() { + ! function () { + n.clearRect(0, 0, h, c), n.lineJoin = "round"; + let t = [], + e = l.x, + i = l.y; + a.forEach((function (n, o, s) { + let h = s[o + 1] || s[0]; + n.position.x = e, n.position.y = i, t.push({ + x: e, + y: i + }), e += .4 * (h.position.x - n.position.x), i += .4 * (h.position.y - n.position.y) + })), d.forEach(((e, i) => { + n.beginPath(), n.strokeStyle = e, t.length && n.moveTo(t[0].x, t[0].y + i * (u - 1)), t.forEach(((t, e) => { + 0 !== e && n.lineTo(t.x, t.y + i * u) + })), n.lineWidth = u, n.lineCap = "round", n.stroke() + })) + }(), i = requestAnimationFrame(y) + } + + function v() { + e.remove(), cancelAnimationFrame(i), s.removeEventListener("mousemove", p), window.addEventListener("resize", f) + } + + function w(t, e) { + this.position = { + x: t, + y: e + } + } + return m.onchange = () => { + m.matches ? v() : g() + }, g(), { + destroy: v + } + }, t.snowflakeCursor = function (t) { + let e, n, i, o = t && t.element, + s = o || document.body, + h = ["❄️"], + c = window.innerWidth, + l = window.innerHeight, + a = { + x: c / 2, + y: c / 2 + }, + r = [], + d = []; + const u = window.matchMedia("(prefers-reduced-motion: reduce)"); + + function A() { + if (u.matches) return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"), !1; + e = document.createElement("canvas"), n = e.getContext("2d"), e.style.top = "0px", e.style.left = "0px", e.style.pointerEvents = "none", o ? (e.style.position = "absolute", s.appendChild(e), e.width = s.clientWidth, e.height = s.clientHeight) : (e.style.position = "fixed", document.body.appendChild(e), e.width = c, e.height = l), n.font = "12px serif", n.textBaseline = "middle", n.textAlign = "center", h.forEach((t => { + let e = n.measureText(t), + i = document.createElement("canvas"), + o = i.getContext("2d"); + i.width = e.width, i.height = 2 * e.actualBoundingBoxAscent, o.textAlign = "center", o.font = "12px serif", o.textBaseline = "middle", o.fillText(t, i.width / 2, e.actualBoundingBoxAscent), d.push(i) + })), s.addEventListener("mousemove", f), s.addEventListener("touchmove", g, { + passive: !0 + }), s.addEventListener("touchstart", g, { + passive: !0 + }), window.addEventListener("resize", m), y() + } + + function m(t) { + c = window.innerWidth, l = window.innerHeight, o ? (e.width = s.clientWidth, e.height = s.clientHeight) : (e.width = c, e.height = l) + } + + function g(t) { + if (t.touches.length > 0) + for (let e = 0; e < t.touches.length; e++) p(t.touches[e].clientX, t.touches[e].clientY, d[Math.floor(Math.random() * d.length)]) + } + + function f(t) { + if (o) { + const e = s.getBoundingClientRect(); + a.x = t.clientX - e.left, a.y = t.clientY - e.top + } else a.x = t.clientX, a.y = t.clientY; + p(a.x, a.y, d[Math.floor(Math.random() * h.length)]) + } + + function p(t, e, n) { + r.push(new w(t, e, n)) + } + + function y() { + ! function () { + if (0 != r.length) { + n.clearRect(0, 0, c, l); + for (let t = 0; t < r.length; t++) r[t].update(n); + for (let t = r.length - 1; t >= 0; t--) r[t].lifeSpan < 0 && r.splice(t, 1); + 0 == r.length && n.clearRect(0, 0, c, l) + } + }(), i = requestAnimationFrame(y) + } + + function v() { + e.remove(), cancelAnimationFrame(i), s.removeEventListener("mousemove", f), s.removeEventListener("touchmove", g), s.removeEventListener("touchstart", g), window.addEventListener("resize", m) + } + + function w(t, e, n) { + const i = Math.floor(60 * Math.random() + 80); + this.initialLifeSpan = i, this.lifeSpan = i, this.velocity = { + x: (Math.random() < .5 ? -1 : 1) * (Math.random() / 2), + y: 1 + Math.random() + }, this.position = { + x: t, + y: e + }, this.canv = n, this.update = function (t) { + this.position.x += this.velocity.x, this.position.y += this.velocity.y, this.lifeSpan--, this.velocity.x += 2 * (Math.random() < .5 ? -1 : 1) / 75, this.velocity.y -= Math.random() / 300; + const e = Math.max(this.lifeSpan / this.initialLifeSpan, 0), + n = .0174533 * (2 * this.lifeSpan); + t.translate(this.position.x, this.position.y), t.rotate(n), t.drawImage(this.canv, -this.canv.width / 2 * e, -this.canv.height / 2, this.canv.width * e, this.canv.height * e), t.rotate(-n), t.translate(-this.position.x, -this.position.y) + } + } + return u.onchange = () => { + u.matches ? v() : A() + }, A(), { + destroy: v + } + }, t.springyEmojiCursor = function (t) { + let e, n, i, o, s = t && t.emoji || "🤪", + h = t && t.element, + c = h || document.body, + l = window.innerWidth, + a = window.innerHeight, + r = { + x: l / 2, + y: l / 2 + }, + d = []; + const u = window.matchMedia("(prefers-reduced-motion: reduce)"); + + function A() { + if (u.matches) return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"), !1; + e = document.createElement("canvas"), n = e.getContext("2d"), e.style.top = "0px", e.style.left = "0px", e.style.pointerEvents = "none", h ? (e.style.position = "absolute", c.appendChild(e), e.width = c.clientWidth, e.height = c.clientHeight) : (e.style.position = "fixed", document.body.appendChild(e), e.width = l, e.height = a), n.font = "16px serif", n.textBaseline = "middle", n.textAlign = "center"; + let t = n.measureText(s), + i = document.createElement("canvas"), + r = i.getContext("2d"); + i.width = t.width, i.height = 2 * t.actualBoundingBoxAscent, r.textAlign = "center", r.font = "16px serif", r.textBaseline = "middle", r.fillText(s, i.width / 2, t.actualBoundingBoxAscent), o = i; + let A = 0; + for (A = 0; A < 7; A++) d[A] = new x(o); + c.addEventListener("mousemove", f), c.addEventListener("touchmove", g, { + passive: !0 + }), c.addEventListener("touchstart", g, { + passive: !0 + }), window.addEventListener("resize", m), p() + } + + function m(t) { + l = window.innerWidth, a = window.innerHeight, h ? (e.width = c.clientWidth, e.height = c.clientHeight) : (e.width = l, e.height = a) + } + + function g(t) { + if (t.touches.length > 0) + if (h) { + const e = c.getBoundingClientRect(); + r.x = t.touches[0].clientX - e.left, r.y = t.touches[0].clientY - e.top + } else r.x = t.touches[0].clientX, r.y = t.touches[0].clientY + } + + function f(t) { + if (h) { + const e = c.getBoundingClientRect(); + r.x = t.clientX - e.left, r.y = t.clientY - e.top + } else r.x = t.clientX, r.y = t.clientY + } + + function p() { + ! function () { + e.width = e.width, d[0].position.x = r.x, d[0].position.y = r.y; + for (let t = 1; t < 7; t++) { + let i = new v(0, 0); + t > 0 && w(t - 1, t, i), t < 6 && w(t + 1, t, i); + let o, s, h = new v(10 * -d[t].velocity.x, 10 * -d[t].velocity.y), + c = new v((i.X + h.X) / 1, (i.Y + h.Y) / 1 + 50); + d[t].velocity.x += .01 * c.X, d[t].velocity.y += .01 * c.Y, Math.abs(d[t].velocity.x) < .1 && Math.abs(d[t].velocity.y) < .1 && Math.abs(c.X) < .1 && Math.abs(c.Y) < .1 && (d[t].velocity.x = 0, d[t].velocity.y = 0), d[t].position.x += d[t].velocity.x, d[t].position.y += d[t].velocity.y, o = e.clientHeight, s = e.clientWidth, d[t].position.y >= o - 11 - 1 && (d[t].velocity.y > 0 && (d[t].velocity.y = .7 * -d[t].velocity.y), d[t].position.y = o - 11 - 1), d[t].position.x >= s - 11 && (d[t].velocity.x > 0 && (d[t].velocity.x = .7 * -d[t].velocity.x), d[t].position.x = s - 11 - 1), d[t].position.x < 0 && (d[t].velocity.x < 0 && (d[t].velocity.x = .7 * -d[t].velocity.x), d[t].position.x = 0), d[t].draw(n) + } + }(), i = requestAnimationFrame(p) + } + + function y() { + e.remove(), cancelAnimationFrame(i), c.removeEventListener("mousemove", f), c.removeEventListener("touchmove", g), c.removeEventListener("touchstart", g), window.addEventListener("resize", m) + } + + function v(t, e) { + this.X = t, this.Y = e + } + + function w(t, e, n) { + let i = d[t].position.x - d[e].position.x, + o = d[t].position.y - d[e].position.y, + s = Math.sqrt(i * i + o * o); + if (s > 10) { + let t = 10 * (s - 10); + n.X += i / s * t, n.Y += o / s * t + } + } + + function x(t) { + this.position = { + x: r.x, + y: r.y + }, this.velocity = { + x: 0, + y: 0 + }, this.canv = t, this.draw = function (t) { + t.drawImage(this.canv, this.position.x - this.canv.width / 2, this.position.y - this.canv.height / 2, this.canv.width, this.canv.height) + } + } + return u.onchange = () => { + u.matches ? y() : A() + }, A(), { + destroy: y + } + }, t.textFlag = function (t) { + let e, n, i, o = t || {}, + s = t && t.element, + h = s || document.body, + c = o.text ? " " + t.text : " Your Text Here", + l = t?.color || "#000000", + a = o.font || "monospace", + r = o.textSize || 12, + d = r + "px " + a, + u = o.gap || r + 2, + A = 0, + m = [], + g = window.innerWidth, + f = window.innerHeight, + p = { + x: g / 2, + y: g / 2 + }; + for (let t = 0; t < c.length; t++) m[t] = { + letter: c.charAt(t), + x: g / 2, + y: g / 2 + }; + t?.size; + const y = window.matchMedia("(prefers-reduced-motion: reduce)"); + + function v() { + if (y.matches) return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"), !1; + e = document.createElement("canvas"), n = e.getContext("2d"), e.style.top = "0px", e.style.left = "0px", e.style.pointerEvents = "none", s ? (e.style.position = "absolute", h.appendChild(e), e.width = h.clientWidth, e.height = h.clientHeight) : (e.style.position = "fixed", document.body.appendChild(e), e.width = g, e.height = f), h.addEventListener("mousemove", x), window.addEventListener("resize", w), E() + } + + function w(t) { + g = window.innerWidth, f = window.innerHeight, s ? (e.width = h.clientWidth, e.height = h.clientHeight) : (e.width = g, e.height = f) + } + + function x(t) { + if (s) { + const e = h.getBoundingClientRect(); + p.x = t.clientX - e.left, p.y = t.clientY - e.top + } else p.x = t.clientX, p.y = t.clientY + } + + function E() { + ! function () { + n.clearRect(0, 0, g, f), A += .15; + let t = 2 * Math.cos(A), + e = 5 * Math.sin(A); + for (let t = m.length - 1; t > 0; t--) m[t].x = m[t - 1].x + u, m[t].y = m[t - 1].y, n.fillStyle = l, n.font = d, n.fillText(m[t].letter, m[t].x, m[t].y); + let i = m[0].x, + o = m[0].y; + i += (p.x - i) / 5 + t + 2, o += (p.y - o) / 5 + e, m[0].x = i, m[0].y = o + }(), i = requestAnimationFrame(E) + } + + function M() { + e.remove(), cancelAnimationFrame(i), h.removeEventListener("mousemove", x), window.addEventListener("resize", w) + } + return y.onchange = () => { + y.matches ? M() : v() + }, v(), { + destroy: M + } + }, t.trailingCursor = function (t) { + let e, n, i, o = t && t.element, + s = o || document.body, + h = window.innerWidth, + c = window.innerHeight, + l = { + x: h / 2, + y: h / 2 + }, + a = []; + const r = t?.particles || 15, + d = t?.rate || .4, + u = t?.baseImageSrc || "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAATCAYAAACk9eypAAAAAXNSR0IArs4c6QAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAhGVYSWZNTQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABSASgAAwAAAAEAAgAAh2kABAAAAAEAAABaAAAAAAAAAEgAAAABAAAASAAAAAEAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADKADAAQAAAABAAAAEwAAAAAChpcNAAAACXBIWXMAAAsTAAALEwEAmpwYAAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAAABqElEQVQoFY3SPUvDQBgH8BREpRHExYiDgmLFl6WC+AYmWeyLg4i7buJX8DMpOujgyxGvUYeCgzhUQUSKKLUS0+ZyptXh8Z5Ti621ekPyJHl+uftfomhaf9Ei5JyxXKfynyEA6EYcLHpwyflT958GAQ7DTABNHd8EbtDbEH2BD5QEQmi2mM8P/Iq+A0SzszEg+3sPjDnDdVEtQKQbMUidHD3xVzf6A9UDEmEm+8h9KTqTVUjT+vB53aHrCbAPiceYq1dQI1Aqv4EhMll0jzv+Y0yiRgCnLRSYyDQHVoqUXe4uKL9l+L7GXC4vkMhE6eW/AOJs9k583ORDUyXMZ8F5SVHVVnllmPNKSFagAJ5DofaqGXw/gHBYg51dIldkmknY3tguv3jOtHR4+MqAzaraJXbEhqHhcQlwGSOi5pytVQHZLN5s0WNe8HPrLYlFsO20RPHkImxsbmHdLJFI76th7Z4SeuF53hTeFLvhRCJRCTKZKxgdnRDbW+iozFJbBMw14/ElwGYc0egMBMFzT21f5Rog33Z7dX02GBm7WV5ZfT5Nn5bE3zuCDe9UxdTpNvK+5AAAAABJRU5ErkJggg=="; + let A = !1, + m = new Image; + m.src = u; + const g = window.matchMedia("(prefers-reduced-motion: reduce)"); + + function f() { + if (g.matches) return console.log("This browser has prefers reduced motion turned on, so the cursor did not init"), !1; + e = document.createElement("canvas"), n = e.getContext("2d"), e.style.top = "0px", e.style.left = "0px", e.style.pointerEvents = "none", o ? (e.style.position = "absolute", s.appendChild(e), e.width = s.clientWidth, e.height = s.clientHeight) : (e.style.position = "fixed", document.body.appendChild(e), e.width = h, e.height = c), s.addEventListener("mousemove", y), window.addEventListener("resize", p), v() + } + + function p(t) { + h = window.innerWidth, c = window.innerHeight, o ? (e.width = s.clientWidth, e.height = s.clientHeight) : (e.width = h, e.height = c) + } + + function y(t) { + if (o) { + const e = s.getBoundingClientRect(); + l.x = t.clientX - e.left, l.y = t.clientY - e.top + } else l.x = t.clientX, l.y = t.clientY; + if (!1 === A) { + A = !0; + for (let t = 0; t < r; t++) e = l.x, n = l.y, i = m, a.push(new x(e, n, i)) + } + var e, n, i + } + + function v() { + ! function () { + n.clearRect(0, 0, h, c); + let t = l.x, + e = l.y; + a.forEach((function (i, o, s) { + let h = s[o + 1] || s[0]; + i.position.x = t, i.position.y = e, i.move(n), t += (h.position.x - i.position.x) * d, e += (h.position.y - i.position.y) * d + })) + }(), i = requestAnimationFrame(v) + } + + function w() { + e.remove(), cancelAnimationFrame(i), s.removeEventListener("mousemove", y), window.addEventListener("resize", p) + } + + function x(t, e, n) { + this.position = { + x: t, + y: e + }, this.image = n, this.move = function (t) { + t.drawImage(this.image, this.position.x, this.position.y) + } + } + return g.onchange = () => { + g.matches ? w() : f() + }, f(), { + destroy: w + } + }, Object.defineProperty(t, "__esModule", { + value: !0 + }), t +}({}); + +window.onload = function() { + + cursoreffects.fairyDustCursor({ + element: document.body, + color: "#FFFFFF" + }) +}; \ No newline at end of file diff --git a/bio/style.css b/bio/style.css new file mode 100644 index 0000000..150cd7c --- /dev/null +++ b/bio/style.css @@ -0,0 +1,375 @@ +html, body { + margin: 0; + padding: 0; + height: 100%; + width: 100%; + display: flex; + justify-content: center; + align-items: center; + font-family: monospace; + background-color: black; + overflow: hidden; + color: white !important; +} + +@font-face { + font-family: 'PF Tempesta Five'; + font-style: normal; + font-weight: 400; + src: local('PF Tempesta Five'), url('https://fonts.cdnfonts.com/s/7373/pf_tempesta_five.woff') format('woff'); +} + +@font-face { + font-family: 'Pixel'; + src: url('Pixel.ttf'); +} + +.phone { + display: none; +} + +.clickToEnter { + position: absolute; + width: 100%; + height: 100%; + z-index: 999; + display: flex; + justify-content: center; + align-items: center; + font-size: 2.5em; + font-weight: bold; + background-color: rgba(9, 9, 9, 0.95); + backdrop-filter: blur(20px); + transition: 1s; +} + +.click123 { + margin-bottom: 45%; + font-size: 0.5em; + color: rgb(120, 120, 120); + pointer-events: none; + user-select: none; +} + +.ascii { + width: 10em; + position: fixed; + pointer-events: none; + user-select: none; +} + +.cool { + opacity: 0.7; + height: 3px; + width: 100%; + background: linear-gradient(to right, transparent, white, transparent); + margin-left: 50%; + transform: translateX(-50%); + +} + +.player { + opacity: 0; + transition-delay: 0.1s; + transition-duration: 1s; + background: rgba(255, 255, 255, 0.02); + backdrop-filter: blur(10px); + border-radius: 15px; + padding: 20px; + text-align: center; + width: 90%; + max-width: 400px; + height: auto; + z-index: 2; + border: 2px solid rgba(150, 150, 150, 0.25); + box-sizing: border-box; + margin: 10px; + margin-top: 200px; +} + +.player h1 { + font-family: 'PF Tempesta Five', monospace; + margin: 0; + font-size: 24px; + color: white; + text-shadow: #000000 3px 2px 7px !important; +} + +.player p { + color: #ffffff; + font-size: 16px; + text-shadow: #000000 3px 2px 7px !important; + margin-bottom: -5px; + margin-top: 5px; +} + +.player #typewriter { + color: white; + font-size: 16px; + display: flex; + justify-content: center; + margin-top: 5px; + margin-bottom: -5px; +} + +#typewriter-line { + font-size: 16px; +} + +#enter, #video { + display: none; +} + +.pfp { + width: 96px; + margin-top: -20%; + border-radius: 50%; + pointer-events: none; + user-select: none; + border: 3px solid rgba(150, 150, 150, 0.25); +} + +.video-container { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + display: flex; + justify-content: center; + align-items: center; + pointer-events: none; + z-index: 0; + text-align: center; +} + +#videoPlayer { + height: 100%; +} + +.icons { + display: flex; + justify-content: center; + gap: 15px; + margin-top: 20px; + margin-bottom: 13px; + color: #ffffff !important; + filter: drop-shadow(#000000 1px 0 7px) !important; +} + +.dc, .ig, .lk, .bc, .et, .lc, .xm { + bottom: 50%; + left: 50%; + pointer-events: none; + cursor: pointer; + transition: 0.2s; +} + +.dci, .igi, .lki, .bci, .eti, .lci, .xmi { + pointer-events: all; + transition: 0.2s; + width: 2.75em; + height: 2.75em; +} + +.dci:hover, .igi:hover, .lki:hover, .bci:hover, .eti:hover, .lci:hover, .xmi:hover { + transform: scale(1.1); +} + +.controls { + display: flex; + justify-content: center; + gap: 16px; + align-items: center; + color: white; + margin-top: 10px; +} + +.controls button { + background: none; + border: none; + color: white; + font-size: 16px; + cursor: pointer; + border-radius: 7px; + width: 40px; + height: 30px; + background-color: rgba(255, 255, 255, 0.1); + backdrop-filter: blur(10px); + box-shadow: #000000 3px 3px 20px !important; + border: 2px solid rgba(150, 150, 150, 0.25); + text-shadow: #000000 3px 2px 7px !important; +} + +.controls button:active { + transform: translateY(1px); +} + +.slider { + -webkit-appearance: none; + appearance: none; + width: 90%; + max-width: 380px; + height: 10px; + background: linear-gradient(to right, #ffffff 0%, #ffffff 0%, #cbcbcb 0%, #cbcbcb 100%); + outline: none; + border-radius: 5px; + margin-top: 20px; + cursor: pointer; + box-shadow: #000000 3px 3px 20px !important; + transition: 100ms; +} + +.slider::-webkit-slider-thumb, #volumeSlider::-webkit-slider-thumb { + -webkit-appearance: none; + appearance: none; + width: 12px; + height: 12px; + border-radius: 50%; + background: #ffffff; + cursor: pointer; + z-index: 3; + position: relative; + border: 1px solid #ffffff; + filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.5)); + transition: 100ms; +} + +.slider::-moz-range-thumb, #volumeSlider::-moz-range-thumb { + width: 12px; + height: 12px; + border-radius: 50%; + background: #ffffff; + cursor: pointer; + z-index: 3; + position: relative; + border: 1px solid #ffffff; + filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.5)); + transition: 100ms; +} + +.slider-container { + display: flex; + justify-content: center; + align-items: center; + gap: 10px; + color: white; + margin-top: 10px; +} + +.slider-container span { + color: white; + font-size: 14px; +} + +.volume-control { + display: flex; + align-items: center; + justify-content: center; + margin-top: 10px; +} + +#volumeSlider { + -webkit-appearance: none; + appearance: none; + width: 100px; + height: 10px; + background: linear-gradient(to right, #ffffff 0%, #ffffff 0%, #cbcbcb 0%, #cbcbcb 100%); + outline: none; + border-radius: 5px; + cursor: pointer; + box-shadow: #000000 3px 3px 20px !important; +} + +#volumeSlider::-webkit-slider-thumb { + -webkit-appearance: none; + appearance: none; + width: 12px; + height: 12px; + border-radius: 50%; + background: #ffffff; + cursor: pointer; + z-index: 3; + position: relative; + border: 1px solid #ffffff; +} + +#volumeSlider::-moz-range-thumb { + width: 12px; + height: 12px; + border-radius: 50%; + background: #ffffff; + cursor: pointer; + z-index: 3; + position: relative; + border: 1px solid #ffffff; +} + +#currentTime, #totalDuration { + text-shadow: #000000 3px 2px 7px !important; +} + +.volume_Percent { + width: 100%; + margin-top: 5px; + text-align: center; +} + +.volume { + justify-content: center; + text-align: center; + margin-bottom: 5px; +} + +.blurBG { + backdrop-filter: blur(0); + width: 105%; + height: 110%; + border-radius: 10px; + background-color: rgba(150, 150, 150, 0.1); + border: 2px solid rgba(150, 150, 150, 0.25); + justify-content: center; + text-align: center; + margin-left: 50%; + margin-top: 20px; + transform: translateX(-50%); +} + +@media (max-width: 768px) { + #video { + display: none !important; + } + .pc { + display: none; + } + .phone { + display: block; + } + .slider { + width: 80%; + max-width: 300px; + } + #volumeSlider { + width: 120px; + } + .volume_Percent { + margin-top: 10px; + text-align: center; + } + .dci, .igi, .lki, .bci, .eti, .lci, .xmi { + pointer-events: all; + transition: 0.2s; + width: 2em; + height: 2em; + } +} + +div.duration-info { + display: flex; + gap: 277px; + margin-left: 20px; +} + +button { + user-select: none; +} \ No newline at end of file diff --git a/old/index.html b/old/index.html index be25743..19e8360 100644 --- a/old/index.html +++ b/old/index.html @@ -78,10 +78,10 @@ Linkz: