CINXE.COM
Contact | Berkeley Public Health
<!doctype html> <html lang="en-US"> <head> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MCVMVTF');</script> <meta charset="UTF-8" /> <meta name="description" content="More than 75 years of transformational research and hands-on social impact for a better world."> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"><script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"601448630",accountID:"4354282",trustKey:"66686",xpid:"UAUCVVRbChAFVlRXBAUBXlU=",licenseKey:"NRJS-948474cd618f8781141",applicationID:"525534681"};;/*! For license information please see nr-loader-spa-1.274.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>h,gD:()=>g,xN:()=>p});var n=r(993);const i=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u="[data-nr-mask]",d=()=>{const e={mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},feature_flags:[],generic_events:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},harvest:{tooManyRequestsDelay:60},jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},logging:{enabled:!0,harvestTimeSeconds:10,autoStart:!0,level:n.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector="".concat(t,",").concat(u):""===t||null===t?e.mask_selector=u:(0,a.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+=",".concat(t):""!==t&&(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},ssl:void 0,user_actions:{enabled:!0}}},l={},f="All configuration objects require an agent identifier!";function h(e){if(!e)throw new Error(f);if(!l[e])throw new Error("Configuration for ".concat(e," was never set"));return l[e]}function p(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r&&(r.init=l[e])}function g(e,t){if(!e)throw new Error(f);var r=h(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.274.0",i="PROD",o="CDN",a="^2.0.0-alpha.17"},6154:(e,t,r)=>{"use strict";r.d(t,{A4:()=>s,OF:()=>d,RI:()=>i,WN:()=>h,bv:()=>o,gm:()=>a,lR:()=>f,m:()=>u,mw:()=>c,sb:()=>l});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s="complete"===a?.document?.readyState,c=Boolean("hidden"===a?.document?.visibilityState),u=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d&&"undefined"==typeof SharedWorker,f=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),h=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=g(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>u});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),h(a.gm,f),h(c.prototype,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,Zp:()=>i,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log",a=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>d,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>u,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>u,Rz:()=>d,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>s,Qu:()=>c,TZ:()=>a,ih:()=>u,tC:()=>i});var n=r(860);const i=["click","keydown","submit"],o="api",a=n.K7.softNav,s={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},c={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},u={IP:"in progress",FIN:"finished",CAN:"cancelled"}},7378:(e,t,r)=>{"use strict";r.d(t,{$p:()=>x,BR:()=>b,Kp:()=>R,L3:()=>y,Lc:()=>c,NC:()=>o,SG:()=>d,TZ:()=>i,U6:()=>p,UT:()=>m,d3:()=>w,dT:()=>f,e5:()=>A,gx:()=>v,l9:()=>l,oW:()=>h,op:()=>g,rw:()=>u,tH:()=>E,uP:()=>s,wW:()=>T,xq:()=>a});var n=r(384);const i=r(860).K7.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=(0,n.dV)().o.ST,w="-start",R="-end",x="-body",T="cb"+R,A="jsTime",E="fetch"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},425:(e,t,r)=>{"use strict";r.d(t,{j:()=>j});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),h=r(384),p=r(6344);const g=["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),w=r(3785),R=r(2646),x=r(3434);function T(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,x.YM)(i),a=new R.y(s.P);return a.level=n.level,a.customAttributes=n.customAttributes,o.inPlace(t,[r],"wrap-logger-",a),i}function A(){const e=(0,h.pV)();g.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const E={};var S=r(9417),N=r(5603),O=r(5284);const _=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let I=!1;function j(e,t={},g,R){let{init:x,info:j,loader_config:P,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();j||(x=L.init,j=L.info,P=L.loader_config),(0,S.xN)(e.agentIdentifier,x||{}),(0,N.a)(e.agentIdentifier,P||{}),j.jsAttributes??={},d.bv&&(j.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,j);const H=(0,S.D0)(e.agentIdentifier),D=[j.beacon,j.errorBeacon];I||(H.proxy.assets&&(_(H.proxy.assets),D.push(H.proxy.assets)),H.proxy.beacon&&D.push(H.proxy.beacon),A(),(0,h.US)("activatedFeatures",O.B),e.runSoftNavOverSpa&&=!0===H.soft_navigations.enabled&&H.feature_flags.includes("soft_nav")),C.denyList=[...H.ajax.deny_list||[],...H.ajax.block_internal?D:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const g={};var R=s.ee.get(e),x=R.get("tracer");E[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=>{E[e]=t}));var A="api-",S=A+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(A,n,!0,o||null===r?"session":void 0)(t,r)}function O(){}g.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e=>{g[e]=I(A,e,!0,"api")})),g.addPageAction=I(A,"addPageAction",!0,n.K7.genericEvents),g.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(A,"setPageViewName",!0)()},g.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},g.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},g.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,R),R.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},g[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,R)},g[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,R)},g.interaction=function(e){return(new O).get("object"==typeof e?e:{})};const _=O.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,R),h||(0,a.p)(S+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,R),function(){if(x.emit((o?"":"no-")+"fn-start",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw x.emit("fn-err",[arguments,this,t],r),t}finally{x.emit("fn-end",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,R),i&&(0,a.p)(e+t,[(0,v.t)(),...arguments],r?null:this,i,R),r?void 0:this}}function j(){r.e(478).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),R.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{_[e]=I(S,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(S,"routeName",void 0,n.K7.softNav):I(A,"routeName",!0,n.K7.spa),g.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,R),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!E[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=>j()),!0):j(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),I=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>o,K7:()=>n,P3:()=>i});const n={ajax:"ajax",genericEvents:"generic_events",jserrors:"jserrors",logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.spa]:5,[n.ajax]:6,[n.sessionTrace]:7,[n.softNav]:8,[n.sessionReplay]:9,[n.logging]:10,[n.genericEvents]:11},o={[n.pageViewTiming]:"events",[n.ajax]:"events",[n.spa]:"events",[n.softNav]:"events",[n.metrics]:"jserrors",[n.jserrors]:"jserrors",[n.sessionTrace]:"browser/blobs",[n.sessionReplay]:"browser/blobs",[n.logging]:"browser/logs",[n.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({212:"nr-spa-compressor",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.274.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.274.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={478:"sha512-1vUqEfJPB8Pihje9mv5CfYgkitO1FWcS+UQb84DbXqP8oYctRv4/lzl/MzNLPlRhcY1WVDBGL20I8vm6s2VV7g==",249:"sha512-Y/BeZAh6VSTmUtUNmS5XdyKxL92s30Fyyj8xVW76HSPxcKItL4+x2+kGMZc8pMJnUpZDz1L4eftZQAJh3D8NnA==",212:"sha512-Gn2tQ3qog5Yhrx/gRutkSTYPp+7nkKFt4/mIXg99LxcNpMDAYJZDBYmAACdoHNM86+iq1F3cBcQotFNzjIX8bw=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={38:0,788:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.274.0.PROD"]=self["webpackChunk:NRBA-1.274.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(e=(0,r.LA)(16)){this.agentIdentifier=e}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(425);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregator=i.e(478).then(i.bind(i,9337));const{EventAggregator:e}=await t.sharedAggregator;t.sharedAggregator=new e}if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),T=i(2843),A=i(3878),E=i(782),S=i(1863);class N extends b{static featureName=E.T;constructor(e,t=!0){super(e,E.T,t),p.RI&&((0,T.u)((()=>(0,x.p)("docHidden",[(0,S.t)()],void 0,E.T,this.ee)),!0),(0,A.sp)("pagehide",(()=>(0,x.p)("winPagehide",[(0,S.t)()],void 0,E.T,this.ee))),this.importAggregator(e))}}var O=i(3969);class _ extends b{static featureName=O.TZ;constructor(e,t=!0){super(e,O.TZ,t),this.importAggregator(e)}}var I=i(6774),j=i(3304);class P{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,j.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new P(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(H(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function L(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new P(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error&&!!e.stack}class D extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(e=>{this.abortHandler&&(0,x.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),p.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,x.p)("err",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener("error",(e=>{this.abortHandler&&(0,x.p)("err",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var M=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===p.gm?0:(0,M.I)(e,U,(function(){return K++}))}function G(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,j.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,d,"fn-",y)}),(0,A.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var g=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",J=["arrayBuffer","blob","json","text","formData"],Q=p.gm.Request,ee=p.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,J.forEach((e=>{r(Q[te],e,X),r(ee[te],e,X)})),r(p.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof p.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,j.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};p.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};pe(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){T(t,e)}),(0,A.jT)(!1)),p.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,A.jT)(!1))}function o(e){this.params={method:e[0]},pe(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<de;s++)r.addEventListener(ue[s],this.listener,(0,A.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function g(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&p.RI&&(t=""+p.gm.location.href):e[0]&&e[0].url?t=e[0].url:p.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:p.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),pe(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCazptureCalled||4!==e.readyState?null==t.status&&(t.status=0):T(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function T(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,x.p)(O.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",u),t.on("xhr-load-added",d),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",g),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function pe(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const ge={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!p.RI||ge[t.debugId]++||(ge[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:we,d3:Re,Kp:xe,TZ:Te,Lc:Ae,uP:Ee,Rz:Se}=be;class Ne extends b{static featureName=Te;constructor(e,t=!0){super(e,Te,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Ee,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Ae,(function(e,t){(0,x.p)("bst",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Se+Re,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Se+xe,(function(e){(0,x.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,x.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:we,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var Oe=i(2614);class _e extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(Oe.H3,"_").concat(Oe.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===Oe.g.FULL||e.sessionReplayMode===Oe.g.ERROR)||(0,g.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(478),i.e(249)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==Oe.g.FULL&&this.featAggregate.initializeRecording(Oe.g.FULL,!0):(this.#i=Oe.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==Oe.g.FULL&&(this.recorder.parent.mode=Oe.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class je extends b{static featureName=Ie.TZ;constructor(e,t=!0){if(super(e,Ie.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=ve(this.ee);Ie.tC.forEach((e=>{(0,A.sp)(e,(e=>{a(e)}),!0)}));const n=()=>(0,x.p)("newURL",[(0,S.t)(),""+window.location],void 0,this.featureName,this.ee);r.on("pushState-end",n),r.on("replaceState-end",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,A.sp)("popstate",(e=>(0,x.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=>{i||(i=!0,requestAnimationFrame((()=>{(0,x.p)("newDom",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=>{(0,x.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,{domObserver:o})}}var Pe=i(7378);const Ce={},ke=["appendChild","insertBefore","replaceChild"];function Le(e){const t=function(e){return(e||B.ee).get("jsonp")}(e);if(!p.RI||Ce[t.debugId])return t;Ce[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?&](?:callback|cb)=([^&#]+)/,i=/(.*)\.([^.]+)/,o=/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,ke,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var o=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t&&t.length>=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,A.jT)(!1)),e.removeEventListener("error",f,(0,A.jT)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,A.jT)(!1)),e.removeEventListener("error",f,(0,A.jT)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,A.jT)(!1)),e.addEventListener("error",f,(0,A.jT)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const He={};function De(e){const t=function(e){return(e||B.ee).get("promise")}(e);if(He[t.debugId])return t;He[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i&&function(){function e(r){var o=t.context(),a=n(r,"executor-",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),["all","race"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],"cb-",a,null,!1),e[1]=n(e[1],"cb-",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit("propagate",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on("executor-start",(function(e){e[0]=n(e[0],"resolve-",this,null,!1),e[1]=n(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const Me={},Ke="setTimeout",Ue="setInterval",Ve="clearTimeout",Ge="-start",Fe=[Ke,"setImmediate",Ue,Ve,"clearImmediate"];function Be(e){const t=function(e){return(e||B.ee).get("timer")}(e);if(Me[t.debugId]++)return t;Me[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Fe.slice(0,2),Ke+"-"),r.inPlace(p.gm,Fe.slice(2,3),Ue+"-"),r.inPlace(p.gm,Fe.slice(3),Ve+"-"),t.on(Ue+Ge,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(Ke+Ge,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}const We={};function ze(e){const t=function(e){return(e||B.ee).get("mutation")}(e);if(!p.RI||We[t.debugId])return t;We[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n&&(window.MutationObserver=function(e){return this instanceof n?new n(r(e,"fn-")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:qe,d3:Ze,Kp:Ye,$p:Xe,wW:Je,e5:Qe,tH:$e,uP:et,rw:tt,Lc:rt}=Pe;class nt extends b{static featureName=qe;constructor(e,t=!0){if(super(e,qe,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get("tracer"),o=Le(this.ee),a=De(this.ee),s=Be(this.ee),c=Z(this.ee),u=this.ee.get("events"),d=ne(this.ee),l=ve(this.ee),f=ze(this.ee);function h(e,t){l.emit("newURL",[""+window.location,t])}function g(){n++,r=window.location.hash,this[et]=(0,S.t)()}function m(){n--,window.location.hash!==r&&h(0,!0);var e=(0,S.t)();this[Qe]=~~this[Qe]+e-this[et],this[rt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(et,g),a.on(tt,g),o.on(tt,g),this.ee.on(rt,m),a.on(Je,m),o.on(Je,m),this.ee.on("fn-err",((...t)=>{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)("function-err",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([et,rt,"xhr-resolved"],this.featureName),u.buffer([et],this.featureName),s.buffer(["setTimeout"+Ye,"clearTimeout"+Ze,et],this.featureName),c.buffer([et,"new-xhr","send-xhr"+Ze],this.featureName),d.buffer([$e+Ze,$e+"-done",$e+Xe+Ze,$e+Xe+Ye],this.featureName),l.buffer(["newURL"],this.featureName),f.buffer([et],this.featureName),a.buffer(["propagate",tt,Je,"executor-err","resolve"+Ze],this.featureName),i.buffer([et,"no-"+et],this.featureName),o.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),v(d,$e+Ze),v(d,$e+"-done"),v(o,"new-jsonp"),v(o,"jsonp-end"),v(o,"cb-start"),l.on("pushState-end",h),l.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){h(0,n>1)}),(0,A.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var it=i(3333);class ot extends b{static featureName=it.TZ;constructor(e,t=!0){super(e,it.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled];p.RI&&e.init.user_actions.enabled&&(it.Zp.forEach((e=>(0,A.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=>(0,A.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)))))),r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var at=i(993),st=i(3785);class ct extends b{static featureName=at.TZ;constructor(e,t=!0){super(e,at.TZ,t);const r=this.ee;this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,st.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t,r){super(r),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[he,w,N,Ne,_e,_,D,ot,ct,je,nt],loaderType:"spa"})})()})();</script> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- <link rel="pingback" href="https://publichealth.berkeley.edu/wp/xmlrpc.php" /> --> <meta name="application-name" content="Berkeley Public Health"> <meta name="msapplication-TileColor" content="#003262"> <meta name="theme-color" media="(prefers-color-scheme: light)" content="#3b7da0" /> <meta name="theme-color" media="(prefers-color-scheme: dark)" content="#003262" /> <title>Contact | Berkeley Public Health</title> <meta name="robots" content="max-snippet:-1,max-image-preview:large,max-video-preview:-1" /> <link rel="canonical" href="https://publichealth.berkeley.edu/contact" /> <meta name="description" content="Find contact information for admissions, student services, program and division management, administration, and more." /> <meta name="theme-color" content="#3b7ea1" /> <meta property="og:type" content="website" /> <meta property="og:locale" content="en_US" /> <meta property="og:site_name" content="Berkeley Public Health" /> <meta property="og:title" content="Contact" /> <meta property="og:description" content="Find contact information for admissions, student services, program and division management, administration, and more." /> <meta property="og:url" content="https://publichealth.berkeley.edu/contact" /> <meta property="og:image" content="https://publichealth.berkeley.edu/app/uploads/BPH_Contact.jpg" /> <meta property="og:image:width" content="1620" /> <meta property="og:image:height" content="1080" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content="@UCBerkeleySPH" /> <meta name="twitter:title" content="Contact" /> <meta name="twitter:description" content="Find contact information for admissions, student services, program and division management, administration, and more." /> <meta name="twitter:image" content="https://publichealth.berkeley.edu/app/uploads/BPH_Contact.jpg" /> <script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://publichealth.berkeley.edu/#/schema/WebSite","url":"https://publichealth.berkeley.edu/","name":"Berkeley Public Health","alternateName":"UC Berkeley School of Public Health","description":"More than 75 years of transformational research and hands-on social impact for a better world.","inLanguage":"en-US","potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://publichealth.berkeley.edu/search/{search_term_string}"},"query-input":"required name=search_term_string"},"publisher":{"@type":"Organization","@id":"https://publichealth.berkeley.edu/#/schema/Organization","name":"UC Berkeley School of Public Health","url":"https://publichealth.berkeley.edu/","logo":{"@type":"ImageObject","url":"https://publichealth.berkeley.edu/app/uploads/cropped-favicon-3.jpg","contentUrl":"https://publichealth.berkeley.edu/app/uploads/cropped-favicon-3.jpg","width":512,"height":512,"contentSize":"29301"}}},{"@type":"WebPage","@id":"https://publichealth.berkeley.edu/contact","url":"https://publichealth.berkeley.edu/contact","name":"Contact | Berkeley Public Health","description":"Find contact information for admissions, student services, program and division management, administration, and more.","inLanguage":"en-US","isPartOf":{"@id":"https://publichealth.berkeley.edu/#/schema/WebSite"},"breadcrumb":{"@type":"BreadcrumbList","@id":"https://publichealth.berkeley.edu/#/schema/BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":"https://publichealth.berkeley.edu/","name":"Berkeley Public Health"},{"@type":"ListItem","position":2,"name":"Contact"}]},"potentialAction":{"@type":"ReadAction","target":"https://publichealth.berkeley.edu/contact"}}]}</script> <link rel='dns-prefetch' href='//publichealth.berkeley.edu' /> <link rel='dns-prefetch' href='//siteimproveanalytics.com' /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/publichealth.berkeley.edu\/wp\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.5.3"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} .wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} .wp-block-pullquote{font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='global-css' href='https://publichealth.berkeley.edu/app/themes/berkeley-public-health/dist/global.css?ver=1716588399562' type='text/css' media='all' /> <link rel='stylesheet' id='fonts-css' href='https://publichealth.berkeley.edu/app/themes/berkeley-public-health/dist/fonts.css?ver=1.0' type='text/css' media='all' /> <script type="text/javascript" src="https://publichealth.berkeley.edu/app/themes/berkeley-public-health/dist/app.js?ver=1716588399562" id="app-js"></script> <link rel="https://api.w.org/" href="https://publichealth.berkeley.edu/wp-json/" /><link rel="alternate" type="application/json" href="https://publichealth.berkeley.edu/wp-json/wp/v2/pages/16229" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://publichealth.berkeley.edu/wp/xmlrpc.php?rsd" /> <link rel="alternate" type="application/json+oembed" href="https://publichealth.berkeley.edu/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fpublichealth.berkeley.edu%2Fcontact" /> <link rel="alternate" type="text/xml+oembed" href="https://publichealth.berkeley.edu/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fpublichealth.berkeley.edu%2Fcontact&format=xml" /> <noscript><style>.lazyload[data-src]{display:none !important;}</style></noscript><style>.lazyload{background-image:none !important;}.lazyload:before{background-image:none !important;}</style><link rel="icon" href="https://publichealth.berkeley.edu/app/uploads/cropped-favicon-3-60x60.jpg" sizes="32x32" /> <link rel="icon" href="https://publichealth.berkeley.edu/app/uploads/cropped-favicon-3-300x300.jpg" sizes="192x192" /> <link rel="apple-touch-icon" href="https://publichealth.berkeley.edu/app/uploads/cropped-favicon-3-300x300.jpg" /> <meta name="msapplication-TileImage" content="https://publichealth.berkeley.edu/app/uploads/cropped-favicon-3-300x300.jpg" /> </head> <body class="page-template-default page page-id-16229 page-parent" > <a href="#main-content" class="skip-to-main-content-link">Skip to main content</a> <header id="bphGlobalHeader" class="bph-global-header" > <section id="bphGlobalHeaderNavigation" class="bph-global-header-navigation" > <div class="x" uk-sticky=" cls-active: uk-navbar-sticky; sel-target: .uk-navbar-container;"> <div class=" uk-background-muted uk-visible@m" > <div class=" uk-container uk-container-large" > <div class=" bph-padding-xsmall uk-flex uk-flex-between uk-padding-remove-horizontal uk-text-small" > <div> <a class="uk-link-text" href="https://berkeley.edu" target="_blank" >U<span class="uk-visible@l">niversity of </span>C<span class="uk-visible@l">alifornia,</span> Berkeley</a> </div> <div> <ul class=" uk-child-width-auto uk-grid-divider uk-grid-small" uk-grid > <li><a class="uk-link-text" href="https://publichealth.berkeley.edu/events" >Events</a></li> <li><a class="uk-link-text" href="https://publichealth.berkeley.edu/giving" >Giving</a></li> <li><a class="uk-link-text" href="https://publichealth.berkeley.edu/students" >Current Students</a></li> <li><a class="uk-link-text" href="https://publichealth.berkeley.edu/workplace" >Workplace</a></li> </ul> </div> </div> </div> </div> <div > <!-- uk-sticky=" cls-active: uk-navbar-sticky; sel-target: .uk-navbar-container;" --> <nav class=" uk-box-shadow-small uk-navbar-container" > <div class=" uk-container uk-container-large" > <div uk-navbar="mode: click;"> <div class="uk-navbar-left"> <a aria-label="Back to BPH Home" class="uk-padding-remove-left" href="https://publichealth.berkeley.edu" ><img alt="Berkeley Public Health" class="uk-logo uk-preserve uk-width-auto lazyload" width="auto" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" uk-svg data-src="https://publichealth.berkeley.edu/app/themes/berkeley-public-health/dist/img/logo-bph.svg" decoding="async"><noscript><img alt="Berkeley Public Health" class="uk-logo uk-preserve uk-width-auto" width="auto" src="https://publichealth.berkeley.edu/app/themes/berkeley-public-health/dist/img/logo-bph.svg" uk-svg data-eio="l"></noscript> </a> </div> <div class="uk-navbar-right"> <ul class=" uk-height-1-1 uk-navbar-nav" > <li class=" uk-flex uk-flex-middle uk-visible@m" > <a href="#"><span class="uk-text-small uk-text-bold"><span class="uk-visible@l">Explore </span>Programs</span> <span uk-navbar-parent-icon></span></a> <div class="bph-border-rounded-bottom-left-large bph-border-rounded-bottom-right-large uk-box-shadow-xlarge uk-navbar-dropdown uk-width-auto" > <ul class=" bph-border-rounded-bottom-left-large bph-border-rounded-bottom-right-large uk-nav uk-navbar-dropdown-nav uk-text-small" > <li><a href="https://publichealth.berkeley.edu/academics/programs?location=campus" >On-Campus Programs</a></li> <li><a href="https://publichealth.berkeley.edu/academics/online" >Berkeley Public Health Online</a></li> <li><a href="https://publichealth.berkeley.edu/academics/joint-medical-program" ><div>Joint Medical Program<div class="uk-nav-subtitle">MA/MD with UCSF</div></div></a></li> <li><a href="https://publichealth.berkeley.edu/academics/programs?category=concurrent" ><div>Concurrent MPH Programs<div class="uk-nav-subtitle">MBA / MCP / MJ / MPP / MSW</div></div></a></li> <li><a href="https://publichealth.berkeley.edu/academics/undergraduate" >Undergraduate</a></li> <li class=" uk-margin-remove uk-nav-divider" ></li> <li class=" bph-border-rounded-bottom-left-large bph-border-rounded-bottom-right-large" ><a class=" bph-border-rounded-bottom-left-large bph-border-rounded-bottom-right-large" href="https://publichealth.berkeley.edu/academics/programs" ><strong>Browse All Programs</strong></a></li> </ul> </div> </li> <li class=" uk-flex uk-flex-middle uk-visible@m" > <a id="bphRequestModalFull" href="#" ><span class="uk-text-small uk-text-bold">Request Info<span class="uk-visible@l">rmation</span></span></a> </li> <li class=" uk-flex uk-flex-middle uk-visible@m"> <a href="https://publichealth.berkeley.edu/admissions" ><span class="uk-text-small uk-text-bold">Apply</span></a> </li> <li class=" uk-flex uk-flex-middle uk-visible@s" > <a class="bph-navigation-search-icon uk-navbar-toggle uk-navbar-toggle-animate " href="#" ><span uk-search-icon></span><span class="uk-hidden-visually">Toggle Search</span></a> <div class="uk-background-primary uk-width-1-1 uk-padding-small" uk-drop=" animation: reveal-top; animate-out: true; bg-scroll: true; duration: 100; mode: click; stretch: x; offset: 0; target: .uk-navbar-container" > <div class="uk-container uk-container-large"> <div class="uk-padding-small uk-padding-remove-horizontal"> <form role="search" method="get" class="uk-search uk-search-navbar" action="https://publichealth.berkeley.edu/"> <div class="uk-flex uk-width-1-1"> <div class="uk-width-1-1"> <span uk-search-icon></span> <input aria-label="Search for:" class="uk-width-1-1 uk-search-input bph-border-rounded-top-left bph-border-rounded-bottom-left" type="search" placeholder="Search:" value="" name="s" required> </div> <div> <input class="uk-height-1-1" type="submit" value="Submit" /> </div> </div> </form> </div> </div> </div> </li> <li class=" uk-flex uk-flex-middle" > <a class=" uk-border-rounded uk-height-1-1 uk-navbar-toggle uk-navbar-toggle-animate uk-margin-small-left" href="#" uk-navbar-toggle-icon ><span class=" uk-text-small uk-visible@s uk-text-uppercase">Menu </span></a> <div class="uk-dropbar uk-drop" uk-drop=" animation: reveal-top; animate-out: true; bg-scroll: false; duration: 100; mode: click; stretch: true; target: .uk-navbar-container;" > <div class="uk-container uk-container-large"> <div class="uk-padding uk-padding-remove-horizontal"> <div class="uk-child-width-expand@m uk-grid-smatch uk-grid-large" uk-grid> <div class="uk-visible@l"> <div class="uk-nav-primary uk-nav-primary-bph-card-margin" uk-nav> <p class="uk-nav-header">Featured Article</p> </div> <a aria-labelledby="bphCardTitle_Blackstudentsarepunishedmoreoften8590" class="uk-link-toggle" href="https://publichealth.berkeley.edu/news-media/research-highlights/black-students-are-punished-more-often" > <div class="bph-card uk-flex uk-flex-between bph-border-rounded-large uk-card uk-margin uk-grid-collapse uk-card-small uk-flex-column bph-card-dark uk-card-secondary uk-box-shadow-small uk-box-shadow-hover-small " uk-grid > <div class=" uk-card-media-top bph-border-rounded-top-left-large bph-border-rounded-top-right-large "> <div class=" bph-border-rounded-large uk-width-1-1 "> <div class=" uk-background-cover uk-background-top-center uk-height-1-1 uk-background-blend-luminosity bph-navbar-dropdown-background bph-card-filter-image" data-src="https://publichealth.berkeley.edu/app/uploads/BPH-website-news-image-23-600x400.jpg" uk-img > <canvas width="420" height="280" ></canvas> </div> </div> </div> <div class="uk-card-body uk-flex uk-flex-column uk-width-expand uk-flex-between " > <div> <p id="bphCardTitle_Blackstudentsarepunishedmoreoften8590" class="bph-text-serif uk-card-title uk-link-text uk-margin-remove-top uk-text-small uk-margin-small-bottom " > Black students are punished more often </p> </div> <div> <span class="uk-text-meta" >November 25, 2024</span> </div> </div> </div> </a> </div> <div> <div class="uk-hidden@m uk-margin-bottom"> <div class="uk-hidden@s"> <form role="search" method="get" class="uk-search uk-search-navbar" action="https://publichealth.berkeley.edu/"> <div class="uk-flex uk-width-1-1"> <div class="bph-search-navigation-mobile uk-width-1-1"> <span uk-search-icon style="color: #fff;"></span><!-- TODO add as css --> <input aria-label="Search for:" class="uk-width-1-1 uk-search-input bph-border-rounded-top-left-large bph-border-rounded-bottom-left-large" type="search" placeholder="Enter search term:" value="" name="s" required /> </div> <div> <input class="uk-height-1-1" type="submit" value="Search" /> </div> </div> </form> </div> <div class="uk-margin-top"> <a class="uk-button uk-button-default uk-width-1-1 uk-margin-small-bottom" id="bphRequestModalMobile" href="#" >Request Information</a> <!-- TODO additional classes for wrapper and button, if add more classes is selected --> <div class="uk-border-rounded uk-margin-small uk-margin-remove-bottom"> <a class="uk-button uk-button-default uk-box-shadow-small uk-box-shadow-hover-medium uk-width-1-1" href="https://publichealth.berkeley.edu/admissions" target="_self" > Apply Now </a> </div> </div> </div> <ul class="uk-nav-primary" uk-nav> <li class="uk-nav-header">Academics</li> <li class="uk-nav-divider"></li> <li class="uk-parent"> <a href="#">Academic Programs <span uk-nav-parent-icon></span></a> <ul class="uk-nav-sub"> <li><a href="https://publichealth.berkeley.edu/academics/programs">Browse All Programs</a></li> <li><a href="https://publichealth.berkeley.edu/academics/online">BPH Online</a></li> <li><a href="https://publichealth.berkeley.edu/academics/joint-medical-program">Joint Medical Program</a></li> <li><a href="https://publichealth.berkeley.edu/academics/programs?category=concurrent">Concurrent MPH Programs</a></li> <li><a href="https://publichealth.berkeley.edu/academics/undergraduate">Undergraduate</a></li> <li><a href="https://publichealth.berkeley.edu/academics">Academics Overview</a></li> </ul> </li> <li><a href="https://publichealth.berkeley.edu/academics/online">Online MPH</a></li> <li class="uk-parent"> <a href="#">Divisions <span uk-nav-parent-icon></span></a> <ul class="uk-nav-sub"> <li><a href="https://publichealth.berkeley.edu/academics/biostatistics">Biostatistics</a></li> <li><a href="https://publichealth.berkeley.edu/academics/community-health-sciences">Community Health Sciences</a></li> <li><a href="https://publichealth.berkeley.edu/academics/environmental-health-sciences">Environmental Health Sciences</a></li> <li><a href="https://publichealth.berkeley.edu/academics/epidemiology">Epidemiology</a></li> <li><a href="https://publichealth.berkeley.edu/academics/health-policy">Health Policy and Management</a></li> <li><a href="https://publichealth.berkeley.edu/academics/infectious-diseases-and-vaccinology">Infectious Diseases and Vaccinology</a></li> <!-- <li><a href="#">Interdisciplinary</a></li> --> </ul> </li> </ul> <ul class="uk-nav-primary uk-margin-medium-top" uk-nav> <li class="uk-nav-header">Admissions and Aid</li> <li class="uk-nav-divider"></li> <li><a href="https://publichealth.berkeley.edu/admissions">Admissions Requirements</a></li> <li><a href="https://publichealth.berkeley.edu/admissions">Dates and Deadlines</a></li> <li><a href="https://publichealth.berkeley.edu/admissions">Application Instructions</a></li> <li><a href="https://publichealth.berkeley.edu/admissions">Fees and Financial Aid</a></li> </ul> </div> <div> <ul class="uk-nav-primary" uk-nav> <li class="uk-nav-header">Research and Practice</li> <li class="uk-nav-divider"></li> <li><a href="https://publichealth.berkeley.edu/research">Research</a></li> <li><a href="https://publichealth.berkeley.edu/research">Community Engagement</a></li> <li><a href="https://publichealth.berkeley.edu/research#bphScrollAnchor___research-centers">Centers and Labs</a></li> </ul> <ul class="uk-nav-primary uk-margin-medium-top" uk-nav> <li class="uk-nav-header">Student Life</li> <li class="uk-nav-divider"></li> <li><a href="https://publichealth.berkeley.edu/students/rise">RISE: Career and Leadership Development</a></li> <li><a href="https://publichealth.berkeley.edu/students/dream">Dream Office: Diversity and Inclusion</a></li> <li class="uk-parent"> <a href="#">Student Organizations <span uk-nav-parent-icon></span></a> <ul class="uk-nav-sub"> <li><a href="https://publichealth.berkeley.edu/students/student-groups">Student Groups</a></li> <li><a href="https://publichealth.berkeley.edu/students/student-government">Student Government</a></li> </ul> </li> </ul> </div> <div> <ul class="uk-nav-primary" uk-nav> <li class="uk-nav-header">People</li> <li class="uk-nav-divider"></li> <li><a href="https://publichealth.berkeley.edu/people">Faculty & Researchers</a></li> <li><a href="https://publichealth.berkeley.edu/about/leadership">Leadership</a></li> <li><a href="https://publichealth.berkeley.edu/contact">Staff Directory</a></li> <li class="uk-hidden@m"><a href="https://publichealth.berkeley.edu/workplace">Workplace</a></li> </ul> <ul class="uk-margin-medium-top uk-nav-primary" uk-nav> <li class="uk-nav-header">About</li> <li class="uk-nav-divider"></li> <li class="uk-parent"> <a href="#">About BPH <span uk-nav-parent-icon></span></a> <ul class="uk-nav-sub"> <li><a href="https://publichealth.berkeley.edu/about">Summary and Strengths</a></li> <li><a href="https://publichealth.berkeley.edu/about/mission-and-vision">Mission, Vision, and Values</a></li> <li><a href="https://publichealth.berkeley.edu/about/anti-racism">Anti-Racism Plan and Progress</a></li> </ul> </li> <li><a href="https://publichealth.berkeley.edu/alumni">Alumni</a></li> <li><a href="https://publichealth.berkeley.edu/giving">Support BPH</a></li> <li><a href="https://publichealth.berkeley.edu/news">News & Media</a></li> <li class="uk-hidden@m"><a href="https://publichealth.berkeley.edu/events">Events</a></li> </ul> <div class="uk-margin-top uk-hidden@m"> <a href="https://www.linkedin.com/company/uc-berkeley-school-of-public-health" class=" uk-icon-button uk-margin-small-right" target="_blank" uk-icon="linkedin" ></a> <a href="https://www.instagram.com/berkeleypublichealth/" class=" uk-icon-button uk-margin-small-right" target="_blank" uk-icon="instagram" ></a> <a href="https://www.tiktok.com/@berkeley.public.health" class=" uk-icon-button uk-margin-small-right" target="_blank" uk-icon="tiktok" ></a> <a href="https://www.youtube.com/user/BerkeleyHealthOnline" class=" uk-icon-button uk-margin-small-right" target="_blank" uk-icon="youtube" ></a> <a href="https://www.facebook.com/UCBerkeleySPH/" class=" uk-icon-button uk-margin-small-right" target="_blank" uk-icon="facebook" ></a> <a href="https://www.threads.net/@berkeleypublichealth" class=" uk-icon-button uk-margin-small-right" target="_blank" uk-icon="threads" ></a> <a href="https://twitter.com/UCBerkeleySPH" class="uk-icon-button" target="_blank" uk-icon="x" ></a> </div> </div> </div> </div> </div> </div> </li> </ul> </div> </div> </div> </nav> </div> </div> </section> <!-- TODO handbook link in current students menu TODO handbook link is an ACF field so it can be pulled to the main handbooks page --> </header> <main id="main-content"> <!-- TODO - conditional meta information, like different fallback image for online program TODO - uk-img="loading: eager" for hero --> <section class="bph-block-hero bph-layout-standard bph-margin-top-none uk-section-default uk-padding-remove-vertical " id="bphBlockHero-3396" uk-scrollspy="cls: uk-animation-fade; target: .bph-block-section-scrollspy-target"> <div class="bph-background-solid-berkeley-blue uk-padding-large uk-padding-remove-horizontal" ><!-- 1 --> <div class=""><!-- 2 optional extra padding--> <div class="uk-container uk-container-large"><!-- outer container --> <div class="bph-hero-content-border"> <div class="uk-container"> <div class="uk-flex-bottom" uk-grid> <div class="uk-width-3-5@l"> <div class="bph-hero-content-padding"> <h1 class="bph-text-serif uk-heading-small uk-margin-remove-bottom uk-margin-remove-top" >Contact Information</h1> </div><!-- left content --> </div><!-- flex left --> <div id="anchor__cta" class="uk-width-expand"> <div class=""> </div> </div><!-- flex right --> </div> </div> </div> </div><!-- outer container --> </div><!-- 2 --> </div><!-- 1 --> </section> <!-- TODO global error message with web@ email address instructions --> <div class=" uk-flex-left@l bph-container-aside uk-container uk-container-large uk-flex uk-flex-center uk-text-small" > <aside class=" uk-margin-large-top uk-width-3-4@s uk-width-1-4@l uk-position-z-index" > <div class=" uk-padding-remove-left bph-aside-responsive-padding uk-padding-large uk-padding-remove-vertical" > <div> <div class="uk-visible@l"> <div class=" uk-background-muted uk-border-rounded bph-border-bottom bph-border-color-lap-lane bph-border-width-3-bottom uk-padding-small uk-padding-remove-horizontal uk-margin" > <div class="uk-padding-small uk-padding-remove-vertical"> <strong> General Inquiries <hr class="uk-margin-small-top"> </strong> </div> <div class="uk-padding-small uk-padding-remove-vertical"> <div class="uk-margin-bottom"> <span class="bph-sidebar-contact-text uk-display-block uk-margin-top" ><p>Have Questions? Send us an email:</p> </span> <div class="uk-flex uk-margin-small-top"> <div class="uk-margin-small-right"><span uk-icon="icon: mail"></span></div> <div class="uk-link-text"><a href="mailto:publichealth@berkeley.edu" >publichealth​@berkeley.edu</a> </div> </div> </div> </div> </div> <div class=" uk-background-muted uk-border-rounded bph-border-bottom bph-border-color-lap-lane bph-border-width-3-bottom uk-padding-small uk-padding-remove-horizontal uk-margin" > <div class="uk-padding-small uk-padding-remove-vertical"> <strong> BPH Website Contact <hr class="uk-margin-small-top"> </strong> </div> <div class="uk-padding-small uk-padding-remove-vertical"> <div class="uk-margin-bottom"> <span class="bph-sidebar-contact-text uk-display-block uk-margin-top" ><p>For website-related questions and comments:</p> </span> <div class="uk-flex uk-margin-small-top"> <div class="uk-margin-small-right"><span uk-icon="icon: mail"></span></div> <div class="uk-link-text"><a href="mailto:mattmacneil@berkeley.edu" >mattmacneil​@berkeley.edu</a> </div> </div> </div> </div> </div> <div class=" uk-background-default uk-padding-remove-vertical uk-padding-small uk-margin" > <span class=" uk-margin-small-bottom uk-display-inline-block"><strong> Mailing Address </strong></span> <div class="uk-padding-remove-bottom"> <p>University of California, Berkeley School of Public Health<br /> 2121 Berkeley Way, Room 5302<br /> Berkeley, CA 94720-7360</p> </div> </div> <div class=" uk-background-default uk-padding-remove-vertical uk-paddidng-small uk-marsgin" > <!-- TODO additional classes for wrapper and button, if add more classes is selected --> <div class="uk-border-rounded uk-margin-small uk-margin-remove-bottom"> <a class="uk-button uk-button-secondary uk-box-shadow-small uk-box-shadow-hover-medium uk-width-1-1 uk-button-small" href="https://www.berkeley.edu/directory/" target="_blank" uk-icon="icon: link-external; ratio: 0.75;" > Campus Directory <span class="uk-hidden-visually"> (Link opens in a new tab)</span><!-- TODO global option --> </a> </div> </div> <!-- End Full-Width --> </div> <!-- // Begin mobile // // --> <div class="uk-hidden@l uk-background-muted uk-border-rounded uk-padding-small"> <ul class="uk-margin-remove-bottom" uk-accordion> <li> <a class="uk-accordion-title uk-text-small" href="#"> General Inquiries </a> <div class="uk-accordion-content"> <div> <div class=""> <hr class="uk-divider-small"> <span class="uk-display-block uk-margin-top" ><p>Have Questions? Send us an email:</p> </span> <div class="uk-flex uk-margin-small-top"> <div class="uk-margin-small-right"><span uk-icon="icon: mail"></span></div> <div class=""><a href="mailto:publichealth@berkeley.edu" >publichealth​@berkeley.edu</a> </div> </div> </div> </div> </div></li> <li> <a class="uk-accordion-title uk-text-small" href="#"> BPH Website Contact </a> <div class="uk-accordion-content"> <div> <div class=""> <hr class="uk-divider-small"> <span class="uk-display-block uk-margin-top" ><p>For website-related questions and comments:</p> </span> <div class="uk-flex uk-margin-small-top"> <div class="uk-margin-small-right"><span uk-icon="icon: mail"></span></div> <div class=""><a href="mailto:mattmacneil@berkeley.edu" >mattmacneil​@berkeley.edu</a> </div> </div> </div> </div> </div></li> <li> <a class="uk-accordion-title uk-text-small" href="#"> Mailing Address </a> <div class="uk-accordion-content"> <div> <div class="uk-padding-remove-bottom"> <p>University of California, Berkeley School of Public Health<br /> 2121 Berkeley Way, Room 5302<br /> Berkeley, CA 94720-7360</p> </div> </div> </div></li> <li> <a class="uk-accordion-title uk-text-small" href="#"> Search the UC Berkeley Directory </a> <div class="uk-accordion-content"> <div> <!-- TODO additional classes for wrapper and button, if add more classes is selected --> <div class="uk-border-rounded uk-margin-small uk-margin-remove-bottom"> <a class="uk-button uk-button-secondary uk-box-shadow-small uk-box-shadow-hover-medium uk-width-1-1 uk-button-small" href="https://www.berkeley.edu/directory/" target="_blank" uk-icon="icon: link-external; ratio: 0.75;" > Campus Directory <span class="uk-hidden-visually"> (Link opens in a new tab)</span><!-- TODO global option --> </a> </div> </div> </div></li> </ul> </div> </div> </div> </aside> </div> <div class=" uk-visible@l uk-flex-right@l bph-container-aside uk-container uk-container-large uk-flex uk-flex-center uk-text-small" > <aside class=" uk-margin-large-top uk-width-3-4@s uk-width-1-4@l uk-position-z-index" > <div class=" uk-padding-remove-right bph-aside-responsive-padding uk-padding-large uk-padding-remove-vertical" > <div class="" > <div class=" bph-sidebar-scrollnav uk-padding uk-padding-remove-right uk-padding-remove-vertical"> <!-- <ul class="bphScrollUl___ uk-nav uk-nav-secondary uk-text-small" id="scrollNavId" uk-scrollspy-nav="closest: li; offset: 75; scroll: true"></ul> --> <span class="uk-text-bold uk-text-muted">More on this page:</span> <ul class="bphScrollUl___ uk-margin-small-top uk-nav uk-nav-secondary uk-text-small" id="scrollNavId"></ul> </div> </div> </div> </div> </aside> </div> <section class="bph-block-text bph-layout-standard uk-margin-large-top uk-section-default uk-padding-remove-vertical " id="bphBlockText-6146" uk-scrollspy="cls: uk-animation-fade; target: .bph-block-section-scrollspy-target"> <div class="bph-block-section-scrollspy-target"> <div class=" bphScrollAnchor___admissions uk-container uk-container-large uk-flex uk-flex-center uk-flex-left@l" id="bphScrollAnchor___admissions" > <div class=" uk-visible@l uk-width-1-4@l" ></div> <div class=" uk-width-3-4@s uk-width-1-2@l" > <div> <h2 class="bph-text-serif uk-h2 uk-margin-medium-bottom bph-scrollnav-anchor">Admissions</h2> <div class="bph-block-text-content "> <p>If you are requesting admissions information that is specific to a certain program, please find that program’s contact information on this page.</p> </div> </div> </div> </div> </div> </section> <section class="bph-block-text bph-layout-standard uk-margin-medium-top uk-section-default uk-padding-remove-vertical " id="bphBlockText-1720" uk-scrollspy="cls: uk-animation-fade; target: .bph-block-section-scrollspy-target"> <div class="bph-block-section-scrollspy-target"> <div class=" bphAnchorDefaultId-7688 uk-container uk-container-large uk-flex uk-flex-center uk-flex-left@l" id="bphAnchorDefaultId-7688" > <div class=" uk-visible@l uk-width-1-4@l" ></div> <div class=" uk-width-3-4@s uk-width-1-2@l" > <div> <div class="bph-block-text-content "> <div class="uk-overflow-auto uk-width-1-1"> <table id="tablepress-2" class="tablepress tablepress-id-2 uk-table uk-table-hover uk-table-divider uk-table-striped"> <tbody> <tr class="row-1"> <td class="column-1">Graduate Program Admissions:</td><td class="column-2">sphadmit@berkeley.edu<br /> (510) 664-9084</td> </tr> <tr class="row-2"> <td class="column-1">Online Education Recruitment Specialist:</td><td class="column-2">Stephanie Nguyen<br /> online.mph@berkeley.edu<br /> (510) 664-7979</td> </tr> <tr class="row-3"> <td class="column-1">UC Berkeley-UCSF Joint Medical Program, Admissions and Outreach Coordinator:</td><td class="column-2">jmp_admissions@berkeley.edu<br /> (510) 642-5479</td> </tr> <tr class="row-4"> <td class="column-1">Graduate Recruitment and Diversity Services (GRADS) Peer Advisors:</td><td class="column-2">sphgrads@berkeley.edu<br /> (510) 643-7900</td> </tr> <tr class="row-5"> <td class="column-1">Undergraduate Admissions:</td><td class="column-2">Patricia Cruz and Lauren Magsanay<br /> sphug@berkeley.edu<br /> (510) 643-0874</td> </tr> </tbody> </table> </div><!-- #tablepress-2 from cache --> </div> </div> </div> </div> </div> </section> <section class="bph-block-accordion bph-layout-standard uk-margin-large-top uk-section-default uk-padding-remove-vertical " id="bphBlockAccordion-2500" uk-scrollspy="cls: uk-animation-fade; target: .bph-block-section-scrollspy-target"> <div class="bph-block-section-scrollspy-target"> <div class=" bphScrollAnchor___program-managers uk-container uk-container-large uk-flex uk-flex-center uk-flex-left@l" id="bphScrollAnchor___program-managers" > <div class=" uk-visible@l uk-width-1-4@l" ></div> <div class=" uk-width-3-4@s uk-width-1-2@l" > <div> <h2 class="bph-text-serif uk-h2 uk-margin-medium-bottom bph-scrollnav-anchor">Program Managers</h2> <ul class="uk-margin-remove-bottom uk-margin-remove-top" uk-accordion="multiple: true;" > <li> <a class="uk-accordion-title" href="#" >Online MPH Program</a> <div class="uk-accordion-content"> <p data-renderer-start-pos="409">Online MPH Interdisciplinary Program,<br /> Online MPH Epidemiology/Biostatistics Concentration,<br /> Online MPH Public Health Nutrition Concentration:</p> <ul class="uk-list uk-list-disc"> <li>Darshani Johnson<br /> <a href="mailto:oomph_prog_mgr@berkeley.edu">oomph_prog_mgr@berkeley.edu</a></li> </ul> <p>Online MPH Health Policy and Management Concentration:</p> <ul class="uk-list uk-list-disc"> <li><a title="mailto:oomph_prog_mgr@berkeley.edu" href="mailto:oomph_prog_mgr@berkeley.edu" data-testid="link-with-safety">oomph_prog_mgr@berkeley.edu</a></li> </ul> </div> </li> <li> <a class="uk-accordion-title" href="#" >Biostatistics</a> <div class="uk-accordion-content"> <p>Biostatistics PHD and MA programs:</p> <ul class="uk-list uk-list-disc"> <li>Jordan Elmowitz<br /> <a href="mailto:biostat@berkeley.edu">biostat@berkeley.edu</a></li> </ul> <p>Epidemiology/Biostatistics MPH program (Epidemiology Division):</p> <ul class="uk-list uk-list-disc"> <li>Jordan Elmowitz<br /> <a href="mailto:epi_div@berkeley.edu">epi_div@berkeley.edu</a></li> </ul> </div> </li> <li> <a class="uk-accordion-title" href="#" >Community Health Sciences</a> <div class="uk-accordion-content"> <p>Health and Social Behavior MPH program:</p> <ul class="uk-list uk-list-disc"> <li>Jessica Ko<br /> <a href="mailto:hsbprogram@berkeley.edu">hsbprogram@berkeley.edu</a><br /> (510) 642-8626</li> </ul> <p>Maternal, Child and Adolescent Health MPH programs:</p> <ul class="uk-list uk-list-disc"> <li>Tina Lu<br /> <a href="mailto:mcahprogram@berkeley.edu">mcahprogram@berkeley.edu</a><br /> (510) 643-4991</li> </ul> <p>Public Health Nutrition MPH programs:</p> <ul class="uk-list uk-list-disc"> <li>Carol Hui<br /> <a href="mailto:FNPH@berkeley.edu">FNPH@berkeley.edu</a><br /> (510) 666-3734</li> </ul> </div> </li> <li> <a class="uk-accordion-title" href="#" >Environmental Health Sciences</a> <div class="uk-accordion-content"> <p>Environmental Health Sciences PhD, MPH and MA programs,<br /> Global Health and Environment MPH and MA programs:</p> <ul class="uk-list uk-list-disc"> <li>Gladys Stout<br /> <a href="mailto:ehs_div@berkeley.edu">ehs_div@berkeley.edu</a></li> </ul> </div> </li> <li> <a class="uk-accordion-title" href="#" >Epidemiology</a> <div class="uk-accordion-content"> <p>Epidemiology/Biostatistics MPH program,<br /> Epidemiology PHD, MPH and MS programs:</p> <ul class="uk-list uk-list-disc"> <li>Jordan Elmowitz<br /> <a href="mailto:epi_div@berkeley.edu">epi_div@berkeley.edu</a></li> </ul> </div> </li> <li> <a class="uk-accordion-title" href="#" >Health Policy and Management</a> <div class="uk-accordion-content"> <p data-renderer-start-pos="93">Health Policy and Management MPH program:</p> <ul class="uk-list uk-list-disc"> <li data-renderer-start-pos="136">Kristine Doss<br /> <a title="mailto:hpm_mph@berkeley.edu" href="mailto:hpm_mph@berkeley.edu" data-testid="link-with-safety" data-renderer-mark="true">hpm_mph@berkeley.edu</a></li> </ul> <p data-renderer-start-pos="217">Health Policy PhD program:</p> <ul class="uk-list uk-list-disc"> <li data-renderer-start-pos="245">Kristine Doss<br /> <a title="mailto:healthpolicy_phd@berkeley.edu" href="mailto:healthpolicy_phd@berkeley.edu" data-testid="link-with-safety" data-renderer-mark="true">healthpolicy_phd@berkeley.edu</a></li> </ul> </div> </li> <li> <a class="uk-accordion-title" href="#" >Infectious Diseases and Vaccinology</a> <div class="uk-accordion-content"> <p>Infectious Diseases and Vaccinology MPH program,<br /> Infectious Diseases and Immunity PHD program:</p> <ul class="uk-list uk-list-disc"> <li>Teresa Liu<br /> <a href="mailto:idadmin@berkeley.edu">idadmin@berkeley.edu</a><br /> (510) 642-2613</li> </ul> </div> </li> <li> <a class="uk-accordion-title" href="#" >Interdisciplinary Division</a> <div class="uk-accordion-content"> <p>Doctor of Public Health DrPH program:</p> <ul class="uk-list uk-list-disc"> <li>Kevin Guzman, MBA<br /> <a href="mailto:drph@berkeley.edu">drph@berkeley.edu</a></li> </ul> <p>Interdisciplinary MPH program:</p> <ul class="uk-list uk-list-disc"> <li>Kevin Guzman, MBA<br /> <a href="mailto:ipmph@berkeley.edu">ipmph@berkeley.edu</a></li> </ul> <p>“4+1” One-Year MPH program:</p> <ul class="uk-list uk-list-disc"> <li>Patricia Cruz and Lauren Magsanay<br /> <a href="mailto:sphug@berkeley.edu">sphug@berkeley.edu</a>, (510) 643-0874</li> </ul> </div> </li> <li> <a class="uk-accordion-title" href="#" >Undergraduate and Certificate Programs</a> <div class="uk-accordion-content"> <p>Bachelor of Arts in Public Health (BA) program,<br /> Summer Minor in Global Public Health,<br /> Certificate in Global Public Health,<br /> “4+1” One-Year MPH program:</p> <ul class="uk-list uk-list-disc"> <li>Patricia Cruz and Lauren Magsanay<br /> <a href="mailto:sphug@berkeley.edu">sphug@berkeley.edu</a><br /> (510) 643-0874</li> </ul> </div> </li> <li> <a class="uk-accordion-title" href="#" >Concurrent Degrees</a> <div class="uk-accordion-content"> <p>MBA/MPH with the Haas School of Business:</p> <ul class="uk-list uk-list-disc"> <li>Kimberly MacPherson<br /> <a href="mailto:kmacpherson@berkeley.edu">kmacpherson@berkeley.edu</a></li> </ul> <p>MCP/MPH with the College of Environmental Design:</p> <ul class="uk-list uk-list-disc"> <li>Professor <a href="mailto:jcorburn@berkeley.edu">Jason Corburn</a>, DCRP and BPH</li> <li>Professor <a href="mailto:mmujahid@berkeley.edu">Mahasin Mujahid</a>, BPH, Epidemiology</li> </ul> <p>MJ/MPH with the Graduate School of Journalism:</p> <ul class="uk-list uk-list-disc"> <li>Elena Conis<br /> <a href="mailto:econis@berkeley.edu">econis@berkeley.edu</a></li> </ul> <p>MPP/MPH with the Goldman School of Public Policy:</p> <ul class="uk-list uk-list-disc"> <li><a href="https://gspp.berkeley.edu/programs/masters-of-public-policy-mpp/applying-for-the-mpp" target="_blank" rel="noopener">GSPP Admissions Office</a><br /> <a href="mailto:mppadm@berkeley.edu">mppadm@berkeley.edu</a><br /> (510) 642-7888</li> </ul> <p>MSW/MPH with the School of Social Welfare:</p> <ul class="uk-list uk-list-disc"> <li>Juliana Deardorff (MCH)<br /> <a href="mailto:jdeardorff@berkeley.edu">jdeardorff@berkeley.edu</a></li> </ul> </div> </li> <li> <a class="uk-accordion-title" href="#" >UC Berkeley-UCSF Joint Medical Program (JMP)</a> <div class="uk-accordion-content"> <p><a href="mailto:jmp@berkeley.edu">jmp@berkeley.edu</a></p> </div> </li> </ul> </div> </div> </div> </div> </section> <section class="bph-block-accordion bph-layout-standard uk-margin-large-top uk-section-default uk-padding-remove-vertical " id="bphBlockAccordion-6678" uk-scrollspy="cls: uk-animation-fade; target: .bph-block-section-scrollspy-target"> <div class="bph-block-section-scrollspy-target"> <div class=" bphScrollAnchor___student-services uk-container uk-container-large uk-flex uk-flex-center uk-flex-left@l" id="bphScrollAnchor___student-services" > <div class=" uk-visible@l uk-width-1-4@l" ></div> <div class=" uk-width-3-4@s uk-width-1-2@l" > <div> <h2 class="bph-text-serif uk-h2 uk-margin-medium-bottom bph-scrollnav-anchor">Student Services</h2> <ul class="uk-margin-remove-bottom uk-margin-remove-top" uk-accordion="multiple: true;" > <li> <a class="uk-accordion-title" href="#" >Student Services Staff</a> <div class="uk-accordion-content"> <p>For a list of Student Services leadership and staff, including contact information, go to the Student Services Staff page.</p> </div> </li> <li> <a class="uk-accordion-title" href="#" >RISE: Berkeley Public Health Careers and Leadership Office</a> <div class="uk-accordion-content"> <p>Student Inquiries:</p> <ul class="uk-list uk-list-disc"> <li><a href="mailto:rise.bph@berkeley.edu">rise.bph@berkeley.edu</a></li> <li><a href="https://bit.ly/RISEResourceSite" target="_blank" rel="noopener">Student Resource Site</a></li> </ul> <p>Employers, Community Partners, and Alumni Inquiries:</p> <ul class="uk-list uk-list-disc"> <li><a href="mailto:publichealthcareers@berkeley.edu">publichealthcareers@berkeley.edu</a></li> <li>Want to host our MPH students for practicum/internship? Visit <a href="https://practicum.berkeley.edu" target="_blank" rel="noopener">practicum.berkeley.edu</a>.</li> </ul> </div> </li> <li> <a class="uk-accordion-title" href="#" >DREAM Office (Diversity and Inclusion)</a> <div class="uk-accordion-content"> <p>General Inquiries:</p> <ul> <li><a href="mailto:sphdiversity@berkeley.edu">sphdiversity@berkeley.edu</a><br /> (510) 643-7900</li> </ul> <p>Director of the DREAM Office:</p> <ul> <li>Yuridia Hernández-Osorio<br /> <a href="mailto:sphdiversity@berkeley.edu">sphdiversity@berkeley.edu</a></li> </ul> <p>Graduate Recruitment and Diversity Services (GRADS):</p> <ul> <li>Dalila Alvarado and Nancy Gutierrez<br /> <a href="mailto:sphgrads@berkeley.edu">sphgrads@berkeley.edu</a></li> </ul> <p>GRADS Peer Advisors:</p> <ul> <li><a href="mailto:sphgrads@berkeley.edu">sphgrads@berkeley.edu</a><br /> (510) 643-7900</li> </ul> <p>Website: <a href="https://publichealth.berkeley.edu/student-life/dream/">publichealth.berkeley.edu/dream</a></p> </div> </li> </ul> </div> </div> </div> </div> </section> <section class="bph-block-text bph-layout-standard uk-margin-large-top uk-section-default uk-padding-remove-vertical " id="bphBlockText-7053" uk-scrollspy="cls: uk-animation-fade; target: .bph-block-section-scrollspy-target"> <div class="bph-block-section-scrollspy-target"> <div class=" bphScrollAnchor___administration uk-container uk-container-large uk-flex uk-flex-center uk-flex-left@l" id="bphScrollAnchor___administration" > <div class=" uk-visible@l uk-width-1-4@l" ></div> <div class=" uk-width-3-4@s uk-width-1-2@l" > <div> <h2 class="bph-text-serif uk-h2 uk-margin-medium-bottom bph-scrollnav-anchor">Administration</h2> <div class="bph-block-text-content "> <h3>Dean’s Office Leadership</h3> <div class="uk-overflow-auto uk-width-1-1"> <table id="tablepress-3" class="tablepress tablepress-id-3 uk-table uk-table-hover uk-table-divider uk-table-striped"> <tbody> <tr class="row-1"> <td class="column-1">Chief of Diversity, Equity, Inclusion, and Belonging:</td><td class="column-2">Ché L Abram<br /> che.l.abram@berkeley.edu</td> </tr> <tr class="row-2"> <td class="column-1">Associate Dean for Research:</td><td class="column-2">Jennifer Ahern<br /> jahern@berkeley.edu<br /> (510) 643-4350</td> </tr> <tr class="row-3"> <td class="column-1">Assistant Dean for Education:</td><td class="column-2">Deborah Barnett<br /> dbarnett@berkeley.edu</td> </tr> <tr class="row-4"> <td class="column-1">Chief Financial Officer:</td><td class="column-2">Denise Cronin<br /> cronin@berkeley.edu<br /> (510) 664-7079</td> </tr> <tr class="row-5"> <td class="column-1">Executive Associate Dean:</td><td class="column-2">Julianna Deardorff<br /> jdeardorff@berkeley.edu</td> </tr> <tr class="row-6"> <td class="column-1">Assistant Dean for Students:</td><td class="column-2">Fred Smith<br /> frederick.smith@berkeley.edu<br /> (510) 643-3133</td> </tr> <tr class="row-7"> <td class="column-1">Director of Communications, Marketing and Events:</td><td class="column-2">Elise Proulx<br /> eliseproulx@berkeley.edu<br /> (510) 643-4707</td> </tr> <tr class="row-8"> <td class="column-1">Assistant Dean for Development and External Relations:</td><td class="column-2">Cori Traub<br /> coritraub@berkeley.edu<br /> (510) 207-8336</td> </tr> <tr class="row-9"> <td class="column-1">Assistant Dean for Administration, Chief of Staff:</td><td class="column-2">Seana Van Buren<br /> skelly@berkeley.edu<br /> (510) 326-5429</td> </tr> <tr class="row-10"> <td class="column-1">Executive Assistant to Dean Michael C. Lu</td><td class="column-2">Nancy Wilson<br /> nlwilson@berkeley.edu<br /> (510) 664-9090</td> </tr> </tbody> </table> </div><!-- #tablepress-3 from cache --> <h3>External Relations and Development</h3> <div class="uk-overflow-auto uk-width-1-1"> <table id="tablepress-4" class="tablepress tablepress-id-4 uk-table uk-table-hover uk-table-divider uk-table-striped"> <tbody> <tr class="row-1"> <td class="column-1">Assistant Dean for Development and External Relations:</td><td class="column-2">Cori Traub<br /> coritraub@berkeley.edu<br /> (510) 207-8336</td> </tr> <tr class="row-2"> <td class="column-1">Director of Development:</td><td class="column-2">LaPria Genevro, MBA<br /> lgenevro@berkeley.edu<br /> (510) 206-1505</td> </tr> <tr class="row-3"> <td class="column-1">Director of Philanthropy:</td><td class="column-2">Morry Rao Hermón<br /> morryhermon@berkeley.edu<br /> (510) 664-7958</td> </tr> <tr class="row-4"> <td class="column-1">Assistant Director, Alumni and Donor Relations:</td><td class="column-2">Melissa Markay<br /> melissamarkay@berkeley.edu<br /> (510) 206-2911</td> </tr> <tr class="row-5"> <td class="column-1">Director, Annual Giving and Alumni Relations:</td><td class="column-2">Eileen Pearl<br /> eileen_pearl@berkeley.edu<br /> (510) 643-6382</td> </tr> </tbody> </table> </div><!-- #tablepress-4 from cache --> <h3>For Media Requests</h3> <p>For more information about a particular story or to get in touch with a faculty expert, please contact:</p> <div class="uk-overflow-auto uk-width-1-1"> <table id="tablepress-5" class="tablepress tablepress-id-5 uk-table uk-table-hover uk-table-divider uk-table-striped"> <tbody> <tr class="row-1"> <td class="column-1">Director of Communications, Marketing and Events:</td><td class="column-2">Elise Proulx<br /> eliseproulx@berkeley.edu<br /> (510) 643-4707</td> </tr> <tr class="row-2"> <td class="column-1">Writer,<br /> UC Berkeley School of Public Health:</td><td class="column-2">Sheila M. Kaplan<br /> sheilakaplan@berkeley.edu</td> </tr> </tbody> </table> </div><!-- #tablepress-5 from cache --> <h3>Human Resources</h3> <p>View the BPH organizational chart and HR contact list</p> <h3>Facilities</h3> <div class="uk-overflow-auto uk-width-1-1"> <table id="tablepress-6" class="tablepress tablepress-id-6 uk-table uk-table-hover uk-table-divider uk-table-striped"> <tbody> <tr class="row-1"> <td class="column-1">Facilities Manager:</td><td class="column-2">Janis Honda<br /> jkhonda@berkeley.edu<br /> (510) 643-6954</td> </tr> <tr class="row-2"> <td class="column-1">Facilities Specialist:<br /> </td><td class="column-2">Paul McCue<br /> pmccue@berkeley.edu<br /> (510) 643-0553</td> </tr> <tr class="row-3"> <td class="column-1">Berkeley Way West Building Manager:</td><td class="column-2">Jeanette Thompson<br /> jeanette.thompson@nmrk.com<br /> (510) 642-3729</td> </tr> <tr class="row-4"> <td class="column-1">After Hours / Emergency Facilities Contact:</td><td class="column-2">Janis Honda (cell):<br /> (510) 418-3691</td> </tr> </tbody> </table> </div><!-- #tablepress-6 from cache --> </div> </div> </div> </div> </div> </section> <div class="bph-layout-sidebar-end" hidden></div> <!-- TODO running acf field to log latest updates. Date and summary Latest row exposed, rest in accordion Enable and disable by page. Off for posts. Off by default for pages TODO add <longdesc> tags where needed? TODO add SiteImprove before launch --> </main> <section id="bphGlobalFooter" class=" bph-border-top bph-border-width-3-top bph-global-footer uk-margin-xlarge-top" uk-scrollspy="cls: uk-animation-fade;" role="region" aria-label="Contact Information" > <footer> <div class="uk-container uk-container-large"> <div class="bph-border-bottom uk-padding uk-padding-remove-horizontal"> <div class="uk-flex uk-flex-between uk-flex-wrap uk-text-small" uk-margin> <div class="uk-margin-right"> <span class="uk-text-bold">Get Our Newsletter!</span><br /> Sign up to receive news and views from Berkeley Public Health in your inbox. </div> <div> <div class=""> <!-- TODO additional classes for wrapper and button, if add more classes is selected --> <div class="uk-border-rounded"> <a class="uk-button uk-button-default uk-box-shadow-small uk-box-shadow-hover-medium uk-button-small" href="https://publichealth.berkeley.edu/contact/newsletter" target="_self" > Subscribe to the newsletter </a> </div> </div> </div> </div> </div> <div class="uk-padding uk-padding-remove-horizontal uk-text-small"> <div class="uk-grid-divider" uk-grid> <div class="uk-width-3-5@s uk-width-2-3@m"> <div class="uk-child-width-1-2@m" uk-grid> <div> <img alt="University of California, Berkeley" class="uk-margin-remove-top uk-width-auto lazyload" height="auto" width="182" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" style="width: 182px; height: auto; fill: #003262;" uk-svg data-src="https://publichealth.berkeley.edu/app/themes/berkeley-public-health/dist/img/logo-ucb.svg" decoding="async"><noscript><img alt="University of California, Berkeley" class="uk-margin-remove-top uk-width-auto" height="auto" width="182" src="https://publichealth.berkeley.edu/app/themes/berkeley-public-health/dist/img/logo-ucb.svg" style="width: 182px; height: auto; fill: #003262;" uk-svg data-eio="l"></noscript> <div class="uk-margin-medium-top"> <!-- TODO additional classes for wrapper and button, if add more classes is selected --> <div class="uk-border-rounded"> <a class="uk-button uk-button-secondary uk-box-shadow-small uk-box-shadow-hover-medium uk-button-small" href="https://publichealth.berkeley.edu/giving" target="_self" > Support Berkeley Public Health </a> </div> </div> </div> <div> <div class="uk-child-width-1-2@s" uk-grid> <div> <ul class="uk-link-text uk-list uk-list-large"> <li><a href="https://publichealth.berkeley.edu/contact">Contact Us</a></li> <li><a href="https://publichealth.berkeley.edu/about/jobs">Job Openings</a></li> <li><a href="https://publichealth.berkeley.edu/about/leadership">School Leadership</a></li> <li><a href="https://publichealth.berkeley.edu/events">Events</a></li> </ul> </div> <div> <ul class="uk-link-text uk-list uk-list-large"> <li><a href="https://publichealth.berkeley.edu/students/handbook">Student Handbook</a></li> <li><a href="https://dap.berkeley.edu/get-help/report-web-accessibility-issue" target="_blank">Accessibility Compliance</a></li> <li><a href="https://ophd.berkeley.edu/policies-and-procedures/nondiscrimination-policy-statement" target="_blank">Nondiscrimination</a></li> <li><a href="https://security.berkeley.edu/policy/campus-online-activities-policy#priv" target="_blank">Privacy statement</a></li> </ul> </div> </div> </div> </div> </div> <div class="uk-width-2-5@s uk-width-1-3@m"> <div class="uk-flex uk-flex-between"> <div> <div class="uk-margin-bottom"> <div class="uk-margin uk-flex uk-flex-wrap uk-grid-small" uk-grid> <div><a href="https://www.linkedin.com/company/uc-berkeley-school-of-public-health" class="uk-icon-button" target="_blank" uk-icon="linkedin"><span class="uk-hidden-visually">LinkedIn</span></a></div> <div><a href="https://www.instagram.com/berkeleypublichealth/" class="uk-icon-button" target="_blank" uk-icon="instagram"><span class="uk-hidden-visually">Instagram</span></a></div> <div><a href="https://www.tiktok.com/@berkeley.public.health" class="uk-icon-button" target="_blank" uk-icon="tiktok"><span class="uk-hidden-visually">TikTok</span></a></div> <div><a href="https://www.youtube.com/user/BerkeleyHealthOnline" class="uk-icon-button" target="_blank" uk-icon="youtube"><span class="uk-hidden-visually">YouTube</span></a></div> <div><a href="https://www.facebook.com/UCBerkeleySPH/" class="uk-icon-button" target="_blank" uk-icon="facebook"><span class="uk-hidden-visually">Facebook</span></a></div> <div><a href="https://www.threads.net/@berkeleypublichealth" class="uk-icon-button" target="_blank" uk-icon="threads"><span class="uk-hidden-visually">Threads</span></a></div> <div><a href="https://twitter.com/UCBerkeleySPH" class="uk-icon-button" target="_blank" uk-icon="x"><span class="uk-hidden-visually">X (formally Twitter)</span></a></div> </div> </div> <div> 2121 Berkeley Way<br /> Berkeley, CA 94720-7360 </div> <p class="uk-margin-remove-bottom"><a class="" href="mailto:publichealth@berkeley.edu">publichealth@berkeley.edu</a></p> </div> <div> <a href="#" uk-totop uk-scroll><span class="uk-hidden-visually">Back to top</span></a> </div> </div> </div> </div> </div> </footer> <div class="uk-background-muted uk-margin-top uk-text-small"> <div class="uk-container uk-container-large uk-padding-small uk-text-center"> ©2024 UC Regents; all rights reserved </div> </div> </section> <script type="text/javascript" id="eio-lazy-load-js-before"> /* <![CDATA[ */ var eio_lazy_vars = {"exactdn_domain":"","skip_autoscale":0,"threshold":0}; /* ]]> */ </script> <script type="text/javascript" src="https://publichealth.berkeley.edu/app/plugins/ewww-image-optimizer/includes/lazysizes.min.js?ver=760" id="eio-lazy-load-js"></script> <script type="text/javascript" src="//siteimproveanalytics.com/js/siteanalyze_8343.js?ver=1.0" id="siteimprove-js"></script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-948474cd618f8781141","applicationID":"525534681","transactionName":"ZVJUZEIAWUdXVhJcDlwYd1NECFhaGVwIUQRK","queueTime":0,"applicationTime":207,"atts":"SRVXEgoaSkk=","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html> <!-- plugin=object-cache-pro client=phpredis metric#hits=2536 metric#misses=39 metric#hit-ratio=98.5 metric#bytes=1282864 metric#prefetches=490 metric#store-reads=47 metric#store-writes=5 metric#store-hits=504 metric#store-misses=35 metric#sql-queries=6 metric#ms-total=202.37 metric#ms-cache=24.22 metric#ms-cache-avg=0.4749 metric#ms-cache-ratio=12.0 -->