1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[26345,32852,45906],{2582:(e,t,r)=>{var a=r(85508),l=["__proto__","constructor","prototype"];function i(e){return e}t.get=function(e,r,l,n){"function"==typeof l&&(l.length<2?n=l:o=l,l=void 0),n||(n=i);var s="string"==typeof e?a(e):e;if(!Array.isArray(s))throw TypeError("Invalid `path`. Must be either string or array");for(var o,d,c=r,u=0;u<s.length;++u){if(d=s[u],"string"!=typeof s[u]&&"number"!=typeof s[u])throw TypeError("Each segment of path to `get()` must be a string or number, got "+typeof s[u]);if(Array.isArray(c)&&!/^\d+$/.test(d)){var h=s.slice(u);return[].concat(c).map(function(e){return e?t.get(h,e,l||o,n):n(void 0)})}if(o)c=o(c,d);else{var g=l&&c[l]?c[l]:c;c=g instanceof Map?g.get(d):g[d]}if(!c)break}return n(c)},t.has=function(e,t){var r="string"==typeof e?a(e):e;if(!Array.isArray(r))throw TypeError("Invalid `path`. Must be either string or array");for(var l=r.length,i=t,n=0;n<l;++n){if("string"!=typeof r[n]&&"number"!=typeof r[n])throw TypeError("Each segment of path to `has()` must be a string or number, got "+typeof r[n]);if(null==i||"object"!=typeof i||!(r[n]in i))return!1;i=i[r[n]]}return!0},t.unset=function(e,t){var r="string"==typeof e?a(e):e;if(!Array.isArray(r))throw TypeError("Invalid `path`. Must be either string or array");for(var i=r.length,n=t,s=0;s<i;++s){if(null==n||"object"!=typeof n||!(r[s]in n))return!1;if("string"!=typeof r[s]&&"number"!=typeof r[s])throw TypeError("Each segment of path to `unset()` must be a string or number, got "+typeof r[s]);if(-1!==l.indexOf(r[s]))return!1;if(s===i-1){delete n[r[s]];break}n=n instanceof Map?n.get(r[s]):n[r[s]]}return!0},t.set=function(e,r,n,s,o,d){"function"==typeof s&&(s.length<2?o=s:h=s,s=void 0),o||(o=i);var c="string"==typeof e?a(e):e;if(!Array.isArray(c))throw TypeError("Invalid `path`. Must be either string or array");if(null!=n){for(var u=0;u<c.length;++u){if("string"!=typeof c[u]&&"number"!=typeof c[u])throw TypeError("Each segment of path to `set()` must be a string or number, got "+typeof c[u]);if(-1!==l.indexOf(c[u]))return}for(var h,g,b=d||/\$/.test(e)&&!1!==d,y=n,u=0,p=c.length-1;u<p;++u){if("$"==(g=c[u]))if(u!=p-1)continue;else break;if(Array.isArray(y)&&!/^\d+$/.test(g)){var k=c.slice(u);if(!b&&Array.isArray(r))for(var m=0;m<y.length&&m<r.length;++m)t.set(k,r[m],y[m],s||h,o,b);else for(var m=0;m<y.length;++m)t.set(k,r,y[m],s||h,o,b);return}if(h)y=h(y,g);else{var f=s&&y[s]?y[s]:y;y=f instanceof Map?f.get(g):f[g]}if(!y)return}if(g=c[p],s&&y[s]&&(y=y[s]),Array.isArray(y)&&!/^\d+$/.test(g))if(!b&&Array.isArray(r))!function e(t,r,a,l,i,n){for(var s,o=0;o<t.length&&o<r.length;++o)Array.isArray(s=t[o])&&Array.isArray(r[o])?e(s,r[o],a,l,i,n):s&&(l?l(s,a,n(r[o])):(s[i]&&(s=s[i]),s[a]=n(r[o])))}(y,r,g,h,s,o);else for(var m=0;m<y.length;++m){var A=y[m];A&&(h?h(A,g,o(r)):(A[s]&&(A=A[s]),A[g]=o(r)))}else h?h(y,g,o(r)):y instanceof Map?y.set(g,o(r)):y[g]=o(r)}},t.stringToParts=a},3200:(e,t,r)=>{"use strict";r.r(t),r.d(t,{BidexVariantFazit:()=>h});var a=r(6029),l=r(90052),i=r(17906),n=r(19844),s=r(71024),o=r.n(s),d=r(5700);let c=o()(()=>r.e(88496).then(r.bind(r,88496)).then(e=>e.ReactComponent),{loadableGenerated:{webpack:()=>[88496]}}),u=e=>(0,a.jsxs)(n.Link,{...e,target:"_blank",children:[e.children,(0,a.jsx)(c,{width:12,height:12,className:"mx-1 -mt-0.5 inline fill-current"})]}),h=({variant:e})=>{let t=(0,d.c)("common");if(!e)return null;let r=e?._search?.brand?.name,n=e?._search?.model?.name,s=e?.testSummary||e?._search?.model?.testSummary;return s?(0,a.jsxs)("div",{className:"mb-4 md:mb-8",children:[(0,a.jsx)(l.A,{headlineHeading:"h2",headlineSize:"md",headlineStyle:"normal",children:t("BRAND_DETAIL_FAZIT_TITLE",{brandName:r,modelName:n})}),(0,a.jsx)("div",{className:"text-base md:text-lg",children:(0,a.jsx)(i.R,{linkTarget:"_blank",linkComponent:u,children:s?s.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(e,t,r)=>{let a=r.replace(/ /g,"%20");return`[${t}](${a})`}):s})})]}):null}},3685:(e,t,r)=>{"use strict";r.r(t),r.d(t,{BIKE_TYPE_CATEGORIES:()=>l,TECHDATA_FIELDS_CONFIG:()=>s,WHEEL_SIZE_ENUM:()=>i,decodeWheelSize:()=>n,formatForURL:()=>c,getBikeTypeCategory:()=>o,getFieldLabel:()=>a.lu,getTechdataFieldsConfig:()=>d});var a=r(2145);let l={road:["race-bikes","gravel","endurance"],mtb:["all-mountain","enduro","marathon","trail","trail-hardtail","xc-hardtail","freeride","downhill"],ebike:["e-enduro","e-all-mountain","e-hardtail","light-enduro","light-all-mountain","light-downcountry","light-hardtails"],cityTrekking:["city-trekking"],eCityTrekking:["e-city-trekking"]},i={WS12:'12"/203mm',WS14:'14"/254mm',WS16:'16"/305mm',WS18:'18"/355mm',WS20:'20"/406mm',WS22:'22"/489mm',WS24
1:'24"/507mm',WS26:'26"/559mm',WS27:'27"/630mm',WS28:'28"/622mm',WS29:'29"/622mm',WS50:'27.5"/584mm',WS51:'27,5"+/584mm',WS60:'18"/390mm',WS61:'24"/540mm',WS62:'26"/571mm',WS63:'26"/590mm',WS64:'28"/635mm',WS90:"Sonstige",WS126:'26"',WS127:'27"',WS227:'27,5"',WS128:'28"',WS129:'29"',WS229:'29"/ 27,5"',WS132:'32"'},n=e=>{if(!e)return null;if(Array.isArray(e)){let t=e.map(e=>i[e]||e).filter(Boolean);return t.length>0?t.join(", "):null}return i[e]||e},s={road:[{label:"Preis",type:"price"},{label:"Gewicht",key:"weight",type:"techdata",unit:"kg"},{label:"Antrieb",key:"drive",type:"techdata"},{label:"Schaltung",key:"derailleur",type:"techdata"},{label:"Bremse vorne",key:"brake-front",type:"techdata"},{label:"Laufradsatz",key:"wheelset",type:"techdata"},{label:"Reifen vorne",key:"tire-front",type:"techdata"}],mtb:[{label:"Preis",type:"price"},{label:"Federweg",key:"fork-suspension-travel",type:"techdata",unit:"mm"},{label:"Laufradgr\xf6\xdfe",key:"bidex-ws",type:"techdata",isArray:!0,decoder:"wheelSize"},{label:"Gewicht",key:"weight",type:"techdata",unit:"kg"},{label:"Gabel",key:"fork",type:"techdata"},{label:"D\xe4mpfer",key:"rear-shock",type:"techdata"},{label:"Schaltung",key:"derailleur",type:"techdata"},{label:"Bremse vorne",key:"brake-front",type:"techdata"}],ebike:[{label:"Preis",type:"price"},{label:"Federweg",key:"fork-suspension-travel",type:"techdata",unit:"mm"},{label:"Laufradgr\xf6\xdfe",key:"bidex-ws",type:"techdata",isArray:!0,decoder:"wheelSize"},{label:"Gewicht",key:"weight",type:"techdata",unit:"kg"},{label:"Motor",key:"motor",type:"techdata"},{label:"Akku",key:"battery",type:"techdata"},{label:"Gabel",key:"fork",type:"techdata"},{label:"D\xe4mpfer",key:"rear-shock",type:"techdata"},{label:"Schaltung",key:"derailleur",type:"techdata"},{label:"Bremse vorne",key:"brake-front",type:"techdata"}],cityTrekking:[{label:"Preis",type:"price"},{label:"Gewicht",key:"weight",type:"techdata",unit:"kg"},{label:"Schaltung",key:"derailleur",type:"techdata"}],eCityTrekking:[{label:"Preis",type:"price"},{label:"Gewicht",key:"weight",type:"techdata",unit:"kg"},{label:"Motor",key:"motor",type:"techdata"},{label:"Akku",key:"battery",type:"techdata"},{label:"Schaltung",key:"derailleur",type:"techdata"}],default:[{label:"Preis",type:"price"},{label:"Gewicht",key:"weight",type:"techdata",unit:"kg"},{label:"Gabel",key:"fork",type:"techdata"},{label:"D\xe4mpfer",key:"rear-shock",type:"techdata"},{label:"Schaltung",key:"derailleur",type:"techdata"},{label:"Motor",key:"motor",type:"techdata"},{label:"Akku",key:"battery",type:"techdata"},{label:"Bremse vorne",key:"brake-front",type:"techdata"}]},o=e=>{if(!e)return"default";let t=e.toLowerCase();for(let[e,r]of Object.entries(l))if(r.includes(t))return e;return"default"},d=e=>s[o(e)]||s.default,c=e=>e?e.toLowerCase().replace(/[\s´`']+/g,"-").replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,""):""},14001:(e,t,r)=>{"use strict";r.d(t,{d:()=>a});let a=[{key:"uh-fahrverhalten",label:"Uphill Fahrverhalten",group:"Fahrverhalten"},{key:"uh-effizienz-fahrwerk",label:"Uphill Effizienz Fahrwerk",group:"Fahrverhalten"},{key:"spieltrieb",label:"Spieltrieb",group:"Fahrverhalten"},{key:"dh-fahrverhalten",label:"Downhill Fahrverhalten",group:"Fahrverhalten"},{key:"dh-fahrwerk",label:"Downhill Fahrwerk (Gabel + D\xe4mpfer)",labels:{"trail-hardtail":"Downhill Fahrwerk","xc-hardtail":"Downhill Fahrwerk"},group:"Fahrverhalten"},{key:"gewicht-ohne-pedale",label:"Gewicht ohne Pedale",gradeTable:!0,group:"Labor"},{key:"sitzkomfort",label:"Sitzkomfort",gradeTable:!0,group:"Labor"},{key:"reichweite",label:"Reichweite",gradeTable:!1,gradeFromField:"note-reichweite",group:"Labor"},{key:"city-alltag",label:"City/Alltag",gradeFromField:"note-city-alltag",group:"City/Trekking"},{key:"ausflug",label:"Ausflug",gradeFromField:"note-ausflug",group:"City/Trekking"},{key:"reise",label:"Reise",gradeFromField:"note-reise",group:"City/Trekking"},{key:"offroad",label:"Offroad",gradeFromField:"note-offroad",group:"City/Trekking"},{key:"gewicht-city",label:"Gewicht (City)",gradeFromField:"note-gewicht-city",group:"City/Trekking"},{key:"beschleunigung-laufraeder",label:"Beschleunigung Laufr\xe4der",gradeTable:!0,group:"Labor"},{key:"traegheit-laufraeder",label:"Laufradtr\xe4gheit",gradeTable:!0,group:"Labor"},{key:"versenkbarkeit-sattel",label:"Sattelversenkbarkeit",group:"Ausstattung",ke
1yForBikeTypes:{"e-enduro":"versenkbarkeit-sattel-ebike","e-all-mountain":"versenkbarkeit-sattel-ebike","e-hardtail":"versenkbarkeit-sattel-ebike","light-enduro":"versenkbarkeit-sattel-ebike","light-all-mountain":"versenkbarkeit-sattel-ebike","light-downcountry":"versenkbarkeit-sattel-ebike","light-hardtails":"versenkbarkeit-sattel-ebike","xc-hardtail":"versenkbarkeit-sattel-xc-marathon",marathon:"versenkbarkeit-sattel-xc-marathon"}},{key:"usability",label:"Usability / Mehrwert",gradeTable:!0,group:"Ausstattung"},{key:"qualitaet-verarbeitung",label:"Qualit\xe4t / Verarbeitung",gradeTable:!0,group:"Ausstattung"},{key:"ausstattungsqualitaet",calcConfig:[{key:"schaltgruppe",weight:.3},{key:"laufraeder",weight:.25},{key:"anbauteile",weight:.1},{key:"fahrwerk",weight:.35}],label:"Ausstattungsqualit\xe4t",group:"Ausstattung"},{key:"volumen-flaschenhalter",label:"Flaschenhaltervolumen",gradeTable:!0,group:"Ausstattung"},{key:"handling",label:"Handling",gradeTable:!0,group:"Fahrverhalten"},{key:"sit-position",label:"Sitzposition",gradeTable:!0,group:"Fahrverhalten"},{key:"vortrieb",label:"Vortrieb (Sprintf\xe4higkeit)",group:"Fahrverhalten"},{key:"motor-power",label:"Motor Power",group:"Motor"},{key:"motor-fahrverhalten",label:"Motor Fahrverhalten",group:"Motor"},{key:"motor-bedienung",label:"Motor Bedienung",group:"Motor"},{key:"gewicht-komplettrad",label:"Gewicht Komplettrad",group:"Labor",gradeTable:!0},{key:"luftwiderstand",label:"Luftwiderstand",group:"Labor",gradeTable:!0},{key:"komfort-heck",label:"Komfort Heck",group:"Labor",gradeTable:!0},{key:"komfort-front",label:"Komfort Front",group:"Labor",gradeTable:!0},{key:"antritt",label:"Antritt",group:"Labor",gradeTable:!0},{key:"lenkkopfsteifigkeit",label:"Lenkkopfsteifigkeit",group:"Labor"},{key:"fahrstabilitaet",label:"Fahrstabilit\xe4t",group:"Labor",gradeTable:!0},{key:"bremsen",label:"Bremsen",group:"Ausstattung"},{key:"schalten",label:"Schalten",group:"Ausstattung"},{key:"reifen",label:"Reifen",group:"Ausstattung"},{key:"lack",label:"Lack",group:"Ausstattung",gradeTable:!0},{key:"wartung-einstellungen",label:"Wartung / Einstellungen",group:"Ausstattung"},{key:"garantie",label:"Garantie",gradeTable:!0}]},21202:e=>{"use strict";let t={de:{brands:"marken",brand:"marke",model:"modell",testsAndNews:"tests-und-neuheiten",topic:"thema",editorial:"redaktion",preview:"vorschau",search:"suche",proCycling:"profi-radsport",races:"rennen",stage:"etappe",riders:"fahrer"},en:{brands:"brands",brand:"brand",model:"model",testsAndNews:"tests-and-news",topic:"topic",editorial:"editorial",preview:"preview",search:"search",proCycling:"professional-cycling",races:"races",stage:"stage",riders:"riders"},fr:{brands:"marques",brand:"marque",model:"modele",testsAndNews:"tests-et-nouveautes",topic:"sujet",editorial:"redaction",preview:"apercu",search:"recherche",proCycling:"professionnel-cyclisme",races:"courses",stage:"etape",riders:"coureurs"}};function r(e,r){return t[e]?.[r]||t.de[r]}e.exports={ROUTE_SEGMENTS:t,getLocalePath:r,getBrandUrl:function(e,t){return`/${r(e,"brands")}/${t}`},getModelUrl:function(e,t,a){return`/${r(e,"brands")}/${t}/${r(e,"model")}/${a}`},getBrandTestsUrl:function(e,t){return`/${r(e,"brands")}/${t}/${r(e,"testsAndNews")}`},convertPathLocale:function(e,r,a){if(!e||r===a)return e;let l=t[r]||t.de,i=t[a]||t.de,n=e;return Object.keys(l).sort((e,t)=>l[t].length-l[e].length).forEach(e=>{l[e]!==i[e]&&(n=n.replace(RegExp(`(^|/)${l[e]}(/|$)`,"g"),`$1${i[e]}$2`))}),n}}},44854:(e,t,r)=>{"use strict";e.exports=r(2582)},57086:(e,t,r)=>{"use strict";r.r(t),r.d(t,{BidexVariantTechdataTour:()=>T});var a=r(6029),l=r(55729),i=r(44854),n=r.n(i),s=r(19844),o=r(73747),d=r(14001),c=r(90052),u=r(33364),h=r(3200),g=r(5700),b=r(91694),y=r(21202),p=r(3685),k=r(2145),m=r(67756),f=r(98681),A=r(87236);let T=({variant:e})=>{let t=(0,g.c)("common"),r=(0,b.Ym)();if((0,l.useEffect)(()=>{(0,m.trackPiwikEvent)("Testartikel","Alle Details aus dem Testlabor","view"),(0,f.Sc)("view",{type:"testartikel",name:"Alle Details aus dem Testlabor",action:"view"})},[]),!e)return null;let i=e?._search?.brand?.name,u=function(e,t,a){function l(e){return e.toLowerCase().replace(/[\s´`']+/g,"-").replace(/[^a-z0-9-]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"")}let i=l(t),n=l(e),s=(0,y.getModelUrl)(r,i,`${n}-${a}
1`)+"/";return"Testmodell 200217 - 711 - Hardtail"===e&&(s=(0,y.getModelUrl)(r,"bulls","pulsar-1-655f78ec885d584bb31007be")+"/"),s}(e?._search?.model?.name,i,"object"==typeof e?.model?e?.model?._id||e?.model?.toString?.():e?.model),p=e?.messdaten?.published,k=p?(0,o.vy)(e,e.resultConfig):null,A=e?.data?.messdaten?structuredClone(e.data.messdaten):{},T=e=>e?parseFloat(`${e}`.replace(",",".")).toFixed(1).replace(".",","):e,w=Object.keys(A||{}).filter(e=>"Basis"!==e&&"Allgemein"!==e).map(t=>{let r=(A[t]||[]).filter(e=>d.d.find(t=>t.key===e.key?.replace("messdaten.",""))),a={messdaten:{"bike-type":e?.messdaten?.["bike-type"]}},l={};r.forEach(t=>{l[t.key?.replace("messdaten.","")]=e.resultConfig?.[t.key?.replace("messdaten.","")],n().set(t.key,n().get(t.key,e),a)});let i=(0,o.vy)(a,l);return i?.final?{label:t,value:T(i.final)}:null}).filter(Boolean);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(h.BidexVariantFazit,{variant:e}),p&&k&&w.length>0&&(0,a.jsxs)("div",{className:"mb-4 md:mb-8",id:"bidex-testresult",children:[(0,a.jsx)(c.A,{headlineHeading:"h2",headlineSize:"md",headlineStyle:"normal",className:"mb-4",children:t("BRAND_TEST_RESULT")}),(0,a.jsx)("table",{className:"w-full table-auto",children:(0,a.jsxs)("tbody",{children:[(0,a.jsxs)("tr",{className:"border-b",children:[(0,a.jsx)("th",{className:"py-2 pr-4 text-left font-bold",children:t("BRAND_TEST_PROPERTY")}),(0,a.jsx)("th",{className:"py-2 pl-4 text-left font-bold",children:t("BRAND_TEST_GRADE")})]}),w.map(e=>(0,a.jsxs)("tr",{className:"border-b",children:[(0,a.jsx)("td",{className:"py-2 pr-4",children:e.label}),(0,a.jsx)("td",{className:"py-2 pl-4",children:e.value})]},`grade-summary-${e.label}`)),k.final>0&&(0,a.jsxs)("tr",{className:"border-b",children:[(0,a.jsx)("td",{className:"py-2 pr-4 font-bold",children:t("BRAND_TEST_FINAL_GRADE")}),(0,a.jsx)("td",{className:"py-2 pl-4 font-bold",children:T(k.final)})]})]})}),(0,a.jsx)("p",{className:"mt-2",children:t.rich("BRAND_TEST_FULL_RATING_LINK",{link:e=>(0,a.jsx)("span",{className:"underline",children:(0,a.jsx)(s.Link,{href:u,children:e})})})})]}),(0,a.jsx)(v,{variant:e,link:u})]})},v=({variant:e,link:t})=>{let r=(0,g.c)("common"),l=(0,b.Ym)(),i=e?._search?.brand?.name,n=e?._search?.model?.name,s=e?.messdaten?.["bike-type"],o=(0,p.getTechdataFieldsConfig)(s),d=e?.affiliateLink;return(0,a.jsxs)("div",{className:"mb-4 md:mb-8",id:"bidex-techdata",children:[(0,a.jsx)(c.A,{headlineHeading:"h2",headlineSize:"md",headlineStyle:"normal",className:"mb-4",children:r("BRAND_TECHDATA_TITLE",{brandName:i,modelName:n})}),(0,a.jsx)("table",{className:"mb-4 w-full table-auto",children:(0,a.jsx)("tbody",{children:o.map((t,i)=>{let n=(t=>{if("price"===t.type){var r;return(r=e?.prices?.[0]?.price)?Intl.NumberFormat("de-DE",{style:"currency",currency:"EUR"}).format(r):null}let a=e?.techdata?.[t.key];return null==a||""===a||(t.isArray&&Array.isArray(a)&&(a="wheelSize"===t.decoder?(0,p.decodeWheelSize)(a):a.filter(Boolean).join(", ")),null===a||""===a)?null:(t.unit&&a&&(a=`${a} ${t.unit}`),a)})(t);return n?"price"===t.type&&d?(0,a.jsxs)("tr",{className:"border-b",children:[(0,a.jsx)("td",{className:"py-2 pr-4 font-bold",children:(0,k.lu)(t.label,l)}),(0,a.jsxs)("td",{className:"py-2 pl-4",children:[n,(0,a.jsx)(A.y,{click:"testartikel-techdata",action:"click",name:"affiliate-price",tagName:"span",children:(0,a.jsx)(A.y,{visible:"testartikel-techdata",action:"visible",name:"affiliate-price",tagName:"span",children:(0,a.jsxs)("span",{className:"ml-2",children:[">>"," ",(0,a.jsx)("a",{href:d,target:"_blank",rel:"noopener noreferrer",className:"text-skin-secondary underline",children:r("BRAND_DETAIL_AVAILABLE_HERE")})]})})})]})]},`techdata-field-price-${i}`):(0,a.jsxs)("tr",{className:"border-b",children:[(0,a.jsx)("td",{className:"py-2 pr-4 font-bold",children:(0,k.lu)(t.label,l)}),(0,a.jsx)("td",{className:"py-2 pl-4",children:n})]},`techdata-field-${t.key||t.type}-${i}`):null})})}),(0,a.jsx)("div",{className:"mt-4 flex justify-center",onClick:()=>{(0,m.trackPiwikEvent)("Testartikel","Alle Details aus dem Testlabor","click"),(0,f.Sc)("click",{type:"testartikel",name:"Alle Details aus dem Testlabor",action:"click"})},children:(0,a.jsx)(u.$,{link:t,buttonLabel:r("BRAND_TECHDATA_ALL_DETAILS"),buttonSize:"md",buttonOutline:!0,fullWidth:!1,iconName:"arrow"})})]})}},73747:(e,t,r)=>{"use strict";r.d(t,{vy:()=>n});var a=r(14001),l=r(44854),i=r.n(l);let n=(e,t,r=!1)=>
1{if(!e||!t)return;let l=[],n=e?.messdaten?.["bike-type"];if(!n)return;r&&console.log("[GradeTable] Starting calculation for bikeType:",n),a.d.forEach(a=>{let d,c,u,h=a.key;a.keyForBikeTypes&&a.keyForBikeTypes[n]?(h=a.keyForBikeTypes[n],d=i().get(`messdaten.${h}`,e),r&&console.log(`[GradeTable] Field "${a.key}" using keyForBikeTypes: "${h}" for bikeType "${n}"`)):a.gradeFromField?(h=a.gradeFromField,d=i().get(`messdaten.${a.gradeFromField}`,e)):d=Array.isArray(a.calcConfig)?o(e,a.calcConfig):i().get(`messdaten.${a.key}`,e);let g=t[a.key]?.[n];if(a.gradeFromField){if(!["city-trekking","e-city-trekking"].includes(n)&&g?.weight===void 0){r&&console.log(`[GradeTable] Skipping gradeFromField "${a.key}": weight=${g?.weight}`);return}if(null==d){r&&console.log(`[GradeTable] Skipping gradeFromField "${a.key}": no value in "${a.gradeFromField}"`);return}}else if(a.gradeTable){if(!g?.config||g?.weight===void 0){r&&console.log(`[GradeTable] Skipping calculated field "${a.key}": hasConfig=${!!g?.config}, weight=${g?.weight}`);return}}else if(null==d){r&&console.log(`[GradeTable] Skipping direct field "${a.key}": no value`);return}a.gradeFromField?(c=d,u=`direct from "${a.gradeFromField}"`):a.gradeTable?(c=s(d,g),u="calculated (gradeTable)"):Array.isArray(a.calcConfig)?(c=d,u="calculated (calcConfig)"):(c=d,u="direct (1:1)"),r&&console.log(`[GradeTable] Field "${a.key}": sourceField=${h}, value=${d}, grade=${c}, type=${u}, weight=${g?.weight??0}`),l.push({key:a.key,grade:c||0,weight:Number(g?.weight||0)})});let d=l.reduce((e,t)=>e+Number(parseFloat(t.grade).toFixed(2))*Number(parseFloat(t.weight)),0)/l.reduce((e,t)=>e+Number(parseFloat(t.weight)),0);return{grades:l,final:d=Number(d.toFixed(2))}},s=(e,t)=>{let r=t?.config;if(!r||!r.length)return;if(null==e){let e=r.find(([e])=>""===e||null===e);return e?Number(d(e[1])):void 0}if(r=r.filter(([e])=>""!==e&&null!=e).map(e=>[...e]),r="lesserThan"===t.operator?r.sort((e,t)=>d(e[0])-d(t[0])):r.sort((e,t)=>d(e[0])-d(t[0])).reverse(),isNaN(d(e))){let t=r.find(([t])=>t===e);return t?d(t[1]):void 0}let a=d(r[r.length-1][1]);for(let l=0;l<r.length;l++){let[i,n]=r[l];if("lesserThan"===t.operator){if(d(e)<=d(i)){a=d(n);break}}else if(d(e)>=d(i)){a=d(n);break}}return a},o=(e,t)=>t.reduce((t,r)=>t+Number(parseFloat(e.messdaten?.[r.key]).toFixed(2))*Number(parseFloat(r.weight)),0)/t.reduce((e,t)=>e+Number(parseFloat(t.weight)),0),d=e=>"string"==typeof e?parseFloat(e.replace(",",".")):e},85508:e=>{"use strict";e.exports=function(e){let t=[],r="",a="DEFAULT";for(let l=0;l<e.length;++l)"IN_SQUARE_BRACKETS"!==a||/\d/.test(e[l])||"]"===e[l]||(a="DEFAULT",r=t[t.length-1]+"["+r,t.splice(t.length-1,1)),"["===e[l]?("IMMEDIATELY_AFTER_SQUARE_BRACKETS"!==a&&(t.push(r),r=""),a="IN_SQUARE_BRACKETS"):"]"===e[l]?"IN_SQUARE_BRACKETS"===a?(a="IMMEDIATELY_AFTER_SQUARE_BRACKETS",t.push(r),r=""):(a="DEFAULT",r+=e[l]):"."===e[l]?("IMMEDIATELY_AFTER_SQUARE_BRACKETS"!==a&&(t.push(r),r=""),a="DEFAULT"):r+=e[l];return"IMMEDIATELY_AFTER_SQUARE_BRACKETS"!==a&&t.push(r),t}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.