PageSourceSearch

https://soe.fm/artists/

html soe.fm collected 2026-10-04 20:19:42 UTC 36,589 bytes, 501 lines download raw bytes

1<!doctype html>
2<html lang="en-GB">
3<head>
4<meta name="viewport" content="initial-scale=1, width=device-width">
5<meta charset="UTF-8">
6<meta name="author" content="soe.fm">
7<meta name="copyright" content="Copyright (c)2026 soe.fm">
8<meta name="generator" content="soe.media">
9<meta name="keywords" content="Artists, Sound of Eastside">
10<link rel="profile" href="http://gmpg.org/xfn/11">
11<meta name="description" content="Here you will find the Sound of Eastside artists.">
12<title>Artists - Sound of Eastside</title>
13<meta property="fb:app_id" content="1075777299150306">
14<meta property="og:image:width" content="1200">
15<meta property="og:image:height" content="627">
16<meta property="og:title" content="Artists">
17<meta property="og:description" content="Here you will find the Sound of Eastside artists.">
18<meta property="og:type" content="website">
19<meta property="og:url" content="https://soe.fm/artists/">
20<meta property="og:image" content="https://soe.fm/wp-content/themes/wp-bootstrap-4-child/assets/images/generic/generic_ogimg.jpg">
21<meta name="twitter:card" content="summary">
22<meta name="twitter:domain" content="https://soe.fm">
23<meta name="twitter:url" content="https://soe.fm/artists/">
24<meta name="twitter:title" content="Artists">
25<meta name="twitter:description" content="Here you will find the Sound of Eastside artists.">
26<meta name="twitter:image:src" content="https://soe.fm/wp-content/themes/wp-bootstrap-4-child/assets/images/generic/generic_ogimg.jpg">
27<meta name='robots' content='max-image-preview:large' />
28<link rel="alternate" type="application/rss+xml" title="Sound of Eastside &raquo; Feed" href="https://soe.fm/feed/" />
29<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://soe.fm/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fsoe.fm%2Fartists%2F" />
30<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://soe.fm/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fsoe.fm%2Fartists%2F&#038;format=xml" />
31<style id="wp-img-auto-sizes-contain-inline-css">
32img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
33/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
34</style>
35
36<style id="global-styles-inline-css">
37:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
37--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
37.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
38/*# sourceURL=global-styles-inline-css */
39</style>
40
41<link rel='stylesheet' id='bootstrap-4-css' href='https://soe.fm/wp-content/themes/wp-bootstrap-4-child/assets/bootstrap/css/bootstrap.min.css?ver=v4.6' media='all' />
42<link rel='stylesheet' id='fontawesome-css-css' href='https://soe.fm/wp-content/themes/wp-bootstrap-4-child/assets/fonts/fontawesome/css/all.min.css?ver=v5.7.2' media='all' />
43<link rel='stylesheet' id='lity-style-css' href='https://soe.fm/wp-content/themes/wp-bootstrap-4-child/assets/lity/lity.min.css' media='all' />
44<link rel='stylesheet' id='parent-style-css' href='https://soe.fm/wp-content/themes/wp-bootstrap-4/style.css' media='all' />
45<link rel='stylesheet' id='wp-bootstrap-4-style-css' href='https://soe.fm/wp-content/themes/wp-bootstrap-4-child/style.css?ver=1.0.2' media='all' />
46<link rel="https://api.w.org/" href="https://soe.fm/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://soe.fm/wp-json/wp/v2/pages/81" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://soe.fm/xmlrpc.php?rsd" />
47<link rel="canonical" href="https://soe.fm/artists/" />
48<link rel='shortlink' href='https://soe.fm/?p=81' />
49<meta name="og:url" content="https://soe.fm/artists/" /><link rel="icon" href="https://soe.fm/wp-content/uploads/2020/03/cropped-index-32x32.png" sizes="32x32" />
50<link rel="icon" href="https://soe.fm/wp-content/uploads/2020/03/cropped-index-192x192.png" sizes="192x192" />
51<link rel="apple-touch-icon" href="https://soe.fm/wp-content/uploads/2020/03/cropped-index-180x180.png" />
52<meta name="msapplication-TileImage" content="https://soe.fm/wp-content/uploads/2020/03/cropped-index-270x270.png" />
53</head>
54<body class="wp-singular page-template-default page page-id-81 wp-theme-wp-bootstrap-4 wp-child-theme-wp-bootstrap-4-child bg-white header-top  slug-artists">
55
56<div id="page" class="site">
57	<a class="skip-link screen-reader-text" href="#content">Skip to content</a>
58
59	<header id="masthead" class="site-header fixed-top">
60		<nav id="site-navigation" class="main-navigation navbar navbar-expand-lg navbar-dark bg-dark">
61			<div class="container">				
62				<div class="site-branding-text">
63									<div class="site-title h3 mb-0"><a href="https://soe.fm/" rel="home" class="navbar-brand mb-0">
64						Sound of Eastside</a></div>
65								</div>
66				<button class="navbar-toggler" id="animated-toggler" type="button" data-toggle="collapse" data-target="#primary-menu-wrap" aria-controls="primary-menu-wrap" aria-expanded="false" aria-label="Toggle navigation">
67					<span></span>
68					<span></span>
69					<span></span>
70				</button>
71				<div id="primary-menu-wrap" class="collapse navbar-collapse offcanvas-collapse mt-2 mt-lg-0"><ul id="primary-menu" class="navbar-nav ml-auto"><li class="nav-item active  menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-81 current_page_item"><a href="https://soe.fm/artists/" class="nav-link">Artists</a></li>
72<li class="nav-item menu-item menu-item-type-custom menu-item-object-custom"><a href="/podcasts" class="nav-link">Podcasts</a></li>
73<li class="nav-item menu-item menu-item-type-custom menu-item-object-custom"><a href="/guests" class="nav-link">Guests</a></li>
74<li class="nav-item menu-item menu-item-type-custom menu-item-object-custom"><a href="/events" class="nav-link">Events</a></li>
75</ul></div>			</div><!-- /.container -->		</nav><!-- #site-navigation -->
76	</header><!-- #masthead -->
77
78	<div id="content" class="site-content">
79<div class="container mt-30">
80<main id="main" class="site-main">
81<h1 class="text-center text-uppercase font-weight-300 line-behind mb-30"><span class="bg-white px-4">Artists</span></h1>
82<div class="row">
83<div class="col-sm-12 col-md-6 col-lg-4 mb-30">
84<a class="d-block card text-reset text-decoration-none shadow-sm featured-thumb h-100 artist-card" href="https://soe.fm/ronny-gee/" title="Ronny Gee">
85<div class="overflow-hidden">
86<img src="https://soe.fm/wp-content/uploads/2020/03/Ronny-Gee-800x800.jpg" class="img-fluid w-100" alt="Artist-Image: Ronny Gee">
87</div>
88<div class="card-body text-center">
89<h3 class="card-title h4 font-eurostile mb-0">Ronny Gee</h3>
90</div>
91</a>
92</div>
93<div class="col-sm-12 col-md-6 col-lg-4 mb-30">
94<a class="d-block card text-reset text-decoration-none shadow-sm featured-thumb h-100 artist-card" href="https://soe.fm/dextar/" title="Dextar">
95<div class="overflow-hidden">
96<img src="https://soe.fm/wp-content/uploads/2023/07/dextar-800x800.jpg" class="img-fluid w-100" alt="Artist-Image: Dextar">
97</div>
98<div class="card-body text-center">
99<h3 class="card-title h4 font-eurostile mb-0">Dextar</h3>
100</div>
101</a>
102</div>
103<div class="col-sm-12 col-md-6 col-lg-4 mb-30">
104<a class="d-block card text-reset text-decoration-none shadow-sm featured-thumb h-100 artist-card" href="https://soe.fm/death-mode/" title="Death Mode">
105<div class="overflow-hidden">
106<img src="https://soe.fm/wp-content/themes/wp-bootstrap-4-child/assets/images/generic/generic_1000x1000.jpg" class="img-fluid w-100" alt="Generic Artist-Image">
107</div>
108<div class="card-body text-center">
109<h3 class="card-title h4 font-eurostile mb-0">Death Mode</h3>
110</div>
111</a>
112</div>
113</div>
114</main>
115</div>
116
117	</div><!-- #content -->
118
119	<footer id="colophon" class="site-footer border-top bg-white mt-4 text-muted">
120
121<section class="footer-widgets text-left">
122<div class="container">
123<div class="row">
124<div class="col-md-12 col-lg-6">
125<aside class="widget-area footer-1-area mb-2">
126<section id="text-5" class="widget wp-bp-footer-widget widget_text"><h5 class="widget-title">About</h5>			<div class="textwidget"><p class="footer-contact">Sound of Eastside is not a style, it is rather a brand. It reflects the experience of more than 25 years of two DJs who always are looking for new and fresh sounds, ranging from Electronica to Techno &#8211; seasoned with a propensity for a healthy Underground attitude, but without losing themselves. It offers an alternative for the older generation with a careful selection of the best club sounds and artists.</p>
127</div>
128		</section></aside>
129</div>
130<div class="col-md-12 col-lg-6">
131<aside class="widget-area footer-2-area mb-2">
132<section id="search-3" class="widget wp-bp-footer-widget widget_search"><h5 class="widget-title">Search</h5><form role="search" method="get" class="searchform wp-bootstrap-4-searchform" action="https://soe.fm/">
133	<div class="form-group mb-0">
134		<label class="sr-only" for="mainsearch">Search</label>
135		<div class="input-group">
136			<input type="text" class="form-control rounded-0 s" name="s" id="mainsearch" placeholder="Type&hellip;" value="" >
137			<div class="input-group-append">
138				<button class="btn btn-outline-secondary rounded-0" type="submit"><i class="fas fa-search" aria-hidden="true"></i><span class="sr-only">Search</span></button>
139			</div>
140		</div>
141	</div>
142</form>
143</section><section id="contact-4" class="widget wp-bp-footer-widget widget_contact"><h5 class="widget-title">Contact</h5><div class="row mb-30">
144<div class="col-md-3">
145<a href="https://www.facebook.com/soundofeastside" target="_blank" class="media py-2 text-decoration-none" title="Facebook">
146	<i class="fab fa-facebook-square fa-2x fa-fw align-self-start mr-1 text-muted" aria-hidden="true"></i>
147		<div class="media-body align-self-center">
148			<p class="h6 mb-0">Facebook</p>
149		</div>
150</a>
151</div>
152<div class="col-md-3">
153<a href="mailto:[email protected]" target="_blank" class="media py-2 text-decoration-none" title="E-Mail">
154	<i class="fas fa-at fa-2x fa-fw align-self-start mr-1 text-muted" aria-hidden="true"></i>
155		<div class="media-body align-self-center">
156			<p class="h6 mb-0">E-Mail</p>
157		</div>
158</a>
159</div>
160</div>
161</section></aside>
162</div>
163</div>
164</div>
165</section>
166		<div class="container text-center">
167			<div class="site-info small">
168				<p class="m-0"><a href="/imprint">Imprint</a> <span class="sep"> | </span> <a href="/privacy-policy">Privacy Policy</a></p>
169				&copy; 2026 soe.fm
170			</div><!-- .site-info -->
171		</div>
172		<!-- /.container -->
173	</footer><!-- #colophon -->
174</div><!-- #page -->
175
176<script type="speculationrules">
177{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/wp-bootstrap-4-child/*","/wp-content/themes/wp-bootstrap-4/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
178</script>
178
179        
179<script id="independent-analytics-script"   >
180            // Do not change this comment line otherwise Speed Optimizer won't be able to detect this script
181
182            (function () {
183                function sendRequest(url, body) {
184                    if(!window.fetch) {
185                        const xhr = new XMLHttpRequest();
186                        xhr.open("POST", url, true);
187                        xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
188                        xhr.send(JSON.stringify(body))
189                        return
190                    }
191
192                    const request = fetch(url, {
193                        method: 'POST',
194                        body: JSON.stringify(body),
195                        keepalive: true,
196                        headers: {
197                            'Content-Type': 'application/json;charset=UTF-8'
198                        }
199                    });
200                }
201                const calculateParentDistance = (child, parent) => {
202                    let count = 0;
203                    let currentElement = child;
204
205                    // Traverse up the DOM tree until we reach parent or the top of the DOM
206                    while (currentElement && currentElement !== parent) {
207                        currentElement = currentElement.parentNode;
208                        count++;
209                    }
210
211                    // If parent was not found in the hierarchy, return -1
212                    if (!currentElement) {
213                        return -1; // Indicates parent is not an ancestor of element
214                    }
215
216                    return count; // Number of layers between element and parent
217                }
218                const isMatchingClass = (linkRule, href, classes, ids) => {
219                    return classes.includes(linkRule.value)
220                }
221                const isMatchingId = (linkRule, href, classes, ids) => {
222                    return ids.includes(linkRule.value)
223                }
224                const isMatchingDomain = (linkRule, href, classes, ids) => {
225                    if(!URL.canParse(href)) {
226                        return false
227                    }
228
229                    const url = new URL(href)
230                    const host = url.host
231                    const hostsToMatch = [host]
232
233                    if(host.startsWith('www.')) {
234                        hostsToMatch.push(host.substring(4))
235                    } else {
236                        hostsToMatch.push('www.' + host)
237                    }
238
239                    return hostsToMatch.includes(linkRule.value)
240                }
241                const isMatchingExtension = (linkRule, href, classes, ids) => {
242                    if(!URL.canParse(href)) {
243                        return false
244                    }
245
246                    const url = new URL(href)
247
248                    return url.pathname.endsWith('.' + linkRule.value)
249                }
250                const isMatchingSubdirectory = (linkRule, href, classes, ids) => {
251                    if(!URL.canParse(href)) {
252                        return false
253                    }
254
255                    const url = new URL(href)
256
257                    return url.pathname.startsWith('/' + linkRule.value + '/')
258                }
259                const isMatchingProtocol = (linkRule, href, classes, ids) => {
260                    if(!URL.canParse(href)) {
261                        return false
262                    }
263
264                    const url = new URL(href)
265
266                    return url.protocol === linkRule.value + ':'
267                }
268                const isMatchingExternal = (linkRule, href, classes, ids) => {
269                    if(!URL.canParse(href) || !URL.canParse(document.location.href)) {
270                        return false
271                    }
272
273                    const matchingProtocols = ['http:', 'https:']
274                    const siteUrl = new URL(document.location.href)
275                    const linkUrl = new URL(href)
276
277                    // Links to subdomains will appear to be external matches according to JavaScript,
278                    // but the PHP rules will filter those events out.
279                    return matchingProtocols.includes(linkUrl.protocol) && siteUrl.host !== linkUrl.host
280                }
281                const isMatch = (linkRule, href, classes, ids) => {
282                    switch (linkRule.type) {
283                        case 'class':
284                            return isMatchingClass(linkRule, href, classes, ids)
285                        case 'id':
286                            return isMatchingId(linkRule, href, classes, ids)
287                        case 'domain':
288                            return isMatchingDomain(linkRule, href, classes, ids)
289                        case 'extension':
290                            return isMatchingExtension(linkRule, href, classes, ids)
291                        case 'subdirectory':
292                            return isMatchingSubdirectory(linkRule, href, classes, ids)
293                        case 'protocol':
294                            return isMatchingProtocol(linkRule, href, classes, ids)
295                        case 'external':
296                            return isMatchingExternal(linkRule, href, classes, ids)
297                        default:
298                            return false;
299                    }
300                }
301                const track = (element) => {
302                    const href = element.href ?? null
303                    const classes = Array.from(element.classList)
304                    const ids = [element.id]
305                    const linkRules = [{"type":"extension","value":"pdf"},{"type":"extension","value":"zip"},{"type":"protocol","value":"mailto"},{"type":"protocol","value":"tel"}]
306                    if(linkRules.length === 0) {
307                        return
308                    }
309
310                    // For link rules that target an id, we need to allow that id to appear
311                    // in any ancestor up to the 7th ancestor. This loop looks for those matches
312                    // and counts them.
313                    linkRules.forEach((linkRule) => {
314                        if(linkRule.type !== 'id') {
315                            return;
316                        }
317
318                        const matchingAncestor = element.closest('#' + linkRule.value)
319
320                        if(!matchingAncestor || matchingAncestor.matches('html, body')) {
321                            return;
322                        }
323
324                        const depth = calculateParentDistance(element, matchingAncestor)
325
326                        if(depth < 7) {
327                            ids.push(linkRule.value)
328                        }
329                    });
330
331                    // For link rules that target a class, we need to allow that class to appear
332                    // in any ancestor up to the 7th ancestor. This loop looks for those matches
333                    // and counts them.
334                    linkRules.forEach((linkRule) => {
335                        if(linkRule.type !== 'class') {
336                            return;
337                        }
338
339                        const matchingAncestor = element.closest('.' + linkRule.value)
340
341                        if(!matchingAncestor || matchingAncestor.matches('html, body')) {
342                            return;
343                        }
344
345                        const depth = calculateParentDistance(element, matchingAncestor)
346
347                        if(depth < 7) {
348                            classes.push(linkRule.value)
349                        }
350                    });
351
352                    const hasMatch = linkRules.some((linkRule) => {
353                        return isMatch(linkRule, href, classes, ids)
354                    })
355
356                    if(!hasMatch) {
357                        return
358                    }
359
360                    const url = "https://soe.fm/wp-content/plugins/independent-analytics-pro/iawp-click-endpoint.php";
361                    const siteId = "";
362                    const body = {
363                        href: href,
364                        classes: classes.join(' '),
365                        ids: ids.join(' '),
366                        siteId: siteId,
367                        ...{"payload":{"resource":"singular","singular_id":81,"page":1},"signature":"7bcf2dcf3038522c757a4391f8c56468"}                    };
368
369                    sendRequest(url, body)
370                }
371                let hasSearched = false;
372                function search() {
373                    if(hasSearched) {
374                        return;
375                    }
376                    hasSearched = true;
377
378                    if (document.hasOwnProperty("visibilityState") && document.visibilityState === "prerender") {
379                        return;
380                    }
381
382                                            if (navigator.webdriver || /bot|crawler|spider|crawling|semrushbot|chrome-lighthouse/i.test(navigator.userAgent)) {
383                            return;
384                        }
385                    
386                    let referrer_url = null;
387
388                    if (typeof document.referrer === 'string' && document.referrer.length > 0) {
389                        referrer_url = document.referrer;
390                    }
391
392                    const params = location.search.slice(1).split('&').reduce((acc, s) => {
393                        const [k, v] = s.split('=');
394                        return Object.assign(acc, {[k]: v});
395                    }, {});
396
397                    const url = "https://soe.fm/wp-json/iawp/search";
398                    const body = {
399                        referrer_url,
400                        utm_source: params.utm_source,
401                        utm_medium: params.utm_medium,
402                        utm_campaign: params.utm_campaign,
403                        utm_term: params.utm_term,
404                        utm_content: params.utm_content,
405                        gclid: params.gclid,
406                        ...{"payload":{"resource":"singular","singular_id":81,"page":1},"signature":"7bcf2dcf3038522c757a4391f8c56468"}                    };
407
408                    sendRequest(url, body)
409                }
410                document.addEventListener('mousedown', function (event) {
411                                        if (navigator.webdriver || /bot|crawler|spider|crawling|semrushbot|chrome-lighthouse/i.test(navigator.userAgent)) {
412                        return;
413                    }
414                    
415                    const element = event.target.closest('a')
416
417                    if(!element) {
418                        return
419                    }
420
421                    const isPro = true
422                    if(!isPro) {
423                        return
424                    }
425
426                    // Don't track left clicks with this event. The click event is used for that.
427                    if(event.button === 0) {
428                        return
429                    }
430
431                    track(element)
432                })
433                document.addEventListener('click', function (event) {
434                                        if (navigator.webdriver || /bot|crawler|spider|crawling|semrushbot|chrome-lighthouse/i.test(navigator.userAgent)) {
435                        return;
436                    }
437                    
438                    const element = event.target.closest('a, button, input[type="submit"], input[type="button"]')
439
440                    if(!element) {
441                        return
442                    }
443
444                    const isPro = true
445                    if(!isPro) {
446                        return
447                    }
448
449                    track(element)
450                })
451                document.addEventListener('play', function (event) {
452                                        if (navigator.webdriver || /bot|crawler|spider|crawling|semrushbot|chrome-lighthouse/i.test(navigator.userAgent)) {
453                        return;
454                    }
455                    
456                    const element = event.target.closest('audio, video')
457
458                    if(!element) {
459                        return
460                    }
461
462                    const isPro = true
463                    if(!isPro) {
464                        return
465                    }
466
467                    track(element)
468                }, true)
469                document.addEventListener("DOMContentLoaded", function (e) {
470                    search();
471                });
472                document.addEventListener("iawpSearch", function (e) {
473                    search();
474                });
475            })();
476        </script>
476
477        
477<script id='kirki-viewport-lists'>var kirkiViewports = {"md":{"value":1200,"scale":1,"minWidth":1200,"maxWidth":1200,"title":"Desktop","icon":"desktop","activeIcon":"desktop-hover","details":"Styles added here will be applied globally.","guides":null,"id":"md","type":"max"},"tablet":{"value":991,"scale":1,"minWidth":991,"maxWidth":991,"title":"Tablet","icon":"tablet-default","activeIcon":"tablet-hover","details":"Styles added here will apply at 991px and below.","guides":null,"type":"max","id":"tablet"},"mobileLandscape":{"value":767,"scale":1,"minWidth":767,"maxWidth":767,"title":"Landscape","icon":"phone-hr-default","activeIcon":"phone-hr-hover","details":"Styles added here will apply at 767px and below.","guides":null,"type":"max","id":"mobileLandscape"},"mobile":{"value":575,"scale":1,"minWidth":575,"maxWidth":575,"title":"Mobile","icon":"phone-vr-default","activeIcon":"phone-vr-hover","details":"Styles added here will apply at 575px and below.","guides":null,"type":"max","id":"mobile"}};</script>
477<script id='kirki-variable-lists'>var kirkiCSSVariable = {"data":[{"title":"Colors","key":"color","modes":[{"title":"Default","key":"default"}],"variables":[]},{"title":"Numbers","key":"size","modes":[{"title":"Default","key":"default"}],"variables":[]},{"title":"Text Styles","key":"text-style","modes":[{"title":"Default","key":"default"}],"variables":[]},{"title":"Font Family","key":"font-family","modes":[{"title":"Default","key":"default"}],"variables":[]}]};</script>
477<script id="kirki-api-and-nonce">
478    window.wp_kirki = {
479        ajaxUrl: "https://soe.fm/wp-admin/admin-ajax.php",
480        restUrl: "https://soe.fm/wp-json/",
481        siteUrl: "https://soe.fm",
482        apiVersion: "v1",
483        postId: "81",
484        nonce: "5520223a6f",
485        call_from: "",
486        templateId: "",
487        context: {"id":81,"type":"post"}
488    };
489    </script>
489<script id="jquery-js" src="https://soe.fm/wp-content/plugins/jquery-add/js/jquery-3.6.3.min.js?ver=3.6.3"></script>
vendor: 1 bytes, line 489
489
490<script id="popper-js-js" src="https://soe.fm/wp-content/themes/wp-bootstrap-4-child/assets/js/popper.min.js?ver=v1.16.1"></script>
vendor: 1 bytes, line 490
490
491<script id="bootstrap-4-js-js" src="https://soe.fm/wp-content/themes/wp-bootstrap-4-child/assets/bootstrap/js/bootstrap.min.js?ver=v4.6"></script>
vendor: 1 bytes, line 491
491
492<script id="lity-js-js" src="https://soe.fm/wp-content/themes/wp-bootstrap-4-child/assets/lity/lity.min.js?ver=v2.4.1"></script>
vendor: 1 bytes, line 492
492
493<script id="custom-js-js" src="https://soe.fm/wp-content/themes/wp-bootstrap-4-child/assets/js/custom.js?ver=v1.0"></script>
vendor: 1 bytes, line 493
493
494<script id="icwp-wpsf-silentcaptcha-js-extra">
495var shield_vars_silentcaptcha = {"strings":{"select_action":"Please select an action to perform.","are_you_sure":"Are you sure?","absolutely_sure":"Are you absolutely sure?","cancel":"Cancel","close":"Close","confirm":"Confirm","dialog_alert_title":"Notice","dialog_confirm_title":"Confirm Action","dialog_prompt_title":"Information Required","request_failed":"Request Failed","table_loading":"Loading table data.","scan_repair_limit_exceeded":"Sorry, this tool isn't designed for such large repairs. We recommend completely removing and reinstalling the item."},"comps":{"silentcaptcha":{"ajax":{"silentcaptcha":{"action":"shield_action","ex":"capture_not_bot","exnonce":"4b3f4ab034","ajaxurl":"https://soe.fm/wp-admin/admin-ajax.php","_wpnonce":"5520223a6f","_rest_url":"https://soe.fm/wp-json/shield/v1/action/capture_not_bot?exnonce=4b3f4ab034&_wpnonce=5520223a6f"}},"flags":{"skip":false,"required":true}}}};
496//# sourceURL=icwp-wpsf-silentcaptcha-js-extra
497</script>
vendor: 1 bytes, line 497
497
498<script id="icwp-wpsf-silentcaptcha-js" src="https://soe.fm/wp-content/plugins/wp-simple-firewall/assets/dist/shield-silentcaptcha.bundle.js?ver=22.2.3&#038;mtime=1790287947&#038;ver=22.2.3"></script>
498
499<div class="scroll-to-top"><i class="fas fa-angle-up"></i></div>
500</body>
501</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.