CINXE.COM
Research & Innovation | 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="The University of Toronto is a leader in research and innovation, with significant impact both locally and globally." /> <link rel="canonical" href="https://www.utoronto.ca/research-innovation" /> <link rel="image_src" href="/sites/default/files/2022-02/research-innovation_1.png" /> <meta property="og:site_name" content="University of Toronto" /> <meta property="og:url" content="https://www.utoronto.ca/research-innovation" /> <meta property="og:title" content="Research & innovation" /> <meta property="og:image" content="https://www.utoronto.ca/sites/default/files/2022-02/research-innovation_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?snm8ks" 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>Research & Innovation | University of Toronto</title> <link rel="stylesheet" media="all" href="/sites/default/files/css/css_xJiGqxfNyKAH-03bWW7W3zIywpT9cHBoO3t3XkkP4VY.css?delta=0&language=en&theme=bootstrap_uoft&include=eJyNj1GqAzEIRTeUSZYUTMfJCCaGqC2z-w5tH30wP_0RvOfIRT3UsKUCiqGImNqEkV02S5WlAC9qB1Ov4SYT003akI7dNH7tAnOSLEvD7j9quQH1MGBCPdGuaZ0-gOM3id6HFybdcQ2HuHnBP-uzxol61ijdMdwJH5peMzZZnf-_825Om8x2TalBxbyx03qFBkXz5sxX1FD1vNTMVHd7Am1Sgk8" /> <link rel="stylesheet" media="all" href="/sites/default/files/css/css_qWl9UTZNRTVA8AFSQfoWf_nCc6N1hxQJX6xvjnQr5wc.css?delta=1&language=en&theme=bootstrap_uoft&include=eJyNj1GqAzEIRTeUSZYUTMfJCCaGqC2z-w5tH30wP_0RvOfIRT3UsKUCiqGImNqEkV02S5WlAC9qB1Ov4SYT003akI7dNH7tAnOSLEvD7j9quQH1MGBCPdGuaZ0-gOM3id6HFybdcQ2HuHnBP-uzxol61ijdMdwJH5peMzZZnf-_825Om8x2TalBxbyx03qFBkXz5sxX1FD1vNTMVHd7Am1Sgk8" /> <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-169249 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"> <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 active"> <a href="/research-innovation" class="nav-link active nav-link--research-innovation is-active" data-drupal-link-system-path="node/169249" aria-current="page">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 active"> <a href="/research-innovation" class="nav-link active nav-link--research-innovation is-active" data-drupal-link-system-path="node/169249" aria-current="page">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"> <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"> <a href="/faculty-staff" class="nav-link nav-link--faculty-staff" data-drupal-link-system-path="node/169250">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"> <a href="/faculty-staff" class="nav-link nav-link--faculty-staff" data-drupal-link-system-path="node/169250">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 active"> <a href="/research-innovation" class="nav-link active nav-link--research-innovation is-active" data-drupal-link-system-path="node/169249" aria-current="page">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 active"> <a href="/research-innovation" class="nav-link active nav-link--research-innovation is-active" data-drupal-link-system-path="node/169249" aria-current="page">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="169249" 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="/research-innovation" 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/2022-06/collision-2022.jpg?h=e6f36a9c&itok=KK4hZash 380w, /sites/default/files/styles/banner_634/public/2022-06/collision-2022.jpg?h=e6f36a9c&itok=BvJnxSn5 634w, /sites/default/files/styles/banner_951/public/2022-06/collision-2022.jpg?h=e6f36a9c&itok=iVgXxtAJ 951w, /sites/default/files/styles/banner_1268/public/2022-06/collision-2022.jpg?h=e6f36a9c&itok=FUjpl5Iu 1268w, /sites/default/files/styles/banner_1902/public/2022-06/collision-2022.jpg?h=e6f36a9c&itok=mFIx5tD6 1902w" sizes="100vw" width="951" height="348" src="/sites/default/files/styles/banner_380/public/2022-06/collision-2022.jpg?h=e6f36a9c&itok=KK4hZash" alt="A woman in a lab with the Defy Gravity wordmark" /> </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">Research & innovation</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-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"> <div class="paragraph paragraph--type--paragraph paragraph--view-mode--default no-mb"> <p class="intro">The University of Toronto is a leader in research and innovation, with significant impact both locally and globally. Our outstanding research scholars are committed to understanding and solving the challenges that face us today — and look forward to what is possible for the future.</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" > More information </h2> </div> <div class="field__item"> <div class="audience-ctas-wrapper no-mb"> <div class="row"> <div class="item col-md-4 col-sm-12"> <a class="audience-cta" href="https://discover.research.utoronto.ca/"> <span class="audience-link"> Find a U of T Scholar </span> <i class="fa fa-chevron-right arrow"></i> </a> </div> <div class="item col-md-4 col-sm-12"> <a class="audience-cta" href="https://research.utoronto.ca/partnerships/work-u-t-researchers"> <span class="audience-link"> Work with U of T Researchers </span> <i class="fa fa-chevron-right arrow"></i> </a> </div> <div class="item col-md-4 col-sm-12"> <a class="audience-cta" href="https://research.utoronto.ca/inventions-commercialization-entrepreneurship/license-u-t-technologies"> <span class="audience-link"> License U of T Technologies </span> <i class="fa fa-chevron-right arrow"></i> </a> </div> <div class="item col-md-4 col-sm-12"> <a class="audience-cta" href="http://entrepreneurs.utoronto.ca/"> <span class="audience-link"> U of T Entrepreneurship </span> <i class="fa fa-chevron-right arrow"></i> </a> </div> <div class="item col-md-4 col-sm-12"> <a class="audience-cta" href="https://research.utoronto.ca/"> <span class="audience-link"> Research & Innovation @ U of T </span> <i class="fa fa-chevron-right arrow"></i> </a> </div> <div class="item col-md-4 col-sm-12"> <a class="audience-cta" href="https://research.utoronto.ca/reports-publications-metrics/institutional-strategic-research-plan"> <span class="audience-link"> Strategic Research Plan </span> <i class="fa fa-chevron-right arrow"></i> </a> </div> <div class="item col-md-4 col-sm-12"> <a class="audience-cta" href="https://isi.utoronto.ca/"> <span class="audience-link"> Institutional Strategic Initiatives </span> <i class="fa fa-chevron-right arrow"></i> </a> </div> <div class="item col-md-4 col-sm-12"> <a class="audience-cta" href="/research-innovation/animals"> <span class="audience-link"> Animal Use in Science </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-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" > Latest research & innovation news </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-4" id="block-views-block-news-block-block-4"> <div class="content"> <div><div class="view view-news-block view-id-news_block view-display-id-block_4 js-view-dom-id-14e476b7428880db15553c6c2b9b2be136c19952014d6b9ccceaa72e5a7771f6"> <div class="view-content row"> <div class="col col-lg-4 col-md-12 views-row"> <a class="news-grid-item" href="/news/phd-student-s-radiopharmaceutical-play-key-role-clinical-trial-lung-cancer-treatment" aria-label="PhD student's radiopharmaceutical to play key role in clinical trial for lung cancer treatment"> <span class="thumbnail-wrapper bs-mb-2"> <img loading="lazy" src="/sites/default/files/styles/news_block_thumbnail/public/2024-11/stephanie_borlase_faculty-crop.jpg?h=81d682ee&itok=MiBokgiY" width="360" height="240" alt="""" class="image-style-news-block-thumbnail" /> </span> <span class="headline">PhD student's radiopharmaceutical to play key role in clinical trial for lung cancer treatment</span> </a> </div> <div class="col col-lg-4 col-md-12 views-row"> <a class="news-grid-item" href="/news/r-u-there-using-abbreviations-your-texts-reduces-chance-getting-reply-study" aria-label="R u there? Using abbreviations in your texts reduces the chance of getting a reply: Study"> <span class="thumbnail-wrapper bs-mb-2"> <img loading="lazy" src="/sites/default/files/styles/news_block_thumbnail/public/2024-11/young-mixed-race-woman-indoor-metro-station-using-2024-10-18-07-50-06-utc.jpg?h=81d682ee&itok=J28r2tb1" width="360" height="240" alt="young mixed race woman uses a cellphone while walking through a subway station" class="image-style-news-block-thumbnail" /> </span> <span class="headline">R u there? Using abbreviations in your texts reduces the chance of getting a reply: Study</span> </a> </div> <div class="col col-lg-4 col-md-12 views-row"> <a class="news-grid-item" href="/news/u-t-and-siemens-canada-partner-transform-energy-grid" aria-label="U of T and Siemens Canada partner to transform energy grid"> <span class="thumbnail-wrapper bs-mb-2"> <img loading="lazy" src="/sites/default/files/styles/news_block_thumbnail/public/2024-11/043A0017-crop.jpg?h=81d682ee&itok=QWODMDCv" width="360" height="240" alt="""" class="image-style-news-block-thumbnail" /> </span> <span class="headline">U of T and Siemens Canada partner to transform energy grid</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-accent-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 no-mb bs-text-center" > Featured researchers </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-accent-blue" > <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"> <div class="row bs-mb-2"> <div class="col-md-12"> <div class="paragraph paragraph--type--video paragraph--view-mode--default bs-mb-2"> <div class="video-wrapper bs-mb-1"> <figure class="youtube-container youtube-container--responsive"> <iframe src="https://www.youtube.com/embed/2s25tAsoZVU?wmode=opaque" id="youtube-field-player" class="youtube-field-player" title="Embedded video for Research & innovation > Content component > Grid > Components > Video" aria-label="Embedded video for Research &amp; innovation &gt; Content component &gt; Grid &gt; Components &gt; Video: https://www.youtube.com/embed/2s25tAsoZVU?wmode=opaque" frameborder="0" allowfullscreen></iframe> </figure> </div> <p class="text-label no-mb"> </p> <p class="read-more no-mb"> </p> </div> </div> </div> </div> <div class="field__item"> <h3 class="bs-color-white bs-mb-2 bs-text-left" > Daniel De Carvalho </h3> </div> <div class="field__item"> <div class="paragraph paragraph--type--paragraph paragraph--view-mode--default no-mb"> <p class="white"><strong><em>2019 Royal Society of Canada’s College of New Scholars, Artists and Scientists</em></strong></p> <p class="white">Daniel De Carvalho is an associate professor in the department of medical biophysics at the Faculty of Medicine and a senior scientist at the Princess Margaret Cancer Centre. His work focuses on epigenetics, or the changes brought on by modification of gene expression, and better understanding the mechanisms behind tumour growth and translating this knowledge into more efficient approaches for therapy.</p> </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="row bs-mb-2"> <div class="col-md-12"> <div class="paragraph paragraph--type--video paragraph--view-mode--default bs-mb-2"> <div class="video-wrapper bs-mb-1"> <figure class="youtube-container youtube-container--responsive"> <iframe src="https://www.youtube.com/embed/FhjiCf_qCEg?wmode=opaque" id="youtube-field-player--2" class="youtube-field-player" title="Embedded video for Research & innovation > Content component > Grid > Components > Video" aria-label="Embedded video for Research &amp; innovation &gt; Content component &gt; Grid &gt; Components &gt; Video: https://www.youtube.com/embed/FhjiCf_qCEg?wmode=opaque" frameborder="0" allowfullscreen></iframe> </figure> </div> <p class="text-label no-mb"> </p> <p class="read-more no-mb"> </p> </div> </div> </div> </div> <div class="field__item"> <h3 class="bs-color-white bs-mb-2 bs-text-left" > David Evans </h3> </div> <div class="field__item"> <div class="paragraph paragraph--type--paragraph paragraph--view-mode--default no-mb"> <p class="white"><strong><em>2019 Royal Society of Canada’s College of New Scholars, Artists and Scientists</em></strong></p> <p class="white">An associate professor in the department of ecology and evolutionary biology in the Faculty of Arts & Science who oversees dinosaur research at the Royal Ontario Museum, Evans studies the Cretaceous Period to understand Earth’s biodiversity crisis today.</p> </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="row bs-mb-2"> <div class="col-md-12"> <div class="paragraph paragraph--type--video paragraph--view-mode--default bs-mb-2"> <div class="video-wrapper bs-mb-1"> <figure class="youtube-container youtube-container--responsive"> <iframe src="https://www.youtube.com/embed/Lkkp873d6ek?wmode=opaque" id="youtube-field-player--3" class="youtube-field-player" title="Embedded video for Research & innovation > Content component > Grid > Components > Video" aria-label="Embedded video for Research &amp; innovation &gt; Content component &gt; Grid &gt; Components &gt; Video: https://www.youtube.com/embed/Lkkp873d6ek?wmode=opaque" frameborder="0" allowfullscreen></iframe> </figure> </div> <p class="text-label no-mb"> </p> <p class="read-more no-mb"> </p> </div> </div> </div> </div> <div class="field__item"> <h3 class="bs-color-white bs-mb-2 bs-text-left" > Jean-Philippe Julien </h3> </div> <div class="field__item"> <div class="paragraph paragraph--type--paragraph paragraph--view-mode--default no-mb"> <p class="white"><strong><em>2019 Royal Society of Canada’s College of New Scholars, Artists and Scientists</em></strong></p> <p class="white">Julien, an assistant professor in the departments of biochemistry and immunology in the Faculty of Medicine and a scientist at the SickKids Research Institute, studies how the immune system works and harnesses that information to design interventions, including vaccines.</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-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 bs-mb-4 bs-text-center" > Geoffrey Hinton, U of T's godfather of deep learning </h2> </div> <div class="field__item"> <div class="row no-mb"> <div class="col-md-12"> <div class="paragraph paragraph--type--video paragraph--view-mode--default bs-mb-2"> <div class="video-wrapper bs-mb-1"> <figure class="youtube-container youtube-container--responsive"> <iframe src="https://www.youtube.com/embed/FTrQNmI3G0s?wmode=opaque" id="youtube-field-player--4" class="youtube-field-player" title="Embedded video for Research & innovation > Content component > Grid > Components > Video" aria-label="Embedded video for Research &amp; innovation &gt; Content component &gt; Grid &gt; Components &gt; Video: https://www.youtube.com/embed/FTrQNmI3G0s?wmode=opaque" frameborder="0" allowfullscreen></iframe> </figure> </div> <p class="text-label no-mb"> </p> <p class="read-more no-mb"> </p> </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"> <a href="/faculty-staff" class="nav-link nav-link--faculty-staff" data-drupal-link-system-path="node/169250">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 active"> <a href="/research-innovation" class="nav-link active nav-link--research-innovation is-active" data-drupal-link-system-path="node/169249" aria-current="page">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\/169249","currentPathIsAdmin":false,"isFront":false,"currentLanguage":"en"},"pluralDelimiter":"\u0003","suppressDeprecationErrors":true,"ajaxTrustedUrl":{"\/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":356,"atts":"GkdQEQIdS08=","errorBeacon":"bam.nr-data.net","agent":""}</script> </body> </html>