and may not match the public record. Listed for sale at $550,000 with MLS #NJSO2002102 by Keller Williams Real Estate - Princeton, This Bright and airy End unit townhouse has 3 bedrooms, 2.5 bathrooms with full finished basement and 1 attached car garage! (e.beds&&r.push({label:e.beds.label,value:e.beds.string}),e.baths&&r.push({label:e.baths.label,value:e.baths.string}),e.sqFt&&r.push({label:"Sq Ft",value:e.sqFt.string}),e.lotSize&&r.push({label:e.lotSize.label,value:e.lotSize.string}),e.yearBuilt&&r.push({label:"Year Built",value:e.yearBuilt}),r.slice(0,2===t?3:2)):r}function f(t,r){e(["modules/MLSIDXInfo"],function(e){e.getMLSInfo(t,function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.idxBits||{},i=e.features||{};if(t.showIdxLogo&&r.divIDXLogo.length){var s=_('').attr("src",e.brand.image.url.default).attr("alt",e.longName).attr("loading","lazy");s.addClass("bs4--img-fluid bs4--h-auto"),s.css({"aspect-ratio":e.brand.image.aspectRatio,"max-height":"40px",width:"auto","max-width":"75px"}),r.divIDXLogo.html(s).removeClass("bs4--d-none").addClass(" bs4--position-absolute").css({bottom:"18px",right:"14px"})}i.showByTenXOnHomesnap&&H.getCurrentUser(function(e){var t,r=(null===e||void 0===e?void 0:e.user)||{};null!==(t=r.permissions)&&void 0!==t&&t.mlsAgent||r.clientDetails||a({type:"reflect",name:"headerBrand.showByTenX"})})})})}function w(){if(S&&S.slyContainer.length&&V.get("paging",!1)&&V.$dom.width()){if(Math.floor(S.aFrame.width())!==I&&(I=Math.floor(S.aFrame.width()),S.ul.children("li").width(I),"object"==typeof L&&"function"==typeof L.reload)){var e=L.rel.centerItem;L.reload(),L.toCenter(e,!0)}}}function b(e,t){switch(e){case"$container.scroll":P||(P=t.$container),g(null,null,!0);break;case"window.newSize":case"window.resize":J(),g(t.$window,t.fold);break;case"modal.scroll":g(t.$window,t.fold,!0);break;case"window.scroll":g(t.$window,t.fold);break;case"dropdown.opened":g();break;case"propertyFavoriteStatus.updated":h(t)}E.event(e,t)}var S,B,I,k,x,C,P,A,T,D,F,L,$=e("ControllerObjects"),z=e("Objects"),U=e("Utilities"),H=e("Application"),_=(e("sly"),e("jquery")),M=e("lodash"),N=new $.Unique(t),O=new $.Callbacks,E=new $.ChildControllerManager,V=new $.StateManager(E,{}),X={template:new $.Getter({namespace:N.get(),success:function(e){try{u(e)}catch(e){throw void 0!==V&&null!==V&&console.info(V),e}},failure:function(){try{throw new Error("PropertyAddressItem controller: Unhandled Error")}catch(e){throw void 0!==V&&null!==V&&console.info(V),e}},template:{url:"controllers/Property/PropertyAddressItem.html",dom:["aFrame","slyContainer","ul","liPrimary",["liSecondary"],"divStatusBar","divSecondaryStatusBar","divOverlay","imgFinal","iPrevious","iNext","ulSliderPager","divLikelihoodStatusBar","buildingPageLink","spanFavorite","divIDXLogo"]}}),itemByIds:new $.Getter({namespace:N.get(),type:z.HSPropertyAddressItem,webService:"/service/PropertyAddresses/GetByIDs",success:function(e){try{n(e)}catch(e){throw void 0!==V&&null!==V&&console.info(V),e}},failure:function(){try{throw new Error("PropertyAddressItem controller: GetByIDs. READ REDFIN'S FAIR HOUSING POLICY AND THE NEW YORK STATE FAIR HOUSING NOTICE. North Carolina define("controllers/Variable",["require","ControllerObjects"],function(e){return function(n){function t(e,n){if((n||l&&l.name!=e)&&(l.uninit(),l=null),!l){var t={};c.hashTable.each(function(e,n){for(var r=0;r0&&F.length<1?(a({type:"url.unhandled",url:"/search",data:{type_:"HSSearchQuery",searchText:e}}),!1):z.get("multiArea",!1)? {protocol:r[1]||location.protocol,host:r[2]||location.host,hostname:r[3]||location.hostname,port:r[4]||location.port,pathname:r[5],search:r[6],hash:r[7]}:null},isiOS:function(){return/iPad|iPhone|iPod/.test(navigator.userAgent||navigator.vendor||window.opera)&&!window.MSStream},isAndroid:function(){return/android/i.test(navigator.userAgent||navigator.vendor||window.opera)},isChromeiOS:function(){return/CriOS/i.test(navigator.userAgent||navigator.vendor||window.opera)},isWebView:function(){return/wv/i.test(navigator.userAgent||navigator.vendor||window.opera)},isHSPuppeteer:function(){return/HSPuppeteer/i.test(navigator.userAgent||navigator.vendor||window.opera)}},s.path={getImageUrl:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return a.imageRootPath+e},getJSUrl:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return a.jsRootPath+e},getHandlebarUrl:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return a.handlebarRootPath+e},getDomain:function(e){var t=e.split(". Sold 8/16/22. (Ge.heatMaps.sectionKey||e&&e.sectionKey))return;var r=s.polygon?O(s.polygon):null,d=e&&e.sectionKey?e.sectionKey:Ge.heatMaps.sectionKey,c=e&&e.sectionValues?e.sectionValues:Ge.heatMaps.sectionValues;for(var u in Me.heatMapsSearchDefinitions)if(Me.heatMapsSearchDefinitions.hasOwnProperty(u)){var p=Me.heatMapsSearchDefinitions[u];if(p.sectionKey==d){i=p.handleFilter,l=p.options;break}}var g=Ge.paItems.markers.getItem(s.id);g&&"function"==typeof g.testOverlay&&(g.testOverlay(c,i,r,l),g.polygon&&(Ge.heatMaps.polygon=!0)),o++}}e&&"object"==typeof e&&null!=e.sectionKey&&(Ge.heatMaps.sectionKey=e.sectionKey,Ge.heatMaps.colors=e.colors,Ge.heatMaps.sectionValues=e.sectionValues)}function ie(e,t){Ge.heatMaps.polygon&&(t?t&&t.polygon&&(e?t.removeOverlay():t.setVisibility(!1)):(Ge.paItems.markers.each(function(t,o){var a=o;a&&a.polygon&&(e?a.removeOverlay():a.setVisibility(!1))}),Ge.heatMaps={polygon:null,sectionKey:null,sectionValues:null,colors:null}))}function le(e,o,a){return'')}function re(){Te.uninit()}function de(e,t){var o;switch(e){case"window.scroll":case"window.resize":B(t.$window);break;case"window.newSize":ye=t.size.new.toString();break;case"savedSearchSuccess":Ge.ui.saveSearch.$dom&&Ge.ui.saveSearch.$dom.find(".polygon-btn").html(" Saved Search");break;case"searchHeaderChanged":(1==Ge.isSavedSearch||Ge.ui.saveSearch.$dom&&Ge.ui.saveSearch.$dom.find(".hs-check"))&&(Ge.isSavedSearch=!1,Ge.ui.saveSearch.$dom&&Ge.ui.saveSearch.$dom.find(".polygon-btn").html("Save Search"));break;case"saveSearchBtn.toggle":t&&"hide"===t.visibility? define("controllers/Property/PropertyFavorite",["require","ControllerObjects","Objects","Application"],function(e){return function(t){function r(e){v.call("bubble",e)}function o(){try{p.requireDom(),p.require("propertyAddressItem"),p.optional("showText")}catch(e){throw e}y.template.get({$dom:p.$dom,data:{propertyAddressItem:p.get("propertyAddressItem"),showText:p.get("showText",!0)}})}function n(e){var t,r=e.$dom,o=e.data.propertyAddressItem,n={propertyAddressID:o.id,propertyID:o.propertyID?o.propertyID:0,listingID:null!==o&&void 0!==o&&null!==(t=o.listing)&&void 0!==t&&t.id?o.listing.id:null},s=g.get(!1,"favoriteItems",60),c=n.propertyAddressID;c+=n.propertyID?"::".concat(n.propertyID):"",c+=n.listingID? Do additional legal protections exist for the LGBTQ community at the state level in New Jersey? (BRIGHT MLS) 3 beds, 2.5 baths, 1686 sq. PublicAppPath 22 Grant Way, Princeton, NJ 08540 - For Sale - Homes.com Web22 Gordon Way #f2, Princeton NJ, is a Condo home that contains 2095 sq ft and was built in 1973.This home last sold for $285,000 in June 2000. //# sourceMappingURL=https://assets.homesnap.com/app/js_min/controllers/SchoolItem.js.map?hash=7c9279c4c15b178aae94fd7708c55f17 ft. house located at 14 Washington Ave, Princeton, NJ 08540 sold for $172,500 on Nov 16, 1994. Nearby homes similar to 12 Grant Way have recently sold between $560K to $678K at an average of $290 per square foot. About This Home. If the down payment is less than 20%, mortgage insurance may be required and could increase the monthly payment and APR. FullState New Jersey Virginia Homesnap.templates["controllers/SearchBreadCrumbs.html"] = '{{#with data.area}}<script type="application/ld+json"> [ { "@context": "http://schema.org", "@type": "BreadcrumbList", "itemListElement": [ {{#each this}} {{#compare type "area"}} { "@type": "ListItem", "position": {{@index}}, "name": "{{name}} {{#if @root/data/isOpenHouse}}Open Houses{{else if @root/data/isForSale}}Real Estate and Homes for Sale{{else if @root/data/isForRent}}Real Estate and Homes for Rent{{/if}}", "item": "{{@root/data/siteRootUrl}}/homes/{{#if @root/data/isForRent}}for_rent{{else}}for_sale{{/if}}{{#if @root/data/isOpenHouse}}/open_house{{/if}}{{item.url}}/p_{{item.entityType}},{{item.entityID}}" }{{#unless @last}},{{/unless}} {{else}} { "@type": "ListItem", "position": {{@index}}, "name": "{{name}}", "item": "{{@root/data/siteRootUrl}}{{url}}" }{{#unless @last}},{{/unless}} {{/compare}} {{/each}} ] } ]</script>{{/with}}'; Ten-X holds real estate licenses in all 50 states and D.C.

§ 442-H New York Standard Operating Procedures

New York Fair Housing Notice

TREC: Information about brokerage services, Consumer protection notice

California DRE #01937601

Contact Ten-X Brokerage
{{/with}}'; Ft. $520,617: There are 213 homes for sale in 08540 with a median listing home price of $988,000. (BRIGHT MLS) 2 beds, 2.5 baths, 1521 sq. Learn everything you need to know about how to rent-to-own a home. Familyroom includes a gas burning stone fireplace with sliders to deck. Home values near 49 Garfield Way. 3 Independence Way (u.liPrimary.css({"background-image":"url(".concat(y,")")}),u.imgFinal.attr("HSPuppeteer-src",y)):(u.liPrimary.css({"background-image":"url(".concat(y,")")}),u.imgFinal.attr("src",y))}else if(null!==(i=d.building)&&void 0!==i&&i.imageUrl||d.skyView){var w=u.liPrimary[0],b="";if(!w)return!1;d.skyView? View more recently sold homes. 253 Princeton Ave, Princeton, NJ 08540 22 Grant Way # 18, Princeton, NJ 08540 | realtor.com Unhandled Webservice Error")}catch(e){throw void 0!==p&&null!==p&&console.info(p),e}},cache:{expire:0}})},g=new u.LocalStorage("Property/PropertyFavorite"),F=function(){var e=$.Deferred();return d.getCurrentUser(function(t){s=t.user,e.resolve()}),e}();return{update:function(e){p.update(e),o()},restore:function(e){p.restore(e,o)},uninit:function(){f.uninit()},getState:p.getState.bind(p),register:v.register.bind(v),event:function(e,t){f.event(e,t)}}}}); Indiana "hs-pro":"hs",x?U.divLogo.addClass("navbar-pro-plus-logo"):U.divLogo.removeClass("navbar-pro-plus-logo"),U.divLogo.parent().data("data-logo",n).attr("data-logo",n),U.divLogo.parent().data("data-logo-transparent",e).attr("data-logo-transparent",e)}function c(){D.add("mobileTabs",new y.ChildController({type:"controllers/MobileTabBar",namespace:k.get(),register:{bubble:o}}),!0),M.updateController("mobileTabs",{$dom:U.divNavbarMobile,data:{pro:N}})}function u(){R.newsFeedDropdown||(D.get("newsFeed")||D.add("newsFeed",new y.ChildController({type:"controllers/NewsFeedDropdown",namespace:k.get(),register:{bubble:o}})),M.updateController("newsFeed",{$dom:U.liNewsFeed}),R.newsFeedDropdown=!0)}function p(){R.messagesDropdown||(D.get("conversations")||D.add("conversations",new y.ChildController({type:"controllers/ConversationsDropdown",namespace:k.get(),register:{bubble:o}})),M.updateController("conversations",{$dom:U.liMessages}),R.messagesDropdown=!0)}function m(){R.agentsDropdown||(D.add("agents",new y.ChildController({type:"controllers/AgentsDropdown",namespace:k.get(),register:{bubble:o}}),!0),M.updateController("agents",{$dom:U.liAgents,data:{pro:N}}),R.agentsDropdown=!0)}function g(){R.meDropdown||(D.add("currentUser",new y.ChildController({type:"controllers/CurrentUserDropdown",namespace:k.get(),register:{bubble:o}}),!0),M.updateController("currentUser",{$dom:U.liCurrentUser}),R.meDropdown=!0)}function v(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];R.brand||(D.add("brand",new y.ChildController({type:"controllers/BrandItem",namespace:k.get(),register:{bubble:o}}),!0),w.getIDXBrand(function(n){var o=n;if(0!==(null===o||void 0===o?void 0:o.id)||3433!==I.brand.id){var r=3433===I.brand.id&&(null===o||void 0===o?void 0:o.id)>=0?o:I.brand;M.updateController("brand",{$dom:U.divBrandLogo,data:{brand:r,inverse:e}}),e||U.divBrandLogo.css({backgroundColor:"#ffffff"}),r.primaryColor&&U.nav.parents("nav").css("border-top-color",r.primaryColor),R.brand=!0}}))}function f(){R.proPlusDropdown||(D.add("proPlus",new y.ChildController({type:"controllers/Header/ProPlusDropdown",namespace:k.get(),register:{bubble:o}}),!0),M.updateController("proPlus",{$dom:U.liProPlus,data:{}}),R.proPlusDropdown=!0)}function b(){R.impersonationHeader||w.getCurrentUser(function(e){var n,r;null!==e&&void 0!==e&&null!==(n=e.user)&&void 0!==n&&null!==(r=n.permissions)&&void 0!==r&&r.homeSnapAdminTools&&(w.getImpersonation(function(n){if(n){var r,a=$("").addClass("bg-sold");M.$dom.addClass("impersonating-user"),U.nav.prepend(a),a.css({"border-bottom":"5px solid ".concat((null===(r=e.user.brand)||void 0===r?void 0:r.primaryColor)||"#006DC7")}),D.add("impersonationHeader",new y.ChildController({type:"controllers/ImpersonationHeader",namespace:k.get(),register:{bubble:o}})),M.updateController("impersonationHeader",{$dom:a,data:{impersonatedUser:n}})}}),R.impersonationHeader=!0)},!0)}function h(e){D.add("stickyNotification",new y.ChildController({type:"controllers/StickyNotification",namespace:k.get(),register:{bubble:o}}),!0);var n={};e&&(n={colorClass:e.colorClass,showIcon:e.showIcon,icon:e.icon,text:e.text,delayTime:e.delayTime}),M.updateController("stickyNotification",{$dom:U.divStickyNotification,data:n})}function C(e,n){if("window.scroll"===e&&H.transparent&&U&&I&&(n.fold.top>51? Terms & Conditions, Privacy Policy and Accessibility. "?utm_source=".concat(d.get("promoSource")):""),a.a.on("click",function(e){return n({type:"url.unhandled",url:b,data:s}),!1}).attr("href",b)}o.image&&(u.add("image",new i.ChildController({type:"controllers/UserProfileImage",namespace:l.get(),register:{bubble:n}}),!0),d.updateController("image",{$dom:a.divImage,data:{userItem:s,cssClass:"paint-second-background",link:! 9F Brookline Ct was last sold on Jul 19, 2006 for $315,000. )?/,""),roundedMinutes:Math.round(e/60)}}},getDayOfWeekArray:function(){return[{dayFull:"Sunday",dayAbbr:"Sun",dayLongAbbr:"Sun"},{dayFull:"Monday",dayAbbr:"M",dayLongAbbr:"Mon"},{dayFull:"Tuesday",dayAbbr:"T",dayLongAbbr:"Tues"},{dayFull:"Wednesday",dayAbbr:"W",dayLongAbbr:"Wed"},{dayFull:"Thursday",dayAbbr:"Th",dayLongAbbr:"Thurs"},{dayFull:"Friday",dayAbbr:"F",dayLongAbbr:"Fri"},{dayFull:"Saturday",dayAbbr:"S",dayLongAbbr:"Sat"}]},getDayOfWeek:function(e){return s.date.getDayOfWeekArray()[e]},getTimeOptions:function(){for(var e=[],t=function(e){return e.toString().padStart(2,"0")},r=0;r<2;r++)for(var n=r? Townhouse 4 Beds. (u.add("schools",new p.ChildController({type:"controllers/Property/PropertySchools",namespace:d.get(),register:{bubble:r}}),!0),m.updateController("schools",{$dom:n.divSchools,data:{schools:a.schools,accordionOpen:e.data.accordionOpen}})):n.divSchools.remove(),-1===t.exclusions.indexOf("features")&&a&&a.type_&&"HSListingDetail"==a.type_? ft. townhouse located at 21 Manor Dr, Princeton, NJ 08540 sold for $380,000 on Jul 8, 2021. Ft. 22 Grant Way, Princeton, NJ 08540 (609) 987-8889. 1294 sq. 2.5 Baths. MLS# NJSO103054. (n.fill="#00B100",n.stroke="#00B100"):(n.fill="#71bf44",n.stroke="#538c32"))),n},getSingleEntityTypeAndID:function(e){if(e){var t,r;return e.listing?(t=7,r=e.listing.id):e.propertyID? "In state":"Absentee - In state";case 2:return t? (f=f||new e)||!f.update)return!1;var t=u.get("map");if(!t)return!1;t.register("change",function(e){e&&e.bounds&&Object.keys(e.bounds).length>0&&f&&f.update&&f.update({set:{bounds:e.bounds}})}),f.update({set:{layer:{propertyAddresses:{min:18,max:100}}},search:!1,register:{new:function(e){if(!e)return!1;var t=u.get("map").controller;if(!t)return!1;e.listings&&t.show("HSPropertyAddressListingItem",{data:e.listings}),e.propertyAddresses&&t.show("HSPropertyAddressItem",{data:e.propertyAddresses,showMini:!0})}}})}))}var i=e("ControllerObjects"),p=new i.Unique(t),d=new i.Callbacks,u=new i.ChildControllerManager,c=new i.StateManager(u);u.add("map",new i.ChildController({type:"controllers/Map",namespace:p.get(),register:{bubble:r}}));var g,m,f,y,h,b=new i.Getter({namespace:p.get(),success:function(e){try{s(e)}catch(e){throw void 0!==c&&null!==c&&console.info(c),e}},failure:function(){try{throw new Error("PropertyMap controller: Unhandled Error")}catch(e){throw void 0!==c&&null!==c&&console.info(c),e}},template:{url:"controllers/Property/PropertyMap.html",dom:["h3MapLabel","divMapCollapse","spanMapCollapseChevron","divMapItem"]}});return{update:n,restore:function(e){c.restore(e,a)},uninit:function(){u.uninit()},getState:c.getState.bind(c),register:d.register.bind(d),event:function(e,t){u.event(e,t)}}}}); (u.add("commuteTimesCollapse",new p.ChildController({type:"controllers/PropertyCommuteTimesCollapse",namespace:d.get(),register:{bubble:r}}),!0),m.updateController("commuteTimesCollapse",{$dom:n.divCommuteTimes,data:{propertyAddressItem:o}})):n.divCommuteTimes.remove(),-1===t.exclusions.indexOf("mortgage")&&a&&a.type_&&"HSListingDetail"==a.type_&&a.transactionType&&a.transactionType.forSale? Unhandled Webservice Error")}catch(e){throw void 0!==p&&null!==p&&console.info(p),e}},cache:{expire:0}})},g=new u.LocalStorage("Property/PropertyFavorite"),F=function(){var e=$.Deferred();return d.getCurrentUser(function(t){s=t.user,e.resolve()}),e}();return{update:function(e){p.update(e),o()},restore:function(e){p.restore(e,o)},uninit:function(){f.uninit()},getState:p.getState.bind(p),register:v.register.bind(v),event:function(e,t){f.event(e,t)}}}}); 3 Beds. No Results Found No similar listings found. " 5 Garfield Way, Princeton, NJ 08540. //# sourceMappingURL=https://assets.homesnap.com/app/js_min/controllers/SearchBreadcrumbs.js.map?hash=be5d79a53b8947ba51173f8f6cb8b763 "#000000":"#006DC7"};if(e.status.cancelled)r.dataStatusBadge="red",r.spanTextColor="bs4--text-google-red",r.spanIcon="cancel",r.pText="Canceled";else if(e.status.completed)r.dataStatusBadge="gray",r.spanTextColor="bs4--text-gray-300",r.spanIcon="check_circle",r.pText="Toured",r.mapMarkerFill="#6B758A";else if(e.status.confirmed)r.dataStatusBadge="green",r.spanTextColor="bs4--text-google-green",r.spanIcon="check_circle",r.pText="Confirmed";else if(e.status.external){var n,a=e.service||(null===(n=e.listing)||void 0===n?void 0:n.service)||{},o="Unknown";a.homesnap?o="Homesnap":a.showingTime?o="ShowingTime":a.sentriKey&&(o="SentriKey"),r.dataStatusBadge="blue",r.spanTextColor="bs4--text-hs-blue",r.spanIcon="watch_later",r.pText="Unknown"===o? Last Sold Price. !c}})),o.badges&&(u.add("badges",new i.ChildController({type:"controllers/Badges",namespace:l.get(),register:{bubble:n}}),!0),d.updateController("badges",{$dom:a.divBadges,data:{badges:o.badges,classes:"small"}})),d.get("brand",!1),o.thermometer&&null!==(t=s.agentDetails)&&void 0!==t&&null!==(r=t.activity)&&void 0!==r&&r.percentages&&(u.add("thermometer",new i.ChildController({type:"controllers/UserThermometer",namespace:l.get(),register:{bubble:n}}),!0),d.updateController("thermometer",{$dom:a.divThermometer,data:{thermometer:s.agentDetails.activity.percentages}})),a.divPhoneNumber.length&&a.divPhoneNumber.on("click",function(){n({type:"userItem.phoneNumberClicked"})})}var i=e("ControllerObjects"),l=new i.Unique(t),s=new i.Callbacks,u=new i.ChildControllerManager,d=new i.StateManager(u,{}),c={template:new i.Getter({namespace:l.get(),success:function(e){try{o(e)}catch(e){throw d&&console.info(d),e}},template:{url:"controllers/UserItem.html",dom:["a","aName","divImage","divText","divThermometer","divBrand","divBadges","divPhoneNumber"]}})};return{update:r,restore:function(e){d.restore(e,a)},uninit:function(){u.uninit()},getState:d.getState.bind(d),register:s.register.bind(s),event:function(e,t){u.event(e,t)}}}}); 3D WALKTHROUGH. define("controllers/MyAgent/Form",["require","ControllerObjects","Objects","Application","Utilities","recaptcha","jquery.validate","jqvalidateAdditionalMethods"],function(e){return function(t){function n(e){k.call("bubble",e)}function i(e){j.update(e),r()}function r(){try{j.requireDom(),j.require("item","HSMyAgent")}catch(e){throw e}B=!1,S=null,q=j.get("item"),E=j.get("propertyAddressItem"),j.get("currentUser")?
29 Hensons Way, Orleans, Ma, Typeerror Sparksession Stop Missing 1 Required Positional Argument Self, Camp Sunrise Norwalk, Ct, Articles OTHER