Beyond Fish: A Comprehensive Review of Microbiome... | F1000Research "use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(){var t=function(){var t,e,o=[],n=window,r=n;for(;r;){try{if(r.frames.__tcfapiLocator){t=r;break}}catch(t){}if(r===n.top)break;r=r.parent}t||(!function t(){var e=n.document,o=!!n.frames.__tcfapiLocator;if(!o)if(e.body){var r=e.createElement("iframe");r.style.cssText="display:none",r.name="__tcfapiLocator",e.body.appendChild(r)}else setTimeout(t,5);return!o}(),n.__tcfapi=function(){for(var t=arguments.length,n=new Array(t),r=0;r 3&&2===parseInt(n[1],10)&&"boolean"==typeof n[3]&&(e=n[3],"function"==typeof n[2]&&n[2]("set",!0)):"ping"===n[0]?"function"==typeof n[2]&&n[2]({gdprApplies:e,cmpLoaded:!1,cmpStatus:"stub"}):o.push(n)},n.addEventListener("message",(function(t){var e="string"==typeof t.data,o={};if(e)try{o=JSON.parse(t.data)}catch(t){}else o=t.data;var n="object"===_typeof(o)&&null!==o?o.__tcfapiCall:null;n&&window.__tcfapi(n.command,n.version,(function(o,r){var a={__tcfapiReturn:{returnValue:o,success:r,callId:n.callId}};t&&t.source&&t.source.postMessage&&t.source.postMessage(e?JSON.stringify(a):a,"*")}),n.parameter)}),!1))};"undefined"!=typeof module?module.exports=t:t()}(); dataLayer = dataLayer || []; // Standard GTM initialization - Google Consent Mode handles consent automatically (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl+ '>m_auth=hzk0Vc3qFsQYhCrIoHz68A>m_preview=env-1>m_cookies_win=x';f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MWFK8L5J'); ;window.NREUM||(NREUM={});NREUM.init={distributed_tracing:{enabled:true},privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]}}; ;NREUM.loader_config={accountID:"438030",trustKey:"438030",agentID:"772317073",licenseKey:"97f8f67f26",applicationID:"772317073"} ;NREUM.info={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",licenseKey:"97f8f67f26",applicationID:"772317073",sa:1} ;/*! For license information please see nr-loader-spa-1.236.0.min.js.LICENSE.txt */ (()=>{"use strict";var e,t,r={5763:(e,t,r)=>{r.d(t,{P_:()=>l,Mt:()=>g,C5:()=>s,DL:()=>v,OP:()=>T,lF:()=>D,Yu:()=>y,Dg:()=>h,CX:()=>c,GE:()=>b,sU:()=>_});var n=r(8632),i=r(9567);const o={beacon:n.ce.beacon,errorBeacon:n.ce.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.D)(t,o),(0,n.Qy)(e,a[e],"info")}var u=r(7056);const d=()=>{const e={blockSelector:"[data-nr-block]",maskInputOptions:{password:!0}};return{allow_bfcache:!0,privacy:{cookies_enabled:!0},ajax:{deny_list:void 0,enabled:!0,harvestTimeSeconds:10},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},session:{domain:void 0,expiresMs:u.oD,inactiveMs:u.Hb},ssl:void 0,obfuscate:void 0,jserrors:{enabled:!0,harvestTimeSeconds:10},metrics:{enabled:!0},page_action:{enabled:!0,harvestTimeSeconds:30},page_view_event:{enabled:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,long_task:!1},session_trace:{enabled:!0,harvestTimeSeconds:10},harvest:{tooManyRequestsDelay:60},session_replay:{enabled:!1,harvestTimeSeconds:60,sampleRate:.1,errorSampleRate:.1,maskTextSelector:"*",maskAllInputs:!0,get blockClass(){return"nr-block"},get ignoreClass(){return"nr-ignore"},get maskTextClass(){return"nr-mask"},get blockSelector(){return e.blockSelector},set blockSelector(t){e.blockSelector+=",".concat(t)},get maskInputOptions(){return e.maskInputOptions},set maskInputOptions(t){e.maskInputOptions={...t,password:!0}}},spa:{enabled:!0,harvestTimeSeconds:10}}},f={};function l(e){if(!e)throw new Error("All configuration objects require an agent identifier!");if(!f[e])throw new Error("Configuration for ".concat(e," was never set"));return f[e]}function h(e,t){if(!e)throw new Error("All configuration objects require an agent identifier!");f[e]=(0,i.D)(t,d()),(0,n.Qy)(e,f[e],"config")}function g(e,t){if(!e)throw new Error("All configuration objects require an agent identifier!");var r=l(e);if(r){for(var n=t.split("."),i=0;i {r.d(t,{D:()=>i});var n=r(50);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.Z)("Setting a Configurable requires an object as input");if(!t||"object"!=typeof t)return(0,n.Z)("Setting a Configurable requires a model to set its initial properties");const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.Z)("An error occurred while setting a property of a Configurable",e)}return r}catch(e){(0,n.Z)("An error occured while setting a Configurable",e)}}},6818:(e,t,r)=>{r.d(t,{Re:()=>i,gF:()=>o,q4:()=>n});const n="1.236.0",i="PROD",o="CDN"},385:(e,t,r)=>{r.d(t,{FN:()=>a,IF:()=>u,Nk:()=>f,Tt:()=>s,_A:()=>o,il:()=>n,pL:()=>c,v6:()=>i,w1:()=>d});const n="undefined"!=typeof window&&!!window.document,i="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),o=n?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),a=""+o?.location,s=/iPad|iPhone|iPod/.test(navigator.userAgent),c=s&&"undefined"==typeof SharedWorker,u=(()=>{const e=navigator.userAgent.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),d=Boolean(n&&window.document.documentMode),f=!!navigator.sendBeacon},1117:(e,t,r)=>{r.d(t,{w:()=>o});var n=r(50);const i={agentIdentifier:"",ee:void 0};class o{constructor(e){try{if("object"!=typeof e)return(0,n.Z)("shared context requires an object as input");this.sharedContext={},Object.assign(this.sharedContext,i),Object.entries(e).forEach((e=>{let[t,r]=e;Object.keys(i).includes(t)&&(this.sharedContext[t]=r)}))}catch(e){(0,n.Z)("An error occured while setting SharedContext",e)}}}},8e3:(e,t,r)=>{r.d(t,{L:()=>d,R:()=>c});var n=r(2177),i=r(1284),o=r(4322),a=r(3325);const s={};function c(e,t){const r={staged:!1,priority:a.p[t]||0};u(e),s[e].get(t)||s[e].set(t,r)}function u(e){e&&(s[e]||(s[e]=new Map))}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"feature";if(u(e),!e||!s[e].get(t))return a(t);s[e].get(t).staged=!0;const r=[...s[e]];function a(t){const r=e?n.ee.get(e):n.ee,a=o.X.handlers;if(r.backlog&&a){var s=r.backlog[t],c=a[t];if(c){for(var u=0;s&&u {let[t,r]=e;return r.staged}))&&(r.sort(((e,t)=>e[1].priority-t[1].priority)),r.forEach((e=>{let[t]=e;a(t)})))}function f(e,t){var r=e[1];(0,i.D)(t[r],(function(t,r){var n=e[0];if(r[0]===n){var i=r[1],o=e[3],a=e[2];i.apply(o,a)}}))}},2177:(e,t,r)=>{r.d(t,{c:()=>f,ee:()=>u});var n=r(8632),i=r(2210),o=r(1284),a=r(5763),s="nr@context";let c=(0,n.fP)();var u;function d(){}function f(e){return(0,i.X)(e,s,l)}function l(){return new d}function h(){u.aborted=!0,u.backlog={}}c.ee?u=c.ee:(u=function e(t,r){var n={},c={},f={},g=!1;try{g=16===r.length&&(0,a.OP)(r).isolatedBacklog}catch(e){}var p={on:b,addEventListener:b,removeEventListener:y,emit:v,get:x,listeners:w,context:m,buffer:A,abort:h,aborted:!1,isBuffering:E,debugId:r,backlog:g?{}:t&&"object"==typeof t.backlog?t.backlog:{}};return p;function m(e){return e&&e instanceof d?e:e?(0,i.X)(e,s,l):l()}function v(e,r,n,i,o){if(!1!==o&&(o=!0),!u.aborted||i){t&&o&&t.emit(e,r,n);for(var a=m(n),s=w(e),d=s.length,f=0;fn,p:()=>i});var n=r(2177).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},4322:(e,t,r)=>{r.d(t,{X:()=>o});var n=r(5546);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.E,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.E);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3239:(e,t,r)=>{r.d(t,{bP:()=>s,iz:()=>c,m$:()=>a});var n=r(385);let i=!1,o=!1;try{const e={get passive(){return i=!0,!1},get signal(){return o=!0,!1}};n._A.addEventListener("test",null,e),n._A.removeEventListener("test",null,e)}catch(e){}function a(e,t){return i||o?{capture:!!e,passive:i,signal:t}:!!e}function s(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;window.addEventListener(e,t,a(r,n))}function c(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;document.addEventListener(e,t,a(r,n))}},4402:(e,t,r)=>{r.d(t,{Ht:()=>u,M:()=>c,Rl:()=>a,ky:()=>s});var n=r(385);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n._A?.crypto||n._A?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(31))),i.split("").map((e=>"x"===e?o(t,++r).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n._A?.crypto||n._A?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(31)));const a=[];for(var s=0;s {r.d(t,{Bq:()=>n,Hb:()=>o,oD:()=>i});const n="NRBA",i=144e5,o=18e5},7894:(e,t,r)=>{function n(){return Math.round(performance.now())}r.d(t,{z:()=>n})},7243:(e,t,r)=>{r.d(t,{e:()=>o});var n=r(385),i={};function o(e){if(e in i)return i[e];if(0===(e||"").indexOf("data:"))return{protocol:"data"};let t;var r=n._A?.location,o={};if(n.il)t=document.createElement("a"),t.href=e;else try{t=new URL(e,r.href)}catch(e){return o}o.port=t.port;var a=t.href.split("://");!o.port&&a[1]&&(o.port=a[1].split("/")[0].split("@").pop().split(":")[1]),o.port&&"0"!==o.port||(o.port="https"===a[0]?"443":"80"),o.hostname=t.hostname||r.hostname,o.pathname=t.pathname,o.protocol=a[0],"/"!==o.pathname.charAt(0)&&(o.pathname="/"+o.pathname);var s=!t.protocol||":"===t.protocol||t.protocol===r.protocol,c=t.hostname===r.hostname&&t.port===r.port;return o.sameOrigin=s&&(!t.hostname||c),"/"===o.pathname&&(i[e]=o),o}},50:(e,t,r)=>{function n(e,t){"function"==typeof console.warn&&(console.warn("New Relic: ".concat(e)),t&&console.warn(t))}r.d(t,{Z:()=>n})},2587:(e,t,r)=>{r.d(t,{N:()=>c,T:()=>u});var n=r(2177),i=r(5546),o=r(8e3),a=r(3325);const s={stn:[a.D.sessionTrace],err:[a.D.jserrors,a.D.metrics],ins:[a.D.pageAction],spa:[a.D.spa],sr:[a.D.sessionReplay,a.D.sessionTrace]};function c(e,t){const r=n.ee.get(t);e&&"object"==typeof e&&(Object.entries(e).forEach((e=>{let[t,n]=e;void 0===u[t]&&(s[t]?s[t].forEach((e=>{n?(0,i.p)("feat-"+t,[],void 0,e,r):(0,i.p)("block-"+t,[],void 0,e,r),(0,i.p)("rumresp-"+t,[Boolean(n)],void 0,e,r)})):n&&(0,i.p)("feat-"+t,[],void 0,void 0,r),u[t]=Boolean(n))})),Object.keys(s).forEach((e=>{void 0===u[e]&&(s[e]?.forEach((t=>(0,i.p)("rumresp-"+e,[!1],void 0,t,r))),u[e]=!1)})),(0,o.L)(t,a.D.pageViewEvent))}const u={}},2210:(e,t,r)=>{r.d(t,{X:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},1284:(e,t,r)=>{r.d(t,{D:()=>n});const n=(e,t)=>Object.entries(e||{}).map((e=>{let[r,n]=e;return t(r,n)}))},4351:(e,t,r)=>{r.d(t,{P:()=>o});var n=r(2177);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}}}},3960:(e,t,r)=>{r.d(t,{K:()=>a,b:()=>o});var n=r(3239);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.bP)("load",e,t)}function a(e){if(i())return e();(0,n.iz)("DOMContentLoaded",e)}},8632:(e,t,r)=>{r.d(t,{EZ:()=>u,Qy:()=>c,ce:()=>o,fP:()=>a,gG:()=>d,mF:()=>s});var n=r(7894),i=r(385);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return i._A.NREUM||(i._A.NREUM={}),void 0===i._A.newrelic&&(i._A.newrelic=i._A.NREUM),i._A.NREUM}function s(){let e=a();return e.o||(e.o={ST:i._A.setTimeout,SI:i._A.setImmediate,CT:i._A.clearTimeout,XHR:i._A.XMLHttpRequest,REQ:i._A.Request,EV:i._A.Event,PR:i._A.Promise,MO:i._A.MutationObserver,FETCH:i._A.fetch}),e}function c(e,t,r){let i=a();const o=i.initializedAgents||{},s=o[e]||{};return Object.keys(s).length||(s.initializedAt={ms:(0,n.z)(),date:new Date}),i.initializedAgents={...o,[e]:{...s,[r]:t}},i}function u(e,t){a()[e]=t}function d(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},7956:(e,t,r)=>{r.d(t,{N:()=>i});var n=r(3239);function i(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;return void(0,n.iz)("visibilitychange",(function(){if(t)return void("hidden"==document.visibilityState&&e());e(document.visibilityState)}),r,i)}},1214:(e,t,r)=>{r.d(t,{em:()=>v,u5:()=>N,QU:()=>S,_L:()=>I,Gm:()=>L,Lg:()=>M,gy:()=>U,BV:()=>Q,Kf:()=>ee});var n=r(2177);const i="nr@original";var o=Object.prototype.hasOwnProperty,a=!1;function s(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");var a,s,c,u="-"===n.charAt(0);for(c=0;c 2?n-2:0),o=2;o {r(A[T],e,w),r(E[T],e,w)})),r(l._A,"fetch",y),t.on(y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(y+"done",[null,r],n)}else t.emit(y+"done",[e],n)})),t}const O={},j=["pushState","replaceState"];function S(e){const t=function(e){return(e||n.ee).get("history")}(e);return!l.il||O[t.debugId]++||(O[t.debugId]=1,s(t).inPlace(window.history,j,"-")),t}var P=r(3239);const C={},R=["appendChild","insertBefore","replaceChild"];function I(e){const t=function(e){return(e||n.ee).get("jsonp")}(e);if(!l.il||C[t.debugId])return t;C[t.debugId]=!0;var r=s(t),i=/[?&](?:callback|cb)=([^&#]+)/,o=/(.*)\.([^.]+)/,a=/^(\w+)(\.|$)(.*)$/;function c(e,t){var r=e.match(a),n=r[1],i=r[3];return i?c(i,t[n]):t[n]}return r.inPlace(Node.prototype,R,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var n=(a=e.src,s=a.match(i),s?s[1]:null);var a,s;if(!n)return;var u=function(e){var t=e.match(o);if(t&&t.length>=3)return{key:t[2],parent:c(t[1],window)};return{key:e,parent:window}}(n);if("function"!=typeof u.parent[u.key])return;var d={};function f(){t.emit("jsonp-end",[],d),e.removeEventListener("load",f,(0,P.m$)(!1)),e.removeEventListener("error",l,(0,P.m$)(!1))}function l(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",f,(0,P.m$)(!1)),e.removeEventListener("error",l,(0,P.m$)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",f,(0,P.m$)(!1)),e.addEventListener("error",l,(0,P.m$)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}var k=r(5763);const H={};function L(e){const t=function(e){return(e||n.ee).get("mutation")}(e);if(!l.il||H[t.debugId])return t;H[t.debugId]=!0;var r=s(t),i=k.Yu.MO;return i&&(window.MutationObserver=function(e){return this instanceof i?new i(r(e,"fn-")):i.apply(this,arguments)},MutationObserver.prototype=i.prototype),t}const z={};function M(e){const t=function(e){return(e||n.ee).get("promise")}(e);if(z[t.debugId])return t;z[t.debugId]=!0;var r=n.c,o=s(t),a=k.Yu.PR;return a&&function(){function e(r){var n=t.context(),i=o(r,"executor-",n,null,!1);const s=Reflect.construct(a,[i],e);return t.context(s).getCtx=function(){return n},s}l._A.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return a.toString()},Object.setPrototypeOf(e,a),["all","race"].forEach((function(r){const n=a[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=a[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=a.prototype;const n=a.prototype.then;a.prototype.then=function(){var e=this,i=r(e);i.promise=e;for(var a=arguments.length,s=new Array(a),c=0;c e())),t};function m(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}function b(){var e=this,t=r.context(e);e.readyState>3&&!t.resolved&&(t.resolved=!0,r.emit("xhr-resolved",[],e)),i.inPlace(e,f,"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,p),p.prototype=o.prototype,i.inPlace(p.prototype,J,"-xhr-",E),r.on("send-xhr-start",(function(e,t){m(e,t),function(e){h.push(e),a&&(y?y.then(A):u?u(A):(w=-w,x.data=w))}(t)})),r.on("open-xhr-start",m),a){var y=c&&c.resolve();if(!u&&!c){var w=1,x=document.createTextNode(w);new a(A).observe(x,{characterData:!0})}}else t.on("fn-end",(function(e){e[0]&&e[0].type===d||A()}));function A(){for(var e=0;e {r.d(t,{t:()=>n});const n=r(3325).D.ajax},6660:(e,t,r)=>{r.d(t,{A:()=>i,t:()=>n});const n=r(3325).D.jserrors,i="nr@seenError"},3081:(e,t,r)=>{r.d(t,{gF:()=>o,mY:()=>i,t9:()=>n,vz:()=>s,xS:()=>a});const n=r(3325).D.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},4649:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageAction},7633:(e,t,r)=>{r.d(t,{Dz:()=>i,OJ:()=>a,qw:()=>o,t9:()=>n});const n=r(3325).D.pageViewEvent,i="firstbyte",o="domcontent",a="windowload"},9251:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageViewTiming},3614:(e,t,r)=>{r.d(t,{BST_RESOURCE:()=>i,END:()=>s,FEATURE_NAME:()=>n,FN_END:()=>u,FN_START:()=>c,PUSH_STATE:()=>d,RESOURCE:()=>o,START:()=>a});const n=r(3325).D.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState"},7836:(e,t,r)=>{r.d(t,{BODY:()=>A,CB_END:()=>E,CB_START:()=>u,END:()=>x,FEATURE_NAME:()=>i,FETCH:()=>_,FETCH_BODY:()=>v,FETCH_DONE:()=>m,FETCH_START:()=>p,FN_END:()=>c,FN_START:()=>s,INTERACTION:()=>l,INTERACTION_API:()=>d,INTERACTION_EVENTS:()=>o,JSONP_END:()=>b,JSONP_NODE:()=>g,JS_TIME:()=>T,MAX_TIMER_BUDGET:()=>a,REMAINING:()=>f,SPA_NODE:()=>h,START:()=>w,originalSetTimeout:()=>y});var n=r(5763);const i=r(3325).D.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",f="remaining",l="interaction",h="spaNode",g="jsonpNode",p="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=n.Yu.ST,w="-start",x="-end",A="-body",E="cb"+x,T="jsTime",_="fetch"},5938:(e,t,r)=>{r.d(t,{W:()=>o});var n=r(5763),i=r(2177);class o{constructor(e,t,r){this.agentIdentifier=e,this.aggregator=t,this.ee=i.ee.get(e,(0,n.OP)(this.agentIdentifier).isolatedBacklog),this.featureName=r,this.blocked=!1}}},9144:(e,t,r)=>{r.d(t,{j:()=>m});var n=r(3325),i=r(5763),o=r(5546),a=r(2177),s=r(7894),c=r(8e3),u=r(3960),d=r(385),f=r(50),l=r(3081),h=r(8632);function g(){const e=(0,h.gG)();["setErrorHandler","finished","addToTrace","inlineHit","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId"].forEach((t=>{e[t]=function(){for(var r=arguments.length,n=new Array(r),i=0;i 1?r-1:0),i=1;i {e.exposed&&e.api[t]&&o.push(e.api[t](...n))})),o.length>1?o:o[0]}(t,...n)}}))}var p=r(2587);function m(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},m=arguments.length>2?arguments[2]:void 0,v=arguments.length>3?arguments[3]:void 0,{init:b,info:y,loader_config:w,runtime:x={loaderType:m},exposed:A=!0}=t;const E=(0,h.gG)();y||(b=E.init,y=E.info,w=E.loader_config),(0,i.Dg)(e,b||{}),(0,i.GE)(e,w||{}),(0,i.sU)(e,x),y.jsAttributes??={},d.v6&&(y.jsAttributes.isWorker=!0),(0,i.CX)(e,y),g();const T=function(e,t){t||(0,c.R)(e,"api");const h={};var g=a.ee.get(e),p=g.get("tracer"),m="api-",v=m+"ixn-";function b(t,r,n,o){const a=(0,i.C5)(e);return null===r?delete a.jsAttributes[t]:(0,i.CX)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),x(m,n,!0,o||null===r?"session":void 0)(t,r)}function y(){}["setErrorHandler","finished","addToTrace","inlineHit","addRelease"].forEach((e=>h[e]=x(m,e,!0,"api"))),h.addPageAction=x(m,"addPageAction",!0,n.D.pageAction),h.setCurrentRouteName=x(m,"routeName",!0,n.D.spa),h.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,i.OP)(e).customTransaction=(r||"http://custom.transaction")+t,x(m,"setPageViewName",!0)()},h.setCustomAttribute=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("string"==typeof e){if(["string","number"].includes(typeof t)||null===t)return b(e,t,"setCustomAttribute",r);(0,f.Z)("Failed to execute setCustomAttribute.\nNon-null value must be a string or number type, but a type of was provided."))}else(0,f.Z)("Failed to execute setCustomAttribute.\nName must be a string type, but a type of was provided."))},h.setUserId=function(e){if("string"==typeof e||null===e)return b("enduser.id",e,"setUserId",!0);(0,f.Z)("Failed to execute setUserId.\nNon-null value must be a string type, but a type of was provided."))},h.interaction=function(){return(new y).get()};var w=y.prototype={createTracer:function(e,t){var r={},i=this,a="function"==typeof t;return(0,o.p)(v+"tracer",[(0,s.z)(),e,r],i,n.D.spa,g),function(){if(p.emit((a?"":"no-")+"fn-start",[(0,s.z)(),i,a],r),a)try{return t.apply(this,arguments)}catch(e){throw p.emit("fn-err",[arguments,this,"string"==typeof e?new Error(e):e],r),e}finally{p.emit("fn-end",[(0,s.z)()],r)}}}};function x(e,t,r,i){return function(){return(0,o.p)(l.xS,["API/"+t+"/called"],void 0,n.D.metrics,g),i&&(0,o.p)(e+t,[(0,s.z)(),...arguments],r?null:this,i,g),r?void 0:this}}function A(){r.e(439).then(r.bind(r,7438)).then((t=>{let{setAPI:r}=t;r(e),(0,c.L)(e,"api")})).catch((()=>(0,f.Z)("Downloading runtime APIs failed...")))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{w[e]=x(v,e,void 0,n.D.spa)})),h.noticeError=function(e,t){"string"==typeof e&&(e=new Error(e)),(0,o.p)(l.xS,["API/noticeError/called"],void 0,n.D.metrics,g),(0,o.p)("err",[e,(0,s.z)(),!1,t],void 0,n.D.jserrors,g)},d.il?(0,u.b)((()=>A()),!0):A(),h}(e,v);return(0,h.Qy)(e,T,"api"),(0,h.Qy)(e,A,"exposed"),(0,h.EZ)("activatedFeatures",p.T),T}},3325:(e,t,r)=>{r.d(t,{D:()=>n,p:()=>i});const n={ajax:"ajax",jserrors:"jserrors",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.ajax]:5,[n.sessionTrace]:6,[n.pageAction]:7,[n.spa]:8,[n.sessionReplay]:9}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>(({78:"page_action-aggregate",147:"metrics-aggregate",242:"session-manager",317:"jserrors-aggregate",348:"page_view_timing-aggregate",412:"lazy-feature-loader",439:"async-api",538:"recorder",590:"session_replay-aggregate",675:"compressor",733:"session_trace-aggregate",786:"page_view_event-aggregate",873:"spa-aggregate",898:"ajax-aggregate"}[e]||e)+"."+{78:"ac76d497",147:"3dc53903",148:"1a20d5fe",242:"2a64278a",317:"49e41428",348:"bd6de33a",412:"2f55ce66",439:"30bd804e",538:"1b18459f",590:"cf0efb30",675:"ae9f91a8",733:"83105561",786:"06482edd",860:"03a8b7a5",873:"e6b09d52",898:"998ef92b"}[e]+"-1.236.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d {s.onerror=s.onload=null,clearTimeout(h);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},h=setTimeout(l.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=l.bind(null,s.onerror),s.onload=l.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.j=364,i.p="https://js-agent.newrelic.com/",(()=>{var e={364:0,953:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u {i.r(o);var e=i(3325),t=i(5763);const r=Object.values(e.D);function n(e){const n={};return r.forEach((r=>{n[r]=function(e,r){return!1!==(0,t.Mt)(r,"".concat(e,".enabled"))}(r,e)})),n}var a=i(9144);var s=i(5546),c=i(385),u=i(8e3),d=i(5938),f=i(3960),l=i(50);class h extends d.W{constructor(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];super(e,t,r),this.auto=n,this.abortHandler,this.featAggregate,this.onAggregateImported,n&&(0,u.R)(e,r)}importAggregator(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.featAggregate||!this.auto)return;const r=c.il&&!0===(0,t.Mt)(this.agentIdentifier,"privacy.cookies_enabled");let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let t;try{if(r){const{setupAgentSession:e}=await Promise.all([i.e(860),i.e(242)]).then(i.bind(i,3228));t=e(this.agentIdentifier)}}catch(e){(0,l.Z)("A problem occurred when starting up session manager. This page will not start or extend any session.",e)}try{if(!this.shouldImportAgg(this.featureName,t))return void(0,u.L)(this.agentIdentifier,this.featureName);const{lazyFeatureLoader:r}=await i.e(412).then(i.bind(i,8582)),{Aggregate:o}=await r(this.featureName,"aggregate");this.featAggregate=new o(this.agentIdentifier,this.aggregator,e),n(!0)}catch(e){(0,l.Z)("Downloading and initializing ".concat(this.featureName," failed..."),e),this.abortHandler?.(),n(!1)}};c.il?(0,f.b)((()=>o()),!0):o()}shouldImportAgg(r,n){return r!==e.D.sessionReplay||!1!==(0,t.Mt)(this.agentIdentifier,"session_trace.enabled")&&(!!n?.isNew||!!n?.state.sessionReplay)}}var g=i(7633),p=i(7894);class m extends h{static featureName=g.t9;constructor(r,n){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(super(r,n,g.t9,i),("undefined"==typeof PerformanceNavigationTiming||c.Tt)&&"undefined"!=typeof PerformanceTiming){const n=(0,t.OP)(r);n[g.Dz]=Math.max(Date.now()-n.offset,0),(0,f.K)((()=>n[g.qw]=Math.max((0,p.z)()-n[g.Dz],0))),(0,f.b)((()=>{const t=(0,p.z)();n[g.OJ]=Math.max(t-n[g.Dz],0),(0,s.p)("timing",["load",t],void 0,e.D.pageViewTiming,this.ee)}))}this.importAggregator()}}var v=i(1117),b=i(1284);class y extends v.w{constructor(e){super(e),this.aggregatedData={}}store(e,t,r,n,i){var o=this.getBucket(e,t,r,i);return o.metrics=function(e,t){t||(t={count:0});return t.count+=1,(0,b.D)(e,(function(e,r){t[e]=w(r,t[e])})),t}(n,o.metrics),o}merge(e,t,r,n,i){var o=this.getBucket(e,t,n,i);if(o.metrics){var a=o.metrics;a.count+=r.count,(0,b.D)(r,(function(e,t){if("count"!==e){var n=a[e],i=r[e];i&&!i.c?a[e]=w(i.t,n):a[e]=function(e,t){if(!t)return e;t.c||(t=x(t.t));return t.min=Math.min(e.min,t.min),t.max=Math.max(e.max,t.max),t.t+=e.t,t.sos+=e.sos,t.c+=e.c,t}(i,a[e])}}))}else o.metrics=r}storeMetric(e,t,r,n){var i=this.getBucket(e,t,r);return i.stats=w(n,i.stats),i}getBucket(e,t,r,n){this.aggregatedData[e]||(this.aggregatedData[e]={});var i=this.aggregatedData[e][t];return i||(i=this.aggregatedData[e][t]={params:r||{}},n&&(i.custom=n)),i}get(e,t){return t?this.aggregatedData[e]&&this.aggregatedData[e][t]:this.aggregatedData[e]}take(e){for(var t={},r="",n=!1,i=0;i t.max&&(t.max=e),e 2&&void 0!==arguments[2])||arguments[2];super(e,r,j.t,n),c.il&&((0,t.OP)(e).initHidden=Boolean("hidden"===document.visibilityState),(0,N.N)((()=>(0,s.p)("docHidden",[(0,p.z)()],void 0,j.t,this.ee)),!0),(0,O.bP)("pagehide",(()=>(0,s.p)("winPagehide",[(0,p.z)()],void 0,j.t,this.ee))),this.importAggregator())}}var P=i(3081);class C extends h{static featureName=P.t9;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,P.t9,r),this.importAggregator()}}var R,I=i(2210),k=i(1214),H=i(2177),L={};try{R=localStorage.getItem("__nr_flags").split(","),console&&"function"==typeof console.log&&(L.console=!0,-1!==R.indexOf("dev")&&(L.dev=!0),-1!==R.indexOf("nr_dev")&&(L.nrDev=!0))}catch(e){}function z(e){try{L.console&&z(e)}catch(e){}}L.nrDev&&H.ee.on("internal-error",(function(e){z(e.stack)})),L.dev&&H.ee.on("fn-err",(function(e,t,r){z(r.stack)})),L.dev&&(z("NR AGENT IN DEVELOPMENT MODE"),z("flags: "+(0,b.D)(L,(function(e,t){return e})).join(", ")));var M=i(6660);class B extends h{static featureName=M.t;constructor(r,n){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(r,n,M.t,i),this.skipNext=0;try{this.removeOnAbort=new AbortController}catch(e){}const o=this;o.ee.on("fn-start",(function(e,t,r){o.abortHandler&&(o.skipNext+=1)})),o.ee.on("fn-err",(function(t,r,n){o.abortHandler&&!n[M.A]&&((0,I.X)(n,M.A,(function(){return!0})),this.thrown=!0,(0,s.p)("err",[n,(0,p.z)()],void 0,e.D.jserrors,o.ee))})),o.ee.on("fn-end",(function(){o.abortHandler&&!this.thrown&&o.skipNext>0&&(o.skipNext-=1)})),o.ee.on("internal-error",(function(t){(0,s.p)("ierr",[t,(0,p.z)(),!0],void 0,e.D.jserrors,o.ee)})),this.origOnerror=c._A.onerror,c._A.onerror=this.onerrorHandler.bind(this),c._A.addEventListener("unhandledrejection",(t=>{const r=function(e){let t="Unhandled Promise Rejection: ";if(e instanceof Error)try{return e.message=t+e.message,e}catch(t){return e}if(void 0===e)return new Error(t);try{return new Error(t+(0,D.P)(e))}catch(e){return new Error(t)}}(t.reason);(0,s.p)("err",[r,(0,p.z)(),!1,{unhandledPromiseRejection:1}],void 0,e.D.jserrors,this.ee)}),(0,O.m$)(!1,this.removeOnAbort?.signal)),(0,k.gy)(this.ee),(0,k.BV)(this.ee),(0,k.em)(this.ee),(0,t.OP)(r).xhrWrappable&&(0,k.Kf)(this.ee),this.abortHandler=this.#e,this.importAggregator()}#e(){this.removeOnAbort?.abort(),this.abortHandler=void 0}onerrorHandler(t,r,n,i,o){"function"==typeof this.origOnerror&&this.origOnerror(...arguments);try{this.skipNext?this.skipNext-=1:(0,s.p)("err",[o||new F(t,r,n),(0,p.z)()],void 0,e.D.jserrors,this.ee)}catch(t){try{(0,s.p)("ierr",[t,(0,p.z)(),!0],void 0,e.D.jserrors,this.ee)}catch(e){}}return!1}}function F(e,t,r){this.message=e||"Uncaught error with no additional information",this.sourceURL=t,this.line=r}let U=1;const q="nr@id";function G(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===c._A?0:(0,I.X)(e,q,(function(){return U++}))}function V(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,D.P)(e).length}catch(e){return}}}var X=i(7243);class W{constructor(e){this.agentIdentifier=e,this.generateTracePayload=this.generateTracePayload.bind(this),this.shouldGenerateTrace=this.shouldGenerateTrace.bind(this)}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var r=(0,t.DL)(this.agentIdentifier);if(!r)return null;var n=(r.accountID||"").toString()||null,i=(r.agentID||"").toString()||null,o=(r.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,_.M)(),s=(0,_.Ht)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof c._A?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,D.P)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var r=!1,n={};if((0,t.Mt)(this.agentIdentifier,"distributed_tracing")&&(n=(0,t.P_)(this.agentIdentifier).distributed_tracing),e.sameOrigin)r=!0;else if(n.allowed_origins instanceof Array)for(var i=0;i 2&&void 0!==arguments[2])||arguments[2];super(r,n,Z.t,i),(0,t.OP)(r).xhrWrappable&&(this.dt=new W(r),this.handler=(e,t,r,n)=>(0,s.p)(e,t,r,n,this.ee),(0,k.u5)(this.ee),(0,k.Kf)(this.ee),function(r,n,i,o){function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=E,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){_(t,e)}),(0,O.m$)(!1)),c.IF||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,O.m$)(!1))}function s(e){this.params={method:e[0]},T(this,e[1]),this.metrics={}}function u(e,n){var i=(0,t.DL)(r);i.xpid&&this.sameOrigin&&n.setRequestHeader("X-NewRelic-ID",i.xpid);var a=o.generateTracePayload(this.parsedOrigin);if(a){var s=!1;a.newrelicHeader&&(n.setRequestHeader("newrelic",a.newrelicHeader),s=!0),a.traceContextParentHeader&&(n.setRequestHeader("traceparent",a.traceContextParentHeader),a.traceContextStateHeader&&n.setRequestHeader("tracestate",a.traceContextStateHeader),s=!0),s&&(this.dt=a)}}function d(e,t){var r=this.metrics,i=e[0],o=this;if(r&&i){var a=V(i);a&&(r.txSize=a)}this.startTime=(0,p.z)(),this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof o.end)&&o.end(t)}catch(e){try{n.emit("internal-error",[e])}catch(e){}}};for(var s=0;s 1?e[1]=i:e.push(i)}else e[0]&&e[0].headers&&s(e[0].headers,n)&&(this.dt=n);function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function x(e,t){this.params={},this.metrics={},this.startTime=(0,p.z)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof Y?r=i.url:c._A?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),T(this,r);var o=(""+(i&&i instanceof Y&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.txSize=V(n.body)||0}function A(t,r){var n;this.endTime=(0,p.z)(),this.params||(this.params={}),this.params.status=r?r.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);var o={txSize:this.txSize,rxSize:n,duration:(0,p.z)()-this.startTime};i("xhr",[this.params,o,this.startTime,this.endTime,"fetch"],this,e.D.ajax)}function E(t){var r=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var o=0;o 2&&void 0!==arguments[2])||arguments[2];super(e,t,we.t,r),this.importAggregator()}}new class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,_.ky)(16);c._A?(this.agentIdentifier=t,this.sharedAggregator=new y({agentIdentifier:this.agentIdentifier}),this.features={},this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(m),Object.assign(this,(0,a.j)(this.agentIdentifier,e,e.loaderType||"agent")),this.start()):(0,l.Z)("Failed to initial the agent. Could not determine the runtime environment.")}get config(){return{info:(0,t.C5)(this.agentIdentifier),init:(0,t.P_)(this.agentIdentifier),loader_config:(0,t.DL)(this.agentIdentifier),runtime:(0,t.OP)(this.agentIdentifier)}}start(){const t="features";try{const r=n(this.agentIdentifier),i=[...this.desiredFeatures];i.sort(((t,r)=>e.p[t.featureName]-e.p[r.featureName])),i.forEach((t=>{if(r[t.featureName]||t.featureName===e.D.pageViewEvent){const n=function(t){switch(t){case e.D.ajax:return[e.D.jserrors];case e.D.sessionTrace:return[e.D.ajax,e.D.pageViewEvent];case e.D.sessionReplay:return[e.D.sessionTrace];case e.D.pageViewTiming:return[e.D.pageViewEvent];default:return[]}}(t.featureName);n.every((e=>r[e]))||(0,l.Z)("".concat(t.featureName," is enabled but one or more dependent features has been disabled (").concat((0,D.P)(n),"). This may cause unintended consequences or missing data...")),this.features[t.featureName]=new t(this.agentIdentifier,this.sharedAggregator)}})),(0,T.Qy)(this.agentIdentifier,this.features,t)}catch(e){(0,l.Z)("Failed to initialize all enabled instrument classes (agent aborted) -",e);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,T.fP)();return delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.[t],delete this.sharedAggregator,r.ee?.abort(),delete r.ee?.get(this.agentIdentifier),!1}}}({features:[J,m,S,class extends h{static featureName=oe;constructor(t,r){if(super(t,r,oe,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!c.il)return;const n=this.ee;let i;(0,k.QU)(n),this.eventsEE=(0,k.em)(n),this.eventsEE.on(se,(function(e,t){this.bstStart=(0,p.z)()})),this.eventsEE.on(ae,(function(t,r){(0,s.p)("bst",[t[0],r,this.bstStart,(0,p.z)()],void 0,e.D.sessionTrace,n)})),n.on(ce+ne,(function(e){this.time=(0,p.z)(),this.startPath=location.pathname+location.hash})),n.on(ce+ie,(function(t){(0,s.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,e.D.sessionTrace,n)}));try{i=new PerformanceObserver((t=>{const r=t.getEntries();(0,s.p)(te,[r],void 0,e.D.sessionTrace,n)})),i.observe({type:re,buffered:!0})}catch(e){}this.importAggregator({resourceObserver:i})}},C,xe,B,class extends h{static featureName=de;constructor(e,r){if(super(e,r,de,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!c.il)return;if(!(0,t.OP)(e).xhrWrappable)return;try{this.removeOnAbort=new AbortController}catch(e){}let n,i=0;const o=this.ee.get("tracer"),a=(0,k._L)(this.ee),s=(0,k.Lg)(this.ee),u=(0,k.BV)(this.ee),d=(0,k.Kf)(this.ee),f=this.ee.get("events"),l=(0,k.u5)(this.ee),h=(0,k.QU)(this.ee),g=(0,k.Gm)(this.ee);function m(e,t){h.emit("newURL",[""+window.location,t])}function v(){i++,n=window.location.hash,this[ve]=(0,p.z)()}function b(){i--,window.location.hash!==n&&m(0,!0);var e=(0,p.z)();this[pe]=~~this[pe]+e-this[ve],this[ye]=e}function y(e,t){e.on(t,(function(){this[t]=(0,p.z)()}))}this.ee.on(ve,v),s.on(be,v),a.on(be,v),this.ee.on(ye,b),s.on(ge,b),a.on(ge,b),this.ee.buffer([ve,ye,"xhr-resolved"],this.featureName),f.buffer([ve],this.featureName),u.buffer(["setTimeout"+le,"clearTimeout"+fe,ve],this.featureName),d.buffer([ve,"new-xhr","send-xhr"+fe],this.featureName),l.buffer([me+fe,me+"-done",me+he+fe,me+he+le],this.featureName),h.buffer(["newURL"],this.featureName),g.buffer([ve],this.featureName),s.buffer(["propagate",be,ge,"executor-err","resolve"+fe],this.featureName),o.buffer([ve,"no-"+ve],this.featureName),a.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),y(l,me+fe),y(l,me+"-done"),y(a,"new-jsonp"),y(a,"jsonp-end"),y(a,"cb-start"),h.on("pushState-end",m),h.on("replaceState-end",m),window.addEventListener("hashchange",m,(0,O.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",m,(0,O.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){m(0,i>1)}),(0,O.m$)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#e,this.importAggregator()}#e(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}],loaderType:"spa"})})(),window.NRBA=o})(); window.jQuery || document.write(' ') CKEDITOR_BASEPATH='https://f1000research.com/js/vendor/ckeditor/' window.reactTheme = 'research'; window.MathJax = { CommonHTML: { linebreaks: { automatic: true } }, 'HTML-CSS': { linebreaks: { automatic: true } }, SVG: { linebreaks: { automatic: true } }, AuthorInit: function() { MathJax.Hub.Register.MessageHook('End Process', function () { let timeout = false; // holder for timeout id const delay = 250; // delay after event is "complete" to run callback const reflowMath = function() { const dispFormulas = document.querySelectorAll('.disp-formula.panel'); if (!dispFormulas) { return; } for (const dispFormula of dispFormulas) { const child = dispFormula.querySelector('.MathJax_Preview').nextSibling.firstChild; const isMultiline = MathJax.Hub.getAllJax(dispFormula)[0].root.isMultiline; if (dispFormula.offsetWidth < child.offsetWidth || isMultiline) { MathJax.Hub.Queue(['Rerender', MathJax.Hub, dispFormula]); } } }; window.addEventListener('resize', function() { clearTimeout(timeout); // clear the timeout timeout = setTimeout(reflowMath, delay); // start timing for event "completion" }); }); }, }; if (window.location.hash == '#_=_'){ window.location = window.location.href.split('#')[0] } !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function() {n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)} ;if(!f._fbq)f._fbq=n; n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '1641728616063202'); fbq('track', "PixelInitialized", {}); (function(h,o,t,j,a,r){ h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; h._hjSettings={hjid:2318163,hjsv:6}; a=o.getElementsByTagName('head')[0]; r=o.createElement('script');r.async=1; r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; a.appendChild(r); })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv='); search file_upload Submit your research search menu close search Browse Gateways & Collections How to Publish Submit your Research My Submissions Article Guidelines Article Guidelines (New Versions) Open Data, Software and Code Guidelines Open Data and Accessible Source Materials Guidelines (HSS) Open Data, Software and Code Guidelines (PSE) Prepublication Checks Production Process Posters and Slides Guidelines Document Guidelines Article Processing Charges Peer Review Finding Article Reviewers About How it Works For Reviewers Our Advisors Policies Glossary FAQs For Developers Newsroom Contact My Research Submissions Content and Tracking Alerts My Details Sign In file_upload Submit your research { "@context": "https://schema.org", "@type": "ScholarlyArticle", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://f1000research.com/articles/15-741" }, "headline": "Beyond Fish: A Comprehensive Review of Microbiome Dynamics, Allergen Mitigation, and Biorefinery in...", "datePublished": "2026-05-16T08:26:24", "dateModified": "2026-05-16T08:26:24", "author": [ { "@type": "Person", "name": "Muhammad Miftahussurur" }, { "@type": "Person", "name": "Brian Sarak" }, { "@type": "Person", "name": "Abimanyu Diba Pradana" }, { "@type": "Person", "name": "Agnes Nadia Sri Pudyaningrum Yuwana" }, { "@type": "Person", "name": "Azzahrawaani K Ain Guntur" }, { "@type": "Person", "name": "Jeanette Boi Indrawati Ohoira" }, { "@type": "Person", "name": "Tyas Wahyuningrum" }, { "@type": "Person", "name": "Indah Nian Mailopuw" }, { "@type": "Person", "name": "Anand Reyna Maulana" }, { "@type": "Person", "name": "Marwah Sifa Safira Mosyafwa" }, { "@type": "Person", "name": "Mirna Sahubawa" }, { "@type": "Person", "name": "Annisa Ayu Papuja" } ], "publisher": { "@type": "Organization", "name": "F1000Research", "logo": { "@type": "ImageObject", "url": "https://f1000research.com/img/AMP/F1000Research_image.png", "height": 480, "width": 60 } }, "image": { "@type": "ImageObject", "url": "https://f1000research.com/img/AMP/F1000Research_image.png", "height": 1200, "width": 150 }, "description": "While fermented finfish products dominate the global discourse on marine fermentation, the indigenous fermentation of marine invertebrates, including crustaceans, bivalves, cephalopods, and echinoderms, remains a highly complex and under-researched domain of food science. This review synthesizes the current literature to highlight the phylum-specific biotechnological processes governing these foods. By analyzing distinct coastal micro-ecologies, we contrast traditional halophilic bacterial dominance with modern and unconventional processing deviations, such as sugar-assisted low-salt fermentations, sequential strain fortification of fungi and bacteria, enzymatic pretreatments, and targeted microbial consortia. We explore advanced proteolytic pathways that yield specific umami markers, functional compounds like γ-aminobutyric acid (GABA), angiotensin-converting enzyme (ACE)-inhibitory peptides, and improve the textural gelation of myofibrillar proteins. Crucially, this review addresses modern safety paradigms, detailing how targeted fermentation windows mitigate biogenic amines and how seasonal temperature fluctuations impact the proliferation of pathogens like Aeromonas spp. in bivalves. We highlight breakthrough interventions in shellfish allergy management, demonstrating how specific microbial starters (e.g., Limosilactobacillus fermentum) and synergistic physical and chemical hurdle technologies destroy immunoglobulin E (IgE)-binding epitopes on tropomyosin. Finally, we explore the future of marine fermentation, emphasizing its evolution from spontaneous preservation into precise bio-engineering. We provide a comprehensive matrix of industrial cross-applications, discuss the circular blue economy via the green biorefinery of shell waste and shrimp heads, and introduce the critical concept of microbial heritage transfer by applying indigenous fermentation methodologies to sustainable substrates to recreate the flavors of endangered species without ecological harm." } { "@context": "http://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": "1", "item": { "@id": "https://f1000research.com/", "name": "Home" } }, { "@type": "ListItem", "position": "2", "item": { "@id": "https://f1000research.com/browse/articles", "name": "Browse" } }, { "@type": "ListItem", "position": "3", "item": { "@id": "https://f1000research.com/articles/15-741/v1", "name": "Beyond Fish: A Comprehensive Review of Microbiome Dynamics, Allergen..." } } ] } Home Browse Beyond Fish: A Comprehensive Review of Microbiome Dynamics, Allergen... ALL Metrics - Views Downloads Get PDF Get XML Cite How to cite this article Miftahussurur M, Sarak B, Pradana AD et al. Beyond Fish: A Comprehensive Review of Microbiome Dynamics, Allergen Mitigation, and Biorefinery in Fermented Marine Invertebrates [version 1; peer review: awaiting peer review] . F1000Research 2026, 15 :741 ( https://doi.org/10.12688/f1000research.180377.1 ) NOTE: If applicable, it is important to ensure the information in square brackets after the title is included in all citations of this article. Close Copy Citation Details Export Export Citation Sciwheel EndNote Ref. Manager Bibtex ProCite Sente EXPORT Select a format first Track Share ▬ ✚ Review Beyond Fish: A Comprehensive Review of Microbiome Dynamics, Allergen Mitigation, and Biorefinery in Fermented Marine Invertebrates [version 1; peer review: awaiting peer review] Muhammad Miftahussurur https://orcid.org/0009-0007-9224-5863 1 , Brian Sarak 1 , Abimanyu Diba Pradana 1 , [...] Agnes Nadia Sri Pudyaningrum Yuwana 1 , Azzahrawaani K Ain Guntur 1 , Jeanette Boi Indrawati Ohoira 1 , Tyas Wahyuningrum 1 , Indah Nian Mailopuw 1 , Anand Reyna Maulana 1 , Marwah Sifa Safira Mosyafwa 1 , Mirna Sahubawa 2 , Annisa Ayu Papuja 2 Muhammad Miftahussurur https://orcid.org/0009-0007-9224-5863 1 , Brian Sarak 1 , [...] Abimanyu Diba Pradana 1 , Agnes Nadia Sri Pudyaningrum Yuwana 1 , Azzahrawaani K Ain Guntur 1 , Jeanette Boi Indrawati Ohoira 1 , Tyas Wahyuningrum 1 , Indah Nian Mailopuw 1 , Anand Reyna Maulana 1 , Marwah Sifa Safira Mosyafwa 1 , Mirna Sahubawa 2 , Annisa Ayu Papuja 2 PUBLISHED 16 May 2026 Author details Author details 1 Biotechnology Study Program, Gadjah Mada University Research Center for Biotechnology, Yogyakarta, Special Region of Yogyakarta, 55281, Indonesia 2 The Master’s Program in Biology, Gadjah Mada University Faculty of Biology, Yogyakarta, Special Region of Yogyakarta, 55281, Indonesia Muhammad Miftahussurur Roles: Conceptualization, Validation, Visualization, Writing – Original Draft Preparation Brian Sarak Roles: Conceptualization, Writing – Review & Editing Abimanyu Diba Pradana Roles: Data Curation, Writing – Review & Editing Agnes Nadia Sri Pudyaningrum Yuwana Roles: Data Curation, Writing – Review & Editing Azzahrawaani K Ain Guntur Roles: Data Curation, Writing – Review & Editing Jeanette Boi Indrawati Ohoira Roles: Data Curation, Writing – Review & Editing Tyas Wahyuningrum Roles: Formal Analysis, Writing – Review & Editing Indah Nian Mailopuw Roles: Formal Analysis, Writing – Review & Editing Anand Reyna Maulana Roles: Formal Analysis, Writing – Review & Editing Marwah Sifa Safira Mosyafwa Roles: Writing – Original Draft Preparation, Writing – Review & Editing Mirna Sahubawa Roles: Supervision, Writing – Review & Editing Annisa Ayu Papuja Roles: Supervision, Writing – Review & Editing OPEN PEER REVIEW REVIEWER STATUS AWAITING PEER REVIEW This article is included in the Agriculture, Food and Nutrition gateway. Abstract While fermented finfish products dominate the global discourse on marine fermentation, the indigenous fermentation of marine invertebrates, including crustaceans, bivalves, cephalopods, and echinoderms, remains a highly complex and under-researched domain of food science. This review synthesizes the current literature to highlight the phylum-specific biotechnological processes governing these foods. By analyzing distinct coastal micro-ecologies, we contrast traditional halophilic bacterial dominance with modern and unconventional processing deviations, such as sugar-assisted low-salt fermentations, sequential strain fortification of fungi and bacteria, enzymatic pretreatments, and targeted microbial consortia. We explore advanced proteolytic pathways that yield specific umami markers, functional compounds like γ-aminobutyric acid (GABA), angiotensin-converting enzyme (ACE)-inhibitory peptides, and improve the textural gelation of myofibrillar proteins. Crucially, this review addresses modern safety paradigms, detailing how targeted fermentation windows mitigate biogenic amines and how seasonal temperature fluctuations impact the proliferation of pathogens like Aeromonas spp. in bivalves. We highlight breakthrough interventions in shellfish allergy management, demonstrating how specific microbial starters (e.g., Limosilactobacillus fermentum ) and synergistic physical and chemical hurdle technologies destroy immunoglobulin E (IgE)-binding epitopes on tropomyosin. Finally, we explore the future of marine fermentation, emphasizing its evolution from spontaneous preservation into precise bio-engineering. We provide a comprehensive matrix of industrial cross-applications, discuss the circular blue economy via the green biorefinery of shell waste and shrimp heads, and introduce the critical concept of microbial heritage transfer by applying indigenous fermentation methodologies to sustainable substrates to recreate the flavors of endangered species without ecological harm. READ ALL READ LESS Keywords Fermented seafood, Marine invertebrates, Microbiome, Allergenicity mitigation, Microbial heritage transfer, Green biorefinery, Industrial cross-application, Circular economy Corresponding Author(s) Muhammad Miftahussurur ( [email protected] ) Close Corresponding author: Muhammad Miftahussurur Competing interests: No competing interests were disclosed. Grant information: This publication was supported by the Indonesia Endowment Fund for Education (Lembaga Pengelola Dana Pendidikan - LPDP) through the awardee funding provided to the co-authors. There is no specific grant number associated with this support The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript. Copyright: © 2026 Miftahussurur M et al . This is an open access article distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. How to cite: Miftahussurur M, Sarak B, Pradana AD et al. Beyond Fish: A Comprehensive Review of Microbiome Dynamics, Allergen Mitigation, and Biorefinery in Fermented Marine Invertebrates [version 1; peer review: awaiting peer review] . F1000Research 2026, 15 :741 ( https://doi.org/10.12688/f1000research.180377.1 ) First published: 16 May 2026, 15 :741 ( https://doi.org/10.12688/f1000research.180377.1 ) Latest published: 16 May 2026, 15 :741 ( https://doi.org/10.12688/f1000research.180377.1 ) 1. Introduction For millennia, humans have utilized microbes to transform perishable marine resources into shelf-stable, umami-rich foods. However, the global discourse surrounding fermented seafood predominantly focuses on finfish, ranging from ancient Roman garum to modern Southeast Asian fish sauces. This fish-centric narrative obscures a vast, parallel domain of indigenous biotechnology: the fermentation of marine invertebrates. 1 , 2 Crustaceans, bivalves, cephalopods, and echinoderms present fundamentally different biological substrates for fermentation compared to finfish. Because these organisms possess highly variable structural proteins—including dense myofibrillar networks and chitinous exoskeletons—alongside distinct lipid profiles and environmental adaptations, the microbial communities that colonize them and the resulting chemical transformations are highly distinct. Consequently, these traditional foods are frequently mischaracterized as merely “spoiled seafood.” In reality, they are complex, spontaneous biochemical reactors carefully managed by indigenous cultural practices. 1 This review aims to shift the research paradigm beyond finfish. By synthesizing recent literature on products ranging from Indonesian Terasi (shrimp), Korean Jogaejeot (clams) 3 and Nakji-jeot (octopus) 4 , to innovative fermented squid viscera, this paper provides a comprehensive overview of non-fish marine fermentation. We explore how supply chain environments and unique processing methodologies shape the microbiome, translate the biochemistry of flavor enhancement, assess methodologies for mitigating shellfish allergenicity regarding tropomyosin, and synthesize these findings to provide a practical framework for industrial cross-application and ecological conservation. 2. The Cross-phylum fermentation landscape: Methodological deviations While conventional marine fermentation relies on fundamental parameters, utilizing raw seafood, high salinity, and extended aging, recent literature highlights how highly regulated processing steps are required to overcome the biological challenges posed by different invertebrate phyla. 2.1 Crustaceans: Environmental specificity, low-salt adaptation, and sequential fortification The fermentation of crustaceans, particularly shrimp, is the most extensively documented. Traditional products such as Terasi (Indonesia) and Kapi (Thailand) are produced in Southeast Asia through sun-drying and the application of high salt concentrations (20–30%). 1 , 2 , 5 This high salinity acts as a stringent selective barrier, permitting only halophilic microbes, such as Tetragenococcus halophilus and several species of Bacillus , to thrive. 1 , 6 The profound influence of the local marine environment is evident in Thai Kapi production, where the origin of the raw material determines the characteristics of the final product. For example, Kapi Ta Dam (black paste) is derived from Mesopodopsis orientalis collected from mangrove canals, whereas Kapi Ta Deang (red paste) utilizes Acetes species from seagrass beds. This exemplifies how coastal micro-ecologies establish the biochemical baseline for indigenous fermentation. 7 To meet contemporary health requirements and improve production efficiency, food science has developed two major deviations from traditional spontaneous fermentation: Sugar-Assisted Low-Salt Fermentation: Reducing salt concentrations to 5–10% significantly increases the risk of pathogenic growth, necessitating the addition of saccharides such as glucose. The sugar lowers water activity and provides a rapidly metabolizable substrate for lactic acid bacteria (LAB). This engineered parameter limits the fermentation window to 7–21 days and actively prevents the accumulation of biogenic amines like histamine. 6 , 8 Two-Step Strain Fortification: This precision-engineered approach deliberately alternates fungi and bacteria to maximize proteolysis. Researchers have achieved a rapid 16-day fermentation cycle by initially inoculating shrimp paste with Cladosporium for extensive protein degradation over 12 days, followed by an inoculation of Enterococcus faecalis for 4 days of targeted flavor refinement. This targeted succession drastically reduces total volatile basic nitrogen (TVB-N) while maximizing amino acid nitrogen (AAN), effectively sidestepping the biochemical unpredictability of traditional prolonged aging. 9 2.2 Bivalves: Thermal pretreatments and defined consortia Bivalves (clams, oysters, mussels) are filter feeders and, unlike shrimp, naturally bioaccumulate a wide variety of environmental microbes, including pathogenic Vibrio species and marine biotoxins. 10 , 11 Spontaneous fermentation in these species can be highly unpredictable and hazardous. To eliminate this unpredictability, modern bivalve fermentation employs radical deviations from traditional methodologies. For Pacific oysters (Crassostrea gigas), researchers use surface sterilization techniques and intentionally inoculate the homogenate with a highly controlled, defined microbial consortium comprised of Saccharomyces cerevisiae, Kazachstania, and Lactobacillus pentosus, optimized to outcompete wild spoilage bacteria. 12 For New Zealand green-lipped mussels (Perna canaliculus), attempting to ferment raw tissue directly results in severe spoilage due to overpowering endogenous gut bacteria. The scientific solution is thermal-pretreatment fermentation. This involves a brief initial boiling to destroy the wild microflora and denature endogenous digestive enzymes, creating a sterile matrix that is subsequently inoculated with commercial LAB starter cultures. 13 2.3 Cephalopods: Enzymatic pretreatments Squid viscera, a major industrial by-product comprising up to 20% of the animal mass, pose significant utilization challenges via standard high-salinity spontaneous fermentation. A highly efficient modern approach circumvents this by utilizing an enzymatic pretreatment followed by co-culturing. Before the real fermentation phase starts, the viscera are incubated at 45 °C with a commercial alkaline protease for 4 h to partially degrade strong tissues into bioavailable peptides, and a thermal inactivation step at 85 °C takes place. Only after this pretreatment, the substrates are inoculated with a specific equivalent ratio of two selected strains, Bacillus tropicum YL14 and Acinetobacter guillouiae YL25, in a low-salt environment near 4%. This synergistic co-inoculation significantly reduces pH and TVB-N while rapidly accelerating AAN production. 14 2.4 Echinoderms: Sea urchins and botanical antimicrobials Sea urchins depend on a specialized gut microbiome to digest complex structural carbohydrates from macroalgae in their natural environment. 15 , 16 In the fermentation of sea urchin gonads by indigenous communities such as Bekasang in Indonesia, a unique botanical deviation is used to modify the microbial environment. Traditional producers do not only use osmotic stress through salt, but also incorporate starfruit water (Averrhoa carambola) into the raw gonads. The starfruit extract, due to high concentrations of oxalates, phenols, and flavonoids, acts as a natural antimicrobial and preservative. This particular botanical intervention selectively inhibits spoilage viruses, bacteria, and fungi while promoting the growth of desirable protease-producing bacteria, such as Staphylococcus piscifermentans, which hydrolyze the urchin proteins into flavorful peptides. 17 3. Biochemical transformations: Flavor, gelation, and functional efficacy The transformative potential of marine invertebrate fermentation is rooted in profound proteolysis and metabolic conversion, which fundamentally alter both the flavor profile and the physical architecture of the food matrix. 3.1 The science of umami, deodorization, and atmospheric control Bacterial enzymes degrade structural proteins to free amino acids (FAAs), mainly glutamic acid and aspartic acid, in fermented crustacean pastes. 1 , 18 In pre-treated squid viscera, starter cultures with branched-chain amino acid aminotransferase (BCAT) activity catabolize leucine and valine to high-impact volatile compounds, such as 3-methylbutanol (malty aroma) and 3-methylbutyric acid (fruity and cheesy aroma), producing a multi-dimensional flavor profile that effectively masks intrinsic marine odors. 14 Microbial fermentation also serves as a highly efficient biological deodorization tool. In aquatic species with a strong propensity to generate fishy odors, such as eel, specific fermentation by Staphylococcus nepalensis degrades polyunsaturated fatty acids, effectively eliminating undesirable lipid-oxidation byproducts like 1-octen-3-ol and 1-heptanol. 19 Furthermore, ambient oxygen control during fermentation has a profound effect on flavor chemistry. Studies on fermented fish sauces demonstrate that anaerobic atmospheric control drastically inhibits the oxidation of lipids into sharp, rancid short-chain fatty acids (such as n-butanoic acid). This atmospheric control results in a markedly sweeter, milder, and highly palatable aromatic profile compared to the pungent notes produced by aerobic fermentation. 20 3.2 Structural remodeling: Myofibrillar protein gelation Fermentation profoundly impacts the physical texture of marine invertebrates. When shrimp myofibrillar proteins are aseptically fermented using Limosilactobacillus fermentum 6b , the resulting microbial acid production and enzymatic activity induce structural reconstruction. This process promotes intermolecular cross-linking, significantly increasing the α-helical content and surface hydrophobicity of the proteins. 21 Macroscopically, this microbial remodeling improves gel strength by over 59%, enhances water-holding capacity, and forms a dense, organized three-dimensional printable gel network, establishing a foundation for next-generation texturized seafood products. 21 3.3 Functional foods: GABA, ACE-inhibitory peptides, and antioxidants Besides the taste and texture, these ferments have been proven to provide important functional health benefits. In the process of Terasi fermentation, some bacteria utilize glutamate decarboxylase (GAD) to convert free glutamate to γ-aminobutyric acid (GABA) which has neuroprotective and antihypertensive effects. 8 Marine fermentation also provides strong cardiovascular benefits through profound proteolysis. Extended fermentation of Thai Kapi leads to the release of highly active ACE inhibitory peptides. These peptides, generated by extensive enzymatic hydrolysis of shrimp proteins, have potent antihypertensive effects and strong radical-scavenging antioxidative activities, which increase aggressively with fermentation time, and serve as effective endogenous functional bio-preservatives. 7 Moreover, bivalve fermentation greatly improves mineral bioavailability. Fermentation of oyster homogenates with S. cerevisiae alters the chemical bonding state of zinc, increasing its in vitro digestibility and cellular antioxidant capacity. 12 4. Safety paradigms: Pathogens, spoilage, and allergens While fermentation is historically a preservation technique, marine invertebrates present distinct safety hurdles that require advanced microbiological interventions. 4.1 Biogenic amines and supply chain temperature fluctuations Biogenic amines are produced by intensive protein breakdown during fermentation, particularly histamine. 22 Metabolomic profiling of low-salt Terasi revealed a complex pattern in which histamine and cadaverine reached a peak at the beginning of fermentation and then declined over the course of fermentation. Prolonged fermentation under low-salt conditions leads to the accumulation of putrefaction compounds such as indole-3-acetic acid. 6 Moreover, safety protocols are largely affected by real-world supply chain dynamics. On-site assessments of salt-fermented octopus and clams show frequent temperature fluctuations greater than 10 °C during the summer and fall in local markets and online distribution channels. Such a thermal deviation causes a dangerous shift in β-diversity, favoring a bloom of spoilage-associated Pseudomonadaceae and Bacillaceae at the expense of beneficial LAB. 23 Moreover, cold storage of bivalves such as Meretrix meretrix (Asian hard clam) does not prevent all pathogens. Psychrotrophic strains of Aeromonas hydrophila and A. veronii are able to express increased hemolytic and proteolytic virulence factors even at refrigeration temperatures, emphasizing the absolute need for strict thermal and sanitary controls. 24 4.2 Mitigating shellfish allergy Shellfish allergy, a lifelong IgE hypersensitivity disease, is mainly caused by the heat-stable muscle protein tropomyosin. 25 New food processing techniques have emerged as synergistic strategies to reduce allergenicity by destroying or masking IgE-binding epitopes. 25 Biological Modification: Fermentation is considered an effective hypoallergenic tool. The proteolytic enzymes secreted by LAB, for instance L. fermentum 6b, break down the peptide bonds of shrimp myofibrillar proteins, leading to the direct destruction of linear allergenic epitopes. Immunological tests have shown that fermentation by L. fermentum can lower the IgE-binding rate of shrimp tropomyosin by over 12.5%. 21 Synergistic Hurdle Technologies: Individual treatments can reduce allergenicity, but combined methodologies are exponentially more effective. Mild physical pre-treatments with steam or ultrasound unfold the protein structure, exposing hidden tropomyosin epitopes to subsequent enzymatic hydrolysis or polyphenol crosslinking. 25 Also, the combination of hydrostatic pressure with food-grade antimicrobials such as thiamine dilaurylsulfate (TDS) allows a synergistic 4-log reduction of highly resistant pathogens such as Staphylococcus aureus in raw-fermented clams without thermal degradation, ensuring safety while maintaining the desired raw texture. 26 5. Discussion and future perspectives The synthesis of current literature reveals that the fermentation of marine invertebrates is undergoing a profound paradigm shift. It is evolving from a localized, spontaneous preservation method into a highly precise, multidisciplinary science. 5.1 Balancing indigenous characteristics with commercial standardization Safety versus authenticity is a central issue in the modernization of fermented seafood. Rich, complex, and culturally important flavor profiles are produced by traditional spontaneous fermentations, which depend on the natural microbial ecosystem, especially the local marine environment. However, the use of only wild microflora presents unacceptable risks in today’s global supply chains. Interventions such as thermal-pretreatment fermentation and the addition of commercial starter cultures address these safety concerns and make the fermentation process reproducible. But the complete removal of native microbiomes risks making these heritage foods taste uniform. This gap should be addressed by future research targeting the isolation and culture of indigenous benign strains from traditional ferments. The development of bespoke starter consortia from the source environment (e.g., culturing native Staphylococcus piscifermentans from wild sea urchins) will enable the industry to ensure commercial safety while authentically maintaining regional flavor profiles. 5.2 The multi-omics revolution in seafood quality The era of empirical iteration in marine fermentation is concluding, driven by the integration of multi-omics technologies. Previously, researchers could only hypothesize how a fermented product achieved its final flavor or toxicity. Today, the integration of 16S rRNA microbiome sequencing with advanced metabolomics allows scientists to draw direct, mechanistic lines between specific microbes and their chemical outputs. By understanding the exact biochemical pathways of lipid oxidation and the Maillard reaction, 27 processors can select microbial strains that intentionally suppress off-odors while actively upregulating the synthesis of functional compounds like GABA and ACE-inhibitory peptides. 5.3 Decoupling flavor from endangered species: Microbial heritage transfer A highly promising application of this multi-omics revolution lies in ecological conservation. Many highly prized traditional fermentations rely on rare, ecologically sensitive, or endangered marine species. For example, indigenous variations of Bakasang from Eastern Indonesia rely on giant clams (Tridacnidae), a heavily protected species. The true cultural and culinary value of these foods does not necessarily reside in the endangered animal biomass. Rather, it resides in the unique biochemical transformation driven by the methodology and the associated microbiota. By deeply analyzing these heritage foods, scientists can decouple the signature flavor profile from the endangered raw material. Food scientists can then perform microbial heritage transfer by applying these exact indigenous microbes and processing methodologies to highly abundant and sustainable substrates. Through the use of the Bakasang consortia on sustainably harvested common mussels, researchers can achieve the same organoleptic experience and functional benefits as the original dish, while contributing to the conservation of delicate marine ecosystems that are at risk of overexploitation. 5.4 The circular blue economy: From waste to high-value bio-assets Marine fermentation is also a critical tool for the circular blue economy. The seafood industry generates millions of tons of highly polluting waste annually, particularly chitin-rich crustacean shells, heads, and cephalopod viscera. Upcycling Shrimp Heads for Enhanced Flavor Profiles: Fermentation provides a pathway to upcycle Litopenaeus vannamei (Pacific white shrimp) head waste. Comparative metabolomic studies show that fermented shrimp head paste actually contains higher levels of crude protein and essential amino acids than paste made from whole shrimp. Furthermore, the microbial community in shrimp heads, dominated by Tetragenococcus and Alkalibacterium , drives the synthesis of pyrazines yielding rich, roasted, meaty flavors, whereas whole shrimp fermentation is dominated by simple aldehydes. 28 This demonstrates that processing waste can yield a culinarily superior condiment. Green Biorefinery of Shells: Fermentation provides a revolutionary tool to extract α-chitin from crustacean shells, a process that traditionally relies on harsh, environmentally hazardous chemicals. A breakthrough green biorefinery approach uses a two-stage successive microbial fermentation. An anaerobic fermentation using LAB produces lactic acid to demineralize the shells, followed by an aerobic step using the fungus Rhizopus oligosporus to produce acidic proteases that strip away proteins. This engineered succession leaves behind pure α-chitin, bio-calcium, and lactic acid, without the toxic environmental footprint of traditional chemical extractions. 29 5.5 Summary of processing interventions, pathogen mitigation, and industrial cross-application The advanced processing deviations developed to control marine invertebrate fermentations represent a robust toolkit of hazard-mitigation strategies that can be directly translated to broader industrial food processes. Table 1 summarizes these unique methodologies. Table 1. Matrix of marine fermentation interventions, hazard mitigation, and industrial cross-applications. Marine organism/product Unique processing method Target pathogen/harmful substance Effectiveness and mechanism Industrial cross-application potential Shrimp ( Terasi ) Two-Step Strain Fortification ( Cladosporium and E. faecalis ) Biogenic Amines, Putrefaction Targeted sequential inoculation maximizes proteolysis, accelerating fermentation to 16 days and lowering TVB-N. 9 Rapid Aging Protocols: Accelerating the aging of dry-cured meats or vegan cheeses using engineered fungal-bacterial successions. Mussels ( P. canaliculus ) Thermal-Pretreatment Fermentation and Commercial LAB Starter Listeria monocytogenes , Clostridium botulinum Initial heat resets wild microflora; subsequent L. sakei inoculation produces bacteriocins (sakacin P), eliminating Listeria. 13 Plant-Based Seafood/Meats: Applying thermal resets prior to targeted fermentation to ensure absolute microbial safety in heavily processed plant-protein matrices. Squid Viscera Enzymatic Pretreatment and Multistrain Co-culturing Total Volatile Basic Nitrogen (TVB-N), Spoilage flora Protease pretreatment followed by B. tropicum and A. guillouiae competitively inhibits TVB-N accumulation while boosting amino acids. 14 Upcycling Abattoir Waste: Applying engineered multi-strain co-culturing to stabilize, deodorize, and valorize highly perishable terrestrial organ meats and by-products. Pacific Oysters Surface Sterilization and Targeted Consortia Vibrio species, Endogenous marine pathogens A defined microbial consortium comprised of S. cerevisiae , Kazachstania , and L. pentosus outcompetes wild pathogenic and spoilage bacteria. 12 Standardized Raw Ferments: Deploying functional microbial inoculants to safely ferment historically high-risk raw foods (e.g., raw milk cheeses). Sea Urchin ( Bekasang ) Botanical Antimicrobials (Starfruit Water) Spoilage viruses, bacteria, and fungi High concentrations of phenols and oxalates selectively suppress pathogens while allowing desired protease-producing bacteria to thrive. 17 Natural Hurdle Technologies: Integrating antimicrobial fruit/plant extracts into industrial ferments to replace synthetic nitrites and chemical preservatives. Short-Neck Clams Hydrostatic Pressure and TDS (Hurdle Tech) Staphylococcus aureus , Psychrotrophic bacteria Synergy of 300 MPa pressure and thiamine dilaurylsulfate (TDS) achieves a 4-log pathogen reduction without cooking. 26 Non-Thermal Sterilization: Applying pressure and TDS to heat-sensitive foods (e.g., fruit juices, raw-textured vegan products) for pathogen eradication without texture loss. Eel/Fish Sauces Anaerobic Atmospheric Control Rancid short-chain fatty acids (e.g., n-butanoic acid) Depriving the fermentation of oxygen suppresses lipid oxidation, shifting the volatile profile from rancid properties to sweet and mild profiles. 20 Controlled Atmosphere Fermentation: Utilizing vacuum or nitrogen-flushed fermentation tanks to actively suppress off-flavor oxidation in high-fat foods. 5.6 Regulatory frameworks and consumer perception Despite the great potential of engineered marine fermentations, many challenges remain for commercialization and acceptance by consumers. From the regulatory point of view, the use of non-traditional microbial starters in seafood matrices requires strict safety evaluations. Institutions such as the FDA and the European Food Safety Authority (EFSA) require these novel inoculants to reach the status of Generally Recognized As Safe (GRAS) or Qualified Presumption of Safety (QPS). It is fundamental to demonstrate the absence of acquired antibiotic resistance genes and to ensure that these strains do not produce secondary toxins in marine fermentation conditions. At the same time, consumer perception is a key factor. Upcycling waste streams such as squid guts or shrimp heads, which can be perceived negatively by consumers at first, is critical for the circular blue economy. Moreover, microbial heritage transfer, a huge advance in ecological preservation, confronts the traditional idea of food authenticity. Industry players need to invest in clear labeling and consumer education to transform the story from waste upcycling into premium, functional, and ecologically sound bio-gastronomy. 6. Conclusions Fermentation of marine invertebrates, from crustaceans to bivalves, cephalopods, and echinoderms, is a vast and sophisticated branch of food science. Once viewed as a simple, spontaneous method of preservation, it has developed into a highly engineered, biologically accurate science. To overcome the unusual structural and microbiological challenges presented by marine organisms, modern food scientists and native producers alike use purposeful processing deviations such as enzymatic pretreatments, sequential strain fortifications, atmospheric controls, and full thermal resets. The potential is endless when these phylum-specific biotechnological processes are mastered. We can yield powerful functional compounds like GABA, ACE-inhibitory peptides, and highly bioavailable minerals; restructure myofibrillar proteins into novel 3D-printable gels; and naturally deodorize offensive marine volatiles. We can standardize safety by utilizing targeted consortia and synergistic hurdle technologies to curb biogenic amines, eradicate resilient environmental pathogens, and fundamentally reduce tropomyosin allergenicity. Most profoundly, by extracting the specific microbial consortia and processing methodologies of traditional ferments, we can practice microbial heritage transfer by decoupling cultural flavors from endangered species and applying these engineered successions to sustainable, alternative proteins across the wider food industry. 30 Ultimately, the future of marine fermentation lies in the exact intersection of traditional ecological knowledge, multi-omics precision, and the sustainable principles of the circular blue economy. Use of artificial intelligence (AI) tools declaration During the preparation of this work, the authors utilized Google Gemini (Large Language Model) to assist with language editing, structuring, and formatting the manuscript to adhere to journal guidelines. After using this tool/service, the authors reviewed and edited the content as needed and take full responsibility for the accuracy and originality of the publication. Data availability Underlying data No data are associated with this article. Acknowledgements This work was supported by the Indonesia Endowment Fund for Education (Lembaga Pengelola Dana Pendidikan - LPDP). References 1. Herlina H, Kusnadi J, Suharjono S, et al. : Terasi, exploring the Indonesian ethnic fermented shrimp paste. J Ethn Foods. 2024; 11 : 1–15. 2. Saisithi P, et al. : Microbiological safety and microbiota of Kapi, Thai traditional fermented shrimp paste, from different sources. Food Control. 2021; 125 : 108000. 3. Kim M, et al. : Microbial succession and flavor changes during the fermentation of traditional Korean fermented clam (Jogae-jeot). Int. J. Food Microbiol. 2020; 316 : 108420. 4. Lim JY, Choi YJ, Choi JY, et al. : Effects of adding various salted seafood (jeotgal) types on the microbial, metabolic, and sensory dynamics of kimchi during fermentation. Food Chem. X. 2026; 35 : 103832. PubMed Abstract | Publisher Full Text | Free Full Text 5. Surya R, Nugroho D, Kamal N, et al. : Effects of fermentation time on chemical, microbiological, antioxidant, and organoleptic properties of Indonesian traditional shrimp paste, terasi. Int. J. Gastron. Food Sci. 2023; 31 : 100643. Publisher Full Text 6. Helmi H, Astuti DI, Putri SP, et al. : Dynamic Changes in the Bacterial Community and Metabolic Profile during Fermentation of Low-Salt Shrimp Paste (Terasi). Metabolites. 2022; 12 : 118. PubMed Abstract | Publisher Full Text | Free Full Text 7. Kleekayai T, Saetae D, Wattanachaiyingyong O, et al. : Characterization and in vitro biological activities of Thai traditional fermented shrimp pastes. J. Food Sci. Technol. 2015; 52 : 1839–1848. PubMed Abstract | Publisher Full Text | Free Full Text 8. Utama GL, Sahab NRM, Nurmilah S, et al. : Unveiling microbial dynamics in terasi spontaneous fermentation: Insights into glutamate and GABA production. Curr Res Food Sci. 2025; 10 : 100950. Publisher Full Text 9. Li Y, Leng WJ, Xue JN, et al. : A new two-step rapid fermentation method for shrimp paste based on strain fortification and analysis of flavor quality. Food Sci Anim Prod. 2023; 1 : 9240030. 10. Lee S, et al. : Safety assessment of heavy metals, norovirus, and Vibrio species in spontaneously fermented bivalves. Food Control. 2022; 133 : 108594. 11. Lopez-Joven C, Ruiz-Zarzuela I, de Blas I , et al. : Persistence of sucrose fermenting and nonfermenting vibrios in tissues of Manila clam species, Ruditapes philippinarum, depurated in seawater at two different temperatures. Food Microbiol. 2011; 28 : 951–956. PubMed Abstract | Publisher Full Text 12. Liu L, Liu T, Wang H, et al. : Identification and validation of core microbes for the formation of the characteristic flavor of fermented oysters (Crassostrea gigas). Food Chem. 2024; 449 : 138970. Publisher Full Text 13. Kitundu E, Young O, Seale B, et al. : Lactic fermentation of cooked, comminuted mussel, Perna canaliculus. Food Microbiol. 2021; 99 : 103829. Publisher Full Text 14. Yu Z, Zhou X, Cai H, et al. : Enhancing quality and flavor of low-salt fermented squid viscera through synergistic fermentation with Bacillus tropicum YL14 and Acinetobacter guillouiae YL25. Int. J. Gastron. Food Sci. 2026; 43 : 101442. Publisher Full Text 15. Zheng Y, Wang F, Jiang Y, et al. : The Multifaceted Role of Gut Microbiota in Sea Urchin Digestion: Diversity, Function, Symbiosis, and Carbohydrate Degradation. Aquac. Res. 2024; 2024 : 7363987. Publisher Full Text 16. Yao Q, Yu K, Liang J, et al. : The Composition, Diversity and Predictive Metabolic Profiles of Bacteria Associated With the Gut Digesta of Five Sea Urchins in Luhuitou Fringing Reef (Northern South China Sea). Front. Microbiol. 2019; 10 : 1168. Publisher Full Text 17. Jamaludin SL, Rehena JF, Seumahu CA, et al. : Isolation and Identification of Protease Enzyme Producing Bacteria from Fermentation of Gonad Sea Urchin (Echinothrix calamaris). Ilmu Kelaut. 2018; 23 : 187–198. 18. Helmi H, Astuti DI, Dungani R, et al. : A Comparative Study on Quality of Fermented Shrimp Paste (Terasi) of Pelagic Shrimp from Different Locations in Indonesia. Squalen Bull Mar Fish Postharvest Biotechnol. 2022; 17 : 23–34. 19. Yang A, Li H, Wang Y, et al. : Effects of different deodorization methods on eel flavor quality: A multidimensional volatile analysis. Food Res. Int. 2026; 232 : 118851. PubMed Abstract | Publisher Full Text 20. Sanceda NG, Kurata T, Suzuki Y, et al. : Oxygen Effect on Volatile Acids Formation During Fermentation in Manufacture of Fish Sauce. J. Food Sci. 1992; 57 : 1120–1135. Publisher Full Text 21. Gu Q, Song F, Dong H, et al. : Study on the structure, allergenicity, gelation and flavor properties of shrimp muscle myofibrillar protein under the action of Limosilactobacillus fermentum 6b. Food Chem. 2026; 513 : 149036. PubMed Abstract | Publisher Full Text 22. Chotjumlong P, et al. : Unraveling microbial diversity and physicochemical hazard level in Thai traditional fermented shrimp paste (Kapi). Foods. 2024; 13 : 45. 23. Lee KW, Lee YH, O Y, et al. : Integrative culture-based and 16S rRNA microbiome analysis combined with on-site temperature evaluation to enhance safety management of salt-fermented octopus and clams. Food Control. 2026; 182 : 111852. Publisher Full Text 24. Palamae S, Saetang J, Yingkajorn M, et al. : Quality changes, diversity and virulence of Aeromonas spp. in the refrigerated Meretrix meretrix and Paphia undulata clams. LWT. 2025; 228 : 118046. Publisher Full Text 25. Zhao F, Huang S, Gao J', et al. : From lab to table: Combating shellfish allergy through processing innovations and bioactive compounds. Food Biosci. 2026; 76 : 108321. Publisher Full Text 26. Lee E-J, Kim J-S, Kim Y-J: Addition of thiamine dilaurylsulfate to reduce the intensity of hydrostatic pressure treatment for microbial safety of Korean Jogaejeot-muchim (salted-fermented-seasoned short-neck clam). J. Korean Soc. Appl. Biol. Chem. 2015; 58 : 937–944. Publisher Full Text 27. Tian Y, Li T, Shan Y, et al. : Synergistic flavor enhancement and polycyclic aromatic hydrocarbons inhibition in roasted fish by Perilla-clam/yeast composite extracts: Regulation of Maillard reaction and lipid oxidation pathways. Food Chem. 2026; 512 : 148950. PubMed Abstract | Publisher Full Text 28. Li X, Wang Y, Sun Y, et al. : Nutritional evaluation, flavor characteristics and microbial community of shrimp paste made from different materials and variance analysis. Food Chem. Adv. 2023; 2 : 100268. Publisher Full Text 29. Ruangwicha J, Cheirsilp B, Suyotha W: Successive microbial fermentation and enzymatic post-treatment for efficient green biorefinery of shrimp shell waste into α-chitin, bio-calcium and carotenoprotein. Bioresour. Technol. Rep. 2026; 33 : 102573. Publisher Full Text 30. Prakoso B, et al. : Development of Fermented Cricket Paste and Its Characteristic Comparison with Traditional Fermented Shrimp Paste (Terasi). Foods. 2024; 13 : 610. Comments on this article Comments (0) Version 1 VERSION 1 PUBLISHED 16 May 2026 ADD YOUR COMMENT Comment Author details Author details 1 Biotechnology Study Program, Gadjah Mada University Research Center for Biotechnology, Yogyakarta, Special Region of Yogyakarta, 55281, Indonesia 2 The Master’s Program in Biology, Gadjah Mada University Faculty of Biology, Yogyakarta, Special Region of Yogyakarta, 55281, Indonesia Muhammad Miftahussurur Roles: Conceptualization, Validation, Visualization, Writing – Original Draft Preparation Brian Sarak Roles: Conceptualization, Writing – Review & Editing Abimanyu Diba Pradana Roles: Data Curation, Writing – Review & Editing Agnes Nadia Sri Pudyaningrum Yuwana Roles: Data Curation, Writing – Review & Editing Azzahrawaani K Ain Guntur Roles: Data Curation, Writing – Review & Editing Jeanette Boi Indrawati Ohoira Roles: Data Curation, Writing – Review & Editing Tyas Wahyuningrum Roles: Formal Analysis, Writing – Review & Editing Indah Nian Mailopuw Roles: Formal Analysis, Writing – Review & Editing Anand Reyna Maulana Roles: Formal Analysis, Writing – Review & Editing Marwah Sifa Safira Mosyafwa Roles: Writing – Original Draft Preparation, Writing – Review & Editing Mirna Sahubawa Roles: Supervision, Writing – Review & Editing Annisa Ayu Papuja Roles: Supervision, Writing – Review & Editing Competing interests No competing interests were disclosed. Grant information This publication was supported by the Indonesia Endowment Fund for Education (Lembaga Pengelola Dana Pendidikan - LPDP) through the awardee funding provided to the co-authors. There is no specific grant number associated with this support The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript. Article Versions (1) version 1 Published: 16 May 2026, 15:741 https://doi.org/10.12688/f1000research.180377.1 Copyright © 2026 Miftahussurur M et al . This is an open access article distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Download Export To Sciwheel Bibtex EndNote ProCite Ref. Manager (RIS) Sente metrics Views Downloads F1000Research - - PubMed Central info_outline Data from PMC are received and updated monthly. - - Citations open_in_new 0 open_in_new 0 open_in_new SEE MORE DETAILS CITE how to cite this article Miftahussurur M, Sarak B, Pradana AD et al. Beyond Fish: A Comprehensive Review of Microbiome Dynamics, Allergen Mitigation, and Biorefinery in Fermented Marine Invertebrates [version 1; peer review: awaiting peer review] . F1000Research 2026, 15 :741 ( https://doi.org/10.12688/f1000research.180377.1 ) NOTE: If applicable, it is important to ensure the information in square brackets after the title is included in all citations of this article. COPY CITATION DETAILS track receive updates on this article Track an article to receive email alerts on any updates to this article. TRACK THIS ARTICLE Share Open Peer Review Current Reviewer Status: AWAITING PEER REVIEW AWAITING PEER REVIEW ? Key to Reviewer Statuses VIEW HIDE Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions Comments on this article Comments (0) Version 1 VERSION 1 PUBLISHED 16 May 2026 ADD YOUR COMMENT Comment keyboard_arrow_left keyboard_arrow_right Open Peer Review Reviewer Status AWAITING PEER REVIEW Comments on this article All Comments (0) Add a comment Sign up for content alerts Sign Up You are now signed up to receive this alert Browse by related subjects Alongside their report, reviewers assign a status to the article: Approved - the paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations - A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved - fundamental flaws in the paper seriously undermine the findings and conclusions Adjust parameters to alter display View on desktop for interactive features Includes Interactive Elements View on desktop for interactive features Competing Interests Policy Provide sufficient details of any financial or non-financial competing interests to enable users to assess whether your comments might lead a reasonable person to question your impartiality. Consider the following examples, but note that this is not an exhaustive list: Examples of 'Non-Financial Competing Interests' Within the past 4 years, you have held joint grants, published or collaborated with any of the authors of the selected paper. You have a close personal relationship (e.g. parent, spouse, sibling, or domestic partner) with any of the authors. You are a close professional associate of any of the authors (e.g. scientific mentor, recent student). You work at the same institute as any of the authors. You hope/expect to benefit (e.g. favour or employment) as a result of your submission. You are an Editor for the journal in which the article is published. Examples of 'Financial Competing Interests' You expect to receive, or in the past 4 years have received, any of the following from any commercial organisation that may gain financially from your submission: a salary, fees, funding, reimbursements. You expect to receive, or in the past 4 years have received, shared grant support or other funding with any of the authors. You hold, or are currently applying for, any patents or significant stocks/shares relating to the subject matter of the paper you are commenting on. Stay Updated Sign up for content alerts and receive a weekly or monthly email with all newly published articles Register with F1000Research Already registered? Sign in Not now, thanks close PLEASE NOTE If you are an AUTHOR of this article, please check that you signed in with the account associated with this article otherwise we cannot automatically identify your role as an author and your comment will be labelled as a “User Comment”. If you are a REVIEWER of this article, please check that you have signed in with the account associated with this article and then go to your account to submit your report, please do not post your review here. If you do not have access to your original account, please contact us . All commenters must hold a formal affiliation as per our Policies . The information that you give us will be displayed next to your comment. User comments must be in English, comprehensible and relevant to the article under discussion. We reserve the right to remove any comments that we consider to be inappropriate, offensive or otherwise in breach of the User Comment Terms and Conditions . Commenters must not use a comment for personal attacks. When criticisms of the article are based on unpublished data, the data should be made available. I accept the User Comment Terms and Conditions Please confirm that you accept the User Comment Terms and Conditions. Affiliation ✕ refresh Please enter your institution. Note: To add your institution or organisation, start typing the name and then select the correct name from the list. Where applicable, the name will appear in both the original language and in English. Do not paste in the name. If the name does not appear in the drop-down list, we will display the information you have entered. ✕ refresh Country/Region * USA UK Canada China France Germany Afghanistan Aland Islands Albania Algeria American Samoa Andorra Angola Anguilla Antarctica Antigua and Barbuda Argentina Armenia Aruba Australia Austria Azerbaijan Bahamas Bahrain Bangladesh Barbados Belarus Belgium Belize Benin Bermuda Bhutan Bolivia Bosnia and Herzegovina Botswana Bouvet Island Brazil British Indian Ocean Territory British Virgin Islands Brunei Bulgaria Burkina Faso Burundi Cambodia Cameroon Canada Cape Verde Cayman Islands Central African Republic Chad Chile China Christmas Island Cocos (Keeling) Islands Colombia Comoros Congo Cook Islands Costa Rica Cote d'Ivoire Croatia Cuba Cyprus Czech Republic Democratic Republic of the Congo Denmark Djibouti Dominica Dominican Republic Ecuador Egypt El Salvador Equatorial Guinea Eritrea Estonia Ethiopia Falkland Islands Faroe Islands Federated States of Micronesia Fiji Finland France French Guiana French Polynesia French Southern Territories Gabon Georgia Germany Ghana Gibraltar Greece Greenland Grenada Guadeloupe Guam Guatemala Guernsey Guinea Guinea-Bissau Guyana Haiti Heard Island and Mcdonald Islands Holy See (Vatican City State) Honduras Hong Kong Hungary Iceland India Indonesia Iran Iraq Ireland Israel Italy Jamaica Japan Jersey Jordan Kazakhstan Kenya Kiribati Kosovo (Serbia and Montenegro) Kuwait Kyrgyzstan Lao People's Democratic Republic Latvia Lebanon Lesotho Liberia Libya Liechtenstein Lithuania Luxembourg Macao Madagascar Malawi Malaysia Maldives Mali Malta Marshall Islands Martinique Mauritania Mauritius Mayotte Mexico Minor Outlying Islands of the United States Moldova Monaco Mongolia Montenegro Montserrat Morocco Mozambique Myanmar Namibia Nauru Nepal Netherlands Antilles New Caledonia New Zealand Nicaragua Niger Nigeria Niue Norfolk Island North Korea North Macedonia Northern Mariana Islands Norway Oman Pakistan Palau Palestinian Territory Panama Papua New Guinea Paraguay Peru Philippines Pitcairn Poland Portugal Puerto Rico Qatar Reunion Romania Russian Federation Rwanda Saint Helena Saint Kitts and Nevis Saint Lucia Saint Pierre and Miquelon Saint Vincent and the Grenadines Samoa San Marino Sao Tome and Principe Saudi Arabia Senegal Serbia Seychelles Sierra Leone Singapore Slovakia Slovenia Solomon Islands Somalia South Africa South Georgia and the South Sandwich Is South Korea South Sudan Spain Sri Lanka Sudan Suriname Svalbard and Jan Mayen Swaziland Sweden Switzerland Syria Taiwan Tajikistan Tanzania Thailand The Gambia The Netherlands Timor-Leste Togo Tokelau Tonga Trinidad and Tobago Tunisia Turkey Turkmenistan Turks and Caicos Islands Tuvalu UK USA Uganda Ukraine United Arab Emirates United States Virgin Islands Uruguay Uzbekistan Vanuatu Venezuela Vietnam Wallis and Futuna West Bank and Gaza Strip Western Sahara Yemen Zambia Zimbabwe Please select your country/region. You must enter a comment. Competing Interests Please disclose any competing interests that might be construed to influence your judgment of the article's or peer review report's validity or importance. Competing Interests Policy Provide sufficient details of any financial or non-financial competing interests to enable users to assess whether your comments might lead a reasonable person to question your impartiality. Consider the following examples, but note that this is not an exhaustive list: Examples of 'Non-Financial Competing Interests' Within the past 4 years, you have held joint grants, published or collaborated with any of the authors of the selected paper. You have a close personal relationship (e.g. parent, spouse, sibling, or domestic partner) with any of the authors. You are a close professional associate of any of the authors (e.g. scientific mentor, recent student). You work at the same institute as any of the authors. You hope/expect to benefit (e.g. favour or employment) as a result of your submission. You are an Editor for the journal in which the article is published. Examples of 'Financial Competing Interests' You expect to receive, or in the past 4 years have received, any of the following from any commercial organisation that may gain financially from your submission: a salary, fees, funding, reimbursements. You expect to receive, or in the past 4 years have received, shared grant support or other funding with any of the authors. You hold, or are currently applying for, any patents or significant stocks/shares relating to the subject matter of the paper you are commenting on. Please state your competing interests The comment has been saved. An error has occurred. Please try again. Cancel Post var lTitle = "Beyond Fish: A Comprehensive Review of Microbiome...".replace("'", ''); var linkedInUrl = "http://www.linkedin.com/shareArticle?url=https://f1000research.com/articles/15-741/v1" + "&title=" + encodeURIComponent(lTitle) + "&summary=" + encodeURIComponent('Read the article by '); var deliciousUrl = "https://del.icio.us/post?url=https://f1000research.com/articles/15-741/v1&title=" + encodeURIComponent(lTitle); var redditUrl = "http://reddit.com/submit?url=https://f1000research.com/articles/15-741/v1" + "&title=" + encodeURIComponent(lTitle); linkedInUrl += encodeURIComponent('Miftahussurur M et al.'); var offsetTop = /chrome/i.test( navigator.userAgent ) ? 4 : -10; var addthis_config = { ui_offset_top: offsetTop, services_compact : "facebook,twitter,www.linkedin.com,www.mendeley.com,reddit.com", services_expanded : "facebook,twitter,www.linkedin.com,www.mendeley.com,reddit.com", services_custom : [ { name: "LinkedIn", url: linkedInUrl, icon:"/img/icon/at_linkedin.svg" }, { name: "Mendeley", url: "http://www.mendeley.com/import/?url=https://f1000research.com/articles/15-741/v1/mendeley", icon:"/img/icon/at_mendeley.svg" }, { name: "Reddit", url: redditUrl, icon:"/img/icon/at_reddit.svg" }, ] }; var addthis_share = { url: "https://f1000research.com/articles/15-741", templates : { twitter : "Beyond Fish: A Comprehensive Review of Microbiome Dynamics, Allergen.... Miftahussurur M et al., published by " + "@F1000Research" + ", https://f1000research.com/articles/15-741/v1" } }; if (typeof(addthis) != "undefined"){ addthis.addEventListener('addthis.ready', checkCount); addthis.addEventListener('addthis.menu.share', checkCount); } $(".f1r-shares-twitter").attr("href", "https://twitter.com/intent/tweet?text=" + addthis_share.templates.twitter); $(".f1r-shares-facebook").attr("href", "https://www.facebook.com/sharer/sharer.php?u=" + addthis_share.url); $(".f1r-shares-linkedin").attr("href", addthis_config.services_custom[0].url); $(".f1r-shares-reddit").attr("href", addthis_config.services_custom[2].url); $(".f1r-shares-mendelay").attr("href", addthis_config.services_custom[1].url); function checkCount(){ setTimeout(function(){ $(".addthis_button_expanded").each(function(){ var count = $(this).text(); if (count !== "" && count != "0") $(this).removeClass("is-hidden"); else $(this).addClass("is-hidden"); }); }, 1000); } close How to cite this report {{reportCitation}} Cancel Copy Citation Details $(function(){R.ui.buttonDropdowns('.dropdown-for-downloads');}); $(function(){R.ui.toolbarDropdowns('.toolbar-dropdown-for-downloads');}); $.get("/articles/acj/180377/198982") new F1000.Clipboard(); new F1000.ThesaurusTermsDisplay("articles", "article", "198982"); $(document).ready(function() { $( "#frame1" ).on('load', function() { var mydiv = $(this).contents().find("div"); var h = mydiv.height(); console.log(h) }); var tooltipLivingFigure = jQuery(".interactive-living-figure-label .icon-more-info"), titleLivingFigure = tooltipLivingFigure.attr("title"); tooltipLivingFigure.simpletip({ fixed: true, position: ["-115", "30"], baseClass: 'small-tooltip', content:titleLivingFigure + " " }); tooltipLivingFigure.removeAttr("title"); $("body").on("click", ".cite-living-figure", function(e) { e.preventDefault(); var ref = $(this).attr("data-ref"); $(this).closest(".living-figure-list-container").find("#" + ref).fadeIn(200); }); $("body").on("click", ".close-cite-living-figure", function(e) { e.preventDefault(); $(this).closest(".popup-window-wrapper").fadeOut(200); }); $(document).on("mouseup", function(e) { var metricsContainer = $(".article-metrics-popover-wrapper"); if (!metricsContainer.is(e.target) && metricsContainer.has(e.target).length === 0) { $(".article-metrics-close-button").click(); } }); var articleId = $('#articleId').val(); if($("#main-article-count-box").attachArticleMetrics) { $("#main-article-count-box").attachArticleMetrics(articleId, { articleMetricsView: true }); } }); var figshareWidget = $(".new_figshare_widget"); if (figshareWidget.length > 0) { window.figshare.load("f1000", function(Widget) { // Select a tag/tags defined in your page. In this tag we will place the widget. _.map(figshareWidget, function(el){ var widget = new Widget({ articleId: $(el).attr("figshare_articleId") //height:300 // this is the height of the viewer part. [Default: 550] }); widget.initialize(); // initialize the widget widget.mount(el); // mount it in a tag that's on your page // this will save the widget on the global scope for later use from // your JS scripts. This line is optional. //window.widget = widget; }); }); } close Error Close Add Reset F1000.MICROSERVICES.AFFILIATION = ''; $(document).ready(function () { $('.js-affiliations-form').each((index, form) => { new AffiliationForm({ formId: form.id, institutionErrorSelector: '.comment-enter-institution', departmentErrorSelector: '.comment-enter-department', placeSelector: '.js-add-comment-place', stateSelector: '.js-add-comment-state', zipCodeSelector: '.js-add-comment-zipcode', countrySelector: '.js-add-comment-country', countryErrorSelector: '.comment-enter-country', }); }); }); $(document).ready(function () { var reportIds = { }; $(".referee-response-container,.js-referee-report").each(function(index, el) { var reportId = $(el).attr("data-reportid"), reportCount = reportIds[reportId] || 0; $(el).find(".comments-count-container,.js-referee-report-views").html(reportCount); }); var uuidInput = $("#article_uuid"), oldUUId = uuidInput.val(), newUUId = "549228af-239e-43ca-a8e1-196c5caf04a6"; uuidInput.val(newUUId); $("a[href*='article_uuid=']").each(function(index, el) { var newHref = $(el).attr("href").replace(oldUUId, newUUId); $(el).attr("href", newHref); }); }); An innovative open access publishing platform offering rapid publication and open peer review, whilst supporting data deposition and sharing. Browse Gateways Collections How it Works Contact For Developers Cookie Notice Privacy Notice RSS Submit Your Research Follow us © 2012-2026 F1000 Research Ltd. ISSN 2046-1402 | Legal | Partner of Research4Life • CrossRef • ORCID • FAIRSharing R.templateTests.simpleTemplate = R.template(' $text $text $text $text $text '); R.templateTests.runTests(); var F1000platform = new F1000.Platform({ name: "f1000research", displayName: "F1000Research", hostName: "f1000research.com", id: "1", editorialEmail: "
[email protected]", infoEmail: "
[email protected]", usePmcStats: true }); $(function(){R.ui.dropdowns('.dropdown-for-authors, .dropdown-for-about, .dropdown-for-myresearch');}); // $(function(){R.ui.dropdowns('.dropdown-for-referees');}); $(document).ready(function () { if ($(".cookie-warning").is(":visible")) { $(".sticky").css("margin-bottom", "35px"); $(".devices").addClass("devices-and-cookie-warning"); } $(".cookie-warning .close-button").click(function (e) { $(".devices").removeClass("devices-and-cookie-warning"); $(".sticky").css("margin-bottom", "0"); }); $("#tweeter-feed .tweet-message").each(function (i, message) { var self = $(message); self.html(linkify(self.html())); }); $(".partner").on("mouseenter mouseleave", function() { $(this).find(".gray-scale, .colour").toggleClass("is-hidden"); }); }); Sign In Remember me Forgotten your password? Sign In Cancel Email or password not correct. Please try again Please wait... $(function(){ // Note: All the setup needs to run against a name attribute and *not* the id due the clonish // nature of facebox... $("a[id=googleSignInButton]").click(function(event){ event.preventDefault(); $("input[id=oAuthSystem]").val("GOOGLE"); $("form[id=oAuthForm]").submit(); }); $("a[id=facebookSignInButton]").click(function(event){ event.preventDefault(); $("input[id=oAuthSystem]").val("FACEBOOK"); $("form[id=oAuthForm]").submit(); }); $("a[id=orcidSignInButton]").click(function(event){ event.preventDefault(); $("input[id=oAuthSystem]").val("ORCID"); $("form[id=oAuthForm]").submit(); }); }); If you've forgotten your password, please enter your email address below and we'll send you instructions on how to reset your password. The email address should be the one you originally registered with F1000. Email address not valid, please try again You registered with F1000 via Google, so we cannot reset your password. To sign in, please click here . If you still need help with your Google account password, please click here . You registered with F1000 via Facebook, so we cannot reset your password. To sign in, please click here . If you still need help with your Facebook account password, please click here . Code not correct, please try again Reset password Cancel Email us for further assistance. Server error, please try again. If your email address is registered with us, we will email you instructions to reset your password. If you think you should have received this email but it has not arrived, please check your spam filters and/or contact for further assistance. Please wait... Register $(document).ready(function () { signIn.createSignInAsRow($("#sign-in-form-gfb-popup")); $(".target-field").each(function () { var uris = $(this).val().split("/"); if (uris.pop() === "login") { $(this).val(uris.toString().replace(",","/")); } }); });
Text is read by the "Ask this paper" AI Q&A widget below.
Extraction quality varies by source — PMC NXML preserves structure
cleanly, OA-HTML may include some navigation residue, and OA-PDF can
have broken hyphenation. The publisher copy
(via DOI)
is the canonical version.