{"version":3,"sources":["reducers/auth.js","reducers/nav.js","reducers/tooltips.js","reducers/data.js","reducers/validation.js","reducers/memberTabs.js","reducers/index.js","store.js","utils/requireAcceptTerms.js","data/data.js","utils/validateLastScreen.js","components/statusBar.js","screens/acceptTerms.js","components/fields/inputField.js","components/fields/yearsOfService.js","components/fields/reviewField.js","components/fields/memberResultTabs.js","components/fields/memberResultsTable.js","components/field.js","screens/screen.js","screens/geoErrorMessage.js","screens/loading.js","images/pasers-logo.js","App.js","index.js"],"names":["initialState","hasAcceptedTerms","state","action","type","bool","acceptTerms","dispatch","currentNav","fontSize","className","updateCurrentNav","changeFontSize","toolTip","showTooltip","fields","results","updateData","key","value","calculateResults","getState","data","calculateAgeOnDate","date","dob","year","month","roundNum","num","numPlaces","parseFloat","Number","toFixed","formatter","Intl","NumberFormat","style","currency","ageOnDateOfHire","moment","hire_date","birthdate","ageOnDateOfRetirement","date_of_retirement","totalService","currentSalary","current_annual_salary","replace","asg","ann_salary_growth","aig","ann_investment_growth","periodTable","i","prevData","tableData","period","retirementYears","payProjection","onePercentStatutory","onePercentGrowth","Math","max","min","pow","push","finalAverageFiveAdjustment","interestAdjToAge67","satInterestAdjTo67","fasAtRetirement","accrualRate","vlookupCalc","returnValue","vlookup","ageOfRetireFloor","floor","ageOfRetireAddOne","difference","vlookup1","vlookup2","age67","map","d","retirementAge","DBVested","statutory_msla_pv_factor","option_1_factor","cost_neutral_factor","dateOfRetirementERF","yosEligibleA5","yosEligibleA6","ruleOf97","vlookupA51","vlookupA52","vlookupA61","vlookupA62","getColumn","columnName","a5_early_retirement","a6_early_retirement","dateOfRetirementErfBaseFactors","accrualRateAtRet_noErf","accrualRateAtRet_includingErf","DCVested","firstYear","label","annualSalary","format","span","a5","a6","investment","MSLA","totalInvestmentBalance","contributionsAndInterest","adjustedMSLA","dateOfRetirementEstimates","dateofRetirement","calendar","tooltip_id","tooltip","defferedMSLA","defferedContributionsAndInterest","defferedAdjustedMSLA","defferedToAge67Estimates","newValidation","changeValidation","tab","switchTab","createRootReducers","history","combineReducers","router","connectRouter","auth","nav","tooltips","validation","memberTabs","createBrowserHistory","middleware","next","window","dataLayer","event","payload","thunk","routerMiddleware","composedEnhancers","compose","applyMiddleware","store","createStore","requireAcceptTerms","ComposedComponent","defaultProps","AcceptTerms","props","localStorage","getItem","JSON","parse","this","error","info","console","log","nextProps","React","Component","connect","href","target","rel","Date","validateLastScreen","Validation","lastScreens","currentData","length","ls","lastScreen","hasOwnProperty","errors","sections","forEach","s","f","required","name","total","isValid","currentScreen","screens","screen","bindActionCreators","StatusBar","handleClick","bind","e","preventDefault","buttons","navSet","currentStep","onClick","statusBarTitle","title","scrolledTerms","sessionStorage","scrollTerms","setState","setItem","terms","text","tabIndex","onScroll","InputField","selectionStart","inputField","createRef","getSelectionStart","checkMinMax","parseValue","handleChange","current","val","regex","exec","lastIndex","setSelectionRange","x","split","x1","x2","rgx","test","minVal","maxVal","replacements","find","formats","addCommas","onChange","ref","id","ownProps","YearsOfService","getNewValue","options","newVal","o","k","defaultVal","valObj","Object","assign","forIn","v","select","tableCount","document","body","clientWidth","columns","tables","t","c","ck","columnRows","r","rk","onFocus","handleFocus","readOnly","step","ReviewField","fieldValue","fieldType","get","getMonth","getDate","getFullYear","MemberResultTabs","currentTab","tabs","MemberResultsTable","formatData","row","dollars","round","display","disclaimer","subLabel","rows","indexOf","colSpan","sup","data-tip","data-for","multiline","aria-haspopup","effect","ReactHtmlParser","Field","theField","theLabel","htmlFor","theValidation","selected","xmlns","width","height","viewBox","Screen","nextIndex","modalIsOpen","validateScreen","printScreen","stepBack","onUnload","addEventListener","prevIndex","prev","ss","sk","removeEventListener","print","buttonTextPrev","buttonTextNext","printBtn","resetApp","restartApp","modal","children","fk","hideTitle","layout","GeoErrorMessage","message","Loading","color","Logo","white","version","y","enableBackground","fill","App","cookieNotice","cookie","load","loading","lat","long","usa","top","bottom","left","right","usa_check","geolocationErr","removeCookieNotice","navigator","geolocation","getCurrentPosition","position","coords","latitude","lng","longitude","err","code","geoLocationErrorOne","geoLocationOther","save","path","expires","add","toDate","geoLocationCheck","screenNames","index","exact","component","cookie_notice","geolocationMessage","withRouter","user","ReactGA","initialize","plugin","require","pageview","location","pathname","search","root","querySelector","ReactDOM","render","basename"],"mappings":"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","file":"static/js/main.0f64701b.chunk.js","sourcesContent":["export const ACCEPT_TERMS = 'ACCEPT_TERMS';\r\n\r\nconst initialState = {\r\n hasAcceptedTerms: false\r\n};\r\n\r\nexport default (state = initialState, action = {}) => {\r\n switch(action.type) {\r\n case ACCEPT_TERMS:\r\n return {\r\n ...state,\r\n hasAcceptedTerms: action.bool\r\n };\r\n default: return state;\r\n }\r\n}\r\n\r\nexport const acceptTerms = (bool) => {\r\n return dispatch => {\r\n dispatch({\r\n type: ACCEPT_TERMS,\r\n bool\r\n })\r\n }\r\n}","export const UPDATE_CURRENT_NAV = 'UPDATE_CURRENT_NAV'\r\nexport const CHANGE_FONT_SIZE = 'CHANGE_FONT_SIZE'\r\n\r\nconst initialState = {\r\n currentNav: '',\r\n fontSize: 'small'\r\n}\r\n\r\nexport default (state = initialState, action) => {\r\n switch (action.type) {\r\n case UPDATE_CURRENT_NAV:\r\n return {\r\n ...state,\r\n currentNav: action.className\r\n }\r\n case CHANGE_FONT_SIZE:\r\n return {\r\n ...state,\r\n fontSize: action.fontSize\r\n }\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport const updateCurrentNav = (className) => {\r\n return dispatch => {\r\n dispatch({\r\n type: UPDATE_CURRENT_NAV,\r\n className: className\r\n })\r\n }\r\n}\r\n\r\nexport const changeFontSize = (fontSize) => {\r\n return dispatch => {\r\n dispatch({\r\n type: CHANGE_FONT_SIZE,\r\n fontSize\r\n })\r\n }\r\n}","export const SHOW_TOOLTIP = 'SHOW_TOOLTIP'\r\nexport const HIDE_TOOLTIP = 'HIDE_TOOLTIP'\r\n\r\nconst initialState = {\r\n toolTip: '',\r\n}\r\n\r\nexport default (state = initialState, action) => {\r\n switch (action.type) {\r\n case SHOW_TOOLTIP:\r\n return {\r\n ...state,\r\n toolTip: action.toolTip\r\n }\r\n\r\n case HIDE_TOOLTIP:\r\n return {\r\n ...state,\r\n toolTip: ''\r\n }\r\n\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport const showTooltip = (toolTip) => {\r\n return dispatch => {\r\n dispatch({\r\n type: SHOW_TOOLTIP,\r\n toolTip\r\n })\r\n }\r\n}\r\n\r\nexport const hideTooltip = () => {\r\n return dispatch => {\r\n dispatch({\r\n type: HIDE_TOOLTIP\r\n })\r\n }\r\n}","import React from 'react';\nimport moment from 'moment'\nimport data from './hardcodedFactors.json';\n\nexport const UPDATE_DATA = 'UPDATE_DATA'\nexport const CALCULATE_RESULTS = 'CALCULATE_RESULTS'\nexport const CLEAR_STATE = 'CLEAR_STATE'\n\nconst initialState = {\n fields: {},\n results: {}\n}\n\nexport default (state = initialState, action) => {\n switch (action.type) {\n case UPDATE_DATA:\n return {\n ...state,\n fields: {\n ...state.fields,\n ...action.fields\n }\n }\n\n case CLEAR_STATE:\n return {\n ...state,\n fields : {\n ...initialState.fields,\n ...action.fields\n }\n }\n\n case CALCULATE_RESULTS:\n return {\n ...state,\n results: action.results\n }\n\n default:\n return state\n }\n}\n\nexport const updateData = (key,value,type) => {\n return dispatch => {\n let fields = {\n [key]: {\n type,\n value\n }\n }\n dispatch({\n type: UPDATE_DATA,\n fields\n })\n }\n}\n\nexport const calculateResults = () => {\n return (dispatch, getState) => {\n const fields = getState().data.fields\n let results = {}\n\n // Step 1: Get Ages\n function calculateAgeOnDate(date, dob) {\n const calcAge = date.year() - dob.year() + ((date.month() + 1) - (dob.month() + 1)) / 12 + ((date.date() + 1) - (dob.date() + 1)) / 360;\n return calcAge;\n }\n\n function roundNum(num, numPlaces = 6) {\n return parseFloat(Number.parseFloat(num).toFixed(numPlaces));\n // return Math.round(num * 100000) / 100000\n }\n\n var formatter = new Intl.NumberFormat('en-US', {\n style : 'currency',\n currency : 'USD',\n });\n\n let ageOnDateOfHire = calculateAgeOnDate(moment( fields.hire_date.value ), moment( fields.birthdate.value ));\n let ageOnDateOfRetirement = calculateAgeOnDate(moment(fields.date_of_retirement.value), moment(fields.birthdate.value));\n let totalService = ageOnDateOfRetirement - ageOnDateOfHire;\n let currentSalary = parseFloat(fields.current_annual_salary.value.replace(/,/g, ''));\n\n //base factors\n\n const asg = fields.ann_salary_growth.value;\n const aig = fields.ann_investment_growth.value;\n\n let periodTable = []\n\n for(let i=0;i<=80;i++) {\n\n const prevData = periodTable[i-1];\n\n let tableData = {\n period : i,\n retirementYears : null,\n payProjection : null,\n onePercentStatutory : null,\n onePercentGrowth : null\n }\n\n tableData.retirementYears = Math.max(0, (Math.min(1, totalService- i )))\n\n if(!prevData) {\n tableData.payProjection = currentSalary;\n tableData.onePercentStatutory = 0.01* tableData.retirementYears * tableData.payProjection * ((Math.pow(1+0.04, (tableData.retirementYears/2))))\n tableData.onePercentGrowth = 0.01* tableData.retirementYears * tableData.payProjection * ((Math.pow((1 + aig / 100), (tableData.retirementYears/2))))\n } else {\n tableData.payProjection = prevData.payProjection*(1+asg/100);\n tableData.onePercentStatutory = 0.01* tableData.retirementYears * tableData.payProjection * ((Math.pow(1+0.04, (tableData.retirementYears/2)))) + prevData.onePercentStatutory*(Math.pow((1+0.04), tableData.retirementYears))\n tableData.onePercentGrowth = 0.01*tableData.retirementYears*tableData.payProjection*((Math.pow((1+aig/100),(tableData.retirementYears/2))))+prevData.onePercentGrowth*((Math.pow((1+aig/100),(tableData.retirementYears))))\n }\n\n periodTable.push(tableData);\n }\n\n let finalAverageFiveAdjustment = roundNum((1+1/(1+asg/100)+1/Math.pow((1+asg/100), 2)+1/Math.pow((1+asg/100),3) +1/Math.pow((1+asg/100), 4))/5)\n let interestAdjToAge67 = roundNum(Math.pow((1+aig/100), Math.max(0, (67- ageOnDateOfRetirement))));\n let satInterestAdjTo67 = roundNum(Math.pow(1.04, Math.max(0, (67-ageOnDateOfRetirement))));\n let fasAtRetirement = (Math.pow((1+asg/100), (Math.max(0,totalService -1))))*currentSalary*finalAverageFiveAdjustment;\n\n let accrualRate = {\n a5 : 0.012500,\n a6 : 0.010000,\n investment : 0\n }\n\n\n\n function vlookupCalc(returnValue) {\n let vlookup = {\n 'retirementAge' : null,\n 'age67' : null\n };\n let ageOfRetireFloor = Math.floor(ageOnDateOfRetirement);\n let ageOfRetireAddOne = ageOfRetireFloor + 1;\n let difference = ageOnDateOfRetirement - ageOfRetireFloor;\n\n let vlookup1 = null;\n let vlookup2 = null;\n let age67 = null\n\n data.map((d) => {\n if(ageOfRetireFloor === d['Age']){\n vlookup1 = d[returnValue];\n }\n if(ageOfRetireAddOne === d['Age']) {\n vlookup2 = d[returnValue]\n }\n if(d['Age'] === 67) {\n age67 = d[returnValue]\n }\n return 0\n })\n\n vlookup.retirementAge = roundNum((difference*vlookup2+(1-difference)*vlookup1),5);\n vlookup.age67 = age67;\n\n return vlookup;\n }\n\n const dateOfRetirementErfBaseFactors = () => {\n let yosEligibleA5 = ((totalService >= 25) && (ageOnDateOfRetirement >= 57)) ? 1 : 0;\n let yosEligibleA6 = ((totalService >= 25) && (ageOnDateOfRetirement >= 62)) ? 2 : 0;\n\n let ageOfRetireFloor = Math.floor(ageOnDateOfRetirement);\n let ageOfRetireAddOne = ageOfRetireFloor + 1;\n let difference = ageOnDateOfRetirement - ageOfRetireFloor;\n let ruleOf97 = ((ageOfRetireFloor + Math.floor(totalService) >= 97) && (totalService >= 35)) ? 1 : 0\n\n let vlookupA51 = null;\n let vlookupA52 = null;\n let vlookupA61 = null;\n let vlookupA62 = null;\n\n\n function getColumn(num) {\n let columnName;\n switch(num) {\n case 2:\n columnName = \"A-5slashA-6\";\n break;\n case 3:\n columnName = \"A-5\";\n break;\n case 4:\n columnName = \"A-6\";\n break;\n default :\n }\n return columnName\n }\n\n let vlookup = {\n 'a5_early_retirement' : null,\n 'a6_early_retirement' : null\n };\n\n data.map((d) => {\n if(ageOfRetireFloor === d['Age']){\n vlookupA51 = d[getColumn(2 + yosEligibleA5)];\n }\n if(ageOfRetireAddOne === d['Age']) {\n vlookupA52 = d[getColumn(2 + yosEligibleA5)]\n }\n if(ageOfRetireFloor === d['Age']){\n vlookupA61 = d[getColumn(2 + yosEligibleA6)];\n }\n if(ageOfRetireAddOne === d['Age']) {\n vlookupA62 = d[getColumn(2 + yosEligibleA6)]\n }\n return 0\n })\n\n vlookup.a5_early_retirement = Math.max(roundNum((difference*vlookupA52+(1-difference)*vlookupA51), 5), ruleOf97);\n vlookup.a6_early_retirement = Math.max(roundNum((difference*vlookupA62+(1-difference)*vlookupA61), 6), ruleOf97);\n\n return vlookup;\n\n }\n\n let statutory_msla_pv_factor = vlookupCalc('Statutory MSLA');\n let option_1_factor = vlookupCalc('Option 1 Factor');\n let cost_neutral_factor = vlookupCalc('Cost Neutral MSLA');\n let dateOfRetirementERF = dateOfRetirementErfBaseFactors();\n\n let accrualRateAtRet_noErf = {\n a5 : fasAtRetirement * accrualRate.a5 * totalService,\n a6 : fasAtRetirement * accrualRate.a6 * totalService,\n investment : 0\n }\n\n let accrualRateAtRet_includingErf = {\n a5 : accrualRateAtRet_noErf.a5 * dateOfRetirementERF.a5_early_retirement,\n a6 : accrualRateAtRet_noErf.a6 * dateOfRetirementERF.a6_early_retirement\n }\n\n let DBVested;\n let DCVested = (totalService < 3) ? 0 : 1;\n\n if (totalService < 3) {\n DBVested = 0;\n } else {\n if (ageOnDateOfRetirement >= 67 || totalService >= 10) {\n DBVested = 1;\n } else {\n DBVested = 0;\n }\n }\n\n // console.log(\"***********************IT STARTS HERE*******************************\")\n // console.log(\"_______________________BASE FACTORS 1_________________________________\")\n // console.log(\"Age at Hire :\", ageOnDateOfHire)\n // console.log(\"Age at Retirement : \", ageOnDateOfRetirement)\n // console.log(\"Total Service : \", totalService)\n\n // console.log(\"_______________________BASE FACTORS 2_________________________________\")\n\n // console.log(\"Final Average 5 Adjustment : \", finalAverageFiveAdjustment);\n // console.log(\"Intrest Adjustment To Age 67 : \", interestAdjToAge67);\n // console.log(\"Statutory Interest Adjustment to Age 67 : \", satInterestAdjTo67 )\n\n // console.log(\"_______________________BASE FACTORS 3_________________________________\")\n\n // console.log(\"Current Salary : \", currentSalary )\n // console.log(\"FAS at Retirement : \", fasAtRetirement)\n\n // console.log(\"_______________________BASE FACTORS 4_________________________________\")\n\n // // console.log('Accrual Rate : ', accrualRate)\n // console.log('Accrual at Retirement (no ERF) : ', accrualRateAtRet_noErf)\n // console.log('Accrual at Retirement (including ERF) : ', accrualRateAtRet_includingErf)\n\n // console.log(\"_______________________BASE FACTORS SALARY TABLE_________________________________\")\n // console.log('period table', periodTable)\n\n // console.log(\"_______________________Statutory MSLA PV Factor Section_________________________________\")\n // console.log('statutory_msla_pv_factor = ', statutory_msla_pv_factor);\n\n // console.log(\"_______________________Option 1 Factor Section_________________________________\")\n // console.log('option_1_factor = ', option_1_factor);\n\n // console.log(\"_______________________Cost Neutral PV Factor Section_________________________________\")\n // console.log('cost_neutral_factor = ', cost_neutral_factor);\n\n // console.log(\"_______________________Date of Retirement ERF Section_________________________________\")\n // console.log('dateOfRetirementErf = ', dateOfRetirementErfBaseFactors());\n\n\n\n // // Step 10: Create Results Tables\n\n //*********************************************************************************\n //*********************************************************************************\n // START Contributions Toward Your Benefit TABLE ***\n //*********************************************************************************\n //*********************************************************************************\n\n\n const firstYear = [\n {\n label: \"Your Employer's Annual Contributions\",\n type: 'header extend',\n annualSalary: formatter.format(currentSalary)\n },\n {\n label: 'Toward Your Pension Plan',\n span : 2,\n data: {\n a5: \"Calculated Annually\",\n a6: \"Calculated Annually\",\n investment: \"N/A\"\n }\n },\n {\n label: 'Toward Your Investment Plan',\n data: {\n a5: currentSalary * 0.0225,\n a6: currentSalary * 0.02,\n investment: currentSalary * 0.035\n }\n },\n {\n label: 'Your Annual Contributions',\n type: 'header extend'\n },\n {\n label: Toward Your Does not reflect shared-risk/shared-gain changes
Pension Plan
MSLA
Maximum Single Life Annuity
Monthly Amount for Life
The Maximum Single Life Annuity option provides the highest monthly payment for as long as you live. Payments stop when you die. If you do not withdraw your contributions and interest at retirement, the balance of that amount – minus any payments that were made to you – will be paid to your beneficiaries.
,\n data: {\n a5: (DBVested === 0) ? \"N/A\" : MSLA.a5,\n a6: (DBVested === 0) ? \"N/A\" : MSLA.a6,\n investment: \"N/A\",\n }\n },\n {\n label: 'Option 1',\n tooltip_id : \"i2\",\n tooltip :Option 1 provides a smaller monthly payment for as long as you live. Payments stop when you die. If the sum of all payments SERS makes to you is less than the initial present value of your SERS benefit at the time you retired, then the difference – or “remaining value” – will be paid to your beneficiaries.
,\n type: 'inset1',\n data: {\n\n a5: (DBVested === 0) ? \"N/A\" : MSLA.a5 * option_1_factor.retirementAge,\n a6: (DBVested === 0) ? \"N/A\" : MSLA.a6 * option_1_factor.retirementAge,\n investment: \"N/A\"\n }\n },\n {\n label: 'Initial Present Value',\n type: 'inset2',\n data: {\n\n a5: (DBVested === 0) ? \"N/A\" : (MSLA.a5) * 12 * statutory_msla_pv_factor.retirementAge,\n a6: (DBVested === 0) ? \"N/A\" : (MSLA.a6) * 12 * statutory_msla_pv_factor.retirementAge,\n investment: \"N/A\"\n }\n },\n {\n label: (\n\n Pension Plan Payment Options Adjusted for
\n Full Withdrawal of Your Contributions & Interest\n
\n When you retire, you have the option to withdrawal any portion of the contributions you made toward your pension and the interest you earned on those contributions during your commonwealth career. Doing so reduces your monthly pension payments. The following “adjusted” amounts reflect the monthly pension payments after a full withdrawal of your contributions.\n
\nAdjusted MSLA
Maximum Single Life Annuity
Monthly Amount for Life
Adjusted Initial Present Value is the initial present value of the pension benefit minus the total value of contributions and interest.
,\n type: 'inset2',\n data: {\n\n a5: (DBVested === 0) ? \"N/A\" : adjustedMSLA.a5 * 12 * statutory_msla_pv_factor.retirementAge,\n a6: (DBVested === 0) ? \"N/A\" : adjustedMSLA.a6 * 12 * statutory_msla_pv_factor.retirementAge,\n investment: \"N/A\"\n }\n },\n\n //*********************************************************************************\n //*********************************************************************************\n // START Deffered to Age 67 Estimates TABLE ***\n //*********************************************************************************\n //*********************************************************************************\n\n ]\n\n let defferedMSLA = {\n a5: accrualRateAtRet_noErf.a5/12,\n a6 : accrualRateAtRet_noErf.a6/12\n }\n\n let defferedContributionsAndInterest = {\n a5 : contributionsAndInterest.a5 * satInterestAdjTo67,\n a6 : contributionsAndInterest.a6 * satInterestAdjTo67\n }\n\n let defferedAdjustedMSLA = {\n a5 : defferedMSLA.a5-(defferedContributionsAndInterest.a5/cost_neutral_factor.age67)/12,\n a6 : defferedMSLA.a6-(defferedContributionsAndInterest.a6/cost_neutral_factor.age67)/12,\n }\n\n let defferedToAge67Estimates;\n if (ageOnDateOfRetirement > 67) {\n defferedToAge67Estimates = false;\n } else {\n if (DBVested) {\n defferedToAge67Estimates = [\n {\n label: 'Investment Plan Account Balance',\n dateofRetirement: moment(fields.date_of_retirement.value).calendar(),\n data: {\n a5: totalInvestmentBalance.a5 * interestAdjToAge67,\n a6: totalInvestmentBalance.a6 * interestAdjToAge67,\n investment: totalInvestmentBalance.investment * interestAdjToAge67\n }\n },\n {\n label: 'Pension Plan Initial Present Value',\n data: {\n a5: (defferedMSLA.a5) * 12 * statutory_msla_pv_factor.age67,\n a6: (defferedMSLA.a6) * 12 * statutory_msla_pv_factor.age67,\n investment: \"N/A\"\n }\n },\n {\n label: 'Pension Plan Contributions & Interest',\n data: {\n\n a5: defferedContributionsAndInterest.a5,\n a6: defferedContributionsAndInterest.a6,\n investment: \"N/A\"\n }\n },\n {\n label: \"Pension Plan Payment Options\",\n type: 'header extend'\n },\n {\n label:MSLA
Maximum Single Life Annuity
Monthly Amount for Life
The Maximum Single Life Annuity option provides the highest monthly payment for as long as you live. Payments stop when you die. If you do not withdraw your contributions and interest at retirement, the balance of that amount – minus any payments that were made to you – will be paid to your beneficiaries.
,\n data: {\n a5: defferedMSLA.a5,\n a6: defferedMSLA.a6,\n investment: \"N/A\"\n }\n },\n {\n label: 'Option 1',\n tooltip_id: \"i2\",\n tooltip:Option 1 provides a smaller monthly payment for as long as you live. Payments stop when you die. If the sum of all payments SERS makes to you is less than the initial present value of your SERS benefit at the time you retired, then the difference – or “remaining value” – will be paid to your beneficiaries.
,\n type: 'inset1',\n data: {\n\n a5: defferedMSLA.a5 * option_1_factor.age67,\n a6: defferedMSLA.a6 * option_1_factor.age67,\n investment: \"N/A\"\n }\n },\n {\n label: 'Initial Present Value',\n type: 'inset2',\n data: {\n a5: (defferedMSLA.a5) * 12 * statutory_msla_pv_factor.age67,\n a6: (defferedMSLA.a6) * 12 * statutory_msla_pv_factor.age67,\n investment: \"N/A\"\n }\n },\n\n {\n label: (\n\n Pension Plan Payment Options Adjusted for
\n Full Withdrawal of Your Contributions & Interest\n
\n When you retire, you have the option to withdrawal any portion of the contributions you made toward your pension and the interest you earned on those contributions during your commonwealth career. Doing so reduces your monthly pension payments. The following “adjusted” amounts reflect the monthly pension payments after a full withdrawal of your contributions.\n
\nAdjusted MSLA
Maximum Single Life Annuity
Monthly Amount for Life
Adjusted Initial Present Value is the initial present value of the pension benefit minus the total value of contributions and interest.
,\n data: {\n\n a5: defferedAdjustedMSLA.a5 * 12 * statutory_msla_pv_factor.age67,\n a6: defferedAdjustedMSLA.a6 * 12 * statutory_msla_pv_factor.age67,\n investment: \"N/A\"\n }\n },\n\n ]\n } else {\n defferedToAge67Estimates = false;\n }\n }\n\n\n results = {\n firstYear,\n dateOfRetirementEstimates,\n defferedToAge67Estimates\n }\n\n dispatch({\n type: CALCULATE_RESULTS,\n results\n })\n }\n}\n","export const CHANGE_VALIDATION = 'CHANGE_VALIDATION'\r\n\r\nconst initialState = {\r\n};\r\n\r\nexport default (state = initialState, action) => {\r\n switch(action.type) {\r\n case CHANGE_VALIDATION:\r\n return {\r\n ...state,\r\n ...action.newValidation\r\n };\r\n default: return state;\r\n }\r\n}\r\n\r\nexport const changeValidation = (newValidation) => {\r\n return dispatch => {\r\n dispatch({\r\n type: CHANGE_VALIDATION,\r\n newValidation\r\n })\r\n }\r\n}","export const SWITCH_TAB = 'SWITCH_TAB'\r\n\r\nconst initialState = {\r\n tab: '',\r\n}\r\n\r\nexport default (state = initialState, action) => {\r\n switch (action.type) {\r\n case SWITCH_TAB:\r\n return {\r\n ...state,\r\n tab: action.tab\r\n }\r\n\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport const switchTab = (tab) => {\r\n return dispatch => {\r\n dispatch({\r\n type: SWITCH_TAB,\r\n tab\r\n })\r\n }\r\n}","import { combineReducers } from 'redux'\r\nimport auth from './auth'\r\nimport nav from './nav'\r\nimport tooltips from './tooltips'\r\nimport data from './data'\r\nimport validation from './validation'\r\nimport memberTabs from './memberTabs'\r\nimport { connectRouter } from 'connected-react-router'\r\n\r\nconst createRootReducers = (history) => combineReducers({\r\n router: connectRouter(history),\r\n auth,\r\n nav,\r\n tooltips,\r\n data,\r\n validation,\r\n memberTabs\r\n\r\n})\r\n\r\nexport default createRootReducers;","import { createStore, applyMiddleware, compose } from 'redux'\r\nimport { routerMiddleware } from 'connected-react-router'\r\nimport thunk from 'redux-thunk'\r\nimport { createBrowserHistory } from 'history';\r\nimport createRootReducers from './reducers'\r\n\r\nexport const history = createBrowserHistory()\r\n\r\nconst analytics = () => next => action => {\r\n let dataLayer = window.dataLayer || [];\r\n dataLayer.push({\r\n event: action.type,\r\n payload: action\r\n });\r\n return next(action);\r\n};\r\n\r\nconst initialState = {}\r\nconst enhancers = []\r\nconst middleware = [\r\n analytics,\r\n thunk,\r\n routerMiddleware(history)\r\n]\r\n\r\nif (process.env.NODE_ENV === 'development') {\r\n const devToolsExtension = window.devToolsExtension\r\n\r\n if (typeof devToolsExtension === 'function') {\r\n enhancers.push(devToolsExtension())\r\n }\r\n}\r\n\r\nconst composedEnhancers = compose(\r\n applyMiddleware(...middleware),\r\n ...enhancers\r\n)\r\n\r\nconst store = createStore(\r\n createRootReducers(history),\r\n initialState,\r\n composedEnhancers\r\n)\r\n\r\n\r\n\r\nexport default store\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { history } from '../store';\r\n\r\nexport function requireAcceptTerms(ComposedComponent, defaultProps) {\r\n class AcceptTerms extends React.Component {\r\n constructor(props){\r\n super(props);\r\n this.state = {\r\n hasAcceptedTerms : (localStorage.getItem(\"usa_check\")) ? JSON.parse(localStorage.getItem(\"usa_check\")) : null\r\n }\r\n }\r\n componentDidMount() {\r\n if (!this.props.hasAcceptedTerms) {\r\n history.push('/');\r\n }\r\n }\r\n\r\n componentDidCatch(error, info) {\r\n console.log(error, info);\r\n }\r\n\r\n componentDidUpdate(nextProps) {\r\n if (!nextProps.hasAcceptedTerms) {\r\n history.push('/');\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n (this.props.hasAcceptedTerms || this.state.hasAcceptedTerms) ?As a new SERS member, you are automatically enrolled in the Hybrid Plan A-5 class of service. You have 45 days to choose to stay in your current plan or to switch to one of two other options: either the Hybrid Plan A-6 class of service or the straight Defined Contribution Plan. This calculator will produce estimates of retirement benefits calculated for all three plans based on the retirement date you enter and if you defer retirement until reaching age 67. It will also estimate the annual contributions you and your employer will make toward your retirement benefit based on the salary you enter. Your pension contribution estimate will not; however, reflect any shared-risk/shared-gain contribution increases or decreases.
\r\n\r\n Exceptions: If you contributed to a SERS pension in the past or you were hired into certain hazardous duty law enforcement or security positions, this calculator is not for you. Contact a SERS Retirement Counselor at ra-SERSretc@pa.gov or 1.800.633.5461 for more information about your plan options.\r\n
\r\nPlease agree to the following Terms & Conditions to proceed.
\r\nWelcome to the State Employees' Benefits Plan Calculator for New Hires website, operated by Korn Ferry (“Korn Ferry” “we,” or “our”) and located at https://www.sersbenefitestimatecalculator.com (the “Site”). The Site is provided as a service to our customers. The following terms and conditions (“Terms”) govern your use of this Site. By accessing, viewing, or using the content, material, or services available on or through this Site, you indicate that you have read and understand these Terms, that you agree to them and intend to be legally bound by them. If you do not agree to these Terms, or if you are under 18 years of age, you are not granted permission to use this Site and must exit immediately.
\r\n
Dated: December 7, 2018
This plan comparison calculator and all data, software, tools and developed works relating thereto (collectively referred to herein as the “Plan Comparison Calculator”), is intended to provide general information and estimated retirement benefit amounts to the members of the Commonwealth of Pennsylvania State Employees’ Retirement System (“SERS”). The Plan Comparison Calculator is provided only for the personal, informational and non-commercial use of SERS members, and is not intended and should not be considered to be a substitute for individual retirement counseling. The Plan Comparison Calculator should not be construed as a recommendation by SERS, or as general legal, tax, investment, business or accounting advice. The Plan Comparison Calculator shall not be used for any unauthorized, improper or illegal purposes that violate any local, national, or international laws including but not limited to import, export, copyright, and trademark laws.
\r\nThe Plan Comparison Calculator contains and uses information that is subject to change and is not intended to be complete or to constitute all the information necessary to evaluate retirement options. Estimates, projections, and other “forward-looking” information relating to the Plan Comparison Calculator are based on assumptions which may differ materially from actual events or conditions. Such forward-looking information illustrates hypothetical results relating to certain assumptions. Actual retirement benefits may be different from the information obtained through the Plan Comparison Calculator, and variations may be material.
\r\nAny party who accesses, views, or uses the content, material, or services available on or through the Plan Comparison Calculator understands and acknowledges that the Plan Comparison Calculator (i) uses the age of 67 as the superannuation age, (ii) employs actuarial reduction factors to determine “early retirement” benefits, (iii) disregards the disability annuity potential for Class A-5 or Class A-6 members; (iv) recognizes no variation in the (a) employee contributions to the Defined Contribution Plan and Defined Benefit Plan under “shared-risk” or “shared-gain”, (b) actuarial tables used to calculate benefit equivalences, (c) present values, or (d) law or benefit formulas; (v) acknowledges continual, constant, and consistent salary growth and investment returns, and (vi) calculates a rate of return that does not factor for final determination of fees and expenses.
\r\nSERS owns all materials, including images, illustrations, designs, icons, photographs, video clips, and any software concepts and documentation and other material on, in or made available through the Plan Comparison Calculator, as well as the selection, coordination, arrangement, and organization and enhancement thereto. The Plan Comparison Calculator is protected pursuant to copyright, trademark, patent and other applicable laws.
\r\nBy clicking the \"I Accept the Terms & Conditions\" button, accessing, viewing, or using the content, material, or services available on or through the Plan Comparison Calculator, you confirm that you have read and understand these terms and conditions in their entirety, you agree to them and intend to be legally bound by them. If you do not agree to these terms and conditions, you are not granted permission to use the Plan Comparison Calculator and must exit immediately.
\r\nIf you accept the above terms and conditions, please click \"I Accept the Terms & Conditions”
\r\n\r\n\r\nWelcome to the State Employees' Retirement System Online Plan Comparison Calculator.\r\n
To assist you with your retirement plan benefit election, please enter the following data:
Required Fields are indicated by an asterisk *
*/}\r\nWelcome to the State Employees' Retirement System New Member Plan Comparison Calculator.\r\n
To assist you with your retirement plan election, please enter the following data:
Required Fields are indicated by an asterisk *
\r\nIn this section, you will estimate in percentages what you believe the growth in your salary will be and what you believe your investments will earn. In the first box enter your Expected Annual Salary Growth percentage, which is the average percentage pay increase you expect between now and retirement. If you don’t want to assume any growth in salary, enter 0. In the second box, please enter the Annual Investment Growth percentage that you expect your investment account to earn each year. For example, if you plan to invest in a mix of asset classes that you believe will earn 5% interest each year, then put the number 5 in that box.
,\r\n 'style': 'full-width padding-top',\r\n },\r\n\r\n {\r\n // 'title': ' ',\r\n 'style': 'two-column',\r\n 'fields': [\r\n {\r\n 'name': 'ann_salary_growth',\r\n 'label': 'Expected Annual Salary Growth',\r\n 'required': true,\r\n 'type': 'percentage',\r\n 'minVal': 0,\r\n 'maxVal': 5,\r\n 'defaultVal': '5'\r\n },\r\n ]\r\n },\r\n\r\n {\r\n // 'title': ' ',\r\n 'style': 'two-column',\r\n 'fields': [\r\n {\r\n 'name': 'ann_investment_growth',\r\n 'label': 'Expected Annual Investment Growth',\r\n 'required': true,\r\n 'type': 'percentage',\r\n 'minVal': 0,\r\n 'maxVal': 8,\r\n 'defaultVal': '8'\r\n },\r\n ]\r\n },\r\n\r\n\r\n ]\r\n\r\n },\r\n {\r\n 'name': 'review-information',\r\n 'title': 'Review Data',\r\n 'text':Please make sure the information shown below matches what you entered during the prior step.
,\r\n 'layout': 'two-column no-divider',\r\n 'sections': [\r\n {\r\n 'fields': [\r\n {\r\n 'name': 'birthdate',\r\n 'label': 'Date of Birth',\r\n 'type': 'review'\r\n },\r\n {\r\n 'name': 'hire_date',\r\n 'label': 'Date of Hire',\r\n 'type': 'review'\r\n },\r\n {\r\n 'name': 'date_of_retirement',\r\n 'label': 'Expected Retirement Date',\r\n 'type': 'review'\r\n },\r\n {\r\n 'name': 'current_annual_salary',\r\n 'label': 'Current Annual Salary',\r\n 'type': 'review'\r\n },\r\n\r\n ]\r\n },\r\n {\r\n 'fields': [\r\n {\r\n 'name': 'ann_salary_growth',\r\n 'label':Expected Annual
Salary Growth
Expected Annual
Investment Growth
The following estimates assume that you continue to work for a SERS-participating employer, and therefore continue to contribute toward your SERS retirement benefit, until you retire. If you entered a retirement date that is before you reach age 67 (the SERS normal retirement age for the pension plan portion of the Hybrid Plan options) you will see two different sets of estimates: one as of the retirement date you entered and one as if you defer retirement until age 67. Early retirement penalties, some of which severely reduce the monthly pension amounts, are reflected in the pension estimates.
\r\n\r\n Eligibility Note: To be eligible for the contributions that your employer made toward your investment account, and any gains on those contributions, you must work three years. To be eligible for monthly pension payments, you must either work 10 years or reach age 67 after working three years.\r\n
\r\nThis calculator and the estimates produced are for informational purposes only and are dependent on the data you entered. The data you entered has not been reviewed or verified so the calculations may not be construed as official SERS estimates
Class | Years of Service |
---|
\n | Hybrid A-5 Plan Your current plan | \n Hybrid A-6 Plan | \nStraight Investment Plan | \n
---|