PageSourceSearch

https://www.stashaway.sg/_next/static/chunks/2529.d2a87c29529e2e62.js

js stashaway.sg collected 2026-10-01 11:38:56 UTC 38,169 bytes, 1 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="e5bacb29-9b46-485c-930d-3a68ee310fd3",e._sentryDebugIdIdentifier="sentry-dbid-e5bacb29-9b46-485c-930d-3a68ee310fd3")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2529],{62529:(e,t,o)=>{o.r(t),o.d(t,{MySalaryCalculatorEn:()=>D});var n=o(65321),a=o(70476),r=o(89715),i=o(93472),s=o(63880),l=o(71244),c=o(53079),d=o(94245),u=o(69896),h=o(1150),x=o(55268),p=o(97109);let m=[[30,.4,.1,.2,.3],[50,.7,.2,.3,.5],[70,1.1,.3,.5,.8],[100,1.5,.4,.65,1.1],[140,2.1,.6,.9,1.5],[200,2.95,.85,1.25,2.1],[300,4.35,1.25,1.85,3.1],[400,6.15,1.75,2.65,4.4],[500,7.85,2.25,3.35,5.6],[600,9.65,2.75,4.15,6.9],[700,11.35,3.25,4.85,8.1],[800,13.15,3.75,5.65,9.4],[900,14.85,4.25,6.35,10.6],[1e3,16.65,4.75,7.15,11.9],[1100,18.35,5.25,7.85,13.1],[1200,20.15,5.75,8.65,14.4],[1300,21.85,6.25,9.35,15.6],[1400,23.65,6.75,10.15,16.9],[1500,25.35,7.25,10.85,18.1],[1600,27.15,7.75,11.65,19.4],[1700,28.85,8.25,12.35,20.6],[1800,30.65,8.75,13.15,21.9],[1900,32.35,9.25,13.85,23.1],[2e3,34.15,9.75,14.65,24.4],[2100,35.85,10.25,15.35,25.6],[2200,37.65,10.75,16.15,26.9],[2300,39.35,11.25,16.85,28.1],[2400,41.15,11.75,17.65,29.4],[2500,42.85,12.25,18.35,30.6],[2600,44.65,12.75,19.15,31.9],[2700,46.35,13.25,19.85,33.1],[2800,48.15,13.75,20.65,34.4],[2900,49.85,14.25,21.35,35.6],[3e3,51.65,14.75,22.15,36.9],[3100,53.35,15.25,22.85,38.1],[3200,55.15,15.75,23.65,39.4],[3300,56.85,16.25,24.35,40.6],[3400,58.65,16.75,25.15,41.9],[3500,60.35,17.25,25.85,43.1],[3600,62.15,17.75,26.65,44.4],[3700,63.85,18.25,27.35,45.6],[3800,65.65,18.75,28.15,46.9],[3900,67.35,19.25,28.85,48.1],[4e3,69.15,19.75,29.65,49.4],[4100,70.85,20.25,30.35,50.6],[4200,72.65,20.75,31.15,51.9],[4300,74.35,21.25,31.85,53.1],[4400,76.15,21.75,32.65,54.4],[4500,77.85,22.25,33.35,55.6],[4600,79.65,22.75,34.15,56.9],[4700,81.35,23.25,34.85,58.1],[4800,83.15,23.75,35.65,59.4],[4900,84.85,24.25,36.35,60.6],[5e3,86.65,24.75,37.15,61.9],[5100,88.35,25.25,37.85,63.1],[5200,90.15,25.75,38.65,64.4],[5300,91.85,26.25,39.35,65.6],[5400,93.65,26.75,40.15,66.9],[5500,95.35,27.25,40.85,68.1],[5600,97.15,27.75,41.65,69.4],[5700,98.85,28.25,42.35,70.6],[5800,100.65,28.75,43.15,71.9],[5900,102.35,29.25,43.85,73.1],[6e3,104.15,29.75,44.65,74.4]],f=m[m.length-1],b=[[30,.05],[50,.1],[70,.15],[100,.2],[140,.25],[200,.35],[300,.5],[400,.7],[500,.9],[600,1.1],[700,1.3],[800,1.5],[900,1.7],[1e3,1.9],[1100,2.1],[1200,2.3],[1300,2.5],[1400,2.7],[1500,2.9],[1600,3.1],[1700,3.3],[1800,3.5],[1900,3.7],[2e3,3.9],[2100,4.1],[2200,4.3],[2300,4.5],[2400,4.7],[2500,4.9],[2600,5.1],[2700,5.3],[2800,5.5],[2900,5.7],[3e3,5.9],[3100,6.1],[3200,6.3],[3300,6.5],[3400,6.7],[3500,6.9],[3600,7.1],[3700,7.3],[3800,7.5],[3900,7.7],[4e3,7.9],[4100,8.1],[4200,8.3],[4300,8.5],[4400,8.7],[4500,8.9],[4600,9.1],[4700,9.3],[4800,9.5],[4900,9.7],[5e3,9.9],[5100,10.1],[5200,10.3],[5300,10.5],[5400,10.7],[5500,10.9],[5600,11.1],[5700,11.3],[5800,11.5],[5900,11.7],[6e3,11.9]],g=b[b.length-1],y=[[0,0,0],[5e3,0,.01],[2e4,150,.03],[35e3,600,.06],[5e4,1500,.11],[7e4,3700,.19],[1e5,9400,.25],[4e5,84400,.26],[6e5,136400,.28],[2e6,528400,.3]],S=[0,2,4,5.5,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],j=[0,2,4,6,6.5,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],v=[{value:"first-lindung",label:"Employment Injury & Invalidity & Lindung 24"},{value:"second-lindung",label:"Employment Injury & Lindung 24"},{value:"first",label:"Employment Injury & Invalidity"},{value:"second",label:"Employment Injury Only"},{value:"none",label:"No contribution"}],A=[{value:"single",label:"Single"},...Array.from({length:11},(e,t)=>({value:"sp".concat(t),label:"Spouse not working, ".concat(0===t?"no child":"".concat(t," child").concat(t>1?"ren":""))})),...Array.from({length:11},(e,t)=>({value:"sw".concat(t),label:"Spouse working, ".concat(0===t?"no child":"".concat(t," child").concat(t>1?"ren":""))}))];function E(e,t,o){if(o<=0)return null;for(let t of e)if(o<=t[0])return t;return t}function w(e,t,o){if(e<=0)return{ee:0,er:0};let n=e<=10?0:e<=5e3?20*Math.ceil(e/20):e<=2e4?5e3+100*Math.ceil((e-5e3)/100):null,a=null!==n&&(11===t&&o===(e<=5e3?13:12)||5.5===t&&o===(e<=5e3?6.5:6)||0===t&&4===o)?n:e;return{ee:Math.ceil(t/100*a),er:Math.ceil(o/100*a)}}function k(e,t){let o="none"===t?null:E(m,f,e);if(!o)return{ee:0,er:0,skbbk:0};let n="first"===t||"first-lindung"===t,a=n?o[2]:0;return{ee:a,er:n?o[1]:o[4],skbbk:"first-lindung"===t||"second-lindung"===t?o[3]:0}}function C(e,t){if(!t)return{ee:0,er:0};let o=E(b,g,e);return o?{ee:o[1],er:o[1]}:{ee:0,er:0}}function P(e,t,o,n){if(t.nonResident){let t=.3*e;return{taxY:t,chargeable:e,reliefs:0,grossTax:t,rebate:0,zakatRebate:0}}let a=9e3+Math.min(o,4e3)+Math.min(n,350)+4e3*("spouse-no-income"===t.marital)+2e3*t.children+t.other,r=Math.max(0,e-a),i=function(e){if(e<=0)return 0;for(let t=y.length-1;t>=0;t--){let o=y[t];if(e>o[0])return o[1]+(e-o[0])*o[2]}return 0}(r),s=r>0&&r<=35e3?Math.min(400,i):0,l=Math.max(0,i-s),c=Math.min(t.zakat,l);return{taxY:Math.max(0,l-c),chargeable:r,reliefs:a,grossTax:i,rebate:s,zakatRebate:c}}let z=new Intl.NumberFormat("en-MY",{minimumFractionDigits:2,maximumFractionDigits:2}),R=new Intl.NumberFormat("en-MY",{maximumFractionDigits:0});function F(e){return"RM".concat(z.format(e))}function M(e){return z.format(e)}let T={textPrimary:"#072340",textSecondary:"#394F66",textTertiary:"#666666",textHint:"#4F6982",textContrast:"#FFFFFF",fill:"#3884D9",fillHover:"#2161AB",interactiveText:"#0F70E6",interactiveBorder:"#7FAFE6",subtle:"#EBF3FB",medium:"#D9E8F7",bgPage:"#F8F8F8",bgPanel:"#FFFFFF",borderDefault:"#A4A5A6",borderSubtle:"#B5BDC6",borderHairline:"#E6E9EC",error:"#CE331F",navyGradient:"linear-gradient(135deg, #072340 0%, #0D3566 100%)",radiusPill:"200px",radiusCard:"16px",radiusInput:"8px",radiusChip:"4px",fontFamily:"'Mulish', system-ui, sans-serif"},I={salary:"",bonus:"",taxCat:"single",resident:"yes",calcFor:"combined",deduction:"",zakat:"",epfEeRate:"11",epfErRate:"13",socsoCat:"first-lindung",eis:"yes"};function W(e){let t=e.replace(/[^0-9.]/g,""),o=t.split("."),n=Number.parseFloat(o.length>2?"".concat(o[0],".").concat(o.slice(1).join("")):t);return Number.isFinite(n)?n:0}function H(e){let{label:t,hint:o,error:a,value:r,onChange:i}=e;return(0,n.jsxs)(s.A,{sx:{mb:"16px"}
1,children:[(0,n.jsx)(l.A,{component:"label",sx:{display:"block",fontSize:14,fontWeight:600,color:T.textPrimary,mb:"6px"},children:t}),(0,n.jsx)(c.A,{fullWidth:!0,value:r,onChange:e=>i(e.target.value),placeholder:"0.00",inputMode:"decimal",error:!!a,InputProps:{startAdornment:(0,n.jsx)(d.A,{position:"start",children:(0,n.jsx)(l.A,{sx:{fontSize:16,fontWeight:600,color:T.textSecondary},children:"RM"})})},sx:{"& .MuiOutlinedInput-root":{borderRadius:T.radiusInput,bgcolor:T.bgPanel}}}),a?(0,n.jsx)(l.A,{sx:{fontSize:12,fontWeight:600,color:T.error,mt:"6px"},children:a}):o?(0,n.jsx)(l.A,{sx:{fontSize:12,color:T.textHint,mt:"6px"},children:o}):null]})}function O(e){let{label:t,hint:o,value:a,onChange:r,options:i}=e;return(0,n.jsxs)(s.A,{sx:{mb:"16px"},children:[(0,n.jsx)(l.A,{component:"label",sx:{display:"block",fontSize:14,fontWeight:600,color:T.textPrimary,mb:"6px"},children:t}),(0,n.jsx)(u.A,{fullWidth:!0,size:"medium",value:a,onChange:e=>r(e.target.value),sx:{borderRadius:T.radiusInput,bgcolor:T.bgPanel},children:i.map(e=>(0,n.jsx)(h.A,{value:e.value,children:e.label},e.value))}),o?(0,n.jsx)(l.A,{sx:{fontSize:12,color:T.textHint,mt:"6px"},children:o}):null]})}function N(e){let{label:t,open:o,onToggle:r,children:i}=e;return(0,n.jsxs)(s.A,{children:[(0,n.jsxs)(s.A,{component:"button",type:"button",onClick:r,"aria-expanded":o,sx:{display:"flex",alignItems:"center",gap:"8px",fontSize:14,fontWeight:700,color:T.interactiveText,background:"none",border:"none",p:"6px 0",cursor:"pointer",font:"inherit"},children:[t,(0,n.jsx)(a.A,{fontSize:"small",sx:{transform:o?"rotate(180deg)":"none",transition:"transform .2s ease"}})]}),(0,n.jsx)(x.A,{in:o,children:(0,n.jsx)(s.A,{sx:{pt:"16px"},children:i})})]})}function B(e){let{href:t,children:o}=e;return(0,n.jsxs)(s.A,{component:"a",href:t,target:"_blank",rel:"noopener noreferrer",sx:{color:T.interactiveText,fontWeight:700,textDecoration:"underline",textUnderlineOffset:"2px"},children:[o,(0,n.jsx)(i.A,{sx:{fontSize:13,verticalAlign:"-2px",ml:"2px"}})]})}let Y="RM1,000,000";function D(){let[e,t]=(0,p.useState)(I),[o,a]=(0,p.useState)(!1),[i,c]=(0,p.useState)(!1),[d,u]=(0,p.useState)(!1),[h,x]=(0,p.useState)(!1),[m,f]=(0,p.useState)(null),b="bonus-only"===e.calcFor,g=W(e.salary),y=W(e.bonus),E=W(e.deduction),z=W(e.zakat),D=(b?y<=0:g<=0)||d&&!h;function K(e){t(t=>({...t,...e})),x(!0)}let _=null==m?void 0:m.result,L=_?b?m.inputs.bonus:m.inputs.salary:0,G=_?[{key:"net",label:"Take-home pay",amount:_.netM,color:T.fill},{key:"con",label:"Your contributions",amount:_.statEE,color:T.interactiveBorder},{key:"tax",label:"Income tax",amount:_.taxM,color:T.medium}].filter(e=>"net"===e.key||e.amount>0):[],V=_?function(e){var t;return 0!==e.taxY?"":e.chargeable<=0?"No income tax due. Your tax reliefs of RM".concat((t=e.reliefs,R.format(t))," cover your whole annual income, so you have no chargeable income."):e.grossTax<=0?"No income tax due. Your chargeable income of ".concat(F(e.chargeable)," falls within the first RM5,000, which is taxed at 0%."):e.zakatRebate>0&&e.grossTax-e.rebate<=e.zakatRebate?"No income tax due. Your tax works out to ".concat(F(e.grossTax)," for the year, and your rebates").concat(e.rebate>0?" (RM400 plus your zakat)":" (your zakat)"," reduce that to nil."):e.rebate>0?"No income tax due. Your tax works out to ".concat(F(e.grossTax)," for the year, and the RM400 rebate for chargeable income up to RM").concat(R.format(35e3)," reduces that to nil."):""}(_):"";return(0,n.jsx)(s.A,{component:"section","aria-label":"Malaysia salary calculator",sx:{fontFamily:T.fontFamily,color:T.textPrimary,bgcolor:T.bgPage,px:{xs:"16px",md:"24px",xl:"40px"},py:{xs:"40px",md:"64px",xl:"80px"},'& a:focus-visible, & button:focus-visible, & summary:focus-visible, & [role="button"]:focus-visible':{outline:"2px solid ".concat(T.fill),outlineOffset:"2px",borderRadius:T.radiusChip}},children:(0,n.jsxs)(s.A,{sx:{maxWidth:1200,mx:"auto"},children:[(0,n.jsxs)(s.A,{sx:{display:"grid",gridTemplateColumns:{xs:"minmax(0, 1fr)",lg:"minmax(0, 0.92fr) minmax(0, 1.08fr)"},gap:{xs:"24px",md:"24px",lg:"32px"},alignItems:"start"},children:[(0,n.jsxs)(s.A,{sx:{bgcolor:T.bgPanel,border:"1px solid ".concat(T.borderHairline),borderRadius:T.radiusCard,p:{xs:"16px",sm:"24px"}},children:[(0,n.jsx)(l.A,{variant:"h3",sx:{fontSize:22,lineHeight:"30px",fontWeight:700,mb:"24px"},children:"Your salary details"}),(0,n.jsxs)(s.A,{component:"form",noValidate:!0,onSubmit:t=>{t.preventDefault(),function(){if(b?y<=0:g<=0)return;let t=function(e){var t,o;let n={salary:Math.min((t={salary:W(e.salary),bonus:W(e.bonus),other:W(e.deduction),zakat:W(e.zakat),children:0}).salary,1e6),bonus:Math.min(t.bonus,1e7),other:Math.min(t.other,1e6),zakat:Math.min(t.zakat,1e6),children:Math.min(t.children,15)},{marital:a,children:r}="single"===(o=e.taxCat)?{marital:"single",children:0}:{marital:"p"===o.charAt(1)?"spouse-no-income":"spouse-working",children:Math.min(Number.parseInt(o.slice(2),10)||0,15)};return{salary:n.salary,bonus:n.bonus,other:n.other,zakat:n.zakat,children:r,marital:a,nonResident:"no"===e.resident,mode:e.calcFor,epfEeRate:Number.parseFloat(e.epfEeRate),epfErRate:Number.parseFloat(e.epfErRate),socsoCat:e.socsoCat,
1incEis:"yes"===e.eis}}(e);f({inputs:t,result:function(e){if("bonus-only"!==e.mode){let t=e.salary,o=w(t,e.epfEeRate,e.epfErRate),n=k(t,e.socsoCat),a=C(t,e.incEis),r=o.ee+n.ee+n.skbbk+a.ee,i=o.er+n.er+a.er,s=12*t+e.bonus,l=P(s,e,12*o.ee,(n.ee+a.ee)*12),c=l.taxY/12;return{mode:e.mode,epfEE:o.ee,epfER:o.er,socsoEE:n.ee,socsoER:n.er,skbbk:n.skbbk,eisEE:a.ee,eisER:a.er,statEE:r,statER:i,annualGross:s,reliefs:l.reliefs,chargeable:l.chargeable,grossTax:l.grossTax,rebate:l.rebate,zakatRebate:l.zakatRebate,taxY:l.taxY,taxM:c,netM:t-r-c,netY:s-12*r-l.taxY,erCost:t+i}}let t=e.salary,o=e.salary+e.bonus,n=w(t,e.epfEeRate,e.epfErRate),a=w(o,e.epfEeRate,e.epfErRate),r=k(t,e.socsoCat),i=k(o,e.socsoCat),s=C(t,e.incEis),l=C(o,e.incEis),c=a.ee-n.ee,d=a.er-n.er,u=i.ee+i.skbbk-(r.ee+r.skbbk),h=i.er-r.er,x=l.ee-s.ee,p=l.er-s.er,m=c+u+x,f=d+h+p,b=12*n.ee,g=(r.ee+s.ee)*12,y=P(12*t,e,b,g),S=P(12*t+e.bonus,e,b,g),j=Math.max(0,S.taxY-y.taxY),v=e.bonus,A=e.bonus-m-j;return{mode:e.mode,epfEE:c,epfER:d,socsoEE:u,socsoER:h,skbbk:0,eisEE:x,eisER:p,statEE:m,statER:f,annualGross:v,reliefs:y.reliefs,chargeable:S.chargeable,grossTax:S.grossTax,rebate:S.rebate,zakatRebate:S.zakatRebate,taxY:j,taxM:j,netM:A,netY:A,erCost:e.bonus+f}}(t)}),u(!0),x(!1)}()},children:[(0,n.jsx)(H,{label:"Gross monthly salary",value:e.salary,onChange:e=>K({salary:e}),error:g>1e6?"Cannot be more than ".concat(Y,". The figure has been capped."):void 0,hint:"Before any deductions, and excluding your annual bonus."}),(0,n.jsx)(H,{label:"Annual bonus (optional)",value:e.bonus,onChange:e=>K({bonus:e}),error:y>1e7?"Cannot be more than ".concat("RM10,000,000",". The figure has been capped."):void 0,hint:"Affects the income tax estimate only. EPF, SOCSO and EIS on bonus payments are not modelled here, because the treatment varies by employer."}),(0,n.jsx)(N,{label:"More salary options",open:o,onToggle:()=>a(e=>!e),children:(0,n.jsxs)(s.A,{sx:{display:"grid",gridTemplateColumns:{xs:"minmax(0, 1fr)",md:"minmax(0, 1fr) minmax(0, 1fr)",lg:"minmax(0, 1fr)"},gap:{xs:0,md:"0 16px",lg:0}},children:[(0,n.jsx)(O,{label:"Tax category",value:e.taxCat,onChange:e=>K({taxCat:e}),options:A,hint:"Sets the spouse and child reliefs used in your income tax estimate."}),(0,n.jsx)(O,{label:"Tax resident",value:e.resident,onChange:e=>K({resident:e}),options:[{value:"yes",label:"Yes"},{value:"no",label:"No"}],hint:"Non-residents are taxed at a flat 30% with no reliefs or rebates."}),(0,n.jsx)(O,{label:"Calculate for",value:e.calcFor,onChange:e=>K({calcFor:e}),options:[{value:"combined",label:"Salary and bonus"},{value:"bonus-only",label:"Bonus only"}],hint:"Bonus only isolates the contributions and tax that your bonus itself adds, on top of your salary."}),(0,n.jsx)(H,{label:"Allowable deduction (optional)",value:e.deduction,onChange:e=>K({deduction:e}),error:E>1e6?"Cannot be more than ".concat(Y,". The figure has been capped."):void 0,hint:"Other approved reliefs you're claiming, e.g. life insurance, SSPN, lifestyle, medical or education relief. This is on top of the automatic EPF relief already applied below."}),(0,n.jsx)(O,{label:"Employee EPF rate",value:e.epfEeRate,onChange:e=>K({epfEeRate:e}),options:S.map(e=>({value:String(e),label:0===e?"No EPF contribution":"".concat(e,"%")})),hint:"The statutory default is 11%. A different rate is treated as a voluntary contribution."}),(0,n.jsx)(O,{label:"Employer EPF rate",value:e.epfErRate,onChange:e=>K({epfErRate:e}),options:j.map(e=>({value:String(e),label:0===e?"No EPF contribution":"".concat(e,"%")})),hint:"The statutory default is 13% up to RM5,000 wages, and 12% above that. Whichever rate you pick is applied exactly as selected."}),(0,n.jsx)(O,{label:"SOCSO category",value:e.socsoCat,onChange:e=>K({socsoCat:e}),options:v,hint:"Most employees under 60 are enrolled in the first category. Lindung 24 is the voluntary Non-Employment Injury Scheme, employee-funded from 1 June 2026."}),(0,n.jsx)(O,{label:"EIS contribution",value:e.eis,onChange:e=>K({eis:e}),options:[{value:"yes",label:"Yes"},{value:"no",label:"No"}],hint:"Employment Insurance System, 0.2% each side up to the RM6,000 wage ceiling."}),(0,n.jsx)(H,{label:"Muslim zakat fund (optional)",value:e.zakat,onChange:e=>K({zakat:e}),error:z>1e6?"Cannot be more than ".concat(Y,". The figure has been capped."):void 0,hint:"Zakat or fitrah paid this year. Deducted directly from your tax payable, ringgit for ringgit."})]})}),(0,n.jsxs)(s.A,{sx:{display:"flex",flexDirection:"column",gap:"16px",mt:"24px"},children:[(0,n.jsxs)(s.A,{children:[(0,n.jsx)(s.A,{component:"button",type:"submit",disabled:D,sx:{width:"100%",display:"inline-flex",alignItems:"center",justifyContent:"center",gap:"8px",minHeight:"56px",p:"16px 32px",borderRadius:T.radiusPill,border:"1px solid transparent",fontFamily:"inherit",fontSize:16,fontWeight:700,cursor:D?"not-allowed":"pointer",bgcolor:D?"#F5F5F5":T.fill,color:D?"#6F8296":T.textContrast,transition:"background-color .2s ease","&:hover":D?void 0:{bgcolor:T.fillHover}},children:"Calculate my take-home pay"}
1),(0,n.jsxs)(s.A,{sx:{display:"flex",alignItems:"flex-start",gap:"7px",mt:"8px",fontSize:12,lineHeight:"18px",color:T.textHint},children:[(0,n.jsx)(r.A,{sx:{fontSize:16,mt:"1px",flex:"none",color:T.fill}}),(0,n.jsx)("span",{style:{minWidth:0},children:"This calculator covers private-sector employees under 60. Use “More salary options” to set your tax residency, EPF rates, SOCSO category and other reliefs if the statutory defaults don't apply to you."})]}),d&&h?(0,n.jsx)(l.A,{sx:{fontSize:12,lineHeight:"18px",color:T.textHint,mt:"8px"},children:"Your details have changed. Calculate again to update the figures."}):null]}),(0,n.jsx)(s.A,{component:"button",type:"button",onClick:function(){t(I),a(!1),u(!1),x(!1),f(null)},sx:{display:"inline-flex",alignItems:"center",justifyContent:"center",minHeight:"56px",p:"16px 32px",borderRadius:T.radiusPill,border:"1px solid transparent",background:"transparent",color:T.interactiveText,fontFamily:"inherit",fontSize:16,fontWeight:700,cursor:"pointer","&:hover":{bgcolor:"rgba(56, 132, 217, .06)"}},children:"Start over"})]})]})]}),(0,n.jsxs)(s.A,{sx:{position:{lg:"sticky"},top:{lg:"24px"}},children:[_?(0,n.jsxs)(s.A,{children:[(0,n.jsxs)(s.A,{sx:{border:"1px solid ".concat(T.borderSubtle),borderRadius:T.radiusCard,bgcolor:T.bgPanel,p:"24px",display:"flex",flexDirection:"column",gap:"8px"},children:[(0,n.jsxs)(s.A,{sx:{display:"grid",gridTemplateColumns:{xs:"minmax(0, 1fr)",md:"minmax(0, 1fr) minmax(0, 1fr)"},gap:{xs:"16px",md:"24px"}},children:[(0,n.jsxs)(s.A,{children:[(0,n.jsx)(l.A,{sx:{fontSize:12,lineHeight:"18px",fontWeight:600,color:T.textSecondary},children:b?"Take-home from your bonus":"Estimated monthly take-home pay"}),(0,n.jsx)(l.A,{sx:{fontSize:{xs:24,md:28},lineHeight:{xs:"32px",md:"36px"},fontWeight:800,color:T.interactiveText,whiteSpace:"nowrap"},children:F(_.netM)})]}),(0,n.jsxs)(s.A,{children:[(0,n.jsx)(l.A,{sx:{fontSize:12,lineHeight:"18px",fontWeight:600,color:T.textSecondary},children:b?"Deducted from your bonus":"Estimated annual take-home pay"}),(0,n.jsx)(l.A,{sx:{fontSize:{xs:24,md:28},lineHeight:{xs:"32px",md:"36px"},fontWeight:800,color:T.interactiveText,whiteSpace:"nowrap"},children:b?F(_.statEE+_.taxY):F(_.netY)})]})]}),(0,n.jsx)(l.A,{sx:{fontSize:12,lineHeight:"18px",color:T.textSecondary},children:b?"This isolates what your ".concat(F(m.inputs.bonus)," bonus itself adds on top of your ").concat(F(m.inputs.salary)," salary this month, using the same marginal method LHDN's PCB formula uses for additional remuneration."):[m.inputs.bonus>0?"The annual figure includes your ".concat(F(m.inputs.bonus)," bonus, so it is more than twelve times the monthly figure."):"","Both figures are after EPF, SOCSO, EIS and the income tax estimate."].filter(Boolean).join(" ")})]}),(0,n.jsxs)(s.A,{sx:{bgcolor:T.subtle,border:"1px solid ".concat(T.medium),borderRadius:T.radiusCard,p:"16px",mt:"16px"},children:[(0,n.jsxs)(l.A,{sx:{fontSize:16,lineHeight:"22px",fontWeight:700,mb:"12px"},children:["Where your"," ",b?"bonus goes":"salary goes each month"]}),(0,n.jsx)(s.A,{"aria-hidden":"true",sx:{display:"flex",height:"28px",borderRadius:T.radiusPill,overflow:"hidden",bgcolor:T.bgPanel,border:"1px solid ".concat(T.medium)},children:G.map(e=>(0,n.jsx)(s.A,{sx:{flex:"0 0 ".concat(L>0?(e.amount/L*100).toFixed(2):0,"%"),bgcolor:e.color,"&:not(:first-of-type)":{borderLeft:"2px solid ".concat(T.bgPanel)}}},e.key))}),(0,n.jsx)(s.A,{component:"ul",sx:{listStyle:"none",m:"16px 0 0",p:0},children:G.map(e=>{let t=L>0?e.amount/L*100:0;return(0,n.jsxs)(s.A,{component:"li",sx:{display:"flex",alignItems:"baseline",gap:"8px",py:"6px"},children:[(0,n.jsx)(s.A,{sx:{flex:"none",width:"12px",height:"12px",borderRadius:"3px",border:"1px solid ".concat(T.medium),bgcolor:e.color}}),(0,n.jsx)(l.A,{sx:{fontSize:14,lineHeight:"20px"},children:e.label}),(0,n.jsxs)(l.A,{sx:{ml:"auto",fontSize:14,lineHeight:"20px",whiteSpace:"nowrap"},children:[(0,n.jsx)(s.A,{component:"b",sx:{fontWeight:700},children:F(e.amount)}),(0,n.jsxs)(s.A,{component:"i",sx:{fontStyle:"normal",color:T.textTertiary,ml:"6px"},children:[t.toFixed(1),"%"]})]})]},e.key)})}),(0,n.jsx)(l.A,{sx:{fontSize:12,lineHeight:"18px",color:T.textSecondary,mt:"16px"},children:"Your EPF contribution leaves your pay but not your pocket. It moves into your own retirement savings, so treat it as money saved rather than money spent."})]}),(0,n.jsxs)(s.A,{sx:{bgcolor:T.subtle,border:"1px solid ".concat(T.medium),borderRadius:T.radiusCard,p:"16px",mt:"16px"},children:[(0,n.jsx)(l.A,{sx:{fontSize:16,lineHeight:"22px",fontWeight:700,mb:"12px"},children:"Salary statement (in RM)"}),(0,n.jsxs)(s.A,{sx:{pb:"12px"},children:[(0,n.jsxs)(s.A,{sx:{display:"flex",justifyContent:"space-between",gap:"16px",py:"5px",fontSize:14,lineHeight:"20px"},children:[(0,n.jsx)("span",{children:b?"Bonus amount":"Gross monthly salary"}),(0,n.jsx)(s.A,{component:"span",sx:{fontWeight:700,whiteSpace:"nowrap"},children:b?F(m.inputs.bonus):F(m.inputs.salary)})]}),!b&&m.inputs.bonus>0?(0,n.jsxs)(s.A,{sx:{display:"flex",justifyContent:"space-between",gap:"16px",py:"5px",fontSize:14,lineHeight:"20px"},children:[(0,n.jsx)("span",{children:"Annual bonus"}),(0,n.jsx)(s.A,{component:"span",sx:{fontWeight:700,whiteSpace:"nowrap"},children:F(m.inputs.bonus)})]}):null]}),(0,n.jsxs)(s.A,{component:"table",sx:{width:"100%",borderCollapse:"collapse",pt:"12px",borderTop:"1px solid ".concat(T.medium)},children:[(0,n.jsx)("caption",{style:{textAlign:"left",fontSize:12,lineHeight:"18px",color:T.textSecondary,paddingBottom:12},children:"Statutory contributions and income tax"}),(0,n.jsx)("thead",{children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{scope:"col",children:(0,n.jsx)("span",{style:{position:"absolute",width:1,height:1,overflow:"hidden",clip:"rect(0 0 0 0)"},children:"Contribution"})}
1),["Employer","You","Combined"].map(e=>(0,n.jsx)("th",{scope:"col",style:{width:"22%",textAlign:"right",fontSize:12,lineHeight:"16px",fontWeight:700,color:T.textSecondary,borderBottom:"1px solid ".concat(T.medium),paddingBottom:8},children:e},e))]})}),(0,n.jsxs)("tbody",{children:[[{label:"EPF (KWSP)",er:_.epfER,ee:_.epfEE},{label:"SOCSO (PERKESO)",er:_.socsoER,ee:_.socsoEE},{label:"EIS (SIP)",er:_.eisER,ee:_.eisEE}].map(e=>(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{scope:"row",style:{textAlign:"left",fontWeight:400,fontSize:14,lineHeight:"20px",color:T.textPrimary,paddingRight:12,paddingTop:10,paddingBottom:10,borderBottom:"1px solid ".concat(T.medium)},children:e.label}),[e.er,e.ee,e.er+e.ee].map((e,t)=>(0,n.jsx)("td",{style:{textAlign:"right",fontSize:15,fontWeight:700,color:T.textPrimary,whiteSpace:"nowrap",padding:"10px 0",borderBottom:"1px solid ".concat(T.medium)},children:M(e)},t))]},e.label)),(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{scope:"row",style:{textAlign:"left",fontWeight:400,fontSize:14,lineHeight:"20px",color:T.textPrimary,paddingRight:12,paddingTop:10,paddingBottom:10,borderBottom:"1px solid ".concat(T.medium)},children:"Income tax"}),(0,n.jsx)("td",{"aria-label":"Employers pay no part of income tax",style:{padding:"10px 0",borderBottom:"1px solid ".concat(T.medium)}}),(0,n.jsx)("td",{style:{textAlign:"right",fontSize:15,fontWeight:700,color:T.textPrimary,whiteSpace:"nowrap",padding:"10px 0",borderBottom:"1px solid ".concat(T.medium)},children:M(_.taxM)}),(0,n.jsx)("td",{style:{textAlign:"right",fontSize:15,fontWeight:700,color:T.textPrimary,whiteSpace:"nowrap",padding:"10px 0",borderBottom:"1px solid ".concat(T.medium)},children:M(_.taxM)})]})]}),(0,n.jsx)("tfoot",{children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{scope:"row",style:{textAlign:"left",fontWeight:700,fontSize:14,color:T.interactiveText,paddingTop:12,borderTop:"2px solid ".concat(T.borderSubtle)},children:"Total"}),[_.statER,_.statEE+_.taxM,_.statER+_.statEE+_.taxM].map((e,t)=>(0,n.jsx)("td",{style:{textAlign:"right",fontSize:17,fontWeight:800,color:T.interactiveText,whiteSpace:"nowrap",paddingTop:12,borderTop:"2px solid ".concat(T.borderSubtle)},children:M(e)},t))]})})]}),V?(0,n.jsxs)(s.A,{sx:{display:"flex",alignItems:"flex-start",gap:"7px",mt:"12px",p:"10px 12px",bgcolor:T.subtle,borderRadius:T.radiusInput,fontSize:12,lineHeight:"18px"},children:[(0,n.jsx)(r.A,{sx:{fontSize:16,mt:"1px",flex:"none",color:T.fill}}),(0,n.jsx)("span",{style:{minWidth:0},children:V})]}):null,(0,n.jsxs)(l.A,{sx:{fontSize:12,lineHeight:"18px",color:T.textSecondary,mt:"12px"},children:["Income tax is an estimate produced from the official YA 2025 rate table, not an official PCB figure."," ",(0,n.jsx)(B,{href:"https://calcpcbplus.hasil.gov.my/HITS_CE/MainScreen",children:"Check your actual PCB with LHDN"})]})]}),(0,n.jsx)(s.A,{role:"status","aria-live":"polite",sx:{position:"absolute",width:1,height:1,overflow:"hidden",clip:"rect(0 0 0 0)"},children:b?"Take-home from your bonus ".concat(F(_.netM),". ")+"Deducted from your bonus ".concat(F(_.statEE+_.taxY),"."):"Estimated monthly take-home pay ".concat(F(_.netM),". ")+"Estimated annual take-home pay ".concat(F(_.netY),". ")+"Your statutory contributions ".concat(F(_.statEE)," a month. ")+"Estimated monthly income tax ".concat(F(_.taxM),".")})]}):(0,n.jsxs)(s.A,{sx:{border:"1px dashed ".concat(T.borderDefault),borderRadius:T.radiusCard,p:{xs:"32px 24px"},textAlign:"center",color:T.textSecondary,fontSize:14,lineHeight:"22px"},children:[(0,n.jsx)(l.A,{sx:{fontSize:16,fontWeight:700,color:T.textPrimary,mb:"6px"},children:"No estimate available yet"}),"Enter your gross monthly salary to see your contributions and estimated take-home pay."]}),(0,n.jsx)(s.A,{sx:{mt:"24px"},children:(0,n.jsx)(N,{label:"Disclaimer and sources",open:i,onToggle:()=>c(e=>!e),children:(0,n.jsxs)(s.A,{sx:{fontSize:12,lineHeight:"18px",color:T.textSecondary},children:[(0,n.jsx)(l.A,{sx:{fontSize:12,lineHeight:"18px",color:T.textSecondary,mb:"12px"},children:"This calculator is a guide, not a payslip. Your employer's payroll is the record that counts, and LHDN, KWSP and PE
1RKESO are the only authorities on your actual figures."}),(0,n.jsx)(l.A,{sx:{fontSize:12,fontWeight:700,color:T.textSecondary,mb:"6px"},children:"What is exact and what is estimated"}),(0,n.jsxs)(s.A,{component:"ul",sx:{m:"0 0 12px",pl:"20px"},children:[(0,n.jsx)("li",{children:"EPF, SOCSO, EIS and Non-Employment Injury Scheme figures are read from the published statutory tables for the wage band you enter."}),(0,n.jsxs)("li",{children:["The income tax figure is an ",(0,n.jsx)("strong",{children:"estimate"}),", produced by annualising your income and applying the official YA 2025 resident individual tax rate table. It was driven against the official LHDN Kalkulator PCB with matched inputs and reproduced the published PCB to within one sen on a steady monthly salary, but it is still an estimate rather than an official PCB figure."]}),(0,n.jsx)("li",{children:"Nothing here is projected forward. This calculator does not estimate your future EPF balance, investment returns or retirement savings, because it does not collect the inputs that would need."})]}),(0,n.jsx)(l.A,{sx:{fontSize:12,fontWeight:700,color:T.textSecondary,mb:"6px"},children:"Who this covers"}),(0,n.jsxs)(s.A,{component:"ul",sx:{m:"0 0 12px",pl:"20px"},children:[(0,n.jsx)("li",{children:"Private-sector employees under 60. EPF rate, EPF Employer rate, SOCSO category, EIS contribution and tax residency are all selectable under “More salary options”, so you can model most citizen, permanent-resident and non-citizen arrangements yourself by choosing the combination that matches your actual payslip. This calculator does not ask your age directly; instead it trusts the rate and category you select."}),(0,n.jsx)("li",{children:"The voluntary Non-Employment Injury Scheme (LINDUNG 24 JAM), live from 1 June 2026 at 0.75% of insured wages, is included when you choose either of the two “Lindung 24” SOCSO categories. It does not appear under the other three categories."})]}),(0,n.jsx)(l.A,{sx:{fontSize:12,fontWeight:700,color:T.textSecondary,mb:"6px"},children:"Known limitations"}),(0,n.jsxs)(s.A,{component:"ul",sx:{m:"0 0 12px",pl:"20px"},children:[(0,n.jsx)("li",{children:"Bonus Only mode isolates your bonus's contributions and tax using the marginal method: the difference between “with bonus” and “salary alone” in the same pay month. This mirrors the incremental method LHDN's own PCB formula uses for additional remuneration, but for simplicity it holds your annual relief baseline (from your salary-only EPF, SOCSO and EIS) constant across both scenarios, rather than recomputing it month by month."}),(0,n.jsx)("li",{children:"Allowable Deduction is a single figure you enter yourself for reliefs this calculator doesn't otherwise collect, e.g. life insurance, SSPN, lifestyle, medical or education relief. It is on top of, and does not double-count, the automatic EPF/SOCSO/EIS relief already applied below."}),(0,n.jsx)("li",{children:"Zakat is applied as a rebate against tax payable, under Section 6A(3) of the Income Tax Act 1967, so unlike the RM400 personal rebate it is not restricted to chargeable income of RM35,000 or below. It can only reduce your tax payable to zero, never below it."}),(0,n.jsx)("li",{children:"Monthly tax deductions already paid, previous employment in the same year, and approved TP1 and TP3 claims are not collected."}),(0,n.jsx)("li",{children:"Tax Category's “spouse working” options still grant the full RM2,000-per-child relief, assuming only one parent claims it. If you and your spouse split the child relief between you, your actual tax will be higher than this estimate shows."}),(0,n.jsx)("li",{children:"Whichever Employee and Employer EPF rate you select is applied exactly as chosen, and only gets the wage-band Third Schedule treatment when it exactly matches the statutory pair for the wage you entered (11%/13% or 11%/12% for Part A, 5.5%/6.5% or 5.5%/6% for Part C, 0%/4% for Part E). If your wage is above RM5,000 and you leave Employer EPF Rate at 13% instead of switching it to 12%, this calculator applies 13% exactly, not the 12% the Third Sc
1hedule would otherwise require, because it takes your selection at face value rather than second-guessing it."}),(0,n.jsx)("li",{children:"A non-standard Employee or Employer EPF rate is treated as a voluntary contribution: KWSP's Third Schedule only publishes a wage-band table for the statutory rate pairs (11%/13% or 11%/12% for Part A, 5.5%/6.5% or 5.5%/6% for Part C, 0%/4% for Part E, and the non-citizen flat 2%/2% for Part F). Any other rate you select is calculated as an exact percentage of your wage, rounded up to the next ringgit, per KWSP's general contribution-rounding rule, rather than looked up in that table."}),(0,n.jsx)("li",{children:"EPF is a wage-band lookup for the statutory rate pairs above, not a percentage of your exact salary, which is why two nearby salaries can produce the same contribution. This calculator has been checked against every one of the 1,203 band rows in Parts A, C and E of the official Third Schedule effective 1 October 2025, and reproduces all of them exactly. Wages above RM20,000 fall past the end of the table, where the exact percentage applies regardless of the rate you select."}),(0,n.jsx)("li",{children:"EPF, SOCSO and EIS can each be excluded above by choosing “No EPF contribution”, “No contribution” or “No” respectively. Excluding a contribution changes your take-home figures and, for EPF and SOCSO/EIS, the tax relief derived from it."})]}),(0,n.jsx)(l.A,{sx:{fontSize:12,fontWeight:700,color:T.textSecondary,mb:"6px"},children:"Official sources"}),(0,n.jsxs)(s.A,{component:"ul",sx:{m:"0 0 12px",pl:"20px"},children:[(0,n.jsx)("li",{children:(0,n.jsx)(B,{href:"https://www.kwsp.gov.my/en/employer/responsibilities/mandatory-contribution",children:"KWSP, EPF mandatory contribution rates and Third Schedule"})}),(0,n.jsxs)("li",{children:[(0,n.jsx)(B,{href:"https://www.kwsp.gov.my/documents/d/guest/third_schedule_from_-1-october-2025",children:"KWSP, EPF Act 1991 Third Schedule effective 1 October 2025"}),", the source the EPF figures in this calculator are checked against"]}),(0,n.jsx)("li",{children:(0,n.jsx)(B,{href:"https://www.kwsp.gov.my/en/member/overview/contribution",children:"KWSP, member contribution overview"})}),(0,n.jsx)("li",{children:(0,n.jsx)(B,{href:"https://www.malaysia.gov.my/en/categories/career/employee-rights-and-benefits/epf-contribution-as-employees-rights",children:"MyGovernment, EPF contribution as an employee's right"})}),(0,n.jsx)("li",{children:(0,n.jsx)(B,{href:"https://www.perkeso.gov.my/en/rate-of-contribution.html",children:"PERKESO, rate of contribution for Act 4 and Act 800"})}),(0,n.jsxs)("li",{children:[(0,n.jsx)(B,{href:"https://www.perkeso.gov.my/images/dokumen/151124-Rate%20Contribution%20ACT%204.pdf",children:"PERKESO, rate of contribution for Employees' Social Security Act 1969 (Act 4)"}),", dated 15 November 2024, the source the SOCSO figures are checked against"]}),(0,n.jsxs)("li",{children:[(0,n.jsx)(B,{href:"https://www.perkeso.gov.my/images/dokumen/151124-Rate%20Contribution%20ACT%20800.pdf",children:"PERKESO, rate of contribution Employment Insurance System (Act 800)"}),", dated 15 November 2024, the source the EIS figures are checked against"]}),(0,n.jsx)("li",{children:(0,n.jsx)(B,{href:"https://calcpcbplus.hasil.gov.my/HITS_CE/MainScreen",children:"LHDN, official Kalkulator PCB"})}),(0,n.jsxs)("li",{children:[(0,n.jsx)(B,{href:"https://kpmg.com.my/kpmg/publications/tax/22/a0053s0006a.htm",children:"Income Tax Act 1967, Section 6A"}),", the statutory basis for treating zakat and fitrah paid as a tax rebate rather than a relief"]}),(0,n.jsxs)("li",{children:[(0,n.jsx)(B,{href:"https://www.mida.gov.my/setting-up-content/statutory-contributions/",children:"MIDA, statutory contributions"}),", used for the scheme descriptions and the governing Act names. Note that MIDA's published SOCSO and EIS wage ceiling of RM4,000 is out of date. The current ceiling is RM6,000, in force since 1 October 2024, and this calculator uses RM6,000."]})]}),(0,n.jsx)(l.A,{sx:{fontSize:12,lineHeight:"18px",color:T.textSecondary,mb:"12px"},children:"This webpage is not and does not constitute or form part of any offer, recommendation, invitation or solicitation to purchase any financial product or subscribe or enter any transaction. This webpage also does not take into account your personal circumstances, e.g. investment objectives, financial situation or particular needs and shall not constitute financial advice. You should consult your own independent financial, accounting, tax, legal or other competent professional advisors."}),(0,n.jsx)(l.A,{sx:{fontSize:12,lineHeight:"18px",color:T.textSecondary},children:"Contribution tables current as at 18 August 2026. Tax rates shown are for YA 2025."})]})})})]})]}),(0,n.jsx)(s.A,{sx:{background:T.navyGradient,borderRadius:T.radiusCard,p:{xs:"40px 24px",md:"64px 40px"},mt:"40px"},children:(0,n.jsxs)(s.A,{sx:{maxWidth:960,mx:"auto",textAlign:"center"},children:[(0,n.jsx)(l.A,{variant:"h3",sx:{fontSize:{xs:26,md:36},lineHeight:{xs:"34px",md:"46px"},fontWeight:800,color:T.textContrast,mb:"12px"},children:"Turn your income into long-term wealth"}),(0,n.jsx)(l.A,{sx:{fontSize:16,lineHeight:"26px",color:"rgba(255,255,255,.78)",mb:"24px"},children:"Knowing your take-home pay is just the start. Put part of what you earn to work by investing regularly with StashAway, and build a globally diversified portfolio designed around your goals and risk level."}),(0,n.jsx)(s.A,{component:"a",href:"https://app.stashaway.my/register",target:"_blank",rel:"noopener noreferrer",sx:{dis
1play:"inline-flex",alignItems:"center",justifyContent:"center",minHeight:"56px",p:"16px 32px",borderRadius:T.radiusPill,border:"1px solid transparent",bgcolor:T.fill,color:T.textContrast,fontSize:16,fontWeight:700,textDecoration:"none","&:hover":{bgcolor:T.fillHover}},children:"Start investing"}),(0,n.jsxs)(l.A,{sx:{fontSize:12,lineHeight:"18px",color:"rgba(255,255,255,.78)",mt:"24px"},children:["Important information: Investment returns can vary, and past or expected performance is not guaranteed. This content is for general information only and does not take into account your individual investment objectives, financial situation, or needs. It should not be considered financial advice or a recommendation to buy or sell any financial product. StashAway Malaysia Sdn Bhd (201701046385) is licensed by the Securities Commission Malaysia (eCMSL/A0352/2018)."," ",(0,n.jsx)(s.A,{component:"a",href:"https://www.stashaway.my/legal",target:"_blank",rel:"noopener noreferrer",sx:{color:T.interactiveBorder,fontWeight:700,textDecoration:"underline"},children:"Read the full disclaimer"}),"."]})]})})]})})}},70476:(e,t,o)=>{var n=o(65519);t.A=void 0;var a=n(o(57262)),r=o(65321);t.A=(0,a.default)((0,r.jsx)("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore")},89715:(e,t,o)=>{var n=o(65519);t.A=void 0;var a=n(o(57262)),r=o(65321);t.A=(0,a.default)((0,r.jsx)("path",{d:"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"}),"InfoOutlined")},93472:(e,t,o)=>{var n=o(65519);t.A=void 0;var a=n(o(57262)),r=o(65321);t.A=(0,a.default)((0,r.jsx)("path",{d:"M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3z"}),"OpenInNew")}}]);

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.