1<!DOCTYPE html><html lang="en-US"><head>
vendor: 63 bytes, line 1
1<script async src="https://www.googletagmanager.com/gtag/js?id=
1G-WMSWC48RED
vendor: 11 bytes, line 1
1"></script>
1<script> 2
vendor: 214 bytes, lines 2-6
2window.dataLayer = window.dataLayer || []; 3 function gtag(){dataLayer.push(arguments);} 4 gtag('js', new Date()); 5 6 gtag('config', '
6G-WMSWC48RED
vendor: 24 bytes, lines 6-7
6'); 7
7</script>
7<meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="IE=edge"><link rel="profile" href="https://gmpg.org/xfn/11"><meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"><title>About - SPHERE</title><link rel="canonical" href="https://sphere-project.net/about/"><meta property="og:locale" content="en_US"><meta property="og:type" content="article"><meta property="og:title" content="About - SPHERE"><meta property="og:url" content="https://www.isi.edu/proxy-sphere/about/"><meta property="og:site_name" content="SPHERE"><meta property="article:modified_time" content="2026-09-23T02:53:25+00:00"><meta property="og:image" content="https://www.isi.edu/wp-content/uploads/headshots/mirkovic-2.jpg"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:label1" content="Est. reading time"><meta name="twitter:data1" content="19 minutes"><link rel="dns-prefetch" href="//kit.fontawesome.com"><link rel="alternate" type="application/rss+xml" title="SPHERE » Feed" href="https://sphere-project.net/feed/"><link rel="alternate" type="application/rss+xml" title="SPHERE » Comments Feed" href="https://sphere-project.net/comments/feed/"><link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://sphere-project.net/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.isi.edu%2Fproxy-sphere%2Fabout%2F"><link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://sphere-project.net/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.isi.edu%2Fproxy-sphere%2Fabout%2F&format=xml"><style id="wp-img-auto-sizes-contain-inline-css"> 8img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 9/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 10</style><style id="wp-emoji-styles-inline-css"> 11 12 img.wp-smiley, img.emoji { 13 display: inline !important; 14 border: none !important; 15 box-shadow: none !important; 16 height: 1em !important; 17 width: 1em !important; 18 margin: 0 0.07em !important; 19 vertical-align: -0.1em !important; 20 background: none !important; 21 padding: 0 !important; 22 } 23/*# sourceURL=wp-emoji-styles-inline-css */ 24</style><style id="wp-block-library-inline-css"> 25:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
25--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}} 26 27/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */ 28</style><style id="classic-theme-styles-inline-css"> 29/*! This file is auto-generated */ 30.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} 31/*# sourceURL=/wp-includes/css/classic-themes.min.css */ 32</style><style id="global-styles-inline-css"> 33: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--color--fl-heading-text: #333333;--wp--preset--color--fl-body-bg: #f2f2f2;--wp--preset--color--fl-body-text: #757575;--wp--preset--color--fl-accent: #2b7bb9;--wp--preset--color--fl-accent-hover: #2b7bb9;--wp--preset--color--fl-topbar-bg: #ffffff;--wp--preset--color--fl-topbar-text: #000000;--wp--preset--color--fl-topbar-link: #2b7bb9;--wp--preset--color--fl-topbar-hover: #2b7bb9;--wp--preset--color--fl-header-bg: #ffffff;--wp--preset--color--fl-header-text: #000000;--wp--preset--color--fl-header-link: #2b7bb9;--wp--preset--color--fl-header-hover: #2b7bb9;--wp--preset--color--fl-nav-bg: #ffffff;--wp--preset--color--fl-nav-link: #2b7bb9;--wp--preset--color--fl-nav-hover: #2b7bb9;--wp--preset--color--fl-content-bg: #ffffff;--wp--preset--color--fl-footer-widgets-bg: #ffffff;--wp--preset--color--fl-footer-widgets-text: #000000;--wp--preset--color--fl-footer-widgets-link: #2b7bb9;--wp--preset--color--fl-footer-widgets-hover: #2b7bb9;--wp--preset--color--fl-footer-bg: #ffffff;--wp--preset--color--fl-footer-text: #000000;--wp--preset--color--fl-footer-link: #2b7bb9;--wp--preset--color--fl-footer-hover: #2b7bb9;--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,
330) 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%);--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-fl-heading-text-color{color: var(--wp--preset--color--fl-heading-text) !important;}.has-fl-body-bg-color{color: var(--wp--preset--color--fl-body-bg) !important;}.has-fl-body-text-color{color: var(--wp--preset--color--fl-body-text) !important;}.has-fl-accent-color{color: var(--wp--preset--color--fl-accent) !important;}.has-fl-accent-hover-color{color: var(--wp--preset--color--fl-accent-hover) !important;}.has-fl-topbar-bg-color{color: var(--wp--preset--color--fl-topbar-bg) !important;}.has-fl-topbar-text-color{color: var(--wp--preset--color--fl-topbar-text) !important;}.has-fl-topbar-link-color{color: var(--wp--preset--color--fl-topbar-link) !important;}.has-fl-topbar-hover-color{color: var(--wp--preset--color--fl-topbar-hover) !important;}.has-fl-header-bg-color{color: var(--wp--preset--color--fl-header-bg) !important;}.has-fl-header-text-color{color: var(--wp--preset--color--fl-header-text) !important;}.has-fl-header-link-color{color: var(--wp--preset--color--fl-header-link) !important;}.has-fl-header-hover-color{color: var(--wp--preset--color--fl-header-hover) !important;}.has-fl-nav-bg-color{color: var(--wp--preset--color--fl-nav-bg) !important;}.has-fl-nav-link-color{color: var(--wp--preset--color--fl-nav-link) !important;}.has-fl-nav-hover-color{color: var(--wp--preset--color--fl-nav-hover) !important;}.has-fl-content-bg-color{color: var(--wp--preset--color--fl-content-bg) !important;}.has-fl-footer-widgets-bg-color{color: var(--wp--preset--color--fl-footer-widgets-bg) !important;}.has-fl-footer-widgets-text-color{color: var(--wp--preset--color--fl-footer-widgets-text) !important;}.has-fl-footer-widgets-link-color{color: var(--wp--preset--color--fl-footer-widgets-link) !important;}.has-fl-footer-widgets-hover-color{color: var(--wp--preset--color--fl-footer-widgets-hover) !important;}.has-fl-footer-bg-color{color: var(--wp--preset--color--fl-footer-bg) !important;}.has-fl-footer-text-color{color: var(--wp--preset--color--fl-footer-text) !important;}.has-fl-footer-link-color{color: var(--wp--preset--color--fl-footer-link) !important;}.has-fl-footer-hover-color{color: var(--wp--preset--color--fl-footer-hover) !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-fl-heading-text-background-color{background-color: var(--wp--preset--color--fl-heading-text) !important;}.has-fl-body-bg-background-color{background-color: var(--wp--preset--color--fl-body-bg) !important;}.has-fl-body-text-background-color{background-color: var(--wp--preset--color--fl-body-text) !important;}.has-fl-accent-background-color{background-color: var(--wp--preset--color--fl-accent) !important;}.has-fl-accent-hover-background-color{background-color: var(--wp--preset--color--fl-accent-hover) !important;}.has-fl-topbar-bg-background-color{background-color: var(--wp--preset--color--fl-topbar-bg) !important;}.has-fl-topbar-text-background-color{background-color: var(--wp--preset--color--fl-topbar-text) !important;}.has-fl-topbar-link-background-color{background-color: var(--wp--preset--color--fl-topbar-link) !important;}.has-fl-topbar-hover-background-color{background-color: var(--wp--preset--color--fl-topbar-hover) !important;}.has-fl-header-bg-background-color{background-color: var(--wp--preset--color--fl-header-bg) !important;}.has-fl-header-text-background-color{background-color: var(--wp--preset--color--fl-header-text) !important;}.has-fl-header-link-background-color{background-color: var(--wp--preset--color--fl-header-link) !important;}.has-fl-header-hover-background-color{background-color: var(--wp--preset--color--fl-header-hover) !important;}.has-fl-nav-bg-background-color{background-color: var(--wp--preset--color--fl-nav-bg) !important;}.has-fl-nav-link-background-color{background-color: var(--wp--preset--color--fl-nav-link) !important;}.has-fl-nav-hover-background-color{background-color: var(--wp--preset--color--fl-nav-hover) !important;}.has-fl-content-bg-background-color{background-color: var(--wp--preset--color--fl-content-bg) !important;}.has-fl-footer-widgets-bg-background-color{background-color: var(--wp--preset--color--fl-footer-widgets-bg) !important;}.has-fl-footer-widgets-text-background-color{background-color: var(--wp--preset--color--fl-footer-widgets-text) !important;}.has-fl-footer-widgets-link-background-color{background-color: var(--wp--preset--color--fl-footer-widgets-link) !important;}.has-fl-footer-widgets-hover-background-color{background-color: var(--wp--preset--color--fl-footer-widgets-hover) !important;}.has-fl-footer-bg-background-color{background-color: var(--wp--preset--color--fl-footer-bg) !important;}.has-fl-footer-text-background-color{background-color: var(--wp--preset--color--fl-footer-text) !important;}.has-fl-footer-link-background-color{background-color: var(--wp--preset--color--fl-footer-link) !important;}.has-fl-footer-hover-background-color{background-color: var(--wp--preset--color--fl-footer-hover) !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-fl-heading-text-border-color{border-color: var(--wp--preset--color--fl-heading-text) !important;}.has-fl-body-bg-border-color{border-color: var(--wp--preset--color--fl-body-bg) !important;}.has-fl-body-text-border-color{border-color: var(--wp--preset--color--fl-body-text) !important;}.has-fl-accent-border-color{border-color: var(--wp--preset--color--fl-accent) !important;}.has-fl-accent-hover-border-color{border-color: var(--wp--preset--color--fl-accent-hover) !important;}.has-fl-topbar-bg-border-color{border-color: var(--wp--preset--color--fl-topbar-bg) !important;}.has-fl-topbar-text-border-color{border-color: var(--wp--preset--color--fl-topbar-text) !important;}.has-fl-topbar-link-border-color{border-color: var(--wp--preset--color--fl-topbar-link) !important;}.has-fl-topbar-hover-border-color{border-color: var(--wp--preset--color--fl-topbar-hover) !important;}.has-fl-header-bg-border-color{border-color: var(--wp--preset--color--fl-header-bg) !important;}.has-fl-header-text-border-color{border-color: var(--wp--preset--color--fl-header-text) !important;}.has-fl-header-link-border-color{border-color: var(--wp--preset--color--fl-header-link) !important;}.has-fl-header-hover-border-color{border-color: var(--wp--preset--color--fl-header-hover) !important;}.has-fl-nav-bg-border-color{border-color: var(--wp--preset--color--fl-nav-bg) !important;}.has-fl-nav-link-border-color{border-color: var(--wp--preset--color--fl-nav-link) !important;}.has-fl-nav-hover-border-color{border-color: var(--wp--preset--color--fl-nav-hover) !important;}.has-fl-content-bg-border-color{border-color: var(--wp--preset--color--fl-content-bg) !important;}.has-fl-footer-widgets-bg-border-color{border-color: var(--wp--preset--color--fl-footer-widgets-bg) !important;}.has-fl-footer-widgets-text-border-color{border-color: var(--wp--preset--color--fl-footer-widgets-text) !important;}.has-fl-footer-widgets-link-border-color{border-color: var(--wp--preset--color--fl-footer-widgets-link) !important;}.has-fl-footer-widgets-hover-border-color{border-color: var(--wp--preset--color--fl-footer-widgets-hover) !important;}.has-fl-footer-bg-border-color{border-color: var(--wp--preset--color--fl-footer-bg) !important;}.has-fl-footer-text-border-color{border-color: var(--wp--preset--color--fl-footer-text) !important;}.has-fl-footer-link-border-color{border-color: var(--wp--preset--color--fl-footer-link) !important;}.has-fl-footer-hover-border-color{border-color: var(--wp--preset--color--fl-footer-hover) !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;}
33.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;} 34/*# sourceURL=global-styles-inline-css */ 35</style><link rel="stylesheet" id="font-awesome-5-css" href="https://sphere-project.net/wp-content/plugins/bb-plugin/fonts/fontawesome/7.2.0/css/all.min.css?ver=2.11.1" media="all"><link rel="stylesheet" id="fl-builder-layout-58-css" href="https://sphere-project.net/wp-content/uploads/sites/57/bb-plugin/cache/58-layout.css?ver=9a164a18ce1f3683612af40b13918b7f" media="all"><link rel="stylesheet" id="latolight-css" href="https://sphere-project.net/wp-content/themes/isi-modern23/fonts/lato-light.css?ver=7.1.2" media="all"><link rel="stylesheet" id="GSWPTS-frontend-css-css" href="https://sphere-project.net/wp-content/plugins/sheets-to-wp-table-live-sync/assets/public/styles/frontend.min.css?ver=1790666644" media="all"><link rel="stylesheet" id="GSWPTS-style-1-css" href="https://sphere-project.net/wp-content/plugins/sheets-to-wp-table-live-sync/assets/public/styles/style-1.min.css?ver=1790666644" media="all"><link rel="stylesheet" id="GSWPTS-style-2-css" href="https://sphere-project.net/wp-content/plugins/sheets-to-wp-table-live-sync/assets/public/styles/style-2.min.css?ver=1790666644" media="all"><link rel="stylesheet" id="jquery-magnificpopup-css" href="https://sphere-project.net/wp-content/plugins/bb-plugin/css/jquery.magnificpopup.min.css?ver=2.11.1" media="all"><link rel="stylesheet" id="bootstrap-4-css" href="https://sphere-project.net/wp-content/themes/bb-theme/css/bootstrap-4.min.css?ver=1.7.20" media="all"><link rel="stylesheet" id="fl-automator-skin-css" href="https://sphere-project.net/wp-content/uploads/sites/57/bb-theme/skin-6a9613f4ea639.css?ver=1.7.20" media="all"><link rel="stylesheet" id="fl-child-theme-css" href="https://sphere-project.net/wp-content/themes/isi-modern23/style.css?ver=1743533590" media=""><link rel="stylesheet" id="gallery-module-css" href="https://sphere-project.net/wp-content/themes/isi-modern23/css/gallery.css?ver=1711999415" media=""><link rel="stylesheet" id="sphere-theme-css" href="https://sphere-project.net/wp-content/themes/isi-modern23/css/sphere.css?ver=1750200940" media="">
35<script id="jquery-core-js" src="https://sphere-project.net/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
35<script id="jquery-migrate-js" src="https://sphere-project.net/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
35<script id="font-awesome-kit-js" src="https://kit.fontawesome.com/3d1c496c1e.js"></script>
35<link rel="https://api.w.org/" href="https://sphere-project.net/wp-json/"><link rel="alternate" title="JSON" type="application/json" href="https://sphere-project.net/wp-json/wp/v2/pages/58"><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://sphere-project.net/xmlrpc.php?rsd"><link rel="shortlink" href="https://sphere-project.net/?p=58"><link rel="icon" href="https://sphere-project.net/wp-content/uploads/sites/57/2024/08/cropped-shpere-favicon-32x32.png" sizes="32x32"><link rel="icon" href="https://sphere-project.net/wp-content/uploads/sites/57/2024/08/cropped-shpere-favicon-192x192.png" sizes="192x192"><link rel="apple-touch-icon" href="https://sphere-project.net/wp-content/uploads/sites/57/2024/08/cropped-shpere-favicon-180x180.png"><meta name="msapplication-TileImage" content="https://www.isi.edu/proxy-sphere/wp-content/uploads/sites/57/2024/08/cropped-shpere-favicon-270x270.png"><style id="wp-custom-css"> 36.proxy-sphere #site-banner { 37 height: initial; 38} 39 40#footer-logos { 41 padding-top: 10px; 42 background-color: #222222; 43} 44 45#footer-logos .row { 46 padding-top: 40px; 47 padding-bottom: 40px; 48 border-top: solid 1px rgba(255,255,255,.5); 49} 50 51#footer-copyright { 52 padding: 10px 0; 53 background-color: #111111; 54} 55 56#site-info { 57 padding: 0; 58 background-color: transparent; 59} 60 61@media (max-width: 991px) { 62 #site-footer .container .row > div { 63 margin: 0; 64 padding: 0 15px; 65 border: none; 66 } 67 #site-footer .col-md-6 { 68 padding-bottom: 30px !important; 69 } 70} 71 72@media (max-width: 767px) { 73 #footer-logos .col-12:not(:last-of-type) { 74 padding-bottom: 30px !important; 75 } 76} 77</style><link rel="stylesheet" id="fl-builder-wp-editor-css" href="https://sphere-project.net/wp-content/plugins/bb-plugin/css/build/wp-editor.bundle.min.css?ver=2.11.1" media="all"></head><body id="page-about" class="wp-singular page-template-default page page-id-58 wp-theme-bb-theme wp-child-theme-isi-modern23 proxy-sphere ext-site menu-top fl-builder fl-builder-2-11-1 fl-theme-1-7-20 fl-no-js fl-framework-bootstrap-4 fl-preset-default fl-full-width fl-search-active" itemscope="itemscope" itemtype="https://schema.org/WebPage"> 78<a aria-label="Skip to content" class="fl-screen-reader-text" href="#fl-main-content">Skip to content</a><div class="fl-page"> 79 <header id="site-header" role="banner"> 80 <div id="site-masthead" class="bg-white"> 81 <div class="container"> 82 <div class="row"> 83 <div class="col-12"> 84 <div class="row"> 85 <div class="col-6 logo-container"><a href="https://sphere-project.net" aria-label="SPHERE" class="custom-logo"><h1 class="sr"> 86 Information Sciences Institute</h1><img src="https://sphere-project.net/wp-content/uploads/sites/57/2024/06/SPHERE-logo-horizontal.png" alt="SPHERE logo"></a> 87 </div> 88 <div class="col-6 text-right my-auto"> 89 <div class="d-none d-lg-block"> 90 <a href="//www.usc.edu" class="usc-logo" aria-label="University of Southern California"></a> </div> 91 <button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#nav-toggle-top" aria-controls="nav-toggle-top" aria-expanded="false" aria-label="Toggle navigation"><i class="fas fa-bars" aria-hidden="true"></i> 92 </button> 93 </div> 94 </div> 95 </div> 96 </div> 97 </div> 98 </div> 99 100 <div class="container"> 101 <div class="row"> 102 <div id="site-menu" class="col-12"> 103 <nav class="navbar navbar-expand-lg" aria-label="Main Menu" role="navigation"> 104 <div class="collapse" id="nav-toggle-top"> 105 <ul id="menu-main-menu" class="nav navbar-nav"><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-741 nav-item">
105<a class="nav-link nav-link" href="https://sphere-project.net/">Home</a></li> 106<li class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-58 current_page_item menu-item-127 nav-item"><a class="nav-link nav-link" href="https://sphere-project.net/about/" aria-current="page">About</a></li> 107<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-126 nav-item"><a class="nav-link nav-link" href="https://sphere-project.net/collaborate/">Collaborate</a></li> 108<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1402 nav-item"><a class="nav-link nav-link" href="https://sphere-project.net/outreach/">Outreach</a></li> 109<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-26 nav-item"><a class="nav-link nav-link" href="https://sphere-project.net/contact/">Contact</a></li> 110<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-403 nav-item"><a target="_blank" class="nav-link nav-link" href="https://launch.sphere-testbed.net/">Sign In</a></li> 111<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-404 nav-item"><a target="_blank" class="nav-link nav-link" href="https://launch.sphere-testbed.net/registration">Register</a></li> 112</ul> </div> 113 </nav> 114 </div> 115 </div> 116 </div> 117 118 119 <div id="site-banner" class="bg-black" style="background-image: url(https://www.isi.edu/proxy-sphere/wp-content/uploads/sites/57/2024/11/banner-test.png);"> 120 <img src="https://sphere-project.net/wp-content/uploads/sites/57/2024/11/banner-test.png" alt="decorative background"> <div class="wrapper"> 121 <div class="container"> 122 <div class="row justify-content-end"> 123 <div class="col-12 col-lg-9"> 124 <h1><a href="https://sphere-project.net">SPHERE</a></h1> </div> 125 </div> 126 </div> 127 </div> 128 </div> 129 </header> 130 131 132 133 <main id="site-content" role="main"> 134 <div id="fl-main-content" class="fl-page-content" itemprop="mainContentOfPage"> 135 <div class="container subheader"> 136 <div class="row justify-content-end site-sub-title"> 137 <div class="col-12 col-lg-9"> 138 <div class="content"><span><b>S</b>ecurity and <b>P</b>rivacy <b>H</b>eterogeneous <b>E</b>nvironment for <b>R</b>eproducible <b>E</b>xperimentation</span></div> 139 </div> 140 </div> 141 </div> <div class="container"> 142 <div class="row"> 143 <div id="nr-main-content" class="col-12 "> 144 <header class="page-title"> 145 <h1>About</h1> 146 </header> 147 148 149<div class="container"> 150 <div class="row"> 151 <div class="col-md-12"> 152 <article class="fl-post post-58 page type-page status-publish hentry" id="fl-post-58" itemscope="itemscope" itemtype="https://schema.org/CreativeWork"> 153 154 <div class="fl-post-content clearfix" itemprop="text"> 155 <div class="fl-builder-content fl-builder-content-58 fl-builder-content-primary fl-builder-global-templates-locked" data-post-id="58"><div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-bg2licejvqyk fl-row-default-height fl-row-align-center" data-node="bg2licejvqyk"> 156 <div class="fl-row-content-wrap"> 157 <div class="fl-row-content fl-row-fixed-width fl-node-content"> 158 159<div class="fl-col-group fl-node-w743b9ljsxnm" data-node="w743b9ljsxnm"> 160 <div class="fl-col fl-node-ou90enx2m7j5 fl-col-bg-color" data-node="ou90enx2m7j5"> 161 <div class="fl-col-content fl-node-content"><div class="fl-module fl-module-tabs fl-node-lfhoycp8a2kz" data-node="lfhoycp8a2kz" aria-label="Tabs"> 162 <div class="fl-module-content fl-node-content"> 163 164<div class="fl-tabs fl-tabs-horizontal fl-clearfix"> 165 166 <div class="fl-tabs-labels fl-clearfix" role="tablist"> 167 <a role="button" tabindex="0" class="fl-tabs-label fl-tab-active" id="fl-tabs-lfhoycp8a2kz-label-0" data-index="0" aria-selected="true" aria-controls="fl-tabs-lfhoycp8a2kz-panel-0"> 168 TEAM </a> 169 <a role="button" tabindex="0" class="fl-tabs-label" id="fl-tabs-lfhoycp8a2kz-label-1" data-index="1" aria-selected="false" aria-controls="fl-tabs-lfhoycp8a2kz-panel-1"> 170 HISTORY </a> 171 <a role="button" tabindex="0" class="fl-tabs-label" id="fl-tabs-lfhoycp8a2kz-label-2" data-index="2" aria-selected="false" aria-controls="fl-tabs-lfhoycp8a2kz-panel-2"> 172 DARPA </a> 173 <a role="button" tabindex="0" class="fl-tabs-label" id="fl-tabs-lfhoycp8a2kz-label-3" data-index="3" aria-selected="false" aria-controls="fl-tabs-lfhoycp8a2kz-panel-3"> 174 PROPOSAL </a> 175 <a role="button" tabindex="0" class="fl-tabs-label" id="fl-tabs-lfhoycp8a2kz-label-4" data-index="4" aria-selected="false" aria-controls="fl-tabs-lfhoycp8a2kz-panel-4"> 176 STATUS </a> 177 <a role="button" tabindex="0" class="fl-tabs-label" id="fl-tabs-lfhoycp8a2kz-label-5" data-index="5" aria-selected="false" aria-controls="fl-tabs-lfhoycp8a2kz-panel-5"> 178 RESOURCES </a> 179 <a role="button" tabindex="0" class="fl-tabs-label" id="fl-tabs-lfhoycp8a2kz-label-6" data-index="6" aria-selected="false" aria-controls="fl-tabs-lfhoycp8a2kz-panel-6"> 180 SPONSORS </a> 181 182 </div> 183 184 <div class="fl-tabs-panels fl-clearfix"> 185 <div class="fl-tabs-panel"> 186 <div role="button" tabindex="0" class="fl-tabs-label fl-tabs-panel-label fl-tab-active" data-index="0" aria-selected="true" aria-controls="fl-tabs-lfhoycp8a2kz-panel-0"> 187 <span>TEAM</span> 188 <i class="fas"></i> 189 </div> 190 <div class="fl-tabs-panel-content fl-clearfix fl-tab-active" id="fl-tabs-lfhoycp8a2kz-panel-0" data-index="0" role="tabpanel" aria-live="polite" aria-labelledby="fl-tabs-lfhoycp8a2kz-label-0"> 191 <h3>Leadership Team</h3> 192<table> 193<tbody> 194<tr> 195<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://www.isi.edu/wp-content/uploads/headshots/mirkovic-2.jpg" alt="Jelena Mirkovic" height="90"></td> 196<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://www.isi.edu/wp-content/uploads/headshots/kline-2.jpg" alt="Erik Kline" height="90"></td> 197<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;
197" src="https://sphere-project.net/wp-content/uploads/sites/57/2026/09/choffnes2.jpg" alt="David Choffnes" height="90"></td> 198<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://steel.isi.edu/daniel.jpeg" alt="Daniel Dubois" height="90"></td> 199</tr> 200</tbody> 201</table> 202<p><a href="https://faculty.utah.edu/u6053425-Luis_Antonio_Garcia/teaching/index.hml" target="_blank" rel="noopener"><span style="color: #000000;">Luis Garcia</span></a> (University of Utah) - Co-PI, Tech Lead, ICS<br> 203<a href="https://www.isi.edu/directory/balenson/" target="_blank" rel="noopener"><span style="color: #000000;">David Balenson</span></a> (USC-ISI) - Community Outreach Director<br> 204<a href="https://david.choffnes.com/" target="_blank" rel="noopener"><span style="color: #000000;">David Choffnes</span></a> (NEU) - Co-PI, IoT<br> 205<a href="https://danieldubois.org/" target="_blank" rel="noopener"><span style="color: #000000;">Daniel Dubois</span></a> (NEU) - Tech Lead, IoT</p> 206<table> 207<tbody> 208<tr> 209<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://lagarcia38.github.io/images/profile.png" alt="Luis Garcia" height="90"></td> 210<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://www.isi.edu/wp-content/uploads/headshots/balenson-2.jpg" alt="David Balenson" height="90"></td> 211<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://www.isi.edu/wp-content/uploads/headshots/alba-1.jpg" alt="Alba Regalado" height="90"></td> 212<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://www.isi.edu/wp-content/uploads/headshots/tbenzel-2.jpg" alt="Terry Benzel" height="90"></td> 213</tr> 214</tbody> 215</table> 216<p><a href="https://faculty.utah.edu/u6053425-Luis_Antonio_Garcia/teaching/index.hml" target="_blank" rel="noopener"><span style="color: #000000;">Luis Garcia</span></a> (University of Utah) - Co-PI, Tech Lead, ICS<br> 217<a href="https://www.isi.edu/directory/balenson/" target="_blank" rel="noopener"><span style="color: #000000;">David Balenson</span></a> (USC-ISI) - Community Outreach Director<br> 218<a href="https://www.isi.edu/directory/alba/" target="_blank" rel="noopener"><span style="color: #000000;">Alba Regalado</span></a> (USC-ISI) - Project Manager<br> 219<a href="https://www.isi.edu/directory/tbenzel/" target="_blank" rel="noopener"><span style="color: #000000;">Terry Benzel</span></a> (USC-ISI) - Liaison to ISI and USC</p> 220<h3>Project Team</h3> 221<table> 222<tbody> 223<tr> 224<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://sphere-project.net/wp-content/uploads/sites/57/2024/04/barnes.jpg" alt="Joseph Barnes" height="90"></td> 225<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://www.isi.edu/wp-content/uploads/headshots/glawler-1.jpg" alt="Geoff Lawler" height="90"></td> 226<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://www.isi.edu/wp-content/uploads/headshots/christra-1.jpg" alt="Christopher Tran" height="90"></td> 227<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://www.isi.edu/wp-content/uploads/headshots/yuri-1.jpg" alt="Yuri Pradkin" height="90"></td> 228</tr> 229</tbody> 230</table> 231<p><a href="https://www.isi.edu/directory/jdbarnes/" target="_blank" rel="noopener"><span style="color: #000000;">Joseph Barnes</span></a> (USC-ISI) - Lead Research Engineer<br> 232<a href="https://www.isi.edu/directory/glawler/" target="_blank" rel="noopener"><span style="color: #000000;">Geoff Lawler</span></a> (USC-ISI) - Research Engineer<br> 233<a href="https://www.isi.edu/directory/christra/" target="_blank" rel="noopener"><span style="color: #000000;">Christopher Tran</span></a> (USC-ISI) - Research Engineer<br> 234<a href="https://www.isi.edu/directory/george-pradkin/" target="_blank" rel="noopener"><span style="color: #000000;">Yuri Pradkin</span></a> (USC-ISI) - Operations Engineer</p> 235<table> 236<tbody> 237<tr> 238<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://www.isi.edu/wp-content/uploads/headshots/lincoln-2.jpg" alt="Lincoln Thurlow" height="90"></td> 239<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://www.isi.edu/wp-content/uploads/headshots/sravi-1.jpg" alt="Srivatsan Ravi" height="90"></td> 240<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://bovardcollege.usc.edu/wp-content/uploads/erika-bobbitt-500-370.png" alt="Erika Bobbitt" height="90"></td> 241<td><img loading="lazy" decoding="async" class="alignleft wp-image-1338 " src="https://sphere-project.
241net/wp-content/uploads/sites/57/2026/09/IMG_8549-1-150x150.jpeg" alt="Image" width="86" height="86"></td> 242</tr> 243</tbody> 244</table> 245<p><a href="https://www.isi.edu/directory/lincoln-thurlow/" target="_blank" rel="noopener"><span style="color: #000000;">Lincoln Thurlow</span></a> (USC-ISI) - Senior Research Engineer<br> 246<a href="https://www.isi.edu/directory/sravi/" target="_blank" rel="noopener"><span style="color: #000000;">Srivatsan Ravi</span></a> (USC-ISI) - SME, Distributed Systems<br> 247<a href="https://bovardcollege.usc.edu/pm/faculty/erika-bobbitt/" target="_blank" rel="noopener"><span style="color: #000000;">Erika Bobbitt</span></a> (USC) - Consultant, Project Management<br> 248<a href="https://www.isi.edu/directory/lihui-xiong/" target="_blank" rel="noopener"><span style="color: #000000;">Shirley Xiong</span></a> (USC-ISI) - Outreach Coordinator</p> 249<table> 250<tbody> 251<tr> 252<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://sphere-project.net/wp-content/uploads/sites/57/2026/02/aldana-1.jpg" alt="" height="90"></td> 253<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://sphere-project.net/wp-content/uploads/sites/57/2026/02/pandya.jpg" alt="" height="90"></td> 254<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://sphere-project.net/wp-content/uploads/sites/57/2026/07/mahendra.png" alt="" height="90"></td> 255<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://sphere-project.net/wp-content/uploads/sites/57/2026/09/1724278024963-1.jpg" alt="" height="90"></td> 256</tr> 257</tbody> 258</table> 259<p><a href="https://www.khoury.northeastern.edu/people/kevin-aldana/" target="_blank" rel="noopener"><span style="color: #000000;">Kevin Aldana</span></a> (Northeastern University) - Research Engineer<br> 260<a href="https://www.linkedin.com/in/darshpandya02/" target="_blank" rel="noopener"><span style="color: #000000;">Darsh Pandya</span></a> (Northeastern University) - Research Engineer<br> 261<a href="https://www.linkedin.com/in/samarth-mahendra/" target="_blank" rel="noopener"><span style="color: #000000;">Samarth Mahendra</span></a> (Northeastern University) - Research Engineer<br> 262<a href="https://www.linkedin.com/in/zilin-shao/" target="_blank" rel="noopener"><span style="color: #000000;">Zilin Shao</span></a> (USC-ISI) - SPHERE Intern</p> 263<table> 264<tbody> 265<tr> 266<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://sphere-project.net/wp-content/uploads/sites/57/2026/09/nobody.jpg" alt="" height="90"></td> 267<td></td> 268<td></td> 269<td></td> 270</tr> 271</tbody> 272</table> 273<p><a href="https://www.flux.utah.edu/profile/amaricq" target="_blank" rel="noopener"><span style="color: #000000;">Aleksander Maricq</span></a> (University of Utah) - Research Associate</p> 274<h3>Advisory Board</h3> 275<table> 276<tbody> 277<tr> 278<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://sphere-project.net/wp-content/uploads/sites/57/2024/06/Sujata-Banerjee.jpeg" alt="Sujata Banerjee" height="90"></td> 279<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://sphere-project.net/wp-content/uploads/sites/57/2024/06/eric-eide.jpeg" alt="Eric Eide" height="90"></td> 280<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://sphere-project.net/wp-content/uploads/sites/57/2026/07/Carolyn-Ellis.png" alt="Carolyn Ellis" height="90"></td> 281<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://sphere-project.net/wp-content/uploads/sites/57/2026/07/Amir-Herzberg.jpg" alt="Amir Herzberg" height="90"></td> 282</tr> 283</tbody> 284</table> 285<p><a href="https://www.linkedin.com/in/sujata-banerjee-854bbb/" target="_blank" rel="noopener"><span style="color: #000000;">Sujata Banerjee</span></a> (Microsoft) - Partner Research Manager<br> 286<a href="https://users.cs.utah.edu/~eeide/" target="_blank" rel="noopener"><span style="color: #000000;">Eric Eide</span></a> (University of Utah) - Research Associate Professor<br> 287<a href="https://search.asu.edu/profile/5012856" target="_blank" rel="noopener"><span style="color: #000000;">Carolyn Ellis</span></a> (Arizona State University) - Director, Research Office<br>
288<a href="https://sites.google.com/site/amirherzberg/home" target="_blank" rel="noopener"><span style="color: #000000;">Amir Herzberg</span></a> (University of Connecticut) - Professor of Computer Science</p> 289<table> 290<tbody> 291<tr> 292<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://sphere-project.net/wp-content/uploads/sites/57/2024/06/kate-keahey.png" alt="Kate Keahey" height="90"></td> 293<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://sphere-project.net/wp-content/uploads/sites/57/2026/07/Brian-Kocoloski.jpg" alt="Brian Kocoloski" height="90"></td> 294<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://sphere-project.net/wp-content/uploads/sites/57/2026/07/Yoshi-Kohno-scaled.jpg" alt="Yoshi Kohno" height="90"></td> 295<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://sphere-project.net/wp-content/uploads/sites/57/2026/07/Shokoufeh-Mirzaei-scaled.jpeg" alt="Shokoufeh Mirzaei" height="90"></td> 296</tr> 297</tbody> 298</table> 299<p><a href="https://cs.uchicago.edu/people/kate-keahey/" target="_blank" rel="noopener"><span style="color: #000000;">Kate Keahey</span></a> (University of Chicago; Argonne National Laboratory) - Senior Fellow; Computer Scientist<br> 300<a href="https://www.linkedin.com/in/brian-kocoloski-8521b815/" target="_blank" rel="noopener"><span style="color: #000000;">Brian Kocoloski</span></a> (AMD) - Datacenter Performance Architect<br> 301<a href="https://gufaculty360.georgetown.edu/s/contact/003UH00000ZmP3HYAV/yoshi-kohno" target="_blank" rel="noopener"><span style="color: #000000;">Yoshi Kohno</span></a> (Georgetown University) - Professor of Computer Science<br> 302<a href="https://www.cpp.edu/faculty/smirzaei/index.shtml" target="_blank" rel="noopener"><span style="color: #000000;">Shokoufeh Mirzaei</span></a> (Cal Poly Pomona) - Chair & Professor of Engineering</p> 303<table> 304<tbody> 305<tr> 306<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://sphere-project.net/wp-content/uploads/sites/57/2024/06/inder-monga.jpeg" alt="Inder Monga" height="90"></td> 307<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://sphere-project.net/wp-content/uploads/sites/57/2026/07/Peter-Peterson.jpg" alt="Peter Peterson" height="90"></td> 308<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src="https://sphere-project.net/wp-content/uploads/sites/57/2026/07/Jonathan-Petit.jpg" alt="Jonathan Petit" height="90"></td> 309<td><img decoding="async" class="alignnone" style="height: 90px; width: auto;" src=" https://www.isi.edu/proxy-sphere/wp-content/uploads/sites/57/2026/01/Patrick-Traynor-3-cropped-scaled.jpg" alt="Patrick Traynor" height="90"></td> 310</tr> 311</tbody> 312</table> 313<p><a href="https://www.es.net/about/esnet-staff/esnet-leadership/inder/" target="_blank" rel="noopener"><span style="color: #000000;">Inder Monga</span></a> (ESNet) - Executive Director, Division Director of Scientific Networking<br> 314<a href="https://www.d.umn.edu/~pahp/" target="_blank" rel="noopener"><span style="color: #000000;">Peter Peterson</span></a> (University of Minnesota Duluth) â Associate Professor of Computer Science<br> 315<a target="_blank" rel="noopener"><span style="color: #000000;">Jonathan Petit</span></a> (Qualcomm) â Head of AI Security, Safety and Privacy Research & Standardization<br> 316<a href="https://cise.ufl.edu/people/faculty/name/patrick-traynor/" target="_blank" rel="noopener"><span style="color: #000000;">Patrick Traynor</span></a> (University of Florida) â Professor of Computer and Information Science and Engineering</p> 317 </div> 318 </div> 319 <div class="fl-tabs-panel"> 320 <div role="button" tabindex="0" class="fl-tabs-label fl-tabs-panel-label" data-index="1" aria-selected="false" aria-controls="fl-tabs-lfhoycp8a2kz-panel-1"> 321 <span>HISTORY</span> 322 <i class="fas fa-plus"></i> 323 </div> 324 <div class="fl-tabs-panel-content fl-clearfix" id="fl-tabs-lfhoycp8a2kz-panel-1" data-index="1" role="tabpanel" aria-live="polite" aria-labelledby="fl-tabs-lfhoycp8a2kz-label-1" aria-hidden="true"> 325 <h2>From DETERLab to SPHERE</h2> 326<p><img loading="lazy" decoding="async" class="alignright wp-image-100" src="https://sphere-project.
326net/wp-content/uploads/sites/57/2024/01/The-DETER-Project-300x86.png" alt="The DETER Project Logo" width="324" height="93" srcset="https://www.isi.edu/proxy-sphere/wp-content/uploads/sites/57/2024/01/The-DETER-Project-300x86.png 300w, https://www.isi.edu/proxy-sphere/wp-content/uploads/sites/57/2024/01/The-DETER-Project-1024x294.png 1024w, https://www.isi.edu/proxy-sphere/wp-content/uploads/sites/57/2024/01/The-DETER-Project-768x220.png 768w, https://www.isi.edu/proxy-sphere/wp-content/uploads/sites/57/2024/01/The-DETER-Project.png 1380w" sizes="auto, (max-width: 324px) 100vw, 324px">Over the past two decades, USC-ISIâs DETER Project built, designed, and operated DETERLab (cyber DEfense Technology Experimental Research Laboratory), a state-of-the-art scientific computing facility for cybersecurity researchers and educators. Researchers engaged in research, development, discovery, experimentation, and testing of innovative cybersecurity technology. Educators used the testbed to teach security, networking, and operating systems classes. As a shared, public testbed, DETERLab has supported and benefited research and education in cybersecurity across a broad user community, including academia, industry, and government. To date, it has served a broad research community, including 389 research project teams from 278 institutions, and involving 1,042 researchers from 205 locations and 46 countries. Some example projects included human behavior modeling in cybersecurity scenarios, defenses against extremely large scale DDoS, worm and botnet attacks, encrypted traffic classification, and phishing deception. DETERLab has also been used in education by 230 classes from 147 institutions, and helped educate more than 20,000 students.</p> 327<p>The DETERLab design used and significantly extended Emulab testbed management code. The DETERLab team has added subsystems to enable experimentation at scale and complexity representative of strategic internets such as those encountered in enterprises, and specialized cyber physical domains. In 2019, USC-ISI introduced Merge, a new framework for testbed control and management, built using modern open-source tools and meant for large-scale, high-fidelity, robust experimentation. Merge currently supports three testbeds at USC-ISI (modernized DETERLab for cybersecurity, DCOMP for distributed systems, and Lighthouse for extreme virtualization) with diverse hardware and hundreds of users.</p> 328<p><img loading="lazy" decoding="async" class="alignright wp-image-98" src="https://sphere-project.net/wp-content/uploads/sites/57/2024/01/SPHERE-RI-Logo-2023-07-07-231x300.png" alt="SPHERE Logo" width="173" height="225" srcset="https://www.isi.edu/proxy-sphere/wp-content/uploads/sites/57/2024/01/SPHERE-RI-Logo-2023-07-07-231x300.png 231w, https://www.isi.edu/proxy-sphere/wp-content/uploads/sites/57/2024/01/SPHERE-RI-Logo-2023-07-07-788x1024.png 788w, https://www.isi.edu/proxy-sphere/wp-content/uploads/sites/57/2024/01/SPHERE-RI-Logo-2023-07-07-768x998.png 768w, https://www.isi.edu/proxy-sphere/wp-content/uploads/sites/57/2024/01/SPHERE-RI-Logo-2023-07-07.png 893w" sizes="auto, (max-width: 173px) 100vw, 173px">Now with support from the NSF Mid-Scale Research Infrastructure (MSRI) program, we are pleased to announce our plans to build a new research infrastructure â SPHERE: Security and Privacy Heterogeneous Environment for Reproducible Experimentation. SPHERE will be a research infrastructure for at-scale, realistic and reproducible cybersecurity and privacy experimentation across very diverse hardware. This next generation experimental research infrastructure will employ the Merge software control stack. On day one, SPHERE will adopt compute nodes from modernized DETERLab and embedded compute nodes from DCOMP. In the future, SPHERE will include a variety of hardware, including embedded/edge computing devices, devices for machine learning training and inference, cyber-physical devices and programmable logic controllers, Internet of Things devices, programmable network devices, and general computing devices. The SPHERE research infrastru
328cture will facilitate novel, transformative research endeavors in cybersecurity and privacy: reproducible and deployable research products developed and tested in representative environments, integrated and broadly-applicable research across multiple disciplines, and research on novel threats and defenses.</p> 329<p>With the advent of SPHERE we are decommissioning DETERLab. Researchers and educational users of DETERLab are already using the early SPHERE prototype â general compute nodes running Merge software in modernized DETERLab. Current users will continue to be supported and will have the opportunity to benefit from early SPHERE research infrastructure as it comes online.</p> 330<p>We thank the generations of DETERLab users and encourage you to participate in the new SPHERE community!</p> 331<p>You can learn more about DETERLab at <a href="https://deter-project.org/" target="_blank" rel="noopener">https://deter-project.org/</a></p> 332<p>You can learn more about Merge at:Â <a href="https://mergetb.org/" target="_blank" rel="noopener">https://mergetb.org/</a><br> 333and SPHERE at: <a href="https://sphere-project.net/" target="_blank" rel="noopener">https://sphere-project.net/.</a>Â and<br> 334<a href="https://new.nsf.gov/news/nsf-announces-4-mid-scale-research-infrastructure" target="_blank" rel="noopener">https://new.nsf.gov/news/nsf-announces-4-mid-scale-research-infrastructure</a></p> 335 </div> 336 </div> 337 <div class="fl-tabs-panel"> 338 <div role="button" tabindex="0" class="fl-tabs-label fl-tabs-panel-label" data-index="2" aria-selected="false" aria-controls="fl-tabs-lfhoycp8a2kz-panel-2"> 339 <span>DARPA</span> 340 <i class="fas fa-plus"></i> 341 </div> 342 <div class="fl-tabs-panel-content fl-clearfix" id="fl-tabs-lfhoycp8a2kz-panel-2" data-index="2" role="tabpanel" aria-live="polite" aria-labelledby="fl-tabs-lfhoycp8a2kz-label-2" aria-hidden="true"> 343 <h2>DARPA Test & Evaluation Projects</h2> 344<p>USC-ISI has provided deep, extensive technical expertise in T&E methodologies, tools, scenario development, and operation of testbed facilities. The team has performed T&E roles within DARPAâs SAFER, EdgeCT, DCOMP, XD3, and Searchlight programs, leveraging either DETERLab or other Merge-based testbeds.</p> 345<p>The Merge testbed platform is a mature and fully open-source testbed software stack developed at ISI. Merge testbeds facilitate high-fidelity networked experimentation through state-of-the-art node and network virtualization technologies, enabling creation of realistic and diverse network topologies running real network hardware, operating systems, middleware, and application software.</p> 346<h3>SAFER</h3> 347<p>Under the DARPA Safer Warfighter Communications (<a href="https://www.darpa.mil/program/safer-warfighter-communications" target="_blank" rel="noopener">SAFER</a>) program, ISI's DETERLab served as the testbed and experimentation platform for the development and evaluation of technologies advancing the state-of-the-art in non-blockable and anonymous communication, such as Tor. Five separate research projects developed adversary-resistant communication technology to circumvent censorship. Complex experiments were conducted, requiring thousands of emulated users communicating with applications such as instant messaging, social networking, streaming video, and video conferencing, while red teams representing hostile network operators attempted to deanonymize users and block communication.</p> 348<h3>EdgeCT</h3> 349<p>Under the DARPA Edge-Directed Cyber Technologies for Reliable Mission Communication (<a href="https://www.darpa.mil/program/edge-directed-cyber-technologies-for-reliable-mission-communication" target="_blank" rel="noopener">EdgeCT</a>) program, ISIâs DETERLab served as the testbed and experimental platform for the development evaluation of performer technologies. The testbed was used to build realistic models of networks and workloads to help guide partner researcher and evaluate prototypes. These networks had to accurately model transition partner edge enclaves, the networks between them, and the workflows they conducted.</p> 350<h3>DCOMP</h3> 351<p>Under the DARPA Dispersed Computing (<a href="https://www.darpa.mil/program/dispersed-computing" target="_blank" rel="noopener">DCOMP</a>) program, ISIâs DCOMP testbed was used for program evaluation. The DCOMP testbed was controlled by the Merge software and composed of 1,444 nodes to routinely support simultaneous experiments with hundreds of nodes interconnected through complex network topologies. The DCOMP program developed robust decision systems to enable secure, collective tasking of computing assets in a mission-aware fashion by users with competing demands, and across large numbers of heterogeneous computing platforms at the edge.</p> 352<h3>XD3</h3> 353<p>Under the DARPA Extreme DDoS Defense (<a href="https://www.darpa.mil/program/extreme-ddos-defense" target="_blank" rel="noopener">XD3</a>) program, ISIâs DETERLab served as the test platform to evaluate six technologies: machine-learning based real-time endpoint detection and mitigation for low-volume DDoS attacks; elastic dispersion-oriented systems that deploy additional micro computational units when under attack; disguise-based in-network technology that mitigate attacks before they reach the server; and deceptive defense strategies providing false information to attackers.</p> 354<h3>SEARCHLIGHT</h3> 355<p>Under the DARPA <a href="https://www.darpa.mil/program/searchlight" target="_blank" rel="noopener">Searchlight</a> program, ISI partnered with Sandia National Laboratories to evaluate performer technologies developed for analysis and QoS management of an enterpriseâs distributed a
355pplications overlaid on the internet. This evaluation used the Lighthouse Merge-based testbed, which consisted of a subset of the high-end nodes from the original DETERLab testbed that were modified to support extensive virtualization built around the open-source type-2 hypervisor system QEMU /KVM and Sandiaâs virtual machine automation platform, Minimega.</p> 356 </div> 357 </div> 358 <div class="fl-tabs-panel"> 359 <div role="button" tabindex="0" class="fl-tabs-label fl-tabs-panel-label" data-index="3" aria-selected="false" aria-controls="fl-tabs-lfhoycp8a2kz-panel-3"> 360 <span>PROPOSAL</span> 361 <i class="fas fa-plus"></i> 362 </div> 363 <div class="fl-tabs-panel-content fl-clearfix" id="fl-tabs-lfhoycp8a2kz-panel-3" data-index="3" role="tabpanel" aria-live="polite" aria-labelledby="fl-tabs-lfhoycp8a2kz-label-3" aria-hidden="true"> 364 <h2><strong>SPHERE Proposal</strong></h2> 365<ul> 366<li><a href="https://sphere-project.net/wp-content/uploads/sites/57/2024/01/sphere-summary.pdf" target="_blank">Summary</a></li> 367<li><a href="https://sphere-project.net/wp-content/uploads/sites/57/2024/01/sphere-description.pdf" target="_blank">Description and References</a></li> 368<li><a href="https://sphere-project.net/wp-content/uploads/sites/57/2024/01/sphere-dmplan.pdf" target="_blank">Data Management Plan</a></li> 369</ul> 370<p>Â </p> 371 </div> 372 </div> 373 <div class="fl-tabs-panel"> 374 <div role="button" tabindex="0" class="fl-tabs-label fl-tabs-panel-label" data-index="4" aria-selected="false" aria-controls="fl-tabs-lfhoycp8a2kz-panel-4"> 375 <span>STATUS</span> 376 <i class="fas fa-plus"></i> 377 </div> 378 <div class="fl-tabs-panel-content fl-clearfix" id="fl-tabs-lfhoycp8a2kz-panel-4" data-index="4" role="tabpanel" aria-live="polite" aria-labelledby="fl-tabs-lfhoycp8a2kz-label-4" aria-hidden="true"> 379 <div style="display: flex; justify-content: center;"> 380<h2>Current Testbed Status</h2> 381</div> 382<div style="display: flex; justify-content: center;"><iframe loading="lazy" src="https://docs.google.com/spreadsheets/d/e/2PACX-1vRa5EF6TmKFwgfGNyl4zf03pj1G9ucinxgOGfOJq0I97gjqWjOlYVVs7Glm8vyVy9CeWvvrTSOcWf45/pubhtml?gid=393650454&single=true&widget=true&headers=false" width="600" height="1200"></iframe></div> 383 </div> 384 </div> 385 <div class="fl-tabs-panel"> 386 <div role="button" tabindex="0" class="fl-tabs-label fl-tabs-panel-label" data-index="5" aria-selected="false" aria-controls="fl-tabs-lfhoycp8a2kz-panel-5"> 387 <span>RESOURCES</span> 388 <i class="fas fa-plus"></i> 389 </div> 390 <div class="fl-tabs-panel-content fl-clearfix" id="fl-tabs-lfhoycp8a2kz-panel-5" data-index="5" role="tabpanel" aria-live="polite" aria-labelledby="fl-tabs-lfhoycp8a2kz-label-5" aria-hidden="true"> 391 <h2>SPHERE Testbed Resources (as of July 2, 2025)</h2> 392<h3>User Portals</h3> 393<div class="portal-section"> 394<h4 class="enclave-info">Available portals</h4> 395<table class="portal-table"> 396<tbody> 397<tr> 398<th class="portal_col1">Portal Name</th> 399<th class="portal_col2">Description</th> 400<th class="portal_col3">Demographic</th> 401</tr> 402<tr> 403<td>GUI (Graphical User Interface)</td> 404<td>This Graphical User Interface portal enables users to draw and annotate network topologies and workflows through intuitive visual tools, designed for accessibility by novice users.</td> 405<td>Novice users</td> 406</tr> 407<tr> 408<td>MAN (Manual)</td> 409<td>The Manual portal provides advanced SSH-based access for expert users to directly control experimental nodes and conduct exploratory research with maximum flexibility in testbed resource manipulation.</td> 410<td>Exploratory research</td> 411</tr> 412<tr> 413<td>JUP (Jupyter)</td> 414<td>Through the Jupyter portal, mature experimental workflows are documented and automated using notebook interfaces, ensuring research reproducibility and systematic execution.</td> 415<td>Mature research</td> 416</tr> 417<tr> 418<td>EDU (Education)</td> 419<td>Serving as an Education portal, this platform empowers teachers to create student accounts, upload materials, and design cybersecurity assignments featuring attack-defense scenarios in contained network environments.</td> 420<td>Teachers, students</td> 421</tr> 422</tbody> 423</table> 424<p>
424 </p> 425<h4 class="enclave-info">Future portals</h4> 426<table class="portal-table"> 427<tbody> 428<tr> 429<th class="portal_col1">Portal Name</th> 430<th class="portal_col2">Description</th> 431<th class="portal_col3">Demographic</th> 432</tr> 433<tr> 434<td>HUM (Human User Studies)</td> 435<td>Operating as a Human Study portal, this platform facilitates researcher deployment of innovations and systematic collection of participant feedback through structured interaction pathways on the SPHERE platform.</td> 436<td>Researchers, study participants</td> 437</tr> 438<tr> 439<td>AEC (Artifact Evaluation Committee)</td> 440<td>Functioning as the Artifact Evaluation Committee portal, this system connects paper authors with reviewers on shared infrastructure, supporting the submission, assessment, and archival of research artifacts for community reuse.</td> 441<td>Authors, evaluators</td> 442</tr> 443</tbody> 444</table> 445</div> 446<h3>Libraries</h3> 447<div class="library-section"> 448<div class="enclave-section"> 449<div class="resource-header" data-toggle="artifacts">Research Artifacts <span class="arrow">â¸</span></div> 450<div id="artifacts" class="enclave-content"> 451<h4 class="enclave-info">Available resources</h4> 452<table> 453<tbody> 454<tr> 455<th>Artifacts</th> 456</tr> 457<tr> 458<td>Currently in development, check again by the end of the summer!</td> 459</tr> 460</tbody> 461</table> 462</div> 463</div> 464<div class="enclave-section"> 465<div class="resource-header" data-toggle="ree">Representative Experimentation Environments (REEs) <span class="arrow">â¸</span></div> 466<div id="ree" class="enclave-content"> 467<h4 class="enclave-info">Available resources</h4> 468<table> 469<tbody> 470<tr> 471<th>REEs</th> 472</tr> 473<tr> 474<td>Currently in development.</td> 475</tr> 476</tbody> 477</table> 478</div> 479</div> 480<div class="enclave-section"> 481<div class="resource-header" data-toggle="educational">Educational Modules <span class="arrow">â¸</span></div> 482<div id="educational" class="enclave-content"> 483<h4 class="enclave-info">Introductory Labs</h4> 484<table> 485<tbody> 486<tr> 487<th class="col1">Lab</th> 488<th class="col2">Description</th> 489<th class="col3">Prerequisites</th> 490</tr> 491<tr> 492<td><a href="https://jelenamirkovic.github.io/sphere-education.github.io/docs/twonode/index.html" target="_blank" rel="noopener noreferrer">Introduction to SPHERE</a></td> 493<td>Introduction to the SPHERE testbed.</td> 494<td>Basic understanding of the Unix command line and virtual machines.</td> 495</tr> 496<tr> 497<td><a href="https://jelenamirkovic.github.io/sphere-education.github.io/docs/intro/index.html" target="_blank" rel="noopener noreferrer">Introduction to Unix/Linux</a></td> 498<td>Introduction to the Unix command line interface and its utilities.</td> 499<td>Basic understanding of programming.</td> 500</tr> 501</tbody> 502</table> 503<h4 class="enclave-info">Distributed Denial of Service Labs</h4> 504<table> 505<tbody> 506<tr> 507<th class="col1">Lab</th> 508<th class="col2">Description</th> 509<th class="col3">Prerequisites</th> 510</tr> 511<tr> 512<td><a href="https://jelenamirkovic.github.io/sphere-education.github.io/docs/hashcollision/index.html" target="_blank" rel="noopener noreferrer">DDoS: Hash Collisions</a></td> 513<td>In this exercise, you will exploit and mitigate a has-collision denial-of-service (DOS) attack.</td> 514<td>Basic understanding of hash tables (especially algorithmic complexity of its operations).</td> 515</tr> 516<tr> 517<td><a href="https://jelenamirkovic.github.io/sphere-education.github.io/docs/slowloris/index.html" target="_blank" rel="noopener noreferrer">DDoS: Slowloris Attack</a></td> 518<td>This exercise demonstrates the Slowloris attack and the resources it consumes.</td> 519<td>Basic understanding of computer networking.</td> 520</tr> 521<tr> 522<td><a href="https://jelenamirkovic.github.io/sphere-education.github.io/docs/synflood/index.html" target="_blank" rel="noopener noreferrer">DDoS: TCP SYN Flood</a></td> 523<td>This exercise demonstrates the TCP SYN (synchronize) flood.</td> 524<td>Basic understanding of computer networking, TCP SYN flood attack logistics, and SYN cookies.</td> 525</tr> 526</tbody> 527</table> 528<h4 class="enclave-info">Exploitative Labs</h4> 529<table> 530<tbody> 531<tr> 532<th class="col1">Lab</th> 533<th class="col2">Description</th> 534<th class="col3">Prerequisites</th> 535</tr> 536<tr> 537<td><a href="https://jelenamirkovic.github.io/sphere-education.github.io/docs/bufferoverflow/index.html" target="_blank" rel="noopener noreferrer">Exploits: Buffer Overflow</a></td> 538<td>Introduction to buffer overflows, their exploits, and their mitigation.</td> 539<td>Basic understanding of the Unix command line, POSIX permissions, and basic programming (C and HTTP).</td> 540</tr> 541<tr> 542<td><a href="https://jelenamirkovic.github.io/sphere-education.github.io/docs/forensics/index.html" target="_blank" rel="noopener noreferrer">Exploits: Computer Forensics</a></td> 543<td>Introduction to basic forensic analysis theory and practice. Investigation of disk images, data recovery, and compromised systems.</td> 544<td>Basic understanding of the Unix shell environment and common shell utilities (e.g., find, grep, strings, etc.).</td> 545</tr> 546<tr> 547<td><a href="https://jelenamirkovic.github.io/sphere-education.github.io/docs/xss/index.html" target="_blank" rel="noopener noreferrer">Exploits: Cross-Site Scripting (XSS)</a></td> 548<td>Introduction to XSS and Persistent Cross-Site Scripting.</td> 549<td>Basic understanding of the Unix command line, POSIX permissions, and basic programming (C and HTTP).</td> 550</tr> 551<tr> 552<td><a href="https://jelenamirkovic.github.io/sphere-education.github.io/docs/pathname/index.html" target="_blank" rel="noopener noreferrer">Exploits: Pathname Attacks</a></td> 553<td>Introduction to pathname attacks.</td> 554<td>Basic understanding of the Unix command line, POSIX permissions, and basic programming (Perl and HTTP).</td> 555</tr> 556<tr> 557<td><a href="https://jelenamirkovic.github.io/sphere-education.github.io/docs/sqli/index.html" target="_blank" rel="noopener noreferrer">Exploits: SQL Injection</a></td> 558<td>
558Introduction to SQL (Structured Query Language) Injection attacks.</td> 559<td>Basic understanding of the Unix command line, POSIX permissions, and basic programming (PHP and SQL).</td> 560</tr> 561</tbody> 562</table> 563<h4 class="enclave-info">Networking Labs</h4> 564<table> 565<tbody> 566<tr> 567<th class="col1">Lab</th> 568<th class="col2">Description</th> 569<th class="col3">Prerequisites</th> 570</tr> 571<tr> 572<td><a href="https://jelenamirkovic.github.io/sphere-education.github.io/docs/ipv6/index.html" target="_blank" rel="noopener noreferrer">Networking: IPv6</a></td> 573<td>Exercise that incorporates IPv6 internetworking.</td> 574<td>Basic understanding of the Unix command line and networking.</td> 575</tr> 576<tr> 577<td><a href="https://jelenamirkovic.github.io/sphere-education.github.io/docs/internetworking/index.html" target="_blank" rel="noopener noreferrer">Networking: Routing, Addressing, and Port Forwarding</a></td> 578<td>In this exercise, you'll practice configuring IP addressing, route tables, private address prohibition, network address translation, and port forwarding.</td> 579<td>Basic understanding of the Unix command line, networking, and configuration.</td> 580</tr> 581</tbody> 582</table> 583<h4 class="enclave-info">Prevention Labs</h4> 584<table> 585<tbody> 586<tr> 587<th class="col1">Lab</th> 588<th class="col2">Description</th> 589<th class="col3">Prerequisites</th> 590</tr> 591<tr> 592<td><a href="https://jelenamirkovic.github.io/sphere-education.github.io/docs/passwords/index.html" target="_blank" rel="noopener noreferrer">Passwords: Cracking</a></td> 593<td>This exercises introduces password cracking and its ease.</td> 594<td>Basic understanding of the Unix command line.</td> 595</tr> 596<tr> 597<td><a href="https://jelenamirkovic.github.io/sphere-education.github.io/docs/oshardening/index.html" target="_blank" rel="noopener noreferrer">Prevention: OS Hardening</a></td> 598<td>This exercise demonstrates how services are started and stopped in Linux.</td> 599<td>Basic understanding of the Unix command line and operating systems.</td> 600</tr> 601<tr> 602<td><a href="https://jelenamirkovic.github.io/sphere-education.github.io/docs/posix/index.html" target="_blank" rel="noopener noreferrer">Prevention: POSIX Perfmissions</a></td> 603<td>Introduction to the filesystem and network access control schemes.</td> 604<td>Basic understanding of the Unix command line and POSIX permissions.</td> 605</tr> 606<tr> 607<td><a href="https://jelenamirkovic.github.io/sphere-education.github.io/docs/ipsec/index.html" target="_blank" rel="noopener noreferrer">Prevention: Setting up IPSec</a></td> 608<td>This exercise demonstrates the installation, configuration, and testing of IPSec (Internet Protocol Security).</td> 609<td>Basic understanding of the Unix command line, networking, and strongswan.</td> 610</tr> 611<tr> 612<td><a href="https://jelenamirkovic.github.io/sphere-education.github.io/docs/snort/index.html" target="_blank" rel="noopener noreferrer">Prevention: Snort</a></td> 613<td>Introduction to securing legacy systems and software.</td> 614<td>Basic understanding of the Unix command line and networking.</td> 615</tr> 616<tr> 617<td><a href="https://jelenamirkovic.github.io/sphere-education.github.io/docs/firewall/index.html" target="_blank" rel="noopener noreferrer">Prevention: Stateful Firewalls</a></td> 618<td>This exercise demonstrates network access control schemes and firewalls.</td> 619<td>Basic understanding of the Unix command line and iptables.</td> 620</tr> 621</tbody> 622</table> 623<h4 class="enclave-info">Attacks & Miscellaneous Labs</h4> 624<table> 625<tbody> 626<tr> 627<th class="col1">Lab</th> 628<th class="col2">Description</th> 629<th class="col3">Prerequisites</th> 630</tr> 631<tr> 632<td class="col1"><a href="https://jelenamirkovic.github.io/sphere-education.github.io/docs/bgphijack/index.html" target="_blank" rel="noopener noreferrer">BGP Prefix Hijack Attacks</a></td> 633<td class="col2">Introduction to Border Gateway Protocol (BGP) and prefix hijacking.</td> 634<td class="col3">Basic understanding of routing protocols, IP forwarding, and Unix command line.</td> 635</tr> 636<tr> 637<td class="col1"><a href="https://jelenamirkovic.github.io/sphere-education.github.io/docs/dwarf/index.html" target="_blank" rel="noopener noreferrer">Binary Analysis: Introduction to Dwarf</a></td> 638<td class="col2">Review different types of compiled binaries and the structure of debugging information in binary programs.</td> 639<td class="col3">Basic understanding of binary.</td> 640</tr> 641<tr> 642<td class="col1"><a href="https://jelenamirkovic.github.io/sphere-education.github.io/docs/ctfbank/index.html" target="_blank" rel="noopener noreferrer">CCTF: Secure Server</a></td> 643<td class="col2">This exercise allows students to practice setting up and monitoring a Web server.</td> 644<td class="col3">This is a team exercise.</td> 645</tr> 646<tr> 647<td class="col1"><a href="https://jelenamirkovic.github.io/sphere-education.github.io/docs/ctfdos/index.html" target="_blank" rel="noopener noreferrer">CCTF: Secure and Resilient Server</a></td> 648<td class="col2">This exercise lets students practice monitoring and defending a Web server.</td> 649<td class="col3">This is a team exercise.</td> 650</tr> 651<tr> 652<td class="col1"><a href="https://jelenamirkovic.github.io/sphere-education.github.io/docs/dnsmitm/index.html" target="_blank" rel="noopener noreferrer">DNS: Man-in-the-Middle Attacks</a></td> 653<td class="col2">Introduction to Domain Name System (DNS) and Domain Name System Security (DNSSEC).</td> 654<td class="col3">Basic understanding of TCP/IP, the client-server model, and the Unix command line.</td> 655</tr> 656<tr> 657<td class="col1"><a href="https://jelenamirkovic.github.io/sphere-education.github.io/docs/worm/index.html" target="_blank" rel="noopener noreferrer">Worms: Modeling the Spread</a></td> 658<td class="col2">This exercise demonstrates worm attacks and mitigation.</td> 659<td class="col3">Basic understanding of the Unix command line, SlammerWorm attacks, WiityWorm attacks, and TCP dumps.</td> 660</tr> 661</tbody> 662</table> 663<h4 class="enclave-info">Upcoming Labs</h4> 664<p style="text-align: center;">We are currently developing Jupyterized (using Jupyter Notebook) versions<br> 665of these labs for a more user-friendly experience! Coming soon ~</p> 666</div> 667</div> 668</div> 669<h3>Facilities</h3> 670<div class="enclave-section"> 671<div class="enclave-header" data-toggle="general-compute">General Compute Enclave <span class="arrow">
671â¸</span></div> 672<div id="general-compute" class="enclave-content"> 673<h4 class="enclave-info">Available Nodes</h4> 674<table> 675<tbody> 676<tr> 677<th>Manufacturer</th> 678<th>Model</th> 679<th>CPU(s)</th> 680<th>Cores</th> 681<th>RAM</th> 682<th>Total Memory</th> 683<th>NIC</th> 684<th>Storage</th> 685<th>Node Count</th> 686</tr> 687<tr> 688<td>Gigabyte</td> 689<td>Custom Mod-Deter Server</td> 690<td>AMD 64C 2.0Ghz 256 mb 200W</td> 691<td>128</td> 692<td>16 GB (16 modules)</td> 693<td>256 GB</td> 694<td>Mellanox CX6 Dual Port 100Gbps PCIe4.0 x16</td> 695<td>10.4 TB</td> 696<td>44</td> 697</tr> 698</tbody> 699</table> 700</div> 701</div> 702<div class="enclave-section"> 703<div class="enclave-header" data-toggle="machine-learning">Machine Learning Enclave <span class="arrow">â¸</span></div> 704<div id="machine-learning" class="enclave-content"> 705<h4 class="enclave-info">Available Nodes</h4> 706<table> 707<tbody> 708<tr> 709<th>Manufacturer</th> 710<th>Model</th> 711<th>CPU(s)</th> 712<th>Cores</th> 713<th>RAM</th> 714<th>Total Memory</th> 715<th>NIC</th> 716<th>Storage</th> 717<th>Node Count</th> 718</tr> 719<tr> 720<td>Colfax</td> 721<td>DcompTB Supermicro Ahi GPU Node</td> 722<td>AMD EPYC (Turin) 24C 3.2Ghz 256mb 12channel 360W</td> 723<td>24</td> 724<td>16 GB (12 modules)</td> 725<td>192 GB</td> 726<td>Mellanox Single Port 25 Gbps PCIe4 FHHL</td> 727<td>800 GB</td> 728<td>4</td> 729</tr> 730</tbody> 731</table> 732<h4 class="enclave-info">Planned Nodes</h4> 733<table> 734<tbody> 735<tr> 736<th>Manufacturer</th> 737<th>Model</th> 738<th>CPU(s)</th> 739<th>Cores</th> 740<th>RAM</th> 741<th>Total Memory</th> 742<th>NIC</th> 743<th>Storage</th> 744<th>Node Count</th> 745</tr> 746<tr> 747<td>Colfax</td> 748<td>Custom Gigabyte SPHERE GPU Node CX-119366</td> 749<td>
749AMD EPYC (Turin) 64C 3.2Ghz 256mb 12channel 360W</td> 750<td>64</td> 751<td>16 GB (12 modules)</td> 752<td>192 GB</td> 753<td>Mellanox Dual Port QSFP56 200Gbps PCIe5.0x16</td> 754<td>15.8 TB</td> 755<td>10</td> 756</tr> 757</tbody> 758</table> 759</div> 760</div> 761<div class="enclave-section"> 762<div class="enclave-header" data-toggle="iot">Internet of Things Enclave (Beta) <span class="arrow">â¸</span></div> 763<div id="iot" class="enclave-content"> 764<h4 class="enclave-info">Currently in development and testing.</h4> 765</div> 766</div> 767<div class="enclave-section"> 768<div class="enclave-header" data-toggle="cyber-physical">Cyber-Physical Systems Enclave <span class="arrow">â¸</span></div> 769<div id="cyber-physical" class="enclave-content"> 770<h4 class="enclave-info">Currently in development.</h4> 771</div> 772</div> 773<div class="enclave-section"> 774<div class="enclave-header" data-toggle="embedded">Embedded Compute Enclave <span class="arrow">â¸</span></div> 775<div id="embedded" class="enclave-content"> 776<h4 class="enclave-info">Coming Soon!</h4> 777</div> 778</div> 779<div class="enclave-section"> 780<div class="enclave-header" data-toggle="programmable">Programmable Nodes Enclave <span class="arrow">â¸</span></div> 781<div id="programmable" class="enclave-content"> 782<h4 class="enclave-info">Coming Soon!</h4> 783</div> 784</div> 785 </div> 786 </div> 787 <div class="fl-tabs-panel"> 788 <div role="button" tabindex="0" class="fl-tabs-label fl-tabs-panel-label" data-index="6" aria-selected="false" aria-controls="fl-tabs-lfhoycp8a2kz-panel-6"> 789 <span>SPONSORS</span> 790 <i class="fas fa-plus"></i> 791 </div> 792 <div class="fl-tabs-panel-content fl-clearfix" id="fl-tabs-lfhoycp8a2kz-panel-6" data-index="6" role="tabpanel" aria-live="polite" aria-labelledby="fl-tabs-lfhoycp8a2kz-label-6" aria-hidden="true"> 793 <p><!-- wp:fl-builder/layout --></p> 794<h2>SPHERE Sponsors and Partners</h2> 795<p>Organizations interested in sponsoring or partnering with SPHERE, or donating equipment, including CPS or IoT devices, please <a href="https://sphere-project.net/contact/">contact us</a>.</p> 796<h3>Sponsor</h3> 797<p><img loading="lazy" decoding="async" class="alignleft" title="NSF_Official_logo_High_Res_1200ppi" src="https://sphere-project.net/wp-content/uploads/sites/57/2024/06/NSF_Official_logo_High_Res_1200ppi-300x300.png" alt="NSF_Official_logo_High_Res_1200ppi" width="198" height="198"></p> 798<h4><a title="NSF" href="https://www.nsf.gov/" target="_blank"> National Science Foundation (NSF) </a></h4> 799<p>NSF is an independent agency of the United States federal government that supports fundamental research and education in all the non-medical fields of science and engineering. NSF is funding the construction of SPHERE through a Mid-scale Research Infrastructure-1 award. With NSF's support, SPHERE will deploy advanced hardware and software to facilitate foundational and translational cybersecurity and privacy research, including edge computing devices, programmable logic controllers, and Internet of Things devices. This support will enable SPHERE to transform cybersecurity and privacy research into a community-wide effort, advancing scientific discovery and enhancing the nation's cybersecurity research capabilities.</p> 800<h2></h2> 801<h3>Partners</h3> 802<p><img loading="lazy" decoding="async" class="alignleft" title="Amd-logo-1536x864" src="https://sphere-project.net/wp-content/uploads/sites/57/2024/06/Amd-logo-1536x864-1-300x169.jpg" alt="Amd-logo-1536x864" width="204" height="115"></p> 803<h4><a title="AMD" href="https://www.amd.com/en.html" target="_blank"> Advanced Micro Devices, Inc. (AMD) </a></h4> 804<p>AMD is an American multinational corporation and semiconductor company that develops computer processors and related technologies for business and consumer markets. AMD donated eight (8) NetFPGA network cards to SPHERE, enhancing the platform's ability to conduct comprehensive cybersecurity and privacy experiments across varied infrastructures. This donation strengthens SPHERE's research capabilities in network performance monitoring and advanced networking protocol analysis.</p> 805<p><!-- /wp:fl-builder/layout --></p> 806 </div>
807 </div> 808 </div> 809 810</div> 811 </div> 812</div> 813</div> 814</div> 815 </div> 816 </div> 817 </div> 818</div> 819</div> </div> 820 821<!-- .fl-post-content --></article> 822 823 824 <!-- .fl-post --></div> 825 </div> 826</div> 827 828 829</div> 830<!-- .col-8 --></div> 831 832<!-- .row --></div> 833<!-- .container --></div> 834 835 836<footer id="site-footer" class="fl-page-footer-wrap" role="contentinfo"> 837 838 <div class="footer-content"> 839 <div class="container"> 840 <div class="row"> 841 <div class="col-12 col-md-6"> 842 <aside id="block-8" class="fl-widget widget_block"><div class="d-flex flex-row"> 843 <div style="padding-right: 100px"> 844 <h3>Useful Links</h3> 845 <ul> 846 <li><a href="https://mergetb.gitlab.io/testbeds/sphere/sphere-docs/docs/policies/eligible/" target="_blank">Eligibility Policy</a></li> 847 <li><a href="https://mergetb.gitlab.io/testbeds/sphere/sphere-docs/docs/policies/aup/" target="_blank">Acceptable Use Policy</a></li> 848 </ul> 849 </div> 850 <div> 851 <h3>Help & Support</h3> 852 <ul> 853 <li><a href="https://sphere-project.net/contact/">Contact</a></li> <li><a href="https://docs.google.com/forms/d/e/1FAIpQLScqJ93eDYm62R4DDT-d7CBTiz6FozuhInzQI7_XLo12MSQOJA/viewform">Feedback</a></li> 854 </ul> 855 </div> 856</div></aside> </div> 857 <div class="col-12 col-md-6"> 858 <aside id="block-9" class="fl-widget widget_block"><div class="d-flex flex-row justify-content-between"> 859 <div> 860 <h3>Social</h3> 861 <ul class="social-links"> 862 <li><a href="https://www.linkedin.com/company/sphere-research-infrastructure/" target="_blank">LinkedIn</a></li> 863 <li><a href="https://x.com/SPHERE_testbed" target="_blank">Twitter/X</a></li> 864 <li><a href="http://www.youtube.com/@SPHERE_testbed" target="_blank"> 865 866 </a></li> 867 <li><a href="https://sphere-project.net/contact/" class="email">Email</a></li> 868 </ul> 869 </div> 870 <div class="text-right"> 871 <a href="https://www.trustedci.org/framework"> 872 <img loading="lazy" decoding="async" src="/proxy-sphere/wp-content/uploads/sites/57/2024/06/trusted-ci-badge.png" width="80" height="80" alt="Trusted CI Program badge"> 873 </a> 874 </div> 875</div></aside> </div> 876 </div> 877 </div> 878 </div> 879 <div id="site-info"> 880 <aside id="block-7" class="fl-widget widget_block"><div id="footer-logos" class="fl-full-width"> 881 <div class="container"> 882 <div class="row justify-content-center"> 883 <div class="col-md-3 col-12"><a href="https://viterbischool.usc.edu/" target="_blank" rel="noreferrer noopener"><img decoding="async" src="/proxy-sphere/wp-content/uploads/sites/57/2025/12/viterbi-logo.png" alt="USC Viterbi School of Engineering"></a></div> 884 <div class="col-md-3 col-12"><a href="https://www.isi.edu/" target="_blank"><img decoding="async" src="/proxy-sphere/wp-content/uploads/sites/57/2025/12/isi-logo.png" alt="USC Information Sciences Institute"></a></div> 885 <div class="col-md-3 col-12"><a href="https://www.northeastern.edu/" target="_blank" rel="noreferrer noopener"><img decoding="async" src="/proxy-sphere/wp-content/uploads/sites/57/2025/12/northeastern-logo.png" alt="Northeastern University"></a></div> 886 <div class="col-md-3 col-12"><a href="https://www.utah.edu/" target="_blank" rel="noreferrer noopener"><img decoding="async" src="/proxy-sphere/wp-content/uploads/sites/57/2025/12/university-utah-logo.png" alt="University of Utah"></a></div> 887 </div> 888 </div> 889</div> 890 891<div id="footer-copyright" class="d-flex justify-content-center"> 892 <div class="d-flex flex-row align-items-center"> 893 <p class="mb-0" style="margin-right: 68px;color: white">© SPHERE 2026</p> 894 <p class="mb-0 d-flex align-items-center" style="color: white"> 895 <img decoding="async" src="/proxy-sphere/wp-content/uploads/sites/57/2024/06/nsf-logo.png" style="width: 40px;margin-right: 8px" alt="National Science Foundation logo"> 896 <em> 897 SPHERE is funded by the National Science Foundation under 898 <a href="https://www.nsf.gov/awardsearch/showAward?AWD_ID=2330066" target="_blank" rel="noreferrer noopener">Grant #2330066</a>. 899 </em> 900 </p> 901 </div> 902</div></aside> </div> 903 904 905</footer> 906 907</main> 908 909</div> 910
911<script type="speculationrules"> 912{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/proxy-sphere/*"},{"not":{"href_matches":["/proxy-sphere/wp-*.php","/proxy-sphere/wp-admin/*","/proxy-sphere/wp-content/uploads/sites/57/*","/proxy-sphere/wp-content/*","/proxy-sphere/wp-content/plugins/*","/proxy-sphere/wp-content/themes/isi-modern23/*","/proxy-sphere/wp-content/themes/bb-theme/*","/proxy-sphere/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 913</script>
vendor: 1 bytes, line 913
913
914<script id="fl-builder-layout-58-js" src="https://sphere-project.net/wp-content/uploads/sites/57/bb-plugin/cache/58-layout.js?ver=8935142bffbfc3c9f4c28288abcb79e4"></script>
vendor: 1 bytes, line 914
914
915<script id="moment-js" src="https://sphere-project.net/wp-includes/js/dist/vendor/moment.min.js?ver=2.30.1"></script>
vendor: 1 bytes, line 915
915
916<script id="moment-js-after"> 917moment.updateLocale( 'en_US', {"months":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthsShort":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"weekdays":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"weekdaysShort":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"week":{"dow":1},"longDateFormat":{"LT":"g:i a","LTS":null,"L":null,"LL":"F j, Y","LLL":"F j, Y g:i a","LLLL":null}} ); 918//# sourceURL=moment-js-after 919</script>
vendor: 1 bytes, line 919
919
920<script id="GSWPTS-frontend-table-js" src="https://sphere-project.net/wp-content/plugins/sheets-to-wp-table-live-sync/assets/public/library/datatables/tables/js/jquery.datatables.min.js?ver=1790666644"></script>
vendor: 1 bytes, line 920
920
921<script id="GSWPTS-frontend-semantic-js" src="https://sphere-project.net/wp-content/plugins/sheets-to-wp-table-live-sync/assets/public/library/datatables/tables/js/datatables.semanticui.min.js?ver=1790666644"></script>
vendor: 1 bytes, line 921
921
922<script id="datetime-moment-js-js" src="https://sphere-project.net/wp-content/plugins/sheets-to-wp-table-live-sync/assets/public/scripts/moment/datetime-moment.js?ver=1790666644"></script>
vendor: 1 bytes, line 922
922
923<script id="jquery-ui-core-js-before"> 924jQuery.uiBackCompat = true; 925//# sourceURL=jquery-ui-core-js-before 926</script>
vendor: 1 bytes, line 926
926
927<script id="jquery-ui-core-js" src="https://sphere-project.net/wp-includes/js/jquery/ui/core.min.js?ver=1.14.2"></script>
vendor: 1 bytes, line 927
927
928<script id="jquery-ui-mouse-js" src="https://sphere-project.net/wp-includes/js/jquery/ui/mouse.min.js?ver=1.14.2"></script>
vendor: 1 bytes, line 928
928
929<script id="jquery-ui-draggable-js" src="https://sphere-project.net/wp-includes/js/jquery/ui/draggable.min.js?ver=1.14.2"></script>
vendor: 1 bytes, line 929
929
930<script id="GSWPTS-frontend-js-js-extra"> 931var gswpts_frontend_data = {"admin_ajax":"https://sphere-project.net/wp-admin/admin-ajax.php","asynchronous_loading":"on","isProActive":"","strings":{"db-title":"Create beautiful tables from Google Sheets","new-tables":"Create new table","tables-created":"Your Tables","loading":"Loading...","no-tables-have-been-created-yet":"\ud83d\udc4b Welcome!","no-tables-video-click":"Click the button below to create your first table!","need-help-watch-a":"Need help? Watch a","quick-video-tutorial":"quick video tutorial","create-new-table":"Create new table","need-help":"Need help?","help-text":"Help","help-text-tooltip":"Help?","watch-now":"Watch Now","search-tb":"Search tables","search-items":"Search items","search-btn":"Search","clear-btn":"Clear","get_help_creation":"Get Help with Creating Tab Groups","tabs-description":"Tabs let you group multiple tables into tabbed views and embed in your pages or posts","quick-tutorial":"Quick Tutorial","get-started-tab-groups":"Get started with Tab Groups","search-tabs":"Search tabs","tooltip-0":"This title will be shown on the top of your table","tooltip-1":"Copy the URL of your Google Sheet from your browser and paste it in the box below. Make sure your sheet is public.","tooltip-2":"Copy the Google Sheet URL from your browser and paste it here to create table. Changing this URL will change your table.","tooltip-3":"If this is enabled, the box showing number of entries will be hidden for the viewers","tooltip-4":"If enabled, the search box will be hidden for viewers","tooltip-5":"Enable this option to hide the table title for the viewers","tooltip-5.1":"Enable this option to show the table title for the viewers","tooltip-5.2":"Enable this option to show table description for the viewers","tooltip-6":"If checked, the sorting option will be enabled for viewers when they view the table","tooltip-7":"If enabled the entry info showing number of current entries out of all the entries will be hidden","tooltip-8":"Enable this to hide the pagination for viewers","tooltip-9":"Display multiple tables using tabs. Just like your google sheets","tooltip-10":"Title of the tab group","tooltip-11":"Enter the title for this tab","tooltip-12":"Select the table which will be shown in this tab from the dropdown below","tooltip-13":"Enable this to hide the selected columns on mobile","tooltip-14":"Enable this to hide the selected column on desktop","tooltip-15":"This is the list of the hidden columns. Removing a column from this list will make them visible again","tooltip-16":"This is the list of the hidden rows. Removing a row from this list will make them visible again","tooltip-17":"This is the list of the hidden cells. Removing a cell from this list will make them visible again","tooltip-18":"Use direct google sheet embed link with text content, More flexiable and easy to use","tooltip-19":"Use old way [ ] pair to generate link","tooltip-20":"Copy the URL of your Google Sheet from your browser and paste it in the box below. Make sure your sheet is public..","tooltip-21":"Copy the URL of your Google Sheet and paste it here.","tooltip-22":"Allows the users to download the table in the format that you select below","tooltip-23":"For the links on the table you can decide what will happen when a link is clicked","tooltip-24":"The link opens in the same tab where the table is","tooltip-25":"The link will be opened on a new tab","tooltip-26":"Allow 'Smart links' to load multiple embeed links with text from Google Sheet. To use this makesure 'Smart link' support selected from 'link support mechanism' in 'Settings' menu. However, if there is no embeed links in the Sheet or your'e using pretty link format, then there is no need to use it, which will reduces loading time and makes the table load faster.","tooltip-27":"Allow images to be loaded from sheets. You can use it to import images if you have them in Google Sheets. However, if there is no image in the Sheet, there is no need to use it, which will reduces loading time and makes the table load faster.","tooltip-28":"If enabled the table will load faster for the viewers","tooltip-29":"Choose how the table cell will look","tooltip-30":"Cell will expand according to the content","tooltip-31":"Cell will be wrapped according to the content","tooltip-32":"Choose how the table will look on devices with small screens","tooltip-33":"Let the browser decide the behavior of the responsiveness","tooltip-34":"The table rows will be collapse on each other in one column","tooltip-35":"A horizontal scrollbar will appear for the users to scroll the table left and right","tooltip-36":"Enable this feature to showcase your Sheet's merged cells seamlessly on the WordPress frontend table.","tooltip-37":"Select the number of rows to show per page","tooltip-38":"Select the table height. If the table height is lower there will be a vertical scrollbar to scroll through the rows","tooltip-39":"Quickly change your table's look and feel using themes","tooltip-40":"Enable this feature to import colors and text styles directly from a Google Sheet, instead of using the predefined theme above","tooltip-41":"If this is checked, the tab group title will not be visible in the front end","tooltip-42":"Choose where you want to show the tab","tooltip-43":"The tabs will be shown first and the table will be shown after it","tooltip-44":"The table will be shown first and the tab will be shown after it","tooltip-45":"Set the cursor behavior on your table","tooltip-46":"You can easily highlight text for copy-paste","tooltip-47":"You can effortlessly move the table horizontally (left-right).","tooltip-48":"Allow checkbox to be loaded from sheets. You can use it to import checkox if you have them in Google Sheets.","tooltip-50":"Enable row and column coloring","tooltip-51":"Cho
931ose the column or row to add colors","tooltip-52":"Add color on column","tooltip-53":"Add color on row","tooltip-54":"Select which column to sort on load, or keep the format from Google Sheets.","tooltip-55":"Choose the order of sorting for the selected column.","tooltip-56":"Specify the maximum time (in seconds) the plugin will wait for a response from the Google server. A higher timeout allows more time to receive a complete response, but may delay table loading; a lower timeout can speed up loading but may result in missing data if the response isn\u2019t fully received. A setting between 10 and 15 seconds is generally recommended for balanced performance.","tooltip-57":"Choose how you want to sort your table on load. Select a specific column to sort by (either ascending or descending), or keep the same format as in Google Sheets.","tooltip-58":"Select this to make the custom theme available for all tables. If unchecked, the theme will only be used for this table.","tooltip-59":"If selected, any changes made to your theme will be automatically applied to all other tables with the same theme, ensuring consistency across them. If the theme does not exist in other tables, it will be cloned with update style.","tooltip-60":"Adjust the header\u2019s offset to prevent overlap with sticky menus or other elements at the top of the page.","tooltip-61":"Set how many columns from the left side of the table should remain fixed while scrolling.","tooltip-62":"Set how many columns from the right side of the table should remain fixed while scrolling.","tooltip-63":"When this option is enabled, the cache won't trigger any API request to update data from sheets. This helps improve performance and reduce server load. Important: If this is enabled before turning on features like merged cells, links, images, or importing table styles from Google Sheets, those features might not appear until the cache expires. To avoid this, enable all necessary features first, then active the cache feaure and then turn on this option. You can also change the cache expiry time in Settings.","tooltip-64":"Set how many days the cache should be stored in transients. Once the transient expires, the data will automatically refresh from the connected Google Sheets with updated data.","tooltip-65":"Allow visitors to ask questions about the table. AI scans the data and returns accurate, easy to understand answers in real time.","add-new-table":"Add new table","please-activate-your-license":"Please activate your license","activate":"Activate","db-headway":"What\u2019s new?","save-changes":"Save changes","managing-tabs":"1. Tab Creation","tab-settings":"2. Tab settings","table-settings":"Table Settings","managing-tabs-title":"Create tab view with tables","tab-settings-title":"Adjust tab appearance and behavior","save-and-move":"Save & go to Manage Tab","save-and-move-dashboard":"Go to Dashboard","copy-mail":"COPY EMAL","id-table":"ID: TB_","tab-short-copy":"Copied!","wiz-back":"Back","wiz-next":"Next","tab-1":"Tab title","mng-tab":"Tab Groups","mng-tab-content":"Organize multiple tables into tabs, just like Google Sheets!","mng-tab-modal-title":"Get started with tab groups","no-tab":"No tab group found!","no-tab-match":"No tab group matches to your search term","select-table-for-tab":"Select table for this tab","sel-pagination":"Select Pagination","customize-theme-hint":"Customize your theme according to your needs","sort-by-name":"Name","sort-by-id":"ID","sort-by-date":"Date","ascending":"Ascending","descending":"Descending","above":"above","below":"below","no-table-found":"No tables found!","no-table-match":"No tables matches to your search term","shortcode":"Shortcode","manage-tab":"1. Managing tabs","create-table":"Create table","create-table-from-url":"Create table from URL","change-theme-table-style":"Change theme and table style","change-table-theme":"You can change table theme below. You will find more customization in the dashboard.","get-pro":"Get Pro","pro":"PRO","to-create-table-from-any-tab":"to create table from any tab of your Google SpreadSheet.","google-sheet-url":"Add your Google Sheet URL to create a table","copy-the-url":"Paste the browser URL of your Google Sheet below, and the table will be created for you to customize","creating-new-table":"Creating new table","create-wooCommerce-product":"Create WooCommerce product table easily!","install-stock-sync-for-wooCommerce":"Install Stock Sync for WooCommerce","and sync y
931our store products":"and sync your store products to Google Sheets. Use the synced Google Sheet to create table. It\u2019s easy!","install-now":"Install now","table-title":"Table title","please-reduce-title-to-save":"Please reduce title to save.","gsu":"Google Sheet URL","show-table-title":"Show Table title","table-top-elements":"Table top elements","hide-ent":"Show entries","hide-search-box":"Show search box","swap":"Swap","hide-title":"Hide title","allow-sorting":"Allow Table Sorting","sorting-control":"Hide sorting controls from table","auto-sorting":"Set Default Table Sorting on Load","col-sorting":"Sort By Column","order-sorting":"Sort By Order","sort-by":"Sort By","enb-fixed-clmn":"Freeze Table Columns","left-clmn-header":"Left Columns Numbers","right-clmn-header":"Right Columns Numbers","fixed-header":"Freeze Table Header","header-offset":"Header Offset","table-bottom-ele":"Table bottom elements","hide-entry-info":"Show entry info","hide-pagi":"Show pagination","swap-pos":"Swap position","swapped-pos":"Swapped position","theme-alert":"Themes cannot be used when the \"Import colors and text styles from sheet\" feature is enabled","doc-1":"How does this plugin work?","doc-1-ans":"Watch how to \u003Ca target='_blank' href='https://www.youtube.com/playlist?list=PLd6WEu38CQSyY-1rzShSfsHn4ZVmiGNLP'\u003Eget started with FlexTable\u003C/a\u003E.","doc-10":"Where can I find tutorials about this plugin?","doc-10-ans":"Please visit our \u003Ca target='_blank' href='https://www.youtube.com/playlist?list=PLd6WEu38CQSyY-1rzShSfsHn4ZVmiGNLP'\u003EYoutube playlist\u003C/a\u003E, where we post tutorials on how you can use different features of the plugin.","doc-2":"What date format can I use?","doc-2-ans":"When working with date formats in your table, you have various options to choose from. Avoid using a \u003Cspan class='date-format'\u003E\u003Ccode\u003Ecomma separator\u003C/code\u003E\u003C/span\u003E, but consider formats such as \u003Cbr\u003E e.g. \u003Cspan class='date-format'\u003E\u003Ccode\u003E2005-06-07\u003C/code\u003E | \u003Ccode\u003E2005/06/07\u003C/code\u003E | \u003Ccode\u003E2005 06 07\u003C/code\u003E | \u003Ccode\u003EJune 7- 2005\u003C/code\u003E | \u003Ccode\u003EJune 7 2005\u003C/code\u003E | \u003Ccode\u003E7th June 2005\u003C/code\u003E\u003C/span\u003E","doc-3":"Which one is better for link support?","doc-3-ans":"For enhanced link functionality, it's advisable to utilize \u003Cspan class='date-format'\u003E\u003Ccode\u003ESmart Link\u003C/code\u003E\u003C/span\u003E over the \u003Cspan class='date-format'\u003E\u003Ccode\u003EPretty Link\u003C/code\u003E\u003C/span\u003E. Smart Link is known for its robust and user-friendly features.","doc-5":"Why my table taking too long to load?","doc-5-ans":"If your table is taking too long to load, it may be due to the presence of a substantial amount of data in Google Sheets, along with images and links. If your sheet doesn't contain images or links, consider disabling \u003Cspan class='date-format'\u003E\u003Ccode\u003Elinks and Image support\u003C/code\u003E\u003C/span\u003E within the \u003Cspan class='date-format'\u003E\u003Ccode\u003EUtility\u003C/code\u003E\u003C/span\u003E settings of Table Customization to expedite table loading. Utilizing the cache feature can also improve loading times.","doc-6":"How long table data can take to update if Cache is activated?","doc-6-ans":"When the cache feature is active, updates to your table data are not reliant on your browser's cache. Changes made in your sheet may take approximately 15-40 seconds to reflect. To view the latest updates, simply refresh the page after this timeframe.","doc-7":"How do I find tutorials about using the plugin?","doc-7-ans":"Please visit our \u003Ca target='_blank' href='https://www.youtube.com/playlist?list=PLd6WEu38CQSyY-1rzShSfsHn4ZVmiGNLP'\u003EYouTube playlist\u003C/a\u003E, where we post tutorials on how you can use different features of the plugin.","doc-9":"How can I create a table from an imported XLSX file in google spreadsheets?","doc-9-ans":"Make sure to import the XLSX file into Google Spreadsheets in the following ways. Create a new blank spreadsheet, then navigate to `\u003Cspan class='date-format'\u003E\u003Ccode\u003E File \u003E Import \u003E Upload\u003C/code\u003E\u003C/span\u003E` Drag the XLSX files to import. Then share the spreadsheets from 'General Access'. Please visit our \u003Ca target='_blank' href='https://www.youtube.com/playlist?list=PLd6WEu38CQSyY-1rzShSfsHn4ZVmiGNLP'\u003EYouTube playlist\u003C/a\u003E, where we post tutorials on how you can use XLSX file imported in google spreadsheets.","get-started":"Get Started","get-started-content":"Let\u2019s get you set up so you can start creating awesome tables","documentation":"Documentation","vt":"Video Tutorial","prof-need-help":"Get professional help via our ticketing system","faq":"Frequently Asked Question","get-plugin":"Get the most out of the plugin. Go Pro!","unlock-all":"Unlock all features","link-supp":"Link Support to import links from sheet","pre-built-sheet-style":"Pre-built amazing table styles where Each styles is different from one another","hide-row-based-on":"Hide your google sheet table rows based on your custom row selection","export-json":"Export as JSON","export-csv":"Export as CSV","export-pdf":"Export as PDF","export-excel":"Export as Excel","print":"Print Table","copy":"Copy to Clipboard","data-source":"1. Data source","table-theme":"2. Table theme","tc":"3. Table customization","hide-row-col":"4. Hide Rows/Column","conditional-view":"5. Conditional Table View","ai-integration":"6. AI Integration","table-desc":"Table description","show-table-desc":"Show Table description","data-source-title":"Connect your Google Sheet","table-theme-title":"Choose how your table appears","tc-title":"Style and personalize your table\u2019s look","hide-row-col-title":"Show or hide specific rows and columns","conditional-view-title":"Choose how you want to Display the table","ai-integration-title":"Auto-summarize data or let visitors ask questions using AI","save":"Save","saving":"Saving","lp":"Loading Preview...","dashboard":"All Tables","get-unlimited-access":"Upgrade","CTF":"Create tables first to manage tabs","manage-tab-is-not-available":"Manage tab is not available because you don\u2019t have any tables yet. Please create tables first","display-multiple":"Display multiple tables using tabs.","manage-new-tabs":"Create New Tab Group","tabs-created":"Your Tab Groups","no-tabs-found":"No tabs found with the key","tab-title":"Tab Title","add-tab":"Add tab","tab-group-title":"Tab group name","lts-data":"Let\u2019s bring meaning to your data","create-beautifully-designed-tables":"Create beautifully designed tables from Google sheets and customize as you need.","other-prodct":"Our Other Products","remarkable-product":"Experience remarkable WordPress products with a new level of power, beauty, and human-centered designs. Think you know WordPress products? Think Deeper!","hidden-cell":"Hidden Cells on Desktop","hidden-cell-mob":"Hidden Cells on Mobile","hide-cell":"Hide Cells","hidden-row":"Hidden Rows on Desktop","hidden-row-mob":"Hidden Rows on Mobile","hide-row":"Hide Rows","same-desktop":"Same as desktop","hidden-column":"Hidden Columns on Desktop","hidden-column-mob":"Hidden Columns on Mobile","hide-column-desktop":"Hide columns on desktop","hide-column-mobile":"Hide columns on mobile","hide-column":"Hide Columns","hide-desktop":"Hide on Desktop","hide-mobile":"Hide on Mobile","desktop":"Desktop","mobile":"Mobile","click-on-the-cells":"Click on the cells on the table below that you want to hide","click-on-the-rows":"Click on the rows on the table below that you want to hide","click-on-the-col":"Click on the column on the table below that you want to hide","new":"New","save-settings":"Save settings","custom-css":"Custom CSS","recommended":"Recommended","with-pretty-link":"With Pretty link","with-smart-link":"With Smart link","asynchronous-loading":"Asynchronous loading","async-content":"Enable this feature to load the table faster. The table will load in the frontend after loading all content with a pre-loader. If this feature is disabled then the table will load with the reloading of browser every time.","choose-link-support":"Choose your link support mechanism in WP Tables","write-own-css":"Write your own custom CSS to design the table or the page itself. Activate the Pro extension to enable custom CSS option","performance":"Performance","script-content":"Choose how you want to load your table scripts","global-loading":"Global loading","global-loading-details":"Load the scripts on all the pages and posts in your website.","optimized-loading":"Optimized loading","optimized-loading-details":"Load scripts only on the relevant pages/posts in your website where the table is added.","WPPOOL":"WPPOOL","powered-by":"Powered by","default-mail":"Default Email App","open-default-mail":"Open your default email app","copy-content":"Copy email address to your clipboard","yahoo":"Yahoo","yahoo-content":"Open Yahoo in browser","outlook":"Outlook","outlook-content":"Open Outlook in browser","gmail":"Gmail","gmail-content":"Open Gmail in browser","support-modal-title":"Select the convenient option to connect with us","Delete":"Delete","tab-group-delete":"This Tab Group will be deleted. It will not appear on your website anymore, if you used it somewhere","Cancel":"Cancel","confirmation-delete":"Are you sure to delete this Tab Group?","Utility":"Utility","Style":"Styling","Layout":"Layout","table_customization_layout":"Layout","let-export":"Let user export table","Excel":"Excel","JSON":"JSON","Copy":"Copy","CSV":"CSV","PDF":"PDF","Print":"Print","link-behave":"Link redirection behaviour","open-ct-window":"Opens in current window","open-new-window":"Opens in a new window","cursor-behavior":"Cursor behavior inside the table","highlight-and-copy":"Text selection mode","left-to-right":"Table navigation mode (left-right)","import-links":"Import links from sheet","import-checkbox":"Import checkbox from sheet","specific-column":"Enable sorting by specific columns in","sorting-ascending":"Ascending","sorting-descending":"Descending","sorting-checkbox-content":"within the table","import-image":"Import images from sheet","cache-table":"Cache table for faster loading time","frequent-cache":"Prevent frequent cache updates for faster table loading","freq-content":"New changes from Google Sheets will appear only after the cache expires. Features like links, images, and merged cells may not show until the cache refreshes. Cache expiry time can be adju
931sted in Settings \u2014\u003E Performance.","cell-formatting":"Cell formatting style","expanded":"Expanded","wrapped":"Wrapped","responsive-style":"Responsive style","default":"Default","collapsible-style":"Collapsible Style","scrollable-style":"Scrollable Style","row-per-page":"Rows to show per page","All":"All","100":"100","50":"50","30":"30","15":"15","10":"10","5":"5","upgrade-now":"Upgrade Now \u2192","table-height":"Table height","default-height":"Default height","400px":"400px","500px":"500px","600px":"600px","700px":"700px","800px":"800px","900px":"900px","1000px":"1000px","select-theme":"Select theme","import-color-from-sheet":"Import colors and text styles from sheet","unlock":"Unlock","Default-Style":"Default Style","Simple":"Simple","Dark-Table-wiz":"Dark Table","Dark-Table":"Simple on dark","Stripped-Table":"Stripped Table","minimal-Table":"Minimal on dark","hover-style":"Hover Style","minimal-elegant-style":"Minimal elegant","Taliwind-Style":"Taliwind Style","Uppercase-heading":"Uppercase heading","create-success":"Table creation successfull","colored-column":"Colored Column","vertical-style":"Vertical style","minimal-simple-style":"Minimal","dark-style-theme":"Dark knight","uppercase-elegant-theme":"Uppercase elegant","merge-cells":"Merge cells","beta":"Beta","merge-cells-notice":"Sorting feature is disabled. Your sheet contains vertically merged cells, so you can't use the sorting feature and merge cell feature altogether.","are-you-sure-to-disable":"Are you sure to disable?","imported-style-desc":"Colors and text styles from your Google Sheet won\u2019t be imported anymore. A default theme will be selected for you if you haven\u2019t selected one already","yes-disable":"Yes, Disable","yes-enable":"Enable for Faster Loading","are-you-sure-to-enable-frequent-mode":"Prevent Live Sync?","frequent-cache-note":"Table data will only refresh when the cache expires. This improves performance but may delay content updates. You can adjust the cache expiry time in Settings \u2192 Performance.","frequent-mode-desc":"Enabling this feature will skip live sync until your cache expires. Make sure your Google Sheet up to date and you've enabled all necessary features (images, links, merged cells, etc.) from the settings first.","Dashboard":"All Tables","Dashboard-title":"Manage, create and track all your tables tables in one place","manage-tab-submenu":"Tab Groups","global-settings":"Global Settings","global-settings-content":"Configure default settings for all your tables","Skip":"Skip","add-sheets":"Add Google Sheet URL","recommended-plugins":"Recommended Plugins","filtering_show":"Show","filtering_entries":"entries","search":"Search:","dataTables_info_showing":"Showing","dataTables_info_to":"to","dataTables_info_of":"of","first":"First","previous":"Previous","next":"Next","previous2":"PREV","next2":"NEXT","last":"last","data-empty-notice":"No matching records found","copy-shortcode":"Copy shortcode","copy-shortcode-to-use-in-page":"Copy the shortcode to use in in any page or post. Gutenberg and Elementor blocks are also supported","are-you-sure-to-delete":"Are you sure to delete the table? ","confirmation-about-to-delete":"You are about to delete the table. This will permanently delete the table(s)","merge-alert":"Vertical merge found!","merge-info":"Please make sure to keep the sorting feature disabled. Google sheet doesn't filter over a range containing vertical merges.","merge-confirm":"OK","active-merge-condition-alert":"Your sheet contains vertically merged cells, so you can not use the sorting feature. Sorting may break the table design and format. Please ensure that you have enabled either the vertical merge cell feature or the sorting feature, or confirm that your sheet has no vertical merges. If your table design still breaks even with sorting disabled, consider reloading the sheet or clicking save again to reflect the necessary fixes. To get the sorting feature visit Display settings \u003E Disable sorting","select-column":"Select a column (optional)","After-the-table":"After the table","Before-the-table":"Before the table","Tab-position":"Tab position in embedded view","hide-grp-title":"Hide tab group title","do-not-have-table":"Manage tab is not available because you don\u2019t have any tables yet. Please create tables first","create-table-to-manage":"Create tables first to manage tabs","no-tab-grp-created":"\ud83d\udc4b Let's create your first tab groups","tab-groups-will-appear-here":"Click the button below to create tab groups","tab-grp-title":"Show tab group name in embedded view","header-color-title":"HEADER COLORS","text-color-title":"TEXT COLORS","body-title":"BODY COLORS","table-text-title":"TABLE TEXTS","table-hover-title":"TABLE HOVER","row-title":"ROW COLORS","column-title":"COLUMN COLORS","border-title":"BORDER COLORS","customize-theme-options-title":"Customize Theme Options","border-style-title":"Border Style","theme-reset":"Reset","bg-color":"Backgroun
931d color","txt-color":"Text color","first-cl-txt-color":"First column text color","rest-txt-color":"Rest body text color","remaning-txt-color":"Remaining column text color","hover-color":"Hover background color","hover-text-color":"Hover text color","table-bg-color":"Table background color","table-hover-color":"Table hover color","table-border-color":"Table border color","table-text-color":"Table text color","border-color":"Border Color","out-border-color":"Outside body border","inside-border-color":"Inside border","even-row-color":"Even row color","odd-row-color":"Odd row color","even-column-color":"Even column color","odd-column-color":"Odd column color","outside-border-type":"Outside border type","outside-border":"Outside border","solid-border":"Solid border","rounded-border":"Rounded border","border-radius":"Border radius","update-changes":"Update Theme","theme-name":"Theme name","theme-colors":"Theme colors","active-column-colors":"Column color","active-row-colors":"Row color","edit-theme":"Edit","yes-delete":"Yes, Delete","yes-reset":"Yes, Reset","add-theme":"Create Theme","theme-alert-delete":"Can\u2019t delete active theme!","theme-delete-notice":"The theme is active and currently in use. Please select another theme for your table before deleting this one","confirmation-theme-delete":"Are you sure to delete theme?","confirmation-theme-delete-notice":"This theme wil be deleted and it can not be recovered. Are you sure to delete it?","confirmation-theme-reset":"Are you sure to reset?","confirmation-theme-reset-notice":"All of your changes & customization will be lost","enable-row-column-ordering":"Enable row and column coloring","none":"None","row-wise":"Row wise","col-wise":"Column wise","select-coloring":"Select coloring","hover-mode":"Hover mode","+new-theme":"+ New Theme","apply-theme-globally":"Apply this custom theme to all tables","style-theme-globally":"Apply this
931same style for the other table","df-pagination":"Default pagination","md-pagination":"Modern pagination","minimal-pagination":"Minimal pagination","tailwind-pagination":"Tailwind pagination","outline-pagination":"Outlined pagination","color-picker":"Color Picker","pagination-color-will":"Pagination color will change based on your selected color","pg-style":"Pagination Style","pagination":"Pagination","active-pagination-color":"Active pagination color","keep-pagination-in-middle":"Keep pagination in middle","confirm":"Confirm","basic-display":"Basic Display","column-specific":"Enable Column-Specific Search","table-will-show-by-default":"Table will show by default and work accordingly. Nothing special here","a-search-field":"Turn your table into a powerful search-engine! Visitors will initially see a search box instead of the table. Based on their input, they will receive filtered data in a streamlined table view. Ideal for searching both broad and specific ranges of information from your Google Sheets (e.g., student records, employee info, etc.).","search-only-display":"Search Only Display","user-specific-display":"User-Specific Display","Upcoming":"Upcoming","displayed-only-to-logged-in-users":"Enhance personalization with this mode. It allows the table to be displayed only to the logged-in users based on their credentials or unique data (e.g., username or email) stored in the Google Sheets. There will be no search, preventing anyone from searching other users' data.","password-pin-protected":"This mode adds an extra layer of security to your data. The table is protected by a password or PIN, ensuring that only authorized users can unlock and see the table information.","protected-view":"Protected View","loading-header":"Loading headers...","want-to-display-your-search":"Choose Search-Result Trigger Option","show-search-result-once-Typing":"Show search result once Typing","show-search-result-after-pressing":"Show search result after pressing Search button","column-for-table-search":"Select a column to search within its data. Results will only show matches from the selected column. If no column is selected, the search will apply to all data in the Google Sheet.","unable-to-access":"Unable to access the Sheet! Please follow the instructions below:","on-your-google":"On your Google Sheet, click on the","button-located-at":"button located at the top-right corner. Then on the popup, choose the","anyone-with-the-link":"Anyone with the link","option-under-general":"option under General access","click-on-the":"Click on the","icon-on-the-popup":"icon on the popup and ensure that the option","viewers-and-Commenters":"Viewers and commenters can see the option to download, print, and copy","is-selected":"is selected","share":"Share","save-the-changes":"Save the changes by clicking on the","done":"Done","button":"button","General":"General","seconds":"seconds","make-your-first-table":"Let\u2019s make your first table","help-on-your-first-table":"Let us help you with your first table creation. You are just a step away from creating beautiful tables from your Google Sheets","days":"Day ","timeout-label":"Response Timeout: ","timestamp-label":"Timestamp: ","timeout-content":"Choose the maximum response timeout the table need to wait","cache-timestamp":"Choose the maximum day to store the cache","the-table":"the table","edit-table":"Edit table","duplicate-table":"Duplicate table","delete-table":"Delete table","name-used":"Name already used, please use another name for theme","name-need":"Name field can not be empty","ai-summary-configuration":"AI Table Summary Configuration","ai-configuration-desc":"Configure OpenAI integration for intelligent table summaries","choose-ai-provider":"Engine (AI Provider)","choose-ai-provider-title":"Select the AI engine that will generate summaries and answer user queries.","tooltip-ai-provider":"Select your preferred AI provider for generating table summaries","tooltip-openai":"OpenAI GPT models - industry leading AI with excellent performance","tooltip-gemini":"Google Gemini models - fast and efficient AI by Google","checking":"Checking...","top-p":"Top P","tooltip-top-p":"Controls diversity via nucleus sampling. Lower values make output more focused.","top-k":"Top K","tooltip-top-k":"Limits token selection to top K candidates. Lower values are more focused.","precise":"Precise","diverse":"Diverse","broad":"Broad","openai-api-key":"OpenAI API Key","tooltip-api-key":"Your OpenAI API key. Get one from https://platform.openai.com/api-keys","test-api":"Test API","ai-model":"AI Model","tooltip-ai-model":"Choose the OpenAI model for generating summaries. gpt-4o-mini is fast and cost-effective, gpt-4 is more accurate.","gpt-4o-mini":"GPT-4o Mini","gpt-3-5-turbo":"GPT-3.5 Turbo","gpt-4":"GPT-4","gpt-4-turbo":"GPT-4 Turbo","max-tokens":"Max Tokens","tooltip-max-tokens":"Maximum number of tokens for AI response. Higher values allow longer summaries but cost more.","short-summary":"100 (Short)","long-summary":"2000 (Long)","creativity":"Creativity","tooltip-temperature":"Controls randomness in AI responses. Lower values (0.1-0.3) are more focused, higher values (0.7-1.0) are more creative.","focused":"0 (Focused)","creative":"1 (Creative)","frequency-penalty":"Frequency Penalty","tooltip-frequency-penalty":"Reduces repetition in AI responses. Higher values (0.3-1.0) discourage repetitive text.","allow-repetition":"0 (Allow Repetition)","avoid-repetition":"1 (Avoid Repetition)","cache-duration-title":"Cache Duration","cache-duration-label":"Duration:","tooltip-cache-duration":"How long to cache AI responses before making new API calls.","30-minutes":"30 minutes","1-hour":"1 hour","2-hours":"2 hours","6-hours":"6 hours","12-hours":"12 hours","24-hours":"24 hours","advanced-settings":"Advanced Settings","advanced-settings-desc":"Configure advanced AI model parameters for fine-tuned control over response generation.","ai-model-desc":"Cho
931ose the AI model that best fits your needs. Different models have varying capabilities and costs.","enable-summary":"Enable AI Table Summary","preview":"Preview","summary-position":"Summary Position","summary-position-above":"Above Table","summary-position-below":"Below Table","tooltip-summary-position":"Choose whether to display the summary above or below the table","summary-position-desc":"Select the position where the AI Table Summary should be displayed relative to the table.","text-min":"min","cachetime":"Cache time:","cache-to-load-faster":"Cache summary for faster loading","decide-where-the":"Decide where the AI Table Summary will be displayed in relation to your table.","instant-summary":"Instant Summary","prompt-for-summary":"Prompt for Summary","you-will-generate-and":"You will generate and save the summary in advance. Visitors will see it instantly with no delay.","enable-to-reuse-the-same-summary":"Enable to reuse the same summary to reduce load time. Turn off to generate a fresh summary each time.","write-the-prompt":"Write the prompt that AI will follow to generate the summary. Visitors trigger this when they click the summary button.","show-regenerate-button":"Show regenerate button in summary modal","allow-visitors-to-regenerate-summary":"Allow visitors to regenerate the AI Table Summary with fresh data by clicking the regenerate button.","summary-display-always-show":"Always Show","summary-display-collapsed":"Collapsed (click to expand)","tooltip-summary-display":"Choose how the summary appears to visitors - always visible or collapsed with click to expand","summary-display-desc":"Select how the AI Table Summary should be displayed to your visitors on the frontend.","ask-ai-placeholder":"Ask AI Placeholder Text","ask-ai-button-label":"Ask AI Button Label","tooltip-ask-ai-placeholder":"Customize the placeholder text shown in the AI prompt input field","tooltip-ask-ai-button-label":"Customize the text displayed on the AI prompt submit button","summary-display-title":"Summary Display","summary-display-description":"Decide if visitors see the summary right away or only when they expand it.","always-show":"Always show","collapsed-click-to-expand":"Collapsed (click to expand)","ai-summary-preview":"AI Table Summary Preview","ai-summary-preview-description":"Review the generated summary. This what your visitors will see. Edit and save to finalize.","ready-to-create-first-summary":"Ready to create your first summary?","add-prompt-and-generate":"Add a prompt and click Generate to create one.","placeholder-text-title":"Placeholder text","placeholder-text-description":"What visitors see before typing","button-label-title":"Button label","button-label-description":"Text on your Ask AI button","preview-title":"Preview","turn-data-into-smart-summarize":"Turn on AI to create summaries of your table data.","deceide-where-ai-summary-display":"Decide where the AI Table Summary will be displayed in relation to your table.","customize-the-text-and-colors":"Customize the text and colors of the summary button to match your site style.","summary-button":"Summary Button","reset-prompt":"Reset prompt","Youtube-title":"Tutorial","summary-source":"Summary Source","summary-content":"Visitors will see a button to summarize the table. When they click, AI will create the summary live using your prompt.","generate-onclick":"Generate on Click","btntext":"Button text","Upcomming":"Upcomming","lets-visitors":"Allow visitors to ask their own questions about this table.","enable-ask-ai":"Enable Ask AI","analyzing-table":"AI is analyzing your table...","save-summary":"Save Summary","update-summary":"Update Summary","edit-summary":"Edit","current-backend-summary":"Current Stored Summary","summary-preview-note":"This is exactly how the summary will appear on your frontend table. Click 'Edit Summary' above to modify it.","summary-content-label":"Summary Content","summary-content-placeholder":"Generated AI Table Summary will appear here...","no-summary-stored":"No summary has been generated yet. Click \"Generate Summary\" to create one.","summary-last-updated":"Last updated","save-backend-summary":"Keep it","delete-backend-summary":"Delete","confirm-delete-summary":"Are you sure you want to delete this summary?","backend-summary-modal-edit-desc":"Edit and modify the AI-generated summary content before saving it to the database.","backend-summary-content-label":"Summary Content","backend-summary-placeholder":"Enter or edit the summary content here...","regenerate-summary":"Regenerate Summary","regenerating-summary":"Regenerating...","regenerate-summary-desc":"Generate a new AI Table Summary and replace the current content.","ai-config-tab":"AI Configuration","ai-config-warning":"AI provider not configured. Please add your API key in settings.","configure-ai-settings":"Configure AI Settings","are-you-sure-to-delete-summary":"Are you sure to delete the summary? ","confirmation-about-to-delete-summary":"You are about to delete the summary. This action cannot be undone.","ai-summary-feature":"AI Summary Preview","ai-summary-editor":"AI Summary Editor","list-no-1":"\u2022 List","list-no-2":"1. List","sec-head":"Section Heading","customize-main-head":"Customize the main heading text for the Ask AI section","ask-ai-interface":"Ask AI Interface","ask-ai-interface-hint":"Enter your question and get AI-powered insights about the table data","suma-title":"Summary Title","quick-vi
931deo":"quick video","open-ai-gpt-title":"OpenAI (GPT)","gemini-ai-title":"Google Gemini","ai-api-key":"API Key","get-ai-api-key":"Get API Key","get-ai-api-key-hint":"Get your API key from your provider dashboard","get-ai-api-key-hint-2":"and paste it here. Your key is stored securely and never shared.","chat-gpt":"ChatGPT","gemini-ai-studio":"Google AI Studio","model-version":"Model Version","update-filter":"Update Filter","add-filter":"Add Filter","add-filter-hint":"Advanced column filtering with search, select, and multi-select options","filter-wise-display":"Filter Wise Display","global-filter-settings":"Global Filter Settings","select-primary-filter-type":"Select Primary Filter Type","text-search":"Text Search","single-select":"Single Select","multi-select":"Multi Select","mixed-filters":"Mixed Filters (All Types)","filter-position":"Filter Position","filter-position-header":"Header","filter-position-footer":"Footer","strict-mode":"Exact match","filter-title-label":"Add filter Title","filter-title-placeholder":"Filter title placeholder","auto-enable-all-columns":"Auto-Enable Filters for All Columns","load-default-filters":"Load Default Filter Values","column-filter-config":"Column-Specific Filter Configuration","auto-enable-mode":"Auto-Enable Mode","auto-enable-mode-description":"All columns automatically have filters using the global settings above. Add specific columns below to customize their individual settings, or disable 'Auto-Enable Filters for All Columns' to only show filters for manually added columns.","manual-mode":"Manual Mode","manual-mode-description":"Only columns added below will have filters. Enable 'Auto-Enable Filters for All Columns' above to automatically show filters for all columns.","add-column-filter":"Add Column Filter","edit-column-filter-title":"Edit Column Filter","add-column-filter-desc":"Add columns here to override their global settings","no-column-filters":"No column filters configured. Click \"Add Column Filter\" to get started.","filter-type":"Filter Type","target-column":"Match with Google Sheets column","target-column-desc":"Cho
931ose the sheet column that contains the value to match with the logged-in user.","column":"Column","default-value":"Default Value","filter-active":"Enable filter for this column","filter-active-desc":"Whether this filter is applied to the table - if unchecked, filter is completely disabled","user-can-modify":"User Can Modify","user-can-modify-desc":"Allow users to change filter values - if unchecked, filter becomes readonly","hide-this-filter-ui":"Hide This Filter UI","hide-this-filter-ui-desc":"Hide this specific filter UI but keep it working in background","strict-mode-override":"Strict Mode Override","use-global-sett":"Use Global Setting","enable-global-sett":"Enable for this filter","disable-global-sett":"Disable for this filter","global-sett-msg":"Global: Follow the \"Strict Mode\" setting above. Enable/Disable: Override for this specific filter.","enable-user-specific-display":"Enable User-specific Display","login-page-url":"Login page URL","button-label":"Button label","default-message":"Default message","non-logged-heading":"Heading","hide-table-completely":"Hide table completely","show-login-prompt":"Show login prompt","choose-what-visitors-see":"Choose what visitors should see before signing in.","if-visitor-not-logged-in":"If visitor is not logged in","match-column-desc":"Cho
931ose the sheet column that contains the value to match with the logged-in user.","match-with-google-sheets-column":"Match with Google Sheets column","match-user-by-desc":"Choose which WordPress user value FlexTable should use for matching.","match-logged-in-user-by":"Match logged-in user by","how-table-data":"Show each logged-in user only the data that matches their account.","user-can-change":"Lock this default value (visitors can\u2019t change it)","no-user-filters":"No user filters configured. Click \"Add User Filter\" to get started.","no-user-filters-desc":"Add a filter to display personalized table rows for each logged-in user.","user-fields-to-match":"Match logged-in user by","hold-ctrl-cmd-to-select-multiple-fields":"Hold Ctrl/Cmd to select multiple fields. The filter will match if ANY of the selected fields match.","whether-this-user-filter-is-applied":"Whether this user-based filter is applied - if unchecked, filter is completely disabled","user-can-override":"User Can Override","hide-filter":"Hide this filter field on the frontend","hide-filter-hint":"If this toggle is enabled, the field will be hidden, but the filter will still be applied in the background.","load-default":"Default Value","pre-select-hint":"Pre-select a value when the table loads.","default-value-required":"Default value is required. Enter any value, or turn off 'Default value' settings.'","load-default-description":"Load this default value when the table first loads","save-filter":"Done","cta-notice-title":"Get Help with Table Creation","cta-notice-description":"Create awesome tables from your Google Sheets. Just paste the link and see the magic","cta-notice-quick-tutorial":"Quick Tutorial","cta-notice-get-started":"Get started with table creation","quick video tutorial":"Quick Video Tutorial","cta-notice-read-docs":"Read Documentation","cta-notice-close-button-label":"Close","cta-notice-dismissing":"Closing...","ai-table-summary":"\ud83e\udd16 AI Table Summary","ai-table-summary-description":"Turn your data into quick and smart summary","ai-ask-ai":"\ud83d\udcac Ask AI","ai-ask-ai-description":"Lets visitors chat with your table data","ai-connect-to-unlock-features":"Connect AI to Unlock Features","ai-connect-to-unlock-features-description":"Set up your preferred provider (like Gemini or OpenAI) to use these AI tools.","ai-setup-provider":"Setup AI Provider","ai-help":"Help?","ai-not-ready":"\ud83d\udca1 Not ready? No w
931orries - you can enable AI anytime later.","table-description-tooltip":"Table description holder. Enter your table description here.","enter-table-description":"Enter your table description","enter-custom-css-placeholder":"# # Insert custom CSS code here to modify looks and feel","get-started-title":"Get started with your first table","get-started-description":"Let's create your first table from Google Sheets \u2013 it's as easy as pie!","get-started-watch-tutorial":"Watch a quick tutorial","get-started-explore-resources":"Explore helpful resources","get-started-pro-version":"\ud83c\udf81 Get the pro version and unlock endless possibilities","help-doc-1-title":"Documentation","help-doc-1-description":"Find comprehensive guides and step-by-step instructions to get the most out of FlexTable","help-doc-1-cta":"Open Docs","help-doc-2-title":"Video Tutorials","help-doc-2-description":"Watch detailed video tutorials to learn FlexTable features and best practices","help-doc-2-cta":"Watch Videos","help-doc-3-title":"Get Support","help-doc-3-description":"Need help? Our support team is ready to assist you with any questions or issues","help-doc-3-cta":"Contact Support","help-doc-4-title":"Community Forum","help-doc-4-description":"Join our community to share ideas, get tips, and connect with other FlexTable users","help-doc-4-cta":"Join Forum","filtertab":"Filter","enable-table-filters":"Enable filters for this table ","enable-table-filters-tooltip":"Master toggle to enable/disable all table filtering functionality. When enabled, click the settings icon on any column header to configure filters.","filter-display-mode":"Filter Display Style:","horizontal":"Horizontal Bar","form":"Form Style","filter-location":"Placement:","above-table":"Above Table","below-table":"Below Table","left-sidebar":"Left Sidebar","right-sidebar":"Right Sidebar","hide-filter-ui-label":"Hide filter controls on the frontend","hide-filter-ui-tooltip":"Hide the entire filter interface from table but keep filtering active in the background","hide-clear-button":"Hide Clear Button","hide-clear-button-tooltip":"Hide the clear button from filter interface","validate-filter-active-title":"\ud83d\udca1 Configure filters per column:","filter-config-tip":"In the preview below, click the \u2699\ufe0f icon on any column header to choose a filter type (dropdown, range, or search) and set a default value.\n","validate-filter-active-title-content":"Save the changes first to enable column-wise filter settings","reset-btn":"Reset","tooltip-strict-mode":"When enabled, apple matches only apple, not pineapple. Case-insensitive exact matching.","configure-column-filter":"Configure Column Filter","cancel":"Cancel"},"iconsURL":"","nonce":"cea11d4a31","user_auth":{"logged_in":false,"user_id":0,"username":"","email":"","nickname":"","display_name":"","first_name":"","last_name":"","roles":[]}}; 932//# sourceURL=GSWPTS-frontend-js-js-extra 933</script>
vendor: 1 bytes, line 933
933
934<script id="GSWPTS-frontend-js-js" src="https://sphere-project.net/wp-content/plugins/sheets-to-wp-table-live-sync/assets/public/scripts/frontend/frontend.min.js?ver=1790666644"></script>
vendor: 1 bytes, line 934
934
935<script id="jquery-throttle-js" src="https://sphere-project.net/wp-content/plugins/bb-plugin/js/libs/jquery.ba-throttle-debounce.min.js?ver=2.11.1"></script>
vendor: 1 bytes, line 935
935
936<script id="jquery-magnificpopup-js" src="https://sphere-project.net/wp-content/plugins/bb-plugin/js/libs/jquery.magnificpopup.min.js?ver=2.11.1"></script>
vendor: 1 bytes, line 936
936
937<script id="bootstrap-4-js" src="https://sphere-project.net/wp-content/themes/bb-theme/js/bootstrap-4.min.js?ver=1.7.20"></script>
vendor: 1 bytes, line 937
937
938<script id="fl-automator-js-extra"> 939var themeopts = {"medium_breakpoint":"992","mobile_breakpoint":"768","lightbox":"enabled","scrollTopPosition":"800"}; 940//# sourceURL=fl-automator-js-extra 941</script>
vendor: 1 bytes, line 941
941
942<script id="fl-automator-js" src="https://sphere-project.net/wp-content/themes/bb-theme/js/theme.min.js?ver=1.7.20"></script>
vendor: 1 bytes, line 942
942
943<script id="isi-site-script-js" src="https://sphere-project.net/wp-content/themes/isi-modern23/js/site.js?ver=1.1790666644"></script>
vendor: 1 bytes, line 943
943
944<script id="isi-gallery-script-js" src="https://sphere-project.net/wp-content/themes/isi-modern23/js/gallery.js?ver=1.1790666644"></script>
vendor: 1 bytes, line 944
944
945<script id="wp-emoji-settings" type="application/json"> 946{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://sphere-project.net/wp-includes/js/wp-emoji-release.min.js?ver=7.1.2"}} 947</script>
vendor: 1 bytes, line 947
947
948<script type="module"> 949/*! This file is auto-generated */ 950var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))}); 951//# sourceURL=https://sphere-project.net/wp-includes/js/wp-emoji-loader.min.js 952</script>
952 953 954</body></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.