CINXE.COM
Faculty and staff | University of Toronto
<!DOCTYPE html> <html lang="en" dir="ltr" prefix="og: https://ogp.me/ns#"> <head> <meta charset="utf-8" /> <meta name="description" content="Thousands of U of T faculty and staff support our mission of research, teaching, and scholarship. Work where the world comes to think, discover and learn." /> <link rel="canonical" href="https://www.utoronto.ca/faculty-staff" /> <link rel="image_src" href="/sites/default/files/2022-02/faculty-staff-meta-image_1.png" /> <meta property="og:site_name" content="University of Toronto" /> <meta property="og:url" content="https://www.utoronto.ca/faculty-staff" /> <meta property="og:title" content="Faculty and Staff" /> <meta property="og:image" content="https://www.utoronto.ca/sites/default/files/2022-02/faculty-staff-meta-image_1.png" /> <meta name="Generator" content="Drupal 10 (https://www.drupal.org)" /> <meta name="MobileOptimized" content="width" /> <meta name="HandheldFriendly" content="true" /> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> <meta http-equiv="x-ua-compatible" content="ie=edge" /> <link rel="icon" href="/themes/custom/bootstrap_uoft/images/favicons/favicon.ico" type="image/vnd.microsoft.icon" /> <script src="/sites/default/files/google_tag/utoronto.ca/google_tag.script.js?snmpaj" defer></script> <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:"1134326665",accountID:"3922848",trustKey:"66686",xpid:"Vw8FU15XABABVFVTAgUBV1MC",licenseKey:"NRJS-27992c020635ff9e4a2",applicationID:"1041546173"};;/*! 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> <title>Faculty and staff | University of Toronto</title> <link rel="stylesheet" media="all" href="/sites/default/files/css/css_1fgNJ5XquG8qmEXXR8ojNIi6eG-0H5_7MTMVmhaA2pQ.css?delta=0&language=en&theme=bootstrap_uoft&include=eJyNjsEOwyAMQ3-IwiehUAJFCgSRZFP_ftV22KRedvHBz7Yspyj2kEDQJWYVXTCjcdFQiRPQJnpSG9XtvDDs3CcPHCr-m06wVuNt6zjsz1js0IabsKBe6JCQl00g_3W8jWmJmhyY3aPhU8Jbfeds9Hv2sxsKr353W4eKsZC1fIcKSWIxojvqKHI1JVKrh74A-KB0qA" /> <link rel="stylesheet" media="all" href="/sites/default/files/css/css_qWl9UTZNRTVA8AFSQfoWf_nCc6N1hxQJX6xvjnQr5wc.css?delta=1&language=en&theme=bootstrap_uoft&include=eJyNjsEOwyAMQ3-IwiehUAJFCgSRZFP_ftV22KRedvHBz7Yspyj2kEDQJWYVXTCjcdFQiRPQJnpSG9XtvDDs3CcPHCr-m06wVuNt6zjsz1js0IabsKBe6JCQl00g_3W8jWmJmhyY3aPhU8Jbfeds9Hv2sxsKr353W4eKsZC1fIcKSWIxojvqKHI1JVKrh74A-KB0qA" /> <link rel="preload" href="/themes/custom/bootstrap_uoft/gstatic/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-mu0SC55I.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/themes/custom/bootstrap_uoft/gstatic/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu0SC55K5gw.woff2" as="font" type="font/woff2" crossorigin> </head> <body class="layout-no-sidebars page-node-169250 path-node node--type-audience-page"> <a href="#main-content" class="visually-hidden focusable skip-link"> Skip to main content </a> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MFDGDNZ" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas> <div id="page-wrapper"> <div id="page"> <header data-sticky-header data-sticky-offset="6" data-sticky-media="(min-width: 40rem)" data-sticky-selector="main *:focus" id="header" class="header" role="banner" aria-label="Site header"> <nav class="navbar bg-transparent navbar-expand-lg" id="navbar-main"> <div class="uoft-logo"> <a href="/" title="Home" rel="home" class="navbar-brand"> <img src="/themes/custom/bootstrap_uoft/logo.svg" alt="Home" class="img-fluid d-inline-block align-top" /> <span class="ml-2 d-none d-md-inline"></span> </a> </div> <div class="navbar-form desktop"> <div class="header-tools"> <section class="row region region-header-tools"> <nav role="navigation" aria-labelledby="block-mainmenutools-menu" id="block-mainmenutools" class="settings-tray-editable block block-menu navigation menu--main-menu-tools" data-drupal-settingstray="editable"> <h2 class="visually-hidden" id="block-mainmenutools-menu">Main menu tools</h2> <ul class="clearfix nav" data-component-id="bootstrap_barrio:menu"> <li class="nav-item"> <a href="https://mail.utoronto.ca/" class="webmail nav-link nav-link-https--mailutorontoca-">Email</a> </li> <li class="nav-item"> <a href="https://q.utoronto.ca/" class="portal nav-link nav-link-https--qutorontoca-">Quercus</a> </li> <li class="nav-item"> <a href="http://www.acorn.utoronto.ca/" class="acorn nav-link nav-link-http--wwwacornutorontoca-">Acorn</a> </li> </ul> </nav> <div id="block-maincampusstatus" class="settings-tray-editable block-content-main_campus_status block block-block-content block-block-contentc1abfe24-37a7-4697-b0a9-915322534083" data-drupal-settingstray="editable"> <div class="campus-status-wrapper"> <div class="status-ok"> <div class="status"> </div> <div class="status-output"><a href="/campus-status">Campus status</a></div> </div> </div> </div> </section> </div> <div class="header-form"> <section class="row region region-header-form"> <div class="views-exposed-form settings-tray-editable block block-views block-views-exposed-filter-blocksearch-page-1" data-drupal-selector="views-exposed-form-search-page-1" id="block-exposedformsearchpage-1-2" data-drupal-settingstray="editable"> <div class="content"> <form action="/search" method="get" id="views-exposed-form-search-page-1" accept-charset="UTF-8"> <div class="d-flex flex-wrap"> <fieldset class="js-form-item js-form-type-textfield form-type-textfield js-form-item-query form-item-query bs-mb-2"> <label for="edit-query" class="bs-mb-1">Search the U of T website</label> <input data-drupal-selector="edit-query" type="text" id="edit-query" name="query" value="" size="30" maxlength="128" class="form-control" /> </fieldset> <div data-drupal-selector="edit-actions" class="form-actions js-form-wrapper bs-mb-2" id="edit-actions--2"> <button data-drupal-selector="edit-submit-search" type="submit" id="edit-submit-search" value=" Search" class="button js-form-submit form-submit btn btn-primary"> Search</button> </div> </div> </form> </div> </div> <nav role="navigation" aria-labelledby="block-jumptomenu-menu" id="block-jumptomenu" class="block-jumptomenu settings-tray-editable block block-menu navigation menu--sub" data-drupal-settingstray="editable"> <h2 class="visually-hidden" id="block-jumptomenu-menu">Jump to menu</h2> <button class="jumpto-menu btn collapsed" data-toggle="collapse" data-target="#jumpto-menu" aria-controls="jumpto-menu" aria-expanded="false" aria-label="Jump to different areas on the site" role="button"> <span class="label">Jump to...</span> <span class="icon"><i class="fa-solid fa-caret-down"></i></span> </button> <div class="jumpto-menu-wrapper"> <div class="collapse" id="jumpto-menu" aria-expanded="false"> <ul class="clearfix nav" data-component-id="bootstrap_barrio:menu"> <li class="nav-item"> <a href="/news" class="nav-link nav-link--news" data-drupal-link-system-path="node/171269">News & Media</a> </li> <li class="nav-item"> <a href="/about-u-of-t" class="nav-link nav-link--about-u-of-t" data-drupal-link-system-path="node/169259">About U of T</a> </li> <li class="nav-item"> <a href="https://boundless.utoronto.ca/" class="nav-link nav-link-https--boundlessutorontoca-">Give to U of T</a> </li> <li class="nav-item"> <a href="/academics" class="nav-link nav-link--academics" data-drupal-link-system-path="node/169257">Academics</a> </li> <li class="nav-item"> <a href="/academics/programs-directory" class="nav-link nav-link--academics-programs-directory" data-drupal-link-system-path="node/300738">Programs of study</a> </li> <li class="nav-item"> <a href="/research-innovation" class="nav-link nav-link--research-innovation" data-drupal-link-system-path="node/169249">Research & innovation</a> </li> <li class="nav-item"> <a href="/university-life" class="nav-link nav-link--university-life" data-drupal-link-system-path="node/169254">University life</a> </li> <li class="nav-item"> <a href="/libraries" class="nav-link nav-link--libraries" data-drupal-link-system-path="node/169263">Libraries</a> </li> <li class="nav-item"> <a href="/utogether" class="nav-link nav-link--utogether">UTogether</a> </li> <li class="nav-item"> <a href="/a-to-z-directory" class="nav-link nav-link--a-to-z-directory" data-drupal-link-system-path="a-to-z-directory">A to Z Directory</a> </li> </ul> </div> </div> <div id="jumpto-menu-mobile"> <ul class="clearfix nav" data-component-id="bootstrap_barrio:menu"> <li class="nav-item"> <a href="/news" class="nav-link nav-link--news" data-drupal-link-system-path="node/171269">News & Media</a> </li> <li class="nav-item"> <a href="/about-u-of-t" class="nav-link nav-link--about-u-of-t" data-drupal-link-system-path="node/169259">About U of T</a> </li> <li class="nav-item"> <a href="https://boundless.utoronto.ca/" class="nav-link nav-link-https--boundlessutorontoca-">Give to U of T</a> </li> <li class="nav-item"> <a href="/academics" class="nav-link nav-link--academics" data-drupal-link-system-path="node/169257">Academics</a> </li> <li class="nav-item"> <a href="/academics/programs-directory" class="nav-link nav-link--academics-programs-directory" data-drupal-link-system-path="node/300738">Programs of study</a> </li> <li class="nav-item"> <a href="/research-innovation" class="nav-link nav-link--research-innovation" data-drupal-link-system-path="node/169249">Research & innovation</a> </li> <li class="nav-item"> <a href="/university-life" class="nav-link nav-link--university-life" data-drupal-link-system-path="node/169254">University life</a> </li> <li class="nav-item"> <a href="/libraries" class="nav-link nav-link--libraries" data-drupal-link-system-path="node/169263">Libraries</a> </li> <li class="nav-item"> <a href="/utogether" class="nav-link nav-link--utogether">UTogether</a> </li> <li class="nav-item"> <a href="/a-to-z-directory" class="nav-link nav-link--a-to-z-directory" data-drupal-link-system-path="a-to-z-directory">A to Z Directory</a> </li> </ul> </div> </nav> </section> </div> </div> <div class="navbar-form mobile"> <a class="search-mobile collapsed" href="#search-drawer" role="button" data-toggle="collapse" aria-label="search in mobile screen" aria-expanded="false" aria-controls="search-drawer"><i class="fa-regular fa-magnifying-glass"></i></a> <button class="navbar-toggler-mobile btn" type="button" data-toggle="collapse" data-target="#navbarMobile" aria-controls="navbarMobile" aria-expanded="false" aria-label="Mobile navigation"> <div class="animated-icon" id="animated-icon"><span></span><span></span><span></span><span></span></div> </button> </div> </nav> <div id="search-drawer" class="collapse"> <div class="views-exposed-form settings-tray-editable block block-views block-views-exposed-filter-blocksearch-page-1" data-drupal-selector="views-exposed-form-search-page-1" id="block-exposedformsearchpage-1-2" data-drupal-settingstray="editable"> <div class="content"> <form action="/search" method="get" id="views-exposed-form-search-page-1" accept-charset="UTF-8"> <div class="d-flex flex-wrap"> <fieldset class="js-form-item js-form-type-textfield form-type-textfield js-form-item-query form-item-query bs-mb-2"> <label for="edit-query" class="bs-mb-1">Search the U of T website</label> <input data-drupal-selector="edit-query" type="text" id="edit-query" name="query" value="" size="30" maxlength="128" class="form-control" /> </fieldset> <div data-drupal-selector="edit-actions" class="form-actions js-form-wrapper bs-mb-2" id="edit-actions--2"> <button data-drupal-selector="edit-submit-search" type="submit" id="edit-submit-search" value=" Search" class="button js-form-submit form-submit btn btn-primary"> Search</button> </div> </div> </form> </div> </div> </div> <div class="primary-menu desktop justify-content-end"> <nav role="navigation" aria-labelledby="block-bootstrap-uoft-main-menu-menu" id="block-bootstrap-uoft-main-menu" class="block-bootstrap-uoft-main-menu settings-tray-editable block block-menu navigation menu--main" data-drupal-settingstray="editable"> <h2 class="visually-hidden" id="block-bootstrap-uoft-main-menu-menu">Main navigation</h2> <ul class="clearfix nav navbar-nav" data-component-id="bootstrap_barrio:menu_main"> <li class="nav-item"> <a href="/future-students" class="nav-link nav-link--future-students" data-drupal-link-system-path="node/169243">Future students</a> </li> <li class="nav-item"> <a href="/current-students" class="nav-link nav-link--current-students" data-drupal-link-system-path="node/169246">Current students</a> </li> <li class="nav-item"> <a href="/alumni" class="nav-link nav-link--alumni" data-drupal-link-system-path="node/169247">Alumni</a> </li> <li class="nav-item active"> <a href="/faculty-staff" class="nav-link active nav-link--faculty-staff is-active" data-drupal-link-system-path="node/169250" aria-current="page">Faculty and Staff</a> </li> <li class="nav-item"> <a href="https://defygravitycampaign.utoronto.ca/" class="nav-link nav-link-https--defygravitycampaignutorontoca-">Donors</a> </li> <li class="nav-item"> <a href="/visitors" class="nav-link nav-link--visitors" data-drupal-link-system-path="node/169248">Visitors</a> </li> </ul> </nav> </div> <div class="collapse navbar-collapse" id="navbarMobile"> <section class="row region region-header-tools"> <nav role="navigation" aria-labelledby="block-mainmenutools-menu" id="block-mainmenutools" class="settings-tray-editable block block-menu navigation menu--main-menu-tools" data-drupal-settingstray="editable"> <h2 class="visually-hidden" id="block-mainmenutools-menu">Main menu tools</h2> <ul class="clearfix nav" data-component-id="bootstrap_barrio:menu"> <li class="nav-item"> <a href="https://mail.utoronto.ca/" class="webmail nav-link nav-link-https--mailutorontoca-">Email</a> </li> <li class="nav-item"> <a href="https://q.utoronto.ca/" class="portal nav-link nav-link-https--qutorontoca-">Quercus</a> </li> <li class="nav-item"> <a href="http://www.acorn.utoronto.ca/" class="acorn nav-link nav-link-http--wwwacornutorontoca-">Acorn</a> </li> </ul> </nav> <div id="block-maincampusstatus" class="settings-tray-editable block-content-main_campus_status block block-block-content block-block-contentc1abfe24-37a7-4697-b0a9-915322534083" data-drupal-settingstray="editable"> <div class="campus-status-wrapper"> <div class="status-ok"> <div class="status"> </div> <div class="status-output"><a href="/campus-status">Campus status</a></div> </div> </div> </div> </section> <div class="mobile-navigation-wrapper"> <nav role="navigation" aria-labelledby="block-bootstrap-uoft-main-menu-menu" id="block-bootstrap-uoft-main-menu" class="block-bootstrap-uoft-main-menu settings-tray-editable block block-menu navigation menu--main" data-drupal-settingstray="editable"> <h2 class="visually-hidden" id="block-bootstrap-uoft-main-menu-menu">Main navigation</h2> <ul class="clearfix nav navbar-nav" data-component-id="bootstrap_barrio:menu_main"> <li class="nav-item"> <a href="/future-students" class="nav-link nav-link--future-students" data-drupal-link-system-path="node/169243">Future students</a> </li> <li class="nav-item"> <a href="/current-students" class="nav-link nav-link--current-students" data-drupal-link-system-path="node/169246">Current students</a> </li> <li class="nav-item"> <a href="/alumni" class="nav-link nav-link--alumni" data-drupal-link-system-path="node/169247">Alumni</a> </li> <li class="nav-item active"> <a href="/faculty-staff" class="nav-link active nav-link--faculty-staff is-active" data-drupal-link-system-path="node/169250" aria-current="page">Faculty and Staff</a> </li> <li class="nav-item"> <a href="https://defygravitycampaign.utoronto.ca/" class="nav-link nav-link-https--defygravitycampaignutorontoca-">Donors</a> </li> <li class="nav-item"> <a href="/visitors" class="nav-link nav-link--visitors" data-drupal-link-system-path="node/169248">Visitors</a> </li> </ul> </nav> <hr> <div class="row"> <nav role="navigation" aria-labelledby="block-jumptomenu-menu" id="block-jumptomenu" class="block-jumptomenu settings-tray-editable block block-menu navigation menu--sub" data-drupal-settingstray="editable"> <h2 class="visually-hidden" id="block-jumptomenu-menu">Jump to menu</h2> <button class="jumpto-menu btn collapsed" data-toggle="collapse" data-target="#jumpto-menu" aria-controls="jumpto-menu" aria-expanded="false" aria-label="Jump to different areas on the site" role="button"> <span class="label">Jump to...</span> <span class="icon"><i class="fa-solid fa-caret-down"></i></span> </button> <div class="jumpto-menu-wrapper"> <div class="collapse" id="jumpto-menu" aria-expanded="false"> <ul class="clearfix nav" data-component-id="bootstrap_barrio:menu"> <li class="nav-item"> <a href="/news" class="nav-link nav-link--news" data-drupal-link-system-path="node/171269">News & Media</a> </li> <li class="nav-item"> <a href="/about-u-of-t" class="nav-link nav-link--about-u-of-t" data-drupal-link-system-path="node/169259">About U of T</a> </li> <li class="nav-item"> <a href="https://boundless.utoronto.ca/" class="nav-link nav-link-https--boundlessutorontoca-">Give to U of T</a> </li> <li class="nav-item"> <a href="/academics" class="nav-link nav-link--academics" data-drupal-link-system-path="node/169257">Academics</a> </li> <li class="nav-item"> <a href="/academics/programs-directory" class="nav-link nav-link--academics-programs-directory" data-drupal-link-system-path="node/300738">Programs of study</a> </li> <li class="nav-item"> <a href="/research-innovation" class="nav-link nav-link--research-innovation" data-drupal-link-system-path="node/169249">Research & innovation</a> </li> <li class="nav-item"> <a href="/university-life" class="nav-link nav-link--university-life" data-drupal-link-system-path="node/169254">University life</a> </li> <li class="nav-item"> <a href="/libraries" class="nav-link nav-link--libraries" data-drupal-link-system-path="node/169263">Libraries</a> </li> <li class="nav-item"> <a href="/utogether" class="nav-link nav-link--utogether">UTogether</a> </li> <li class="nav-item"> <a href="/a-to-z-directory" class="nav-link nav-link--a-to-z-directory" data-drupal-link-system-path="a-to-z-directory">A to Z Directory</a> </li> </ul> </div> </div> <div id="jumpto-menu-mobile"> <ul class="clearfix nav" data-component-id="bootstrap_barrio:menu"> <li class="nav-item"> <a href="/news" class="nav-link nav-link--news" data-drupal-link-system-path="node/171269">News & Media</a> </li> <li class="nav-item"> <a href="/about-u-of-t" class="nav-link nav-link--about-u-of-t" data-drupal-link-system-path="node/169259">About U of T</a> </li> <li class="nav-item"> <a href="https://boundless.utoronto.ca/" class="nav-link nav-link-https--boundlessutorontoca-">Give to U of T</a> </li> <li class="nav-item"> <a href="/academics" class="nav-link nav-link--academics" data-drupal-link-system-path="node/169257">Academics</a> </li> <li class="nav-item"> <a href="/academics/programs-directory" class="nav-link nav-link--academics-programs-directory" data-drupal-link-system-path="node/300738">Programs of study</a> </li> <li class="nav-item"> <a href="/research-innovation" class="nav-link nav-link--research-innovation" data-drupal-link-system-path="node/169249">Research & innovation</a> </li> <li class="nav-item"> <a href="/university-life" class="nav-link nav-link--university-life" data-drupal-link-system-path="node/169254">University life</a> </li> <li class="nav-item"> <a href="/libraries" class="nav-link nav-link--libraries" data-drupal-link-system-path="node/169263">Libraries</a> </li> <li class="nav-item"> <a href="/utogether" class="nav-link nav-link--utogether">UTogether</a> </li> <li class="nav-item"> <a href="/a-to-z-directory" class="nav-link nav-link--a-to-z-directory" data-drupal-link-system-path="a-to-z-directory">A to Z Directory</a> </li> </ul> </div> </nav> </div> </div> </div> </header> <canvas id="confetti-canvas"></canvas> <div id="confetti-button" class="ready position-fixed"></div> <div id="main-wrapper" class="layout-main-wrapper clearfix"> <div id="main" class=" "> <div class="clearfix"> <main class="main-content col" id="content" role="main"> <section class="section"> <a id="main-content" tabindex="-1"></a> <div id="block-bootstrap-uoft-content" class="block block-system block-system-main-block"> <div class="content"> <article data-history-node-id="169250" class="node node--type-audience-page node--promoted node--view-mode-full clearfix"> <header> </header> <div class="node__content clearfix"> <div class="field field--name-field-content-component field--type-entity-reference-revisions field--label-hidden field__items"> <div class="field__item"> <div class="audience-row no-mt no-mb bs-no-pt bs-no-pb bg-transparent" > <div class="paragraph paragraph--type--layout-column-grid-audience-page paragraph--view-mode--default"> <div class="field field--name-field-components field--type-entity-reference-revisions field--label-hidden field__items"> <div class="field__item"> <div class="paragraph paragraph--type--hero-banner paragraph--view-mode--default"> <a href="/faculty-staff" aria-label="Banner link"> <section class="hero-banner-section"> <!-- The CSS grid area that displays the image (layer 1) --> <div class="banner-image-wrapper" id=""> <img loading="eager" srcset="/sites/default/files/styles/banner_380/public/2021-10/faculty-staff.png?h=70150442&itok=rJYolv1_ 380w, /sites/default/files/styles/banner_634/public/2021-10/faculty-staff.png?h=70150442&itok=QqdeXk3l 634w, /sites/default/files/styles/banner_951/public/2021-10/faculty-staff.png?h=70150442&itok=MSBBhkBK 951w, /sites/default/files/styles/banner_1268/public/2021-10/faculty-staff.png?h=70150442&itok=69uKvrIW 1268w, /sites/default/files/styles/banner_1902/public/2021-10/faculty-staff.png?h=70150442&itok=CWEDzKiK 1902w" sizes="100vw" width="951" height="348" src="/sites/default/files/styles/banner_380/public/2021-10/faculty-staff.png?h=70150442&itok=rJYolv1_" alt="Four professionals seated at a roundtable for a discussion" /> </div> <!-- The CSS grid area that displays the content (layer 2) --> <div class="heading-wrapper"> <div class="container"> <div class="heading bg-white bs-mb-2"> <h1 class="bs-color-primary no-mb">Faculty and staff</h1> </div> </div> </div> </section> </a> </div> </div> </div> </div> </div> </div> <div class="field__item"> <div class="audience-row no-mt no-mb bs-pt-l bs-pb-l bg-transparent" > <div class="container"> <div class="row"> <div class="col-md-12"> <div class="paragraph paragraph--type--layout-column-grid-audience-page paragraph--view-mode--default"> <div class="field field--name-field-components field--type-entity-reference-revisions field--label-hidden field__items"> <div class="field__item"> <div class="paragraph paragraph--type--paragraph paragraph--view-mode--default no-mb"> <p class="intro">Work where the world comes to think, discover and learn. There are thousands of faculty and staff members across our three campuses supporting our mission of research, teaching and scholarship.</p> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="field__item"> <div class="audience-row no-mt no-mb bs-pt-l bs-pb-l bg-primary-blue" > <div class="container"> <div class="row"> <div class="col-md-12"> <div class="paragraph paragraph--type--layout-column-grid-audience-page paragraph--view-mode--default"> <div class="field field--name-field-components field--type-entity-reference-revisions field--label-hidden field__items"> <div class="field__item"> <h2 class="bs-color-white bs-mb-4 bs-text-center" > Working at U of T </h2> </div> <div class="field__item"> <div class="audience-ctas-wrapper no-mb"> <div class="row"> <div class="item col-md-3 col-sm-12"> <a class="audience-cta" href="https://people.utoronto.ca/"> <span class="audience-link"> People Strategy, Equity and Culture </span> <i class="fa fa-chevron-right arrow"></i> </a> </div> <div class="item col-md-3 col-sm-12"> <a class="audience-cta" href="http://jobs.utoronto.ca/"> <span class="audience-link"> Careers at U of T </span> <i class="fa fa-chevron-right arrow"></i> </a> </div> <div class="item col-md-3 col-sm-12"> <a class="audience-cta" href="https://people.utoronto.ca/inclusion/"> <span class="audience-link"> Equity, Diversity and Inclusion </span> <i class="fa fa-chevron-right arrow"></i> </a> </div> <div class="item col-md-3 col-sm-12"> <a class="audience-cta" href="https://safety.utoronto.ca/"> <span class="audience-link"> Safety and Support </span> <i class="fa fa-chevron-right arrow"></i> </a> </div> <div class="item col-md-3 col-sm-12"> <a class="audience-cta" href="https://people.utoronto.ca/news-memoranda/"> <span class="audience-link"> News and Memoranda </span> <i class="fa fa-chevron-right arrow"></i> </a> </div> <div class="item col-md-3 col-sm-12"> <a class="audience-cta" href="https://people.utoronto.ca/policies/"> <span class="audience-link"> Policies </span> <i class="fa fa-chevron-right arrow"></i> </a> </div> <div class="item col-md-3 col-sm-12"> <a class="audience-cta" href="https://people.utoronto.ca/agreements/"> <span class="audience-link"> Agreements </span> <i class="fa fa-chevron-right arrow"></i> </a> </div> <div class="item col-md-3 col-sm-12"> <a class="audience-cta" href="https://its.utoronto.ca/"> <span class="audience-link"> IT Services </span> <i class="fa fa-chevron-right arrow"></i> </a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="field__item"> <div class="audience-row no-mt no-mb bs-pt-l bs-pb-l bg-light-grey" > <div class="container"> <div class="row"> <div class="col-md-6"> <div class="paragraph paragraph--type--layout-column-grid-audience-page paragraph--view-mode--default"> <div class="field field--name-field-components field--type-entity-reference-revisions field--label-hidden field__items"> <div class="field__item"> <h3 class="bs-color-primary bs-mb-2" > Work where the world comes to think, discover and learn. </h3> </div> <div class="field__item"> <div class="paragraph paragraph--type--paragraph paragraph--view-mode--default bs-mb-1"> <p>We offer challenging, meaningful work in an open environment that celebrates diversity in all its forms. One of Canada's Top 100 employers for over a decade, our focus is on creating a positive work environment that attracts and retains excellent employees through a combination of competitive compensation, opportunities for career growth, and a unique organizational culture.</p> </div> </div> <div class="field__item"> <div class="mlcl-buttons row no-mb"> <div class="col-md-12 item"> <div class="btn-wrapper align-left"> <a class="btn " href="http://jobs.utoronto.ca/"> Browse current opportunities </a> </div> </div> </div> </div> </div> </div> </div> <div class="col-md-6"> <div class="paragraph paragraph--type--layout-column-grid-audience-page paragraph--view-mode--default"> <div class="field field--name-field-components field--type-entity-reference-revisions field--label-hidden field__items"> <div class="field__item"> <div class="paragraph paragraph--type--paragraph paragraph--view-mode--default no-mb"> <p><img alt="Aerial view illustration of two people shaking hands during an interview" data-entity-type="file" data-entity-uuid="d5c785ce-f80c-42c8-88bc-5761b0dfa816" src="/sites/default/files/inline-images/undraw_interview_rmcf.png" width="647" height="453" loading="lazy"></p> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="field__item"> <div class="audience-row no-mt no-mb bs-no-pt bs-pb-l bg-light-grey" > <div class="container"> <div class="row"> <div class="col-md-6"> <div class="paragraph paragraph--type--layout-column-grid-audience-page paragraph--view-mode--default"> <div class="field field--name-field-components field--type-entity-reference-revisions field--label-hidden field__items"> <div class="field__item"> <div class="paragraph paragraph--type--paragraph paragraph--view-mode--default no-mb"> <p><img alt="Illustration of a person thinking about various forms and documents" data-entity-type="file" data-entity-uuid="1e245996-e8ed-421d-a3f4-3c77e8aff7f5" src="/sites/default/files/inline-images/graphic_01.png" width="434" height="453" loading="lazy"></p> </div> </div> </div> </div> </div> <div class="col-md-6"> <div class="paragraph paragraph--type--layout-column-grid-audience-page paragraph--view-mode--default"> <div class="field field--name-field-components field--type-entity-reference-revisions field--label-hidden field__items"> <div class="field__item"> <h3 class="bs-color-primary bs-mb-2" > HR Service Centre </h3> </div> <div class="field__item"> <div class="paragraph paragraph--type--paragraph paragraph--view-mode--default bs-mb-1"> <p>Faculty, staff, and librarians can find information and resources related to their employment, including access to Employee Self Service (ESS), benefits, retirement and pensions, educational assistance and tuition waivers, leaves, payroll, and more on our new knowledge base and support platform, the HR Service Centre.</p> </div> </div> <div class="field__item"> <div class="mlcl-buttons row no-mb"> <div class="col-md-12 item"> <div class="btn-wrapper align-left"> <a class="btn " href="https://uoft.me/hrsc"> Sign into HR Service Centre </a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="field__item"> <div class="audience-row no-mt no-mb bs-pt-l bs-pb-l bg-transparent" > <div class="container"> <div class="row"> <div class="col-md-12"> <div class="paragraph paragraph--type--layout-column-grid-audience-page paragraph--view-mode--default"> <div class="field field--name-field-components field--type-entity-reference-revisions field--label-hidden field__items"> <div class="field__item"> <h2 class="bs-color-primary no-mb bs-text-center" > Resources for employees </h2> </div> </div> </div> </div> </div> </div> </div> </div> <div class="field__item"> <div class="audience-row no-mt no-mb bs-no-pt bs-pb-l bg-white" > <div class="container"> <div class="row"> <div class="col-md-4"> <div class="paragraph paragraph--type--layout-column-grid-audience-page paragraph--view-mode--default"> <div class="field field--name-field-components field--type-entity-reference-revisions field--label-hidden field__items"> <div class="field__item"> <h3 class="bs-color-primary bs-mb-2 bs-text-left" > Employee and Family Assistance Program (EFAP) </h3> </div> <div class="field__item"> <div class="paragraph paragraph--type--paragraph paragraph--view-mode--default bs-mb-1"> <p>Counselling and support for you and your family when dealing with challenging and stressful events in your life.</p> </div> </div> <div class="field__item"> <div class="mlcl-buttons row no-mb"> <div class="col-md-12 item"> <div class="btn-wrapper align-left"> <a class="btn " href="https://uoft.me/efap"> Access EFAP services </a> </div> </div> </div> </div> </div> </div> </div> <div class="col-md-4"> <div class="paragraph paragraph--type--layout-column-grid-audience-page paragraph--view-mode--default"> <div class="field field--name-field-components field--type-entity-reference-revisions field--label-hidden field__items"> <div class="field__item"> <h3 class="bs-color-primary bs-mb-2 bs-text-left" > Wellness </h3> </div> <div class="field__item"> <div class="paragraph paragraph--type--paragraph paragraph--view-mode--default bs-mb-1"> <p>Sustainable initiatives support employees’ emotional, financial, physical and social well-being.</p> <p>Learn more about university offices dedicated to family care, health & wellness, equity and browse the Wellness Hub for related programming.</p> </div> </div> <div class="field__item"> <div class="mlcl-buttons row no-mb"> <div class="col-md-12 item"> <div class="btn-wrapper align-left"> <a class="btn light-blue " href="https://www.utoronto.ca/utogether/faculty-staff-librarian-community#health-and-wellness"> Stay well at U of T </a> </div> </div> </div> </div> </div> </div> </div> <div class="col-md-4"> <div class="paragraph paragraph--type--layout-column-grid-audience-page paragraph--view-mode--default"> <div class="field field--name-field-components field--type-entity-reference-revisions field--label-hidden field__items"> <div class="field__item"> <h3 class="bs-color-primary bs-mb-2" > Professional Development </h3> </div> <div class="field__item"> <div class="paragraph paragraph--type--paragraph paragraph--view-mode--default bs-mb-1"> <p>The Centre for Learning, Leadership & Culture (LLC) promotes an inclusive culture anchored in employee development.</p> </div> </div> <div class="field__item"> <div class="mlcl-buttons row no-mb"> <div class="col-md-12 item"> <div class="btn-wrapper align-left"> <a class="btn " href="https://ulearn.utoronto.ca/"> Visit the LLC website </a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="field__item"> <div class="audience-row no-mt no-mb bs-pt-l bs-pb-l bg-light-grey" > <div class="container"> <div class="row"> <div class="col-md-12"> <div class="paragraph paragraph--type--layout-column-grid-audience-page paragraph--view-mode--default"> <div class="field field--name-field-components field--type-entity-reference-revisions field--label-hidden field__items"> <div class="field__item"> <h2 class="bs-color-primary no-mb bs-text-center" > The Bulletin Brief </h2> </div> </div> </div> </div> </div> </div> </div> </div> <div class="field__item"> <div class="audience-row no-mt no-mb bs-pb-l bg-light-grey" > <div class="container"> <div class="row"> <div class="col-md-8"> <div class="paragraph paragraph--type--layout-column-grid-audience-page paragraph--view-mode--default bulletin-brief-subscribe-form"> <div class="field field--name-field-components field--type-entity-reference-revisions field--label-hidden field__items"> <div class="field__item"> <div class="paragraph paragraph--type--paragraph paragraph--view-mode--default no-mb"> <p><img alt="Bulletin brief logo" height="auto" src="/themes/custom/bootstrap_uoft/images/logos/logo-bulletin-brief.png" width="250" loading="lazy"></p> </div> </div> <div class="field__item"> <h3 class="bs-color-primary bs-mb-2 bs-text-left" > Get faculty and staff news delivered straight to your inbox. </h3> </div> <div class="field__item"> <div class="paragraph paragraph--type--paragraph paragraph--view-mode--default bs-mb-2"> <p>The Bulletin Brief is the latest iteration in a 75-year tradition of news for U of T staff and faculty. Get important information and see how we are impacting the communities we serve.</p> </div> </div> <div class="field__item"> <div class="mlcl-buttons row no-mb"> <div class="col-md-12 item"> <div class="btn-wrapper align-left"> <a class="btn " href="/bulletin"> About the Bulletin Brief </a> </div> </div> </div> </div> </div> </div> </div> <div class="col-md-4"> <div class="paragraph paragraph--type--layout-column-grid-audience-page paragraph--view-mode--default"> <div class="field field--name-field-components field--type-entity-reference-revisions field--label-hidden field__items"> <div class="field__item"> <div class="paragraph paragraph--type--dynamic-content-block paragraph--view-mode--default no-mb"> <div class="mailchimp-signup-subscribe-form block block-mailchimp-signup block-mailchimp-signup-subscribe-blockthe-bulletin-subscribe-form" data-drupal-selector="mailchimp-signup-subscribe-block-the-bulletin-subscribe-form-form" id="block-mailchimpsubscriptionformthebulletinsubscribeform"> <div class="content"> <form action="/faculty-staff" method="post" id="mailchimp-signup-subscribe-block-the-bulletin-subscribe-form-form" accept-charset="UTF-8"> <div id="mailchimp-newsletter-b5083c0488-mergefields" class="mailchimp-newsletter-mergefields"> <fieldset class="js-form-item js-form-type-email form-type-email js-form-item-mergevars-email form-item-mergevars-email bs-mb-2"> <label for="edit-mergevars-email" class="js-form-required form-required bs-mb-1">Email Address</label> <input autocomplete="email" data-drupal-selector="edit-mergevars-email" type="email" id="edit-mergevars-email" name="mergevars[EMAIL]" value="" size="25" maxlength="254" class="form-email required form-control" required="required" aria-required="true" /> </fieldset> </div><input data-drupal-selector="form-nqsuaxdqwnze1ehv5zia1fovp0dzlf-gzpkyca9abo4" type="hidden" name="form_build_id" value="form-nQSuaXDQwNzE1EHv5zia1FOvP0DZLF_GzPKyCA9Abo4" class="form-control" /> <input data-drupal-selector="edit-mailchimp-signup-subscribe-block-the-bulletin-subscribe-form-form" type="hidden" name="form_id" value="mailchimp_signup_subscribe_block_the_bulletin_subscribe_form_form" class="form-control" /> <div data-drupal-selector="edit-actions" class="form-actions js-form-wrapper bs-mb-2" id="edit-actions"> <button data-drupal-selector="edit-submit" type="submit" id="edit-submit" name="op" value="Subscribe" class="button js-form-submit form-submit btn btn-primary">Subscribe</button> </div> </form> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="field__item"> <div class="audience-row no-mt no-mb bs-pt-l bs-pb-l bg-white" > <div class="container"> <div class="row"> <div class="col-md-12"> <div class="paragraph paragraph--type--layout-column-grid-audience-page paragraph--view-mode--default"> <div class="field field--name-field-components field--type-entity-reference-revisions field--label-hidden field__items"> <div class="field__item"> <h2 class="bs-color-primary bs-mb-4 bs-text-center" > A focus on our U of T community </h2> </div> <div class="field__item"> <div class="paragraph paragraph--type--dynamic-content-block paragraph--view-mode--default no-mb"> <div class="views-element-container block block-views block-views-blocknews-block-block-3" id="block-views-block-news-block-block-3"> <div class="content"> <div><div class="view view-news-block view-id-news_block view-display-id-block_3 js-view-dom-id-f81a8238a8f48c37223f0bd7e5a9983aaba8359b7904c139606a5b1da48c7385"> <div class="view-content row"> <div class="col col-lg-4 col-md-12 views-row"> <a class="news-grid-item" href="/news/u-t-ranked-among-top-10-universities-globally-five-subjects-shanghairanking-consultancy" aria-label="U of T ranked among top 10 universities globally in five subjects: ShanghaiRanking Consultancy"> <span class="thumbnail-wrapper bs-mb-2"> <img loading="lazy" src="/sites/default/files/styles/news_block_thumbnail/public/2024-11/UofT%20web%20lead%20instructional%20centre.jpg?h=92953138&itok=bTXpLsJE" width="360" height="240" alt="Students walk through a glass hallway at U of T Scarborough" class="image-style-news-block-thumbnail" /> </span> <span class="headline">U of T ranked among top 10 universities globally in five subjects: ShanghaiRanking Consultancy</span> </a> </div> <div class="col col-lg-4 col-md-12 views-row"> <a class="news-grid-item" href="/news/profound-sense-responsibility-wes-hall-installed-u-t-s-35th-chancellor" aria-label="'A profound sense of responsibility': Wes Hall installed as U of T's 35th chancellor"> <span class="thumbnail-wrapper bs-mb-2"> <img loading="lazy" src="/sites/default/files/styles/news_block_thumbnail/public/2024-10/2024-10-28-Wes-Hall-%2835%29-crop.jpg?h=5a922bb2&itok=3ZjGCLCw" width="360" height="240" alt="""" class="image-style-news-block-thumbnail" /> </span> <span class="headline">'A profound sense of responsibility': Wes Hall installed as U of T's 35th chancellor</span> </a> </div> <div class="col col-lg-4 col-md-12 views-row"> <a class="news-grid-item" href="/news/man-behind-music-u-t-s-official-organist-retires-after-45-years" aria-label="The man behind the music: U of T’s official organist retires after 45 years "> <span class="thumbnail-wrapper bs-mb-2"> <img loading="lazy" src="/sites/default/files/styles/news_block_thumbnail/public/2024-10/0G5A4985-crop.jpg?h=81d682ee&itok=2Pf9ZCya" width="360" height="240" alt="John Tuttle sits in front of the organ at Convocation Hall" class="image-style-news-block-thumbnail" /> </span> <span class="headline">The man behind the music: U of T’s official organist retires after 45 years </span> </a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="field__item"> <div class="audience-row no-mt no-mb bs-pt-l bs-pb-l bg-light-grey" > <div class="container"> <div class="row"> <div class="col-md-12"> <div class="paragraph paragraph--type--layout-column-grid-audience-page paragraph--view-mode--default"> <div class="field field--name-field-components field--type-entity-reference-revisions field--label-hidden field__items"> <div class="field__item"> <h2 class="bs-color-primary bs-mb-4 bs-text-center" > U of T is one of Canada's top employers </h2> </div> <div class="field__item"> <div class="paragraph paragraph--type--paragraph paragraph--view-mode--default bs-mb-4"> <p>We are proudly recognized as one of Canada's Top 100 Employers (2022), Canada's Best Diversity Employers (2023), Canada's Greenest Employers (2023), Greater Toronto's Top Employers (2024), Canada's Best Employers for Recent Graduates (2024) and Canada's Top Family-Friendly Employers (2022).</p> </div> </div> <div class="field__item"> <div class="paragraph paragraph--type--dynamic-content-block paragraph--view-mode--default no-mb"> <div id="block-topemployers" class="block-content-basic block block-block-content block-block-contentc35134c5-5e0b-4d36-9b27-3b495fc73139"> <div class="content"> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><div class="top-employers"><a href="https://reviews.canadastop100.com/top-employer-university-of-toronto" target="_blank"><img alt="Top employers" data-entity-type="file" data-entity-uuid="7f9593af-c08c-4f51-9c91-f1a81b291d00" src="/sites/default/files/inline-images/2022-best-employers.png" width="566" height="561" loading="lazy"></a> <a href="https://reviews.canadastop100.com/top-employer-university-of-toronto" target="_blank"><img alt="Top employers" data-entity-type="file" data-entity-uuid="3c63b0c6-443e-4605-aefa-83185f51e0b1" src="/sites/default/files/inline-images/diversity-employers_0.png" width="630" height="525" loading="lazy"> </a> <a href="https://reviews.canadastop100.com/top-employer-university-of-toronto" target="_blank"> <img alt="Top employers" data-entity-type="file" data-entity-uuid="84d447b9-c685-4552-b991-75fd81387995" src="/sites/default/files/inline-images/greenest-employer.png" width="796" height="538" loading="lazy"></a> <a href="https://reviews.canadastop100.com/top-employer-university-of-toronto" target="_blank"><img alt="Logo for Greater Toronto's Top 2024 Employers" data-entity-type="file" data-entity-uuid="8ae7c309-053b-4d83-b123-a2405f62d550" src="/sites/default/files/inline-images/gta_2024.png" width="548" height="376" loading="lazy"></a><a href="https://reviews.canadastop100.com/top-employer-university-of-toronto" target="_blank"><img alt="Logo for The Career Directory 2024" data-entity-type="file" data-entity-uuid="e4654849-0082-4857-98c4-046695fac779" src="/sites/default/files/inline-images/career_directory_2024.png" width="415" height="647" loading="lazy"></a> <a href="https://reviews.canadastop100.com/top-employer-university-of-toronto" target="_blank"> <img alt="Top employers" data-entity-type="file" data-entity-uuid="eb015225-6d00-4681-b984-ebb05babdd6b" src="/sites/default/files/inline-images/family-friendly-employer.png" width="544" height="420" loading="lazy"></a></div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </article> </div> </div> </section> </main> </div> </div> </div> <footer id="footer"> <div class="site-footer"> <div class="container"> <div class="row"> <div class="col-md-12"> <section class="row region region-footer-logo"> <div id="block-footerlogo" class="settings-tray-editable block-content-basic block block-block-content block-block-content2fe9eedb-2036-47ab-b428-a7c80f3e78ef" data-drupal-settingstray="editable"> <div class="content"> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><div class="footer-logo-wrapper"> <p class="footer-campaign-logo"><a href="https://defygravitycampaign.utoronto.ca/" title="Defy gravity"><img alt="defy gravity logo" height="80" loading="lazy" src="/sites/default/files/2023-06/Defy_Gravity_KO-150.png" width="150"> </a></p> </div> </div> </div> </div> </section> </div> </div> <div class="row footer-cols"> <div class="col col-xs-6 col-md-3"> <section class="row region region-footer-first"> <nav role="navigation" aria-labelledby="block-mainnavigation-menu" id="block-mainnavigation" class="settings-tray-editable block block-menu navigation menu--main" data-drupal-settingstray="editable"> <h2 class="visually-hidden" id="block-mainnavigation-menu">Main navigation repeated</h2> <ul class="clearfix nav navbar-nav" data-component-id="bootstrap_barrio:menu_main"> <li class="nav-item"> <a href="/future-students" class="nav-link nav-link--future-students" data-drupal-link-system-path="node/169243">Future students</a> </li> <li class="nav-item"> <a href="/current-students" class="nav-link nav-link--current-students" data-drupal-link-system-path="node/169246">Current students</a> </li> <li class="nav-item"> <a href="/alumni" class="nav-link nav-link--alumni" data-drupal-link-system-path="node/169247">Alumni</a> </li> <li class="nav-item active"> <a href="/faculty-staff" class="nav-link active nav-link--faculty-staff is-active" data-drupal-link-system-path="node/169250" aria-current="page">Faculty and Staff</a> </li> <li class="nav-item"> <a href="https://defygravitycampaign.utoronto.ca/" class="nav-link nav-link-https--defygravitycampaignutorontoca-">Donors</a> </li> <li class="nav-item"> <a href="/visitors" class="nav-link nav-link--visitors" data-drupal-link-system-path="node/169248">Visitors</a> </li> </ul> </nav> </section> </div> <div class="col col-xs-6 col-md-3"> <section class="row region region-footer-second"> <nav role="navigation" aria-labelledby="block-subnavigation-2-menu" id="block-subnavigation-2" class="settings-tray-editable block block-menu navigation menu--sub" data-drupal-settingstray="editable"> <h2 class="visually-hidden" id="block-subnavigation-2-menu">Jump to menu repeated</h2> <ul class="clearfix nav" data-component-id="bootstrap_barrio:menu"> <li class="nav-item"> <a href="/news" class="nav-link nav-link--news" data-drupal-link-system-path="node/171269">News & Media</a> </li> <li class="nav-item"> <a href="/about-u-of-t" class="nav-link nav-link--about-u-of-t" data-drupal-link-system-path="node/169259">About U of T</a> </li> <li class="nav-item"> <a href="https://boundless.utoronto.ca/" class="nav-link nav-link-https--boundlessutorontoca-">Give to U of T</a> </li> <li class="nav-item"> <a href="/academics" class="nav-link nav-link--academics" data-drupal-link-system-path="node/169257">Academics</a> </li> <li class="nav-item"> <a href="/academics/programs-directory" class="nav-link nav-link--academics-programs-directory" data-drupal-link-system-path="node/300738">Programs of study</a> </li> <li class="nav-item"> <a href="/research-innovation" class="nav-link nav-link--research-innovation" data-drupal-link-system-path="node/169249">Research & innovation</a> </li> <li class="nav-item"> <a href="/university-life" class="nav-link nav-link--university-life" data-drupal-link-system-path="node/169254">University life</a> </li> <li class="nav-item"> <a href="/libraries" class="nav-link nav-link--libraries" data-drupal-link-system-path="node/169263">Libraries</a> </li> <li class="nav-item"> <a href="/utogether" class="nav-link nav-link--utogether">UTogether</a> </li> <li class="nav-item"> <a href="/a-to-z-directory" class="nav-link nav-link--a-to-z-directory" data-drupal-link-system-path="a-to-z-directory">A to Z Directory</a> </li> </ul> </nav> </section> </div> <div class="col col-xs-6 col-md-3"> <section class="row region region-footer-third"> <nav role="navigation" aria-labelledby="block-footermenupart3-menu" id="block-footermenupart3" class="settings-tray-editable block block-menu navigation menu--footer-menu-part-3" data-drupal-settingstray="editable"> <h2 class="visually-hidden" id="block-footermenupart3-menu">Quick links</h2> <ul class="clearfix nav" data-component-id="bootstrap_barrio:menu"> <li class="nav-item"> <a href="/contacts" class="nav-link nav-link--contacts" data-drupal-link-system-path="node/169266">Contact</a> </li> <li class="nav-item"> <a href="https://jobs.utoronto.ca/" class="nav-link nav-link-https--jobsutorontoca-">Careers</a> </li> <li class="nav-item"> <a href="/accessibility" class="nav-link nav-link--accessibility" data-drupal-link-system-path="node/169262">Accessibility</a> </li> <li class="nav-item"> <a href="/privacy" class="nav-link nav-link--privacy" data-drupal-link-system-path="node/169264">Privacy</a> </li> <li class="nav-item"> <a href="/site-feedback" class="nav-link nav-link--site-feedback" data-drupal-link-system-path="node/169265">Site feedback</a> </li> <li class="nav-item"> <a href="/sitemap" class="nav-link nav-link--sitemap" data-drupal-link-system-path="node/169894">Site map</a> </li> </ul> </nav> </section> </div> <div class="col col-xs-6 col-md-3"> <section class="row region region-footer-fourth"> <div id="block-maincampusstatus-3" class="settings-tray-editable block-content-main_campus_status block block-block-content block-block-contentc1abfe24-37a7-4697-b0a9-915322534083" data-drupal-settingstray="editable"> <div class="campus-status-wrapper"> <div class="status-ok"> <div class="status"> </div> <div class="status-output"><a href="/campus-status">Campus status</a></div> </div> </div> </div> <nav role="navigation" aria-labelledby="block-footermenupart4-menu" id="block-footermenupart4" class="settings-tray-editable block block-menu navigation menu--footer-menu-part-4" data-drupal-settingstray="editable"> <h2 class="visually-hidden" id="block-footermenupart4-menu">Quick links</h2> <ul class="clearfix nav" data-component-id="bootstrap_barrio:menu"> <li class="nav-item"> <a href="/university-life/campuses/st-george" class="nav-link nav-link--university-life-campuses-st-george" data-drupal-link-system-path="node/169255">St. George campus</a> </li> <li class="nav-item"> <a href="/university-life/campuses/mississauga" class="nav-link nav-link--university-life-campuses-mississauga" data-drupal-link-system-path="node/169256">Mississauga campus</a> </li> <li class="nav-item"> <a href="/university-life/campuses/scarborough" class="nav-link nav-link--university-life-campuses-scarborough" data-drupal-link-system-path="node/169253">Scarborough campus</a> </li> <li class="nav-item"> <a href="http://map.utoronto.ca/" class="nav-link nav-link-http--maputorontoca-">Campus maps</a> </li> <li class="nav-item"> <a href="http://safety.utoronto.ca/" class="nav-link nav-link-http--safetyutorontoca-">Campus safety</a> </li> </ul> </nav> </section> </div> </div> <div class="site-footer__bottom"> <div class="row"> <div class="col-md-12"> <section class="row region region-footer-fifth"> <div id="block-footerstatementofacknowledgement-2" class="settings-tray-editable block-content-basic block block-block-content block-block-contentba347b0a-1f37-41cb-8d09-9d580073a024" data-drupal-settingstray="editable"> <div class="content"> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><div class="statement-wrapper"> <p class="title">Statement of Land Acknowledgement</p> <p>We wish to acknowledge this land on which the University of Toronto operates. For thousands of years it has been the traditional land of the Huron-Wendat, the Seneca, and the Mississaugas of the Credit. Today, this meeting place is still the home to many Indigenous people from across Turtle Island and we are grateful to have the opportunity to work on this land. <a href="https://indigenous.utoronto.ca/about/land-acknowledgement/" target="_blank" title="https://indigenous.utoronto.ca/about/land-acknowledgement/">Read about U of T’s Statement of Land Acknowledgement.</a></p> </div> </div> </div> </div> </section> </div> </div> </div> </div> </div> <div class="site-footer-bottom"> <section class="row region region-footer-bottom"> <div id="block-footersocialicons-2" class="settings-tray-editable block-content-footer_social_icons block block-block-content block-block-content3225f7ff-2693-4e9f-8469-ca9c240414f3 footer-social-icons" data-drupal-settingstray="editable"> <div class="footer-social-icons-wrapper"> <a aria-label="Twitter link" href="https://twitter.com/uoft" target="_blank"><i aria-hidden="true" class="fa-brands fa-x-twitter"></i></a> <a aria-label="Facebook link" href="https://www.facebook.com/universitytoronto" target="_blank"><i aria-hidden="true" class="fa-brands fa-facebook-f"></i></a> <a aria-label="instagram link" href="https://www.instagram.com/uoft/" target="_blank"><i aria-hidden="true" class="fa-brands fa-instagram"></i></a> <a aria-label="YouTube link" href="https://www.youtube.com/user/universitytoronto" target="_blank"><i aria-hidden="true" class="fa-brands fa-youtube"></i></a> <a aria-label="LinkedIn link" class="linkedin-icon" href="https://www.linkedin.com/school/university-of-toronto/" target="_blank"><i aria-hidden="true" class="fa-brands fa-linkedin-in"></i></a> <a aria-label="Tik tok link" class="tik-tok-icon" href="https://www.tiktok.com/@uoft" target="_blank"><i aria-hidden="true" class="fa-brands fa-tiktok"></i></a> <a aria-label="Social media directory link" href="/social-media-directory" target="_blank">Social media directory</a> </div> <div class="footer-message"> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>UNIVERSITY OF TORONTO - SINCE 1827</p> </div> </div> </div> </section> </div> </footer> </div> </div> </div> <script type="application/json" data-drupal-selector="drupal-settings-json">{"path":{"baseUrl":"\/","pathPrefix":"","currentPath":"node\/169250","currentPathIsAdmin":false,"isFront":false,"currentLanguage":"en"},"pluralDelimiter":"\u0003","suppressDeprecationErrors":true,"ajaxTrustedUrl":{"form_action_p_pvdeGsVG5zNF_XLGPTvYSKCf43t8qZYSwcfZl2uzM":true,"\/search":true},"user":{"uid":0,"permissionsHash":"bf8f8b022f0bf2ebd333087f6db9f8327e1a1c8d4ebdc8fe013356f6ea6ec180"}}</script> <script src="/sites/default/files/js/js_rR_k2wT1SXxt301Zq6Ck7UyEpoT-d5UoeJRZwXkDKDI.js?scope=footer&delta=0&language=en&theme=bootstrap_uoft&include=eJxLys8vKS4pSiyIL81PK9FPz8lPSszRLS6pzMnMSwcAs1UL0w"></script> <link rel="stylesheet" media="all" href="/themes/custom/bootstrap_uoft/fa/css/all.min.css?v=1.4" /> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-27992c020635ff9e4a2","applicationID":"1041546173","transactionName":"NgBTZ0oHWEECV0xfDQ9KcFBMD1lcTHBKQxIACW1dVwJTbiBbVkIQDgldVko6eF0HUW5fBxYmXl1MFFleD1FKG1wXDFRE","queueTime":0,"applicationTime":633,"atts":"GkdQEQIdS08=","errorBeacon":"bam.nr-data.net","agent":""}</script> </body> </html>