var freeaps_autotuneCore;(()=>{var e={5533:(e,r,o)=>{var i=o(2263);e.exports=function(e){var r=e.previousAutotune,o=e.pumpProfile,a=o.basalprofile,t=r.basalprofile,n=r.isfProfile,s=n.sensitivities[0].sensitivity,u=r.carb_ratio,l=s/u,d=r.dia,v=r.insulinPeakTime;if(!0==!r.useCustomPeakTime&&(v="ultra-rapid"===r.curve?55:75),o)var f=o.isfProfile;if(f&&f.sensitivities[0])var m=f.sensitivities[0].sensitivity,h=o.carb_ratio,p=m/h;u||(u=h),l||(l=p),s||(s=m);var c=e.preppedGlucose,F=c.CSFGlucoseData,C=c.ISFGlucoseData,g=c.basalGlucoseData,R=c.CRData,S=c.diaDeviations,M=c.peakDeviations,D=d;if(S){for(var I=S[2].meanDeviation,b=S[2].RMSDeviation,w=1e6,x=1e6,T=2,k=2,L=0;L2&&k>2&&S[3].meanDeviation<.99*I&&S[3].RMSDeviation<.99*b&&(D=S[3].dia),D>12&&(console.error("insulinEndTime maximum is 12h: not raising further"),D=12),D!==d?console.error("Adjusting insulinEndTime from",d,"to",D,"hours"):console.error("Leaving insulinEndTime unchanged at",d,"hours")}var B=v;if(M&&M[2]){var O=M[2].meanDeviation,y=M[2].RMSDeviation;for(w=1e6,x=1e6,T=2,k=2,L=0;L2&&k>2&&M[3].meanDeviation<.99*O&&M[3].RMSDeviation<.99*y&&(B=M[3].peak),B!==v?console.error("Adjusting insulinPeakTime from",v,"to",B,"minutes"):console.error("Leaving insulinPeakTime unchanged at",v)}var E=0,N=0;R.forEach((function(e){var r=(e.CREndBG-e.CRInitialBG)/s;e.CREndIOB,e.CRInitialIOB;e.CRInsulinTotal=e.CRInitialIOB+e.CRInsulin+r;Math.round(e.CRCarbs/e.CRInsulinTotal*1e3);e.CRInsulinTotal>0&&(E+=e.CRCarbs,N+=e.CRInsulinTotal)})),N=Math.round(1e3*N)/1e3;var j=Math.round(E/N*1e3)/1e3;console.error("CRTotalCarbs:",E,"CRTotalInsulin:",N,"totalCR:",j);var G=[],A=[];for(L=0;L<24;L++){for(var J=0;J0)for(var V=-3;V<0;V++){var W=q+V;W<0&&(W+=24),U[W].rate+=Q/3,U[W].rate=Math.round(1e3*U[W].rate)/1e3}else if(Q<0){var X=0;for(V=-3;V<0;V++)(W=q+V)<0&&(W+=24),X+=U[W].rate;var Y=1+Q/X;for(V=-3;V<0;V++)(W=q+V)<0&&(W+=24),U[W].rate=U[W].rate*Y,U[W].rate=Math.round(1e3*U[W].rate)/1e3}}if(a&&a[0])for(q=0;q<24;q++){if(void 0!==o.autosens_max)var Z=o.autosens_max;else Z=1.2;if(void 0!==o.autosens_min)var $=o.autosens_min;else $=.7;var ee=A[q].rate*Z,re=A[q].rate*$;U[q].rate>ee?(console.error("Limiting hour",q,"basal to",ee.toFixed(2),"(which is",Z,"* pump basal of",A[q].rate,")"),U[q].rate=ee):U[q].ratede?(console.error("Limiting CSF to",de.toFixed(2),"(which is",Z,"* pump CSF of",p,")"),le=de):le150&&(he=150);var pe=h*$;pe<1&&(pe=3),void 0!==h&&(me>he?(console.error("Limiting fullNewCR from",me,"to",he.toFixed(2),"(which is",Z,"* pump CR of",h,")"),me=he):mehe?(console.error("Limiting CR to",he.toFixed(2),"(which is",Z,"* pump CR of",h,")"),ce=he):ceTe?(console.error("Limiting adjusted ISF of",Le.toFixed(2),"to",Te.toFixed(2),"(which is pump ISF of",m,"/",$,")"),Le=Te):LeTe?(console.error("Limiting ISF of",Pe.toFixed(2),"to",Te.toFixed(2),"(which is pump ISF of",m,"/",$,")"),Pe=Te):Pe{e.exports=function(e,r){if(0===e.length)return 0;if("number"!=typeof r)throw new TypeError("p must be a number");if(r<=0)return e[0];if(r>=1)return e[e.length-1];var o=e.length*r,i=Math.floor(o),a=i+1,t=o%1;return a>=e.length?e[i]:e[i]*(1-t)+e[a]*t}}},r={};var o=function o(i){var a=r[i];if(void 0!==a)return a.exports;var t=r[i]={exports:{}};return e[i](t,t.exports,o),t.exports}(5533);freeaps_autotuneCore=o})();