PageSourceSearch

https://www.energienetze-offenbach.de/_assets/fa5d75f93fd301e76fbd…/JavaScript/evo.overlay.4ccada0f096adf.js

js energienetze-offenbach.de collected 2026-10-05 20:27:50 UTC 20,690 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkevo=self.webpackChunkevo||[]).push([[601],{1306(t,e,s){s.r(e),s.d(e,{default:()=>a});var i=s(4692),o=s.n(i),n=(s(9635),s(4535));const a=class{constructor(){this.Accessibility=new n.A,this._$body=o()("body"),/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream&&(o()("body").on("shown.bs.modal",".bb-overlay",t=>{this._setIosOverlayHeight(o()(t.target))}),o()(window).on("resize",()=>{this._setIosOverlayHeight(o()(".bb-overlay.show").first())})),o()(".bb-overlay__close").on("keydown",t=>this.Accessibility.handleInteraction(t,{onClick:()=>o()(t.target).closest(".bb-overlay").modal("hide")})),this._$body.on("shown.bs.modal",".bb-overlay",t=>{t.currentTarget.accessibilityHandler=this.Accessibility.initOverlay(t.currentTarget)}).on("hide.bs.modal",".bb-overlay",t=>{this.Accessibility.destroyOverlay(t.currentTarget,t.currentTarget.accessibilityHandler)})}_setIosOverlayHeight(t){const e=t.find(".modal-dialog");if(t.length){e.removeAttr("style");const s=window.innerHeight-2*e[0].offsetTop;t.find(".modal-dialog").css("max-height",s+"px")}}}},1066(t,e,s){s.r(e),s.d(e,{default:()=>c});var i=s(4692),o=s.n(i),n=(s(8647),s(8850)),a=s.n(n),r=s(9476),l=s(663),d=s(4346),_=s(5468),h=s(7187);const c=class{constructor(){this._root="bb-photovoltaikrechner",this._$component=o()(`.${this._root}`),this._$addressInputField=this._$component.find("#address-input"),this._step=0,this._stepCount=this._$component.find(`.${this._root}__step`).length,this._answers={roofOrientation:{value:"S"}},this._animationTimeouts=[],this._duration=600,this._availableZips=[],this._placeData={},this._calcConfig={powerPerModule:.44,areaPerModule:1.94,minPanels:12,maxPanels:24},this._trackingData={category:"PV Anlagen Verfügbarkeitscheck",submitEventGa4:"submit_verfuegbarkeitscheck_pv",requestEventGa4:"request_verfuegbarkeitscheck_pv"},this._trackedSteps=[],this._initGoogleMaps(),this._bindEvents(),this._formatInputs(),this._loadJson()}_getAutarkiegrad(t,e,s,i){const o=[[0,.153,.216,.252,.27,.288,.306,.315,.324,.333,.333],[0,.198,.288,.333,.351,.369,.387,.396,.405,.414,.414],[0,.216,.333,.378,.405,.423,.441,.45,.459,.468,.477],[0,.216,.36,.423,.459,.477,.495,.504,.522,.531,.54],[0,.216,.387,.459,.504,.531,.549,.558,.576,.585,.594],[0,.216,.396,.495,.54,.567,.585,.603,.612,.621,.63],[0,.216,.405,.513,.567,.594,.621,.63,.648,.657,.666],[0,.216,.414,.531,.585,.621,.639,.657,.675,.684,.693],[0,.216,.414,.531,.594,.63,.657,.675,.684,.702,.711],[0,.216,.414,.54,.603,.639,.666,.684,.702,.711,.72],[0,.216,.414,.549,.603,.639,.666,.693,.711,.72,.729]],n=[0,.25,.5,.75,1,1.25,1.5,1.75,2,2.25,2.5],a=[0,.25,.5,.75,1,1.25,1.5,1.75,2,2.25,2.5];let r=t,l=e,d=s,_=this._kalkulierterPvErtrag(d,l),h=i,c=this._linkePvLeistung(_,r,a[0],a[a.length-1]),u=this._rechtePvLeistung(_,r,a[0],a[a.length-1]),p=this._obereSpeicherkapazitaet(h,r,n[0],n[n.length-1]),m=this._untereSpeicherkapazitaet(h,r,n[0],n[n.length-1]),f=this._getMatrixValue(o,n,a,p,c),g=this._getMatrixValue(o,n,a,p,u),b=this._getMatrixValue(o,n,a,m,c),$=this._getMatrixValue(o,n,a,m,u),v=_/r*1e3,w=this._trend([f,g],[c,u],[v])[0],y=this._trend([b,$],[c,u],[v])[0],k=h/r*1e3;return this._aufrunden(this._trend([w,y],[p,m],[k])[0],2)}_getMatrixValue(t,e,s,i,o){const n=e.indexOf(i),a=s.indexOf(o);if(-1===n||-1===a)throw new Error("Zeilen- oder Spaltenwert nicht gefunden.");return t[n][a]}_kalkulierterPvErtrag(t,e){return t*e/1e3}_linkePvLeistung(t,e,s,i){return this._berechneAbgerundetenWert(t,e,s,i)}_rechtePvLeistung(t,e,s,i){return this._berechneAufgerundetenWert(t,e,s,i)}_obereSpeicherkapazitaet(t,e,s,i){return this._berechneAbgerundetenWert(t,e,s,i)}_untereSpeicherkapazitaet(t,e,s,i){return this._berechneAufgerundetenWert(t,e,s,i)}_berechneAbgerundetenWert(t,e,s,i){const o=t/e*1e3;return o<=s?s:o>=i?i:Math.floor(4*o)/4}_berechneAufgerundetenWert(t,e,s,i){const o=t/e*1e3;return o<=s?0:o>=i?i:Math.ceil(4*o)/4}_aufrunden(t,e){const s=Math.pow(10,e);return Math.ceil(t*s)/s}_trend(t,e,s){const i=t.length,o=e.reduce((t,e)=>t+e,0)/i,n=t.reduce((t,e)=>t+e,0)/i,a=e.reduce((t,e)=>t+Math.pow(e-o,2),0);if(0===a)return s.map(()=>n);const r=e.reduce((e,s,i)=>e+(s-o)*(t[i]-n),0)/a,l=n-r*o;return s.map(t=>l+r*t)}_bindEvents(){this._$component.on("click",`.${this._root}__next, .${this._root}__back`,this._onClickButton.bind(this)).on("click",`.${this._root}__option`,this._chooseOption.bind(this)).on("change keyup",`.${this._root}__option-input input`,this._onInputChange.bind(this)).on("click",`.${this._root}__orientation-item svg`,this._chooseOrientation.bind(this)).on("blur",`.${this._root}__availability #address-input`,this._onAddressChange.bind(this)).on("keydown",`.${this._root}__availability #address-input`,this._onAddressKeydown.bind(this)).on("submit",`.${this._root}__availability form`,this._onAddressSubmit.bind(this)).on("click",".change-address",this._onBackToAddress.bind(this)).on("onFormSubmit",".form-success form",this._onSubmit.bind(this)),o()(document.body).on("click",`.${this._root}__orientation-select .mdc-list-item`,this._chooseOrientationSelect.bind(this))}_onClickButton(t){t.preventDefault();const e=o()(t.currentTarget);this._navigate(e.hasClass(`${this._root}__back`)?-1:1)}_navigate(t){const e=this._step;this._step=this._step+t,this._formatInputs(),this._$component.find(`.${this._root}__step`).eq(e).slideUp(),this._$component.find(`.${this._root}__step`).eq(this._step).slideDown(),this._$component.find(`.${this._root}__progress-bar div`).css("width",100/this._stepCount*(this._step+1)+"%"),this._$component.find(`.${this._root}__progress span`).text(this._step+1),this._calculate(),this._fillValues(),1===t&&this._trackStep(e)}_trackStep(t,e){if(this._trackedSteps.includes(t))return;let s,i,o,n,a,r=this._$component.find(`.${this._root}__step`).eq(t);0===t?(s="step 1 - angabe verbrauch",i="verbrauch",o=this._answers.consumption.label):1===t?(s="step 2 - angabe dach",i="neigung",o=this._answers.roofType.label):2===t?(s="step 3 - angabe ausrichtung",i="himmelsrichtung",o=r.find(".bb-photovoltaikrechner__orientation-select .mdc-select").data("mdc-select").value):3===t?(s="step 4 - angabe leistung",i="kwp",o=r.find(".value-power").text()):4===t?(s="step 5 - angabe addon",i="wallbox",o=this._answers.interest_wallbox.value,n="battery",a=this._answers.interest_battery.value):5===t?(s="step 6 - abfrage adresse",i="standort",o=this._trackingDataAddress,n="verfuegbarkeit",a=e?"Verfuegbar":"Nicht Verfuegbar"):6===t?(s="step 7 - submit form",i="standort",o=this._trackingDataAddress):s="stepId not found",(0,d.mO)("pv_calculator","step",s,i,o,n,a),this._trackedSteps.push(t)}_onBackToAddress(t){t.preventDefault(),this._$component.find(`.${this._root}
1__result`).slideUp(),this._$component.find(`.${this._root}__steps`).slideDown(),this._$component.find(`.${this._root}__result-item.options .options-items > div`).removeClass("show"),this._animationTimeouts.length>0&&(this._animationTimeouts.forEach(t=>{window.clearTimeout(t)}),this._animationTimeouts=[])}_onSubmit(t){t.isValid&&(this._$component.find(`.${this._root}__result-item.show`).slideUp(),this._$component.find(`.${this._root}__result-item.success`).slideDown({complete:()=>{const t=this._$component.find(`.${this._root}__result-item.success`).offset().top-(o()("#bb-header").length?o()("#bb-header")[0].offsetHeight:20);o()("html, body").stop().animate({scrollTop:t+"px"},700)}}),this._trackStep(6))}_fillValues(){this._$component.find(".value-consumption").html(this._formatValue(this._answers.consumption.value)),this._$component.find(".value-power-recommended").html(this._formatValue(this._result.recommendedSystemSize,"",2)),this._$component.find(".value-power").html(this._formatValue(this._result.systemSize,"",2)),this._$component.find(".value-area").html(this._formatValue(this._result.roofArea)),this._$component.find(".value-panels").html(this._formatValue(this._result.panels)),this._$component.find(".value-solarYield").html(this._formatValue(this._result.solarYield)),this._$component.find(".value-co2Savings").html(this._formatValue(this._result.co2Savings)),this._$component.find(".value-batterySize").html(this._formatValue(this._result.recommendedBatterySize,"",2)),this._$component.find(".value-selfSufficiency").html(this._formatValue(this._result.selfSufficiency)),this._$component.find(".value-selfSufficiencyWithBattery").html(this._formatValue(this._result.selfSufficiencyWithBattery))}_chooseOption(t){const e=o()(t.currentTarget),s=e.data("deselect"),i=e.hasClass(`${this._root}__option--has-input`),n=e.siblings(`.${this._root}__option--has-input`);"checkbox"===this._getStepType()?(s.split(",").forEach(t=>{e.siblings(`.${this._root}__option[data-value="${t}"]`).removeClass("selected")}),e.toggleClass("selected")):(e.siblings(`.${this._root}__option`).removeClass("selected"),e.addClass("selected")),i&&(e.find(`.${this._root}__option-label`).slideUp(),e.find(`.${this._root}__option-input`).slideDown(),e.find(`.${this._root}__option-input input`).trigger("focus")),n.length>0&&n.each((t,e)=>{o()(e).find(`.${this._root}__option-input`).slideUp(),o()(e).find(`.${this._root}__option-label`).slideDown()}),this._setAnswer()}_onInputChange(){this._setAnswer()}_chooseOrientation(t){const e=o()(t.currentTarget),s=e.parent().data("index"),i=e.parent().data("value");this._setOrientation(s,i),e.closest(`.${this._root}__step`).find(".mdc-select").data("mdc-select").value=i}_chooseOrientationSelect(){const t=this._$component.find(`.${this._root}__orientation-select .mdc-select`).data("mdc-select").value,e=this._$component.find(`.${this._root}__orientation-item[data-value="${t}"]`).data("index");this._setOrientation(e,t)}_setOrientation(t,e){this._$component.find(`.${this._root}__orientation-item`).removeClass("selected"),this._$component.find(`.${this._root}__orientation-item[data-value="${e}"]`).addClass("selected"),this._$component.find(`.${this._root}__orientation`).find(`.${this._root}__orientation-house`).attr("data-selected",t),this._setAnswer()}_setAnswer(){const t=this._getStepId(),e=this._$component.find(`.${this._root}__step[data-id="${t}"]`),s=e.data("type"),i=e.find(`.${this._root}__option.selected`);if("radio"===s){let e=i.hasClass(`${this._root}__option--has-input`)?parseInt(i.find("input").data("autoNumeric").get()):i.data("value");this._answers[t]={value:e,label:"number"==typeof e?this._formatValue(e,"kWh"):i.data("label")}}else"checkbox"===s?e.find(`.${this._root}__option`).each((e,s)=>{this._answers[`${t}_${o()(s).data("value")}`]={value:o()(s).hasClass("selected"),label:o()(s).data("label")}}):"orientation"===s&&(this._answers[t]={value:e.find(`.${this._root}__orientation-item.selected`).data("value"),label:e.find(`.${this._root}__orientation-item.selected`).data("label")});this._$component.find(`.${this._root}__result`).attr("data-battery",!!this._answers?.interest_battery?.value),this._checkButton()}_checkButton(){const t=this._getStepId(),e=this._getStepType(),s=this._$component.find(`.${this._root}__step[data-id="${t}"]`);let i=!!this._answers[t];"checkbox"===e&&(i=Object.keys(this._answers).filter(e=>e.startsWith(t)).some(t=>!0===this._answers[t].value)),i?s.find(`.${this._root}__next`).removeAttr("disabled").removeClass("bb-button--disabled"):s.find(`.${this._root}__next`).attr("disabled","disabled").addClass("bb-button--disabled")}_getStepId(){return this._$component.find(`.${this._root}__step:eq(${this._step})`).data("id")}_getStepType(){return this._$component.find(`.${this._root}__step:eq(${this._step})`).data("type")}_formatInputs(){const t=this._$component.find(`.${this._root}__step`).eq(this._step);t.find(".form-element-wrapper.kwh .bb-inputfield input").each((t,e)=>{if(void 0===o()(e).data("autoNumeric")){const t=o()(e).closest(`.${this._root}__option-input`),s=new(a())(e,{...l.A.tarifRechner.kwhInput.format,minimumValue:t.data("min"),maximumValue:t.data("max"),emptyInputBehavior:"min"});o()(e).data("autoNumeric",s)}}),this._$slider=t.find(`.${this._root}__slider`).get(0),this._$slider&&(void 0===this._$slider.noUiSlider?(r.Ay.create(this._$slider,{start:this._result.panels??this._calcConfig.minPanels,step:.01,connect:"lower",range:{min:this._calcConfig.minPanels,max:this._calcConfig.maxPanels},pips:{mode:"values",values:[this._calcConfig.minPanels,15,18,21,this._calcConfig.maxPanels],density:-1,stepped:!0,format:{to:t=>`<span>${this._formatValue(t*this._calcConfig.powerPerModule,"",2)}</span> kWp`}}}),this._$slider.noUiSlider.on("update",e=>{t.find(`.${this._root}__slider .noUi-value`).removeClass("active"),t.find(`.${this._root}__slider .noUi-value[data-value="${parseFloat(e[0])}"]`).addClass("active"),this._answers.panelsUser=parseFloat(e[0]),this._calculate(),this._fillValues()}),this._$component.on("click",`.${this._root}__slider .noUi-value`,t=>{this._$slider.noUiSlider.set(Number(t.currentTarget.getAttribute("data-value")))})):this._$slider.noUiSlider.set(this._answers.panelsUser??this._result.panels??this._calcConfig.minPanels))}_formatValue(t,e="",s=0){return`${new Intl.NumberFormat("de-DE",{minimumFractionDigits:s,maximumFractionDigits:s}).format(t)}${e?" "+e:""}`}_calculate(){const t=this._answers,e=t?.interest_wallbox?.value??!1,s=t?.interest_battery?.value??!1,i=(()=>{let e=950;return t.roofType&&t.roofOrientation?(e="strong"===t.roofType.value?.9*e:e,t.roofOrientation.value.includes("S")?e:t.roofOrientation.value.includes("W")&&!t.roofOrientation.value.includes("O")||!t.roofOrientation.value.includes("W")&&t.roofOrientation.value.includes("O")?.9*e:e):e})(),o=401,n=2e3,a=33,r=66;let l=t.consumption.value+(e?n:0),d=Math.min(Math.max(l/1e3*1.5,this._calcConfig.minPanels*this._calcConfig.powerPerModule),this._calcConfig.maxPanels*this._calcConfig.powerPerModule),_=d/this._calcConfig.powerPerModule,h=(this._answers.panelsUser??_)*this._calcConfig.powerPerModule,c=(this._answers.panelsUser??_)*this._calcConfig.areaPerModule,u=s?(.9*h).toFixed(1):0,p=h*i,m=s?p*r/100:p*a/100;this._result={co2Savings:Math.round(m*o/1e3),recommendedSystemSize:d,panels:this._answers.panelsUser??_,systemSize:h,roofArea:c,solarYield:p,recommendedBatterySize:u,selfSufficiency:100*this._getAutarkiegrad(l,p,h,0),selfSufficiencyWithBattery:100*this._getAutarkiegrad(l,p,h,parseFloat((.9*h).toFixed(1)))}}async _initGoogleMaps(){try{await(0,_.S)(l.A.map.key),await this._initAutocomplete()}catch(t){}}async _initAutocomplete(){const t=(0,h.sg)(async t=>{await this._fetchSuggestions(t).then(()=>{this._createSuggestionDropdown()})},250);this._$component.find('input[name="address-input"]').on("input",async e=>{await t(e.currentTarget.value)});const e=this._$component.find('input[name="address-input"]');this._enableAddressInputEnterKey(e[0])}async _fetchSuggestions(t){if(!t)return this._googleSessionToken=null,void(this._googleSuggetionList=[]);const{AutocompleteSessionToken:e,AutocompleteSuggestion:s}=await google.maps.importLibrary("places");this._googleSessionToken||(this._googleSessionToken=new e);const i=new google.maps.Circle({center:{lat:50.10061,lng:8.76647},radius:4e3}),{suggestions:o}=await s.fetchAutocompleteSuggestions({input:t,language:"de",sessionToken:this._googleSessionToken,includedPrimaryTypes:["street_address","route","premise","subpremise"],includedReg
1ionCodes:["DE"],locationBias:i.getBounds()});this._googleSuggetionList=o.map(t=>{const e=t.placePrediction;return{prediction:e,placeId:e.placeId,name:e.text?.text,types:e.types}})}_createSuggestionDropdown(){const t=this._$component.find(".mdc__autocomplete");if(!this._googleSuggetionList.length)return void t.hide();let e="";this._googleSuggetionList.map(t=>{e+=`<li class="mdc-list-item" data-place-id="${t.placeId}" data-place-name="${t.name}" role="option" tabindex="-1">${t.name}</li>`}),""!==e&&(t.find(".mdc-list").html(e),t.show()),this._$component.find(".mdc__autocomplete li").on("click",t=>{this._onSuggestionSelect(t)})}async _onSuggestionSelect(t){const e=o()(t.currentTarget),s=e.data("place-id"),i=e.data("place-name"),n=this._googleSuggetionList.find(t=>t.placeId===s).prediction.toPlace();if(await n.fetchFields({fields:["formattedAddress","addressComponents"]}),this._$component.find('input[name="address-input"]').val(e.text()),n.addressComponents){let t="",s="",o="",a="";if(n.addressComponents.forEach(e=>{const i=e.types,n=e.longText;i.includes("street_number")?t=n:i.includes("route")?s=n:i.includes("locality")?a=n:i.includes("postal_code")&&(o=n)}),""===t){const e=(0,h.sY)(i);e&&e?.houseNumber&&(t=e?.houseNumber)}""===t||""===s||""===o||""===a?(this._showAddressInputError(),this._$component.data("placeData",{})):(this._$component.find(".selected-address").text(s+" "+t+", "+o+" "+a),this._$component.find('input[data-id="address"]').val(s+","+t+","+o+","+a),this._trackingDataAddress=s+", "+o+" "+a,this._placeData={placeId:s+" "+t+","+o+" "+a,zip:o},e.closest(".mdc-list").find(".mdc-list-item").removeClass("mdc-list-item--selected"),e.addClass("mdc-list-item--selected"))}}_onAddressChange(t){if(o()(t.relatedTarget).hasClass("mdc-list-item"))return;this._placeData={};const e=this._$component.find(".mdc__autocomplete");if(""!==o()(t.target).val()&&e.find(".mdc-list-item").length>0){const t=e.find(".mdc-list-item--selected, .bb-autocomplete--selected");0===t.length?e.find(".mdc-list-item").first().trigger("click"):t.trigger("click")}}_onAddressKeydown(t){const e=o()(t.currentTarget).closest(".bb-inputfield-wrapper").find(".mdc__autocomplete"),s=e.find(".mdc-list-item");let i=s.filter(".mdc-list-item--selected");"Enter"===t.key&&(t.preventDefault(),i.length>0&&i.click(),this._$addressInputField.blur(),this._$addressInputField.focus(),e.slideUp()),"Escape"===t.key&&(t.preventDefault(),e.slideUp()),"ArrowUp"!==t.key&&"ArrowDown"!==t.key||(t.preventDefault(),i.length>0?"ArrowUp"===t.key?(i=i.prev(),i.length||(i=i=o()(s).last())):(i=i.next(),i.length||(i=i=o()(s).first())):i="ArrowUp"===t.key?o()(s).last():o()(s).first(),s.removeClass("mdc-list-item--selected"),i.addClass("mdc-list-item--selected"))}_loadJson(){o().ajax({url:l.A.publicPath+l.A.heatingCheck.jsonPathPv,cache:!1,dataType:"json",success:t=>{this._availableZips=t.availableZips,this._loadForm(this._$component.find(`.form-success .${this._root}__form`))},error:()=>{}})}_loadForm(t){let e=t.data("url");l.A.debug&&(e=l.A.proxy+e),o().ajax({url:e,dataType:"html",success:e=>{t.html(e),t.addClass("frame-type-form_formframework"),o()("body").trigger("bb-form-items-changed"),window.document.dispatchEvent(new Event("DOMContentLoaded",{bubbles:!0,cancelable:!0}))},error:()=>{t.html(""),t.addClass("frame-type-form_formframework")}})}_onAddressSubmit(t){if(t.preventDefault(),t.stopImmediatePropagation(),Object.keys(this._placeData).length>0){let t=this._duration;this._availableZips.includes(this._placeData.zip)?(this._trackStep(5,!0),this._$component.find(`.${this._root}__result-item`).removeClass("show"),this._$component.find(".available, .data, .options, .form-success").addClass("show")):(this._trackStep(5,!1),this._$component.find(`.${this._root}__result-item`).removeClass("show"),this._$component.find(".not-available, .data, .form-error").addClass("show")),this._$component.find(`.${this._root}__steps`).slideUp(),this._$component.find(`.${this._root}__result`).slideDown(),this._$component.find(`.${this._root}__result-item.options .options-items > div`).each((e,s)=>{this._animationTimeouts[e]=window.setTimeout(()=>{o()(s).addClass("show")},t),t+=1.5*this._duration}),this._$component.find(".form-success.show")&&window.setTimeout(()=>{const t=this._$component.find(".form-success").offset().top-(o()("#bb-header").length?o()("#bb-header")[0].offsetHeight:20);o()("html, body").animate({scrollTop:t+"px"},700)},t),(0,d.mO)(this._trackingData.requestEventGa4,"availability",this._trackingData.availability,"address",this._trackingData.address),(0,d.sx)(this._trackingData.category,trackingAction+this._trackingData.availability,this._trackingData.address)}else""!==this._$addressInputField.val()&&(this._$component.find(".form--submitting").removeClass("form--submitting"),this._showAddressInputError())}_showAddressInputError(){const t=this._$addressInputField.closest(".form-element-wrapper");if(!t.hasClass("error")){const e=t.find(".bb-inputfield__error-text");
1t.addClass("error").removeClass("valid"),e.text(e.data("errormsg")),t.addClass("error").find(".error-msg").slideDown()}}_enableAddressInputEnterKey(t){const e=t.addEventListener;t.addEventListener=(s,i)=>{if("keydown"===s){const e=i;i=s=>{const i=document.getElementsByClassName("mdc-list-item--selected").length;if(("Enter"===s.key||"Tab"===s.key)&&!i){const s=new KeyboardEvent("keydown",{key:"ArrowDown",code:"ArrowDown",keyCode:40});e.apply(t,[s])}e.apply(t,[s])}}e.apply(t,[s,i])}}}}}]);

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.