CINXE.COM
In the Name of Friendship: Matthew Rankin on "Universal Language" | Interviews | Roger Ebert
<!doctype html> <html lang="en-US" prefix="og: https://ogp.me/ns#"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <script type="text/javascript"> ;window.NREUM||(NREUM={});NREUM.init={session_replay:{enabled:true,block_selector:'',mask_text_selector:'*',sampling_rate:10.0,error_sampling_rate:10.0,mask_all_inputs:true,collect_fonts:true,inline_images:false,inline_stylesheet:true,mask_input_options:{}},distributed_tracing:{enabled:true},privacy:{cookies_enabled:true},ajax:{deny_list:["bam.ndata.net"]}}; ;NREUM.loader_config={accountID:"4588471",trustKey:"4588471",agentID:"1134507735",licenseKey:"NRJS-fc5e229d30368c5c18e",applicationID:"1134507735"}; ;NREUM.info={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",licenseKey:"NRJS-fc5e229d30368c5c18e",applicationID:"1134507735",sa:1}; ;/*! For license information please see nr-loader-spa-1.278.2.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:()=>p,gD:()=>m,xN:()=>g});var n=r(3333),i=r(993);const o=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var a=r(2614),s=r(944),c=r(384),u=r(8122);const d="[data-nr-mask]",l=()=>{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},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,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},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0,level:i.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,autoStart:!0},performance:{get capture_marks(){return e.feature_flags.includes(n.$v.MARKS)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(n.$v.MEASURES)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},resources:{get enabled(){return e.feature_flags.includes(n.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:a.wk,inactiveMs:a.BB},session_replay:{autoStart:!0,enabled:!1,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){o(t)?e.mask_selector="".concat(t,",").concat(d):""===t||null===t?e.mask_selector=d:(0,s.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){o(t)?e.block_selector+=",".concat(t):""!==t&&(0,s.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,s.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0}}},f={},h="All configuration objects require an agent identifier!";function p(e){if(!e)throw new Error(h);if(!f[e])throw new Error("Configuration for ".concat(e," was never set"));return f[e]}function g(e,t){if(!e)throw new Error(h);f[e]=(0,u.a)(t,l());const r=(0,c.nY)(e);r&&(r.init=f[e])}function m(e,t){if(!e)throw new Error(h);var r=p(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,harvester: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.278.2",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),c&&h(c.prototype,f),h(a.gm,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,{$v:()=>u,TZ:()=>n,Zp:()=>i,kd:()=>c,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,c=["PageAction","UserAction","BrowserPerformance"],u={MARKS:"experimental.marks",MEASURES:"experimental.measures",RESOURCES:"experimental.resources"}},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:()=>c,Qu:()=>u,TZ:()=>s,ih:()=>d,pP:()=>a,tC:()=>i});var n=r(860);const i=["click","keydown","submit","popstate"],o="api",a="initialPageLoad",s=n.K7.softNav,c={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},u={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},d={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:()=>T,gx:()=>v,l9:()=>l,oW:()=>h,op:()=>g,rw:()=>u,tH:()=>A,uP:()=>s,wW:()=>E,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",E="cb"+R,T="jsTime",A="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","recordCustomEvent","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);const E=new Map;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);a.level=n.level,a.customAttributes=n.customAttributes;const c=t[r]?.[x.Jt]||t[r];return E.set(c,a),o.inPlace(t,[r],"wrap-logger-",(()=>E.get(c))),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 S={};var N=r(9417),_=r(5603),O=r(5284);const I=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let P=!1;function j(e,t={},g,R){let{init:x,info:E,loader_config:j,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();E||(x=L.init,E=L.info,j=L.loader_config),(0,N.xN)(e.agentIdentifier,x||{}),(0,_.a)(e.agentIdentifier,j||{}),E.jsAttributes??={},d.bv&&(E.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,E);const H=(0,N.D0)(e.agentIdentifier),M=[E.beacon,E.errorBeacon];P||(H.proxy.assets&&(I(H.proxy.assets),M.push(H.proxy.assets)),H.proxy.beacon&&M.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?M:[]],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");S[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=>{S[e]=t}));var E="api-",A=E+"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(E,n,!0,o||null===r?"session":void 0)(t,r)}function _(){}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(E,e,!0,"api")})),g.addPageAction=I(E,"addPageAction",!0,n.K7.genericEvents),g.recordCustomEvent=I(E,"recordCustomEvent",!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(E,"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 _).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)(A+"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,[r?(0,v.t)():performance.now(),...arguments],r?null:this,i,R),r?void 0:this}}function P(){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=>{O[e]=I(A,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(A,"routeName",void 0,n.K7.softNav):I(E,"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,!!S[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=>P()),!0):P(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),P=!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:()=>u,K7:()=>s,P3:()=>c,XX:()=>i,qY:()=>n,v4:()=>a});const n="events",i="jserrors",o="browser/blobs",a="rum",s={ajax:"ajax",genericEvents:"generic_events",jserrors:i,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"},c={[s.pageViewEvent]:1,[s.pageViewTiming]:2,[s.metrics]:3,[s.jserrors]:4,[s.spa]:5,[s.ajax]:6,[s.sessionTrace]:7,[s.softNav]:8,[s.sessionReplay]:9,[s.logging]:10,[s.genericEvents]:11},u={[s.pageViewEvent]:a,[s.pageViewTiming]:n,[s.ajax]:n,[s.spa]:n,[s.softNav]:n,[s.metrics]:i,[s.jserrors]:i,[s.sessionTrace]:o,[s.sessionReplay]:o,[s.logging]:"browser/logs",[s.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.278.2.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.278.2.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-LyJuO9l6nGvSxIdDAH5w4L3R+Bn4r+UYrcpedtLnIcpXcZMvJE7ScYU9RkzfA+JLy9Hss3YbNdKuNso4YODcFQ==",249:"sha512-4zCEYvMPXYo8xYjDUNIIh2KbeG7ninqVP4gidiTCMvoQbdAy7f/Y4cnOvtEwS3i6p4599og04o4k4cRo0fisQg==",212:"sha512-aM9tSk7rER3AgTnylnbJ1mVxXKff/CrV8GZ+9nUtCGXY44LPaGRGNT+iWsobM3u/ji3rv4es5Mlh/8W7ssabKA=="};(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.278.2.PROD"]=self["webpackChunk:NRBA-1.278.2.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)}recordCustomEvent(e,t){return this.#e("recordCustomEvent",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(!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),t.runtime.harvester.initializedAggregates.push(this.featAggregate),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),E=i(2843),T=i(3878),A=i(782),S=i(1863);class N extends b{static featureName=A.T;constructor(e,t=!0){super(e,A.T,t),p.RI&&((0,E.u)((()=>(0,x.p)("docHidden",[(0,S.t)()],void 0,A.T,this.ee)),!0),(0,T.sp)("pagehide",(()=>(0,x.p)("winPagehide",[(0,S.t)()],void 0,A.T,this.ee))),this.importAggregator(e))}}var _=i(3969);class O extends b{static featureName=_.TZ;constructor(e,t=!0){super(e,_.TZ,t),this.importAggregator(e)}}var I=i(6774),P=i(3304);class j{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,P.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new j(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 j(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 M 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,t)=>{this.abortHandler&&(0,x.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r,t],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,T.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,T.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var D=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,D.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,P.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(void 0===p.gm.XMLHttpRequest)return n;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,T.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,P.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){E(t,e)}),(0,T.jT)(!1)),p.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,T.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,T.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.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function E(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)(_.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:Ee,Lc:Te,uP:Ae,Rz:Se}=be;class Ne extends b{static featureName=Ee;constructor(e,t=!0){super(e,Ee,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(Ae,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Te,(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 _e=i(2614);class Oe 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(_e.H3,"_").concat(_e.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===_e.g.FULL||e.sessionReplayMode===_e.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,agentRef:this.#o}),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!==_e.g.FULL&&this.featAggregate.initializeRecording(_e.g.FULL,!0):(this.#i=_e.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==_e.g.FULL&&(this.recorder.parent.mode=_e.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class Pe 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,T.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,T.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 je=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,T.jT)(!1)),e.removeEventListener("error",f,(0,T.jT)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,T.jT)(!1)),e.removeEventListener("error",f,(0,T.jT)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,T.jT)(!1)),e.addEventListener("error",f,(0,T.jT)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const He={};function Me(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 De={},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(De[t.debugId]++)return t;De[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:$e,e5:Je,tH:Qe,uP:et,rw:tt,Lc:rt}=je;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=Me(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[Je]=~~this[Je]+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($e,m),o.on($e,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([Qe+Ze,Qe+"-done",Qe+Xe+Ze,Qe+Xe+Ye],this.featureName),l.buffer(["newURL"],this.featureName),f.buffer([et],this.featureName),a.buffer(["propagate",tt,$e,"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,Qe+Ze),v(d,Qe+"-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,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",h,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){h(0,n>1)}),(0,T.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,e.init.performance.resources.enabled];if(p.RI&&(e.init.user_actions.enabled&&(it.Zp.forEach((e=>(0,T.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=>(0,T.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)))))),e.init.performance.resources.enabled&&p.gm.PerformanceObserver?.supportedEntryTypes.includes("resource"))){new PerformanceObserver((e=>{e.getEntries().forEach((e=>{(0,x.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)}))})).observe({type:"resource",buffered:!0})}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,Oe,O,M,ot,ct,Pe,nt],loaderType:"spa"})})()})(); </script> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="preconnect" href="https://use.typekit.net" crossorigin> <link rel="preconnect" href="https://p.typekit.net" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet"> <link media="screen" href="https://use.typekit.net/fdo4xio.css" rel="preload" as="style" onload="this.rel='stylesheet'"> <meta content="Roger Ebert" name="application-name"> <meta content="#FFFFFF" name="msapplication-TileColor"> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-T9HKKFWR');</script> <!-- End Google Tag Manager --> <!-- Advally Ads Custom Configuration --> <script type="text/javascript">document.pageTypeLabel="single-post";</script> <!-- Social Warfare v4.5.4 https://warfareplugins.com - BEGINNING OF OUTPUT --> <style> @font-face { font-family: "sw-icon-font"; src:url("https://www.rogerebert.com/wp-content/plugins/social-warfare/assets/fonts/sw-icon-font.eot?ver=4.5.4"); src:url("https://www.rogerebert.com/wp-content/plugins/social-warfare/assets/fonts/sw-icon-font.eot?ver=4.5.4#iefix") format("embedded-opentype"), url("https://www.rogerebert.com/wp-content/plugins/social-warfare/assets/fonts/sw-icon-font.woff?ver=4.5.4") format("woff"), url("https://www.rogerebert.com/wp-content/plugins/social-warfare/assets/fonts/sw-icon-font.ttf?ver=4.5.4") format("truetype"), url("https://www.rogerebert.com/wp-content/plugins/social-warfare/assets/fonts/sw-icon-font.svg?ver=4.5.4#1445203416") format("svg"); font-weight: normal; font-style: normal; font-display:block; } </style> <!-- Social Warfare v4.5.4 https://warfareplugins.com - END OF OUTPUT --> <!-- Search Engine Optimization by Rank Math - https://rankmath.com/ --> <title>In the Name of Friendship: Matthew Rankin on "Universal Language" | Interviews | Roger Ebert</title> <meta name="description" content="One of Canada's most idiosyncratic fantasists discusses the links between Iranian cinema, architecture, and cultural exchange."/> <meta name="robots" content="follow, index, max-snippet:-1, max-video-preview:-1, max-image-preview:large"/> <link rel="canonical" href="https://www.rogerebert.com/interviews/in-the-name-of-friendship-matthew-rankin-on-universal-language" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="In the Name of Friendship: Matthew Rankin on "Universal Language" | Interviews | Roger Ebert" /> <meta property="og:description" content="One of Canada's most idiosyncratic fantasists discusses the links between Iranian cinema, architecture, and cultural exchange." /> <meta property="og:url" content="https://www.rogerebert.com/interviews/in-the-name-of-friendship-matthew-rankin-on-universal-language" /> <meta property="og:site_name" content="Roger Ebert" /> <meta property="article:publisher" content="https://www.facebook.com/RogerEbert/" /> <meta property="article:section" content="Interviews" /> <meta property="og:updated_time" content="2025-02-11T10:04:04-06:00" /> <meta property="fb:app_id" content="966242223397117" /> <meta property="og:image" content="https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_4.jpg" /> <meta property="og:image:secure_url" content="https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_4.jpg" /> <meta property="og:image:width" content="1267" /> <meta property="og:image:height" content="768" /> <meta property="og:image:alt" content="In the Name of Friendship: Matthew Rankin on “Universal Language”" /> <meta property="og:image:type" content="image/jpeg" /> <meta property="article:published_time" content="2025-02-11T09:03:58-06:00" /> <meta property="article:modified_time" content="2025-02-11T10:04:04-06:00" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:title" content="In the Name of Friendship: Matthew Rankin on "Universal Language" | Interviews | Roger Ebert" /> <meta name="twitter:description" content="One of Canada's most idiosyncratic fantasists discusses the links between Iranian cinema, architecture, and cultural exchange." /> <meta name="twitter:site" content="@ebertchicago" /> <meta name="twitter:creator" content="@ebertchicago" /> <meta name="twitter:image" content="https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_4.jpg" /> <meta name="twitter:label1" content="Written by" /> <meta name="twitter:data1" content="Isaac Feldberg" /> <meta name="twitter:label2" content="Time to read" /> <meta name="twitter:data2" content="25 minutes" /> <script type="application/ld+json" class="rank-math-schema">{"@context":"https://schema.org","@graph":[{"@type":["Person","Organization"],"@id":"https://www.rogerebert.com/#person","name":"Roger Ebert","sameAs":["https://www.facebook.com/RogerEbert/","https://twitter.com/ebertchicago"]},{"@type":"WebSite","@id":"https://www.rogerebert.com/#website","url":"https://www.rogerebert.com","name":"Roger Ebert","publisher":{"@id":"https://www.rogerebert.com/#person"},"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_4.jpg","url":"https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_4.jpg","width":"1267","height":"768","inLanguage":"en-US"},{"@type":"BreadcrumbList","@id":"https://www.rogerebert.com/interviews/in-the-name-of-friendship-matthew-rankin-on-universal-language#breadcrumb","itemListElement":[{"@type":"ListItem","position":"1","item":{"@id":"https://www.rogerebert.com/category/interviews","name":"Interviews"}},{"@type":"ListItem","position":"2","item":{"@id":"https://www.rogerebert.com/interviews/in-the-name-of-friendship-matthew-rankin-on-universal-language","name":"In the Name of Friendship: Matthew Rankin on “Universal Language”"}}]},{"@type":"WebPage","@id":"https://www.rogerebert.com/interviews/in-the-name-of-friendship-matthew-rankin-on-universal-language#webpage","url":"https://www.rogerebert.com/interviews/in-the-name-of-friendship-matthew-rankin-on-universal-language","name":"In the Name of Friendship: Matthew Rankin on "Universal Language" | Interviews | Roger Ebert","datePublished":"2025-02-11T09:03:58-06:00","dateModified":"2025-02-11T10:04:04-06:00","isPartOf":{"@id":"https://www.rogerebert.com/#website"},"primaryImageOfPage":{"@id":"https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_4.jpg"},"inLanguage":"en-US","breadcrumb":{"@id":"https://www.rogerebert.com/interviews/in-the-name-of-friendship-matthew-rankin-on-universal-language#breadcrumb"}},{"@type":"Person","@id":"https://www.rogerebert.com/contributors/isaac-feldberg","name":"Isaac Feldberg","description":"Isaac Feldberg biography & movie reviews | Roger Ebert","url":"https://www.rogerebert.com/contributors/isaac-feldberg","image":{"@type":"ImageObject","@id":"https://secure.gravatar.com/avatar/57d10427d5e54c3edd5f787583f51351?s=96&d=mm&r=g","url":"https://secure.gravatar.com/avatar/57d10427d5e54c3edd5f787583f51351?s=96&d=mm&r=g","caption":"Isaac Feldberg","inLanguage":"en-US"}},{"@type":"BlogPosting","headline":"In the Name of Friendship: Matthew Rankin on "Universal Language" | Interviews | Roger Ebert","datePublished":"2025-02-11T09:03:58-06:00","dateModified":"2025-02-11T10:04:04-06:00","articleSection":"Interviews","author":{"@id":"https://www.rogerebert.com/contributors/isaac-feldberg","name":"Isaac Feldberg"},"publisher":{"@id":"https://www.rogerebert.com/#person"},"description":"One of Canada's most idiosyncratic fantasists discusses the links between Iranian cinema, architecture, and cultural exchange.","name":"In the Name of Friendship: Matthew Rankin on "Universal Language" | Interviews | Roger Ebert","@id":"https://www.rogerebert.com/interviews/in-the-name-of-friendship-matthew-rankin-on-universal-language#richSnippet","isPartOf":{"@id":"https://www.rogerebert.com/interviews/in-the-name-of-friendship-matthew-rankin-on-universal-language#webpage"},"image":{"@id":"https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_4.jpg"},"inLanguage":"en-US","mainEntityOfPage":{"@id":"https://www.rogerebert.com/interviews/in-the-name-of-friendship-matthew-rankin-on-universal-language#webpage"}}]}</script> <!-- /Rank Math WordPress SEO plugin --> <link rel='dns-prefetch' href='//widget.justwatch.com' /> <!-- rogerebert.com is managing ads with Advanced Ads 1.56.1 – https://wpadvancedads.com/ --><script id="roger-ready"> window.advanced_ads_ready=function(e,a){a=a||"complete";var d=function(e){return"interactive"===a?"loading"!==e:"complete"===e};d(document.readyState)?e():document.addEventListener("readystatechange",(function(a){d(a.target.readyState)&&e()}),{once:"interactive"===a})},window.advanced_ads_ready_queue=window.advanced_ads_ready_queue||[]; </script> <link rel='stylesheet' id='social-warfare-block-css-css' href='https://www.rogerebert.com/wp-content/plugins/social-warfare/assets/js/post-editor/dist/blocks.style.build.css?ver=6.7' type='text/css' media='all' /> <style id='rank-math-toc-block-style-inline-css' type='text/css'> .wp-block-rank-math-toc-block nav ol{counter-reset:item}.wp-block-rank-math-toc-block nav ol li{display:block}.wp-block-rank-math-toc-block nav ol li:before{content:counters(item, ".") ". ";counter-increment:item} </style> <style id='rank-math-rich-snippet-style-inline-css' type='text/css'> /*! * Plugin: Rank Math * URL: https://rankmath.com/wordpress/plugin/seo-suite/ * Name: rank-math-review-snippet.css */@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(-360deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(-360deg)}}@keyframes bounce{from{-webkit-transform:translateY(0px);transform:translateY(0px)}to{-webkit-transform:translateY(-5px);transform:translateY(-5px)}}@-webkit-keyframes bounce{from{-webkit-transform:translateY(0px);transform:translateY(0px)}to{-webkit-transform:translateY(-5px);transform:translateY(-5px)}}@-webkit-keyframes loading{0%{background-size:20% 50% ,20% 50% ,20% 50%}20%{background-size:20% 20% ,20% 50% ,20% 50%}40%{background-size:20% 100%,20% 20% ,20% 50%}60%{background-size:20% 50% ,20% 100%,20% 20%}80%{background-size:20% 50% ,20% 50% ,20% 100%}100%{background-size:20% 50% ,20% 50% ,20% 50%}}@keyframes loading{0%{background-size:20% 50% ,20% 50% ,20% 50%}20%{background-size:20% 20% ,20% 50% ,20% 50%}40%{background-size:20% 100%,20% 20% ,20% 50%}60%{background-size:20% 50% ,20% 100%,20% 20%}80%{background-size:20% 50% ,20% 50% ,20% 100%}100%{background-size:20% 50% ,20% 50% ,20% 50%}}:root{--rankmath-wp-adminbar-height: 0}#rank-math-rich-snippet-wrapper{overflow:hidden}#rank-math-rich-snippet-wrapper h5.rank-math-title{display:block;font-size:18px;line-height:1.4}#rank-math-rich-snippet-wrapper .rank-math-review-image{float:right;max-width:40%;margin-left:15px}#rank-math-rich-snippet-wrapper .rank-math-review-data{margin-bottom:15px}#rank-math-rich-snippet-wrapper .rank-math-total-wrapper{width:100%;padding:0 0 20px 0;float:left;clear:both;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}#rank-math-rich-snippet-wrapper .rank-math-total-wrapper .rank-math-total{border:0;display:block;margin:0;width:auto;float:left;text-align:left;padding:0;font-size:24px;line-height:1;font-weight:700;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}#rank-math-rich-snippet-wrapper .rank-math-total-wrapper .rank-math-review-star{float:left;margin-left:15px;margin-top:5px;position:relative;z-index:99;line-height:1}#rank-math-rich-snippet-wrapper .rank-math-total-wrapper .rank-math-review-star .rank-math-review-result-wrapper{display:inline-block;white-space:nowrap;position:relative;color:#e7e7e7}#rank-math-rich-snippet-wrapper .rank-math-total-wrapper .rank-math-review-star .rank-math-review-result-wrapper .rank-math-review-result{position:absolute;top:0;left:0;overflow:hidden;white-space:nowrap;color:#ffbe01}#rank-math-rich-snippet-wrapper .rank-math-total-wrapper .rank-math-review-star .rank-math-review-result-wrapper i{font-size:18px;-webkit-text-stroke-width:1px;font-style:normal;padding:0 2px;line-height:inherit}#rank-math-rich-snippet-wrapper .rank-math-total-wrapper .rank-math-review-star .rank-math-review-result-wrapper i:before{content:"\2605"}body.rtl #rank-math-rich-snippet-wrapper .rank-math-review-image{float:left;margin-left:0;margin-right:15px}body.rtl #rank-math-rich-snippet-wrapper .rank-math-total-wrapper .rank-math-total{float:right}body.rtl #rank-math-rich-snippet-wrapper .rank-math-total-wrapper .rank-math-review-star{float:right;margin-left:0;margin-right:15px}body.rtl #rank-math-rich-snippet-wrapper .rank-math-total-wrapper .rank-math-review-star .rank-math-review-result{left:auto;right:0}@media screen and (max-width: 480px){#rank-math-rich-snippet-wrapper .rank-math-review-image{display:block;max-width:100%;width:100%;text-align:center;margin-right:0}#rank-math-rich-snippet-wrapper .rank-math-review-data{clear:both}}.clear{clear:both} </style> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--primary-light: #F8F6F1;--wp--preset--color--primary-grey: #CCCCCC;--wp--preset--color--primary-gold: #C0A574;--wp--preset--color--secondary-bronze: #945B48;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 16px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 30px;--wp--preset--font-size--x-large: 44px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <style id='dominant-color-styles-inline-css' type='text/css'> img[data-dominant-color]:not(.has-transparency) { background-color: var(--dominant-color); } </style> <link rel='stylesheet' id='main-css-css' href='https://www.rogerebert.com/wp-content/themes/roger-ebert/dist/css/main.min.css?ver=1739170101' type='text/css' media='' /> <link rel='stylesheet' id='social_warfare-css' href='https://www.rogerebert.com/wp-content/plugins/social-warfare/assets/css/style.min.css?ver=4.5.4' type='text/css' media='all' /> <script type="text/javascript" src="https://www.rogerebert.com/wp-includes/js/jquery/jquery.min.js?ver=latest" id="jquery-js"></script> <script type="text/javascript" src="https://www.rogerebert.com/wp-content/mu-plugins/roger-ebert/template/custom-facets/custom-facet.js?ver=1739170079" id="custom-facet-js-js"></script> <script type="text/javascript" id="advanced-ads-advanced-js-js-extra"> /* <![CDATA[ */ var advads_options = {"blog_id":"1","privacy":{"enabled":false,"state":"not_needed"}}; /* ]]> */ </script> <script type="text/javascript" src="https://www.rogerebert.com/wp-content/plugins/advanced-ads/public/assets/js/advanced.min.js?ver=1.56.1" id="advanced-ads-advanced-js-js"></script> <script type="text/javascript" id="advanced_ads_pro/visitor_conditions-js-extra"> /* <![CDATA[ */ var advanced_ads_pro_visitor_conditions = {"referrer_cookie_name":"advanced_ads_pro_visitor_referrer","referrer_exdays":"365","page_impr_cookie_name":"advanced_ads_page_impressions","page_impr_exdays":"3650"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.rogerebert.com/wp-content/plugins/advanced-ads-pro/modules/advanced-visitor-conditions/inc/conditions.min.js?ver=2.28.0" id="advanced_ads_pro/visitor_conditions-js"></script> <link rel='shortlink' href='https://www.rogerebert.com/?p=251963' /> <meta name="generator" content="dominant-color-images 1.1.2"> <meta name="generator" content="performance-lab 3.6.1; plugins: dominant-color-images, speculation-rules, webp-uploads"> <meta name="generator" content="webp-uploads 2.3.0"> <link rel="pingback" href="https://www.rogerebert.com/xmlrpc.php"><script type="text/javascript"> var advadsCfpQueue = []; var advadsCfpAd = function( adID ){ if ( 'undefined' == typeof advadsProCfp ) { advadsCfpQueue.push( adID ) } else { advadsProCfp.addElement( adID ) } }; </script> <meta name="generator" content="speculation-rules 1.3.1"> <script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script> <script type="text/javascript" id="AdvallyRules" src="https://cdn.adligature.com/rogerebert.com/prod/rules.js"></script> <link rel="stylesheet" type="text/css" id="AdvallyStyles" href="https://cdn.adligature.com/rogerebert.com/prod/rules.css"></link> <script type="text/javascript"> // Handle LazyLoaded content including ads document.addEventListener('facetwp-loaded', function(e) { advally.scanNew(); }); // Set custom targeting for page var advally = advally || {}; advally.cmd = advally.cmd || []; advally.cmd.push(function() { advally.Page.setTargeting('wp-page', document.pageTypeLabel); }); </script> <link rel="icon" href="https://www.rogerebert.com/wp-content/uploads/2024/07/cropped-favicon-196x196-1-32x32.png" sizes="32x32" /> <link rel="icon" href="https://www.rogerebert.com/wp-content/uploads/2024/07/cropped-favicon-196x196-1-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://www.rogerebert.com/wp-content/uploads/2024/07/cropped-favicon-196x196-1-180x180.png" /> <meta name="msapplication-TileImage" content="https://www.rogerebert.com/wp-content/uploads/2024/07/cropped-favicon-196x196-1-270x270.png" /> </head> <body class="post-template-default single single-post postid-251963 single-format-standard no-sidebar"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-T9HKKFWR" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div id="page" class="site"> <header id="masthead" class="site-header fixed w-full bg-white top-0 left-0 right-0 menu-top z-50"> <div class="border-b border-[#cccccc] border-solid max-w-full w-full"> <div class="max-w-[1440px] m-auto flex p-6 sm:px-8 justify-between items-center"> <a href="https://www.rogerebert.com" rel="home" class="w-[200px] sm:w-[270px]" aria-label="Roger Ebert homepage"> <img width="270" height="47" fetchpriority="high" src="https://www.rogerebert.com/wp-content/themes/roger-ebert/source/images/roger-ebert-logo.svg" alt="Roger Ebert Logo"> </a> <a href="/search" class="ml-auto mr-0 sm:mr-5 block lg:hidden" aria-label="Site search"> <img width="21" height="21" fetchpriority="high" src="https://www.rogerebert.com/wp-content/themes/roger-ebert/source/images/search-thin.svg" alt="Search Icon"> </a> <a href="/prime" class="gold-button lg:ml-auto mr-2 lg:mr-4 hidden sm:block"> Signup </a> <form action="/search" method="get" accept-charset="UTF-8" class="relative hidden lg:block"> <label for="search" class="sr-only">Search in https://www.rogerebert.com</label> <input type="text" placeholder="Search Keywords..." name="q" id="search" class="px-5 bg-primary-light text-sm py-2.5 border border-primary-gold montserrat-500 rounded-full text-base" value="" /> <input type="image" class="absolute right-4 top-3.5" alt="Search" src="https://www.rogerebert.com/wp-content/themes/roger-ebert/source/images/search-icon.svg" /> </form> <div class="mobile-menu overflow-hidden visible w-10 relative h-5 flex items-center justify-end cursor-pointer xl:invisible xl:w-0"> <span></span> </div> </div> </div> <nav id="site-navigation" class="main-navigation fixed bg-white w-full left-0 right-0 top-24 m-auto flex px-2 xl:px-8 py-4 justify-center items-center invisible opacity-0 bottom-0 right-2/4 top-[84px] sm:top-[96px] xl:absolue xl:bottom-auto xl:right-auto xl:visible xl:opacity-100"> <div class="menu-primary-menu-container"><ul id="primary-menu" class="menu"><li id="menu-item-214879" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-214879"><a href="/reviews">Movie Reviews</a></li> <li id="menu-item-214880" class="great-movies menu-item menu-item-type-custom menu-item-object-custom menu-item-214880"><a href="/great-movies">Great Movies</a></li> <li id="menu-item-214881" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-214881"><a href="/streaming">TV/Streaming</a></li> <li id="menu-item-214882" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-214882"><a href="/interviews">Interviews</a></li> <li id="menu-item-214883" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-214883"><a href="/collections">Collections</a></li> <li id="menu-item-214884" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-214884"><a href="/festivals">Sundance</a></li> <li id="menu-item-214885" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-214885"><a href="/contributors">Contributors</a></li> </ul></div> </nav> </header> <div id="content" class="site-content"> <div class="row"> <!-- Advally Ad --> <div class="roger-top-leaderboard" id="roger-634980232"><div class="AdvallyTag" id="AdvAd-TopLeaderboard"></div></div> <div id="primary" class="content-area col-8"> <main id="main" class="site-main"> <header class="page-header m-auto max-w-[1440px] px-6 sm:px-8 flex flex-col justify-center md:grid md:grid-cols-12"> <div class="pt-8 pb-6 xl:pt-12 sm:pt-12 sm:pb-9 xl:pb-14 col-start-1 col-end-13 lg:col-start-3 lg:col-end-11"> <nav aria-label="breadcrumbs" class="rank-math-breadcrumb"><p><a href="https://www.rogerebert.com/category/interviews">Interviews</a></p></nav><h1 class="page-title mt-2 text-4xl sm:text-5xl sm:mt-4">In the Name of Friendship: Matthew Rankin on “Universal Language”</h1> <div class="flex items-center mt-3 sm:mt-5 flex-wrap text-sm"> <div class="flex items-center mb-3 sm:mb-0 mr-4 w-full sm:w-auto text-black font-bold font-heading-sans"> <div class="w-[32px] h-[32px] rounded-full mr-3 overflow-hidden"><img width="113" height="96" src="https://www.rogerebert.com/wp-content/uploads/2024/08/Isaac-Feldberg.jpg" class="h-full object-cover not-transparent" alt="" decoding="async" srcset="https://www.rogerebert.com/wp-content/uploads/2024/08/Isaac-Feldberg.jpg 598w, https://www.rogerebert.com/wp-content/uploads/2024/08/Isaac-Feldberg-329x281.jpg 329w, https://www.rogerebert.com/wp-content/uploads/2024/08/Isaac-Feldberg-211x180.jpg 211w, https://www.rogerebert.com/wp-content/uploads/2024/08/Isaac-Feldberg-324x276.jpg 324w, https://www.rogerebert.com/wp-content/uploads/2024/08/Isaac-Feldberg-256x218.jpg 256w" sizes="(max-width: 113px) 100vw, 113px" data-has-transparency="false" data-dominant-color="675d54" style="--dominant-color: #675d54;" /></div> <a href="https://www.rogerebert.com/contributors/isaac-feldberg">Isaac Feldberg</a> </div> <div class="font-heading-sans text-meta-grey"> February 11, 2025 </div> <div class="font-heading-sans text-meta-grey ml-4"> 23 min read </div> </div> </div> </header> <section class="m-auto max-w-[1440px] px-6 sm:px-8 flex flex-col justify-center md:grid md:grid-cols-12"> <div class="col-start-1 col-end-13 lg:col-start-3 lg:col-end-11"> <div class="mt-2 mb-6 md:mb-12 lg:mb-16"> <div class="mb-4"><img width="1267" height="768" src="https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_4-jpg.webp" class="h-full object-cover not-transparent wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_4-jpg.webp 1267w, https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_4-768x466-jpg.webp 768w, https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_4-464x281.jpg 464w, https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_4-297x180.jpg 297w, https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_4-324x196.jpg 324w, https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_4-256x155.jpg 256w" sizes="(max-width: 1267px) 100vw, 1267px" data-has-transparency="false" data-dominant-color="997d64" style="--dominant-color: #997d64;" /></div> <article id="post-251963" class="post-251963 post type-post status-publish format-standard has-post-thumbnail hentry category-interviews"> <div class="entry-content text-lg sm:text-xl leading-7 sm:leading-8 mb-7 sm:mb-9"> <p>As disorienting as it is delightful, <a href="https://www.rogerebert.com/cast-and-crew/matthew-rankin" data-type="person" data-id="143498">Matthew Rankin</a>’s “Universal Language” takes its avant-garde filmmaker’s irreverent approach to history—previously on display in “<a href="https://www.rogerebert.com/reviews/the-twentieth-century-movie-review-2020" data-type="review" data-id="86651">The Twentieth Century</a>,” his ersatz reinterpretation of former Canadian prime minister William Mackenzie King’s rise to power—in feverishly fresh, surprising directions. </p><div class="roger-post-inline-1" style="float: left; " id="roger-721443623"><div class="AdvallyTag" id="AdvAd-PostFloat-Left"></div></div> <p>Imagining a surreal interzone between Tehran and Winnipeg where the official languages are Farsi and French, Tim Hortons coffee houses sell Iranian delicacies, and wild turkeys leave tracks in the snow, Rankin’s latest (in U.S. theaters Feb. 14, via Oscilloscope Laboratories) approaches this setting as a bleakly absurdist playground where various characters collide and intersect.</p> <p>Discovering a 500-riels banknote frozen in ice, two school children (Saba Vahedyousefi and Rojina Esmaelli) race to locate an axe with which they can retrieve it; their circuitous quest leads them into contact with a local guide (Pirouz Nemati) showing off Winnipeg’s monuments and historic sites—invariably, a drab array of concrete and brick structures—to a roundly baffled group of tourists. Elsewhere, forlorn bureaucrat Matthew Rankin (played by the writer-director) quits his government job in Montreal and returns home to see his mother, only to be greeted by an unknown man.</p><div class="roger-post-inline-2" id="roger-1977539324"><div class="AdvallyTag" data-nameprefix="AdvAd-PostInline"></div></div> <p>Drawing upon influences as diverse as <a href="https://www.rogerebert.com/cast-and-crew/guy-maddin" data-type="person" data-id="65326">Guy Maddin</a>, <a href="https://www.rogerebert.com/cast-and-crew/abbas-kiarostami" data-type="person" data-id="58604">Abbas Kiarostami</a>, and <a href="https://www.rogerebert.com/cast-and-crew/jacques-tati" data-type="person" data-id="37727">Jacques Tati</a> while grounding each in its reimagined Winnipeg, “Universal Language” merges the poetic realism of Iranian cinema with the earnest affectation of Canadian surrealism. Rankin, who calls the film “a kind of autobiographical hallucination,” is as much a student of the Iranian New Wave as he is a scholar of his own national history, owing to his early exposure to meta-realist filmmakers like Forugh Farokhzad and <a href="https://www.rogerebert.com/cast-and-crew/jafar-panahi" data-type="person" data-id="63709">Jafar Panahi</a>. His passion for cinema knows no borders, however, and Rankin is as quick to cite Steven Soderbergh’s “Schizopolis” and Sergei Paranjanov’s “The Colour of Pomegranates” as touchstones. </p> <p>A line of dialogue from the latter—“We were looking for ourselves in each other”—became a “tuning fork” for “Universal Language,” he says. Co-written by Nemati and Ila Firouzabadi, the film transposes one city onto another to contemplate the interconnected nature of identity and what poetic possibilities can emerge from the proximity of that which otherwise exists across distances. Ultimately, the film is a miraculous, funny, and humane fantasy of cultural exchange. </p> <p>Canada’s official Oscar submission, “Universal Language” made the shortlist for Best International Feature but was not ultimately nominated; it’s been racking up other accolades, however, since first premiering in the Directors’ Fortnight section of the 2024 Cannes Film Festival, where it won the Audience Award. Last fall, in Chicago to accompany his film’s screening at the Chicago International Film Festival, Rankin sat down with <em>RogerEbert.com</em> to discuss the influence of Iranian cinema, social distancing, and simulated reality on his surreal comedy of dislocation.</p><div class="roger-post-inline-2" id="roger-1114909710"><div class="AdvallyTag" data-nameprefix="AdvAd-PostInline"></div></div> <p><em>This interview has been edited and condensed. </em></p> <figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper"> <iframe title="Universal Language Trailer #1 (2024)" width="500" height="281" src="https://www.youtube.com/embed/l2aqWqH_IgM?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> </div></figure> <p><strong>Your previous feature, “The Twentieth Century,” also explored nationalism and how it manifests in Canadian consciousness, but that film was situated more directly in real history. I understand, after making that film, you actually spent time working in the Canadian government, an experience interpreted through your character’s story arc in “Universal Language.” Tell me about that period.</strong></p> <p>I was really in debt by the time I finished “The Twentieth Century.” I had to work for a year without any income, and it was like having five full-time jobs that don’t pay you anything. By the end of that, I was in a hole. I felt like a loser, to be honest. I thought I’d managed to live this art life—which is a very tenuous life—but suddenly I was in debt. I was in a hole. I thought, “Okay, I just have to do something stable for a while.” I also had to get out of debt. So, I got this job working for the national parks in Canada, making propaganda films.</p><div class="roger-post-inline-2" id="roger-1233922664"><div class="AdvallyTag" data-nameprefix="AdvAd-PostInline"></div></div> <p>It was a very strange experience. I’m good at getting jobs, even when I don’t want them that much. I can make a good Internet pitch. I don’t think they ever Googled me, or anything, but I got this job, and it was—I have to say—a spirit-withering experience. I had to move to Ottawa to do it. I worked in an office with a cubicle. That was my base of operations. I made 19 short films for them in that time—and I really like them, but they’ve banned about 15. They have refused to release them. </p> <p><strong>Why? What secret messages were you smuggling in?</strong></p> <p>[<em>laughs</em>] There were all manner of reasons. It’s a bureaucracy, and I understand that they’re a little risk-averse. I do get that. However, what I pitched to them was exactly what I delivered, and I delivered it under budget. To my mind, this is when you get out your discount Prosecco and cheers to a job well done, you know? Like, “Fair enough.”</p><div class="roger-post-inline-2" id="roger-991785464"><div class="AdvallyTag" data-nameprefix="AdvAd-PostInline"></div></div> <p>They initially liked them, but then they sent them out to many committees and eventually found people who didn’t like them, who thought that these films were going to encourage drug use in the parks. Like, isn’t that why people <em>go </em>to national parks? [<em>sighs</em>] Anyway, artistically, it was a spirit-withering experience, but I do love these films. The four or five they have released are the ones I like the least, but the 15 that they have banned I think are really good, actually. Anyway, I was doing that, and 80 percent of the time that I spent there was in this office. My last day on the job was very similar to the scene in the office in the film. </p> <p><strong>In that scene, you’re ordered by a superior to tell anyone who asks that your experience in the government was “preferably positive, but we can accept neutral.” </strong></p> <p>I was warned that I had to tout the party line for the rest of my life and never speak ill of the government, so I’m here to tell you it was a very neutral time in my life.</p><div class="roger-post-inline-2" id="roger-195349842"><div class="AdvallyTag" data-nameprefix="AdvAd-PostInline"></div></div> <p><strong>How did making propaganda inform your perspective on Canadian nationalism, if it did? </strong></p> <p>Of course, these films are official expressions of citizenship, you could say, so they were very concerned not to offend anybody. It involves a dilution process; the sweet spot is where something doesn’t mean anything. And that’s very Canadian: let’s take down the risk to the point it means absolutely nothing at all, until it’s so innocuous that no one will even think it’s bad, until it’s so meaningless that no one would ever complain about it, let alone think it was good or like it. It’s this very beige zone. Canadian culture is very bureaucratic. It’s always very safe. </p> <p>As it fit into this new project, the pandemic was another big factor. Solitude became weirdly pathological during the pandemic. I remember when the confinement began, there were a lot of voices emerging, saying, “This is going to be really great. On the other side of this, there’s going to be more solidarity. We’re going to be more together, and stronger. We’re going to bring down the pace of life and get back to what matters. It’s going to be beautiful. The other side of this is going to be really great.” I don’t know how you feel about it, but I actually feel the opposite has happened. People are more separate, alone, and lonesome, in a much more pathological way than we ever have been in my lifetime. Everyone’s brain got destroyed on the Internet during that time, and solidarity has vanished. Now, it’s like, “I want what I want for myself now, and I don’t care about you. I’ve wasted two years here, and I’ve got to move on.” </p><div class="roger-post-inline-2" id="roger-1319897252"><div class="AdvallyTag" data-nameprefix="AdvAd-PostInline"></div></div> <figure class="wp-block-image size-full"><img data-dominant-color="957a63" data-has-transparency="false" style="--dominant-color: #957a63;" decoding="async" width="1782" height="1080" src="https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_6-jpg.webp" alt="" class="wp-image-251968 not-transparent" srcset="https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_6-jpg.webp 1782w, https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_6-768x465-jpg.webp 768w, https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_6-1536x931.jpg 1536w, https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_6-464x281.jpg 464w, https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_6-297x180.jpg 297w, https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_6-324x196.jpg 324w, https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_6-256x155.jpg 256w" sizes="(max-width: 1782px) 100vw, 1782px" /></figure> <p><strong>I certainly experienced that sense of limbo, personally and professionally, during the pandemic. I was locked down, confined, and then started trying to find ways to make up for lost time, once it felt safe to start moving again. </strong></p> <p>Personal advancement, and the individualism around which Western society is constructed, I feel became much more pathological. It became an absolute, a binary; it became almost a form of extremism, to the point our relationship with others has suffered. Communities suffered. That made me sad, and some of those feelings found their way into this movie. In the world we live in now—in the spheres of politics, government, ideology, how we organize the world into nations, identities, genders—I feel new and unexpected Berlin walls have shot up all around us, in every form of expression, especially in politics. Social media has been an element as well. That’s something that I find deeply upsetting. In this movie, we were trying to create a space of proximity, between the spheres between which you might imagine great distance, to look at the world in a new way.</p> <p><strong>This concept of the “two solitudes” generally refers to a lack of communication between English-speaking and French-speaking populations of Canada, but you reimagine it as a divide between French and Farsi. </strong></p><div class="roger-post-inline-2" id="roger-2075309364"><div class="AdvallyTag" data-nameprefix="AdvAd-PostInline"></div></div> <p>The movie does not have any absolute foundation in reality, but that’s true: the launchpad is the two solitudes, as a metaphor. There’s equality to solitude; Quebec is one of the great cinematic cultures of the world, and part of the reason is that Quebec has been insistent on protecting its solitude. “We just need our space to do our thing; you can do your thing over there, and that’s great, and we’re going to do our thing over here, and that’s good.” I would never say solitude doesn’t have equality, but if you take that to its logical extreme, it’s no longer solitude. You become lonesome. When you become lonesome, this is when other, more toxic elements begin to gestate. </p> <p>The idea with this film is to create an interzone, a merging of spheres — a new, prismatic, interdimensional space. That’s what we care about. That was the idealism compelling the film. I feel Canada is a space that can be constantly redefined, and that it <em>should</em> be redefined. I feel like, if Canada serves any function at all, it is creating a safe interdimensional zone where we can be mercifully free of the old world of European-style nation-states. If Canada serves any function for good in the world, it’s that.</p> <p><strong>To the point of that interzone, your film’s use of space involves taking these mundane spaces—overpasses, parking structures, the apartment complex—and bringing out a certain architectural variety in them, brutalism and banality.</strong></p><div class="roger-post-inline-2" id="roger-639851244"><div class="AdvallyTag" data-nameprefix="AdvAd-PostInline"></div></div> <p>I grew up with a lot of these buildings, and they’ve exerted great power over me, for some bizarre reason. I love photographing them. My Instagram is full of decades of me photographing these buildings. I love their angles. I love their spaces. I love brutalism as a failed utopia. I like the idea of a world that is entirely that; to me, that’s a very Tati-esque approach to space. These buildings that we filmed at are part of a very heterogeneous amalgam of many spaces: many different kinds of architecture as well as organic matter, like trees. We tried to frame out all of that, to create a world that was strictly brutalist.</p> <p><strong>You sound like the tour guide telling their group there had been a tree in front of a mural, and that they’re so glad it got cut down. </strong></p> <p>[<em>laughs</em>] There <em>was</em> a tree in front of that mural. That’s actually true. I was not responsible, but I was very pleased when the tree was cut down, I actually was. “Finally,” I thought, “I can get a good angle on this building.” You couldn’t photograph it in any way, before… And there are a couple of trees in the movie, but it was more exciting to find bland, beige surfaces on which you could see the shadow of a tree, as if to suggest a living organism nearby, ghosting over the space. That was enchanting, to me. </p><div class="roger-post-inline-2" id="roger-605545375"><div class="AdvallyTag" data-nameprefix="AdvAd-PostInline"></div></div> <p>The film is working through a multitude of different points on the compass, I would say. There is great solitude and community. There’s great distance and close proximity. There’s something local about it, a lot of Winnipeg particularisms, but these are reaching off across the world into Iran, and vice versa. There’s extreme parochialism and universality. There’s also the fluid world and the rigid world. The film contains a lot of fluid imagery. There are rivers, water in all of its forms: melting water, frozen water, hot water, tears. That was something that we were interested in: the idea of this fluid world enclosed by rigid, brutal walls. There are these walls we put up, and these rigidities in which we try to contain everything, but we flow through them. I really do believe that. We as human beings, as people who are connected as part of a very complex ecosystem, are flowing between those walls. As insistently as we might put them up ourselves, we flow between them. </p> <p><strong>You recently went to the Criterion closet in New York and left with “The Complete Jacques Tati,” which I might’ve guessed you’d gravitate toward. With both your films, I think about “PlayTime” and its vision of modernity as a trap we built for ourselves, of people struggling to connect within and maneuver around these oppressive structures that are ostensibly there to make them part of a more evolved society.</strong></p> <p>It’s an amazing language, Tati. I love his deadpan, his sense of composition, the activity of his frames. I love that there’s a certain peripheral gaze through the work; there’s a lot of information within the frames, and there are different things happening. Sometimes, you can choose which part of the frame you focus on; this has an interesting resonance with a lot of these Iranian films the film is referencing. </p><div class="roger-post-inline-2" id="roger-1150606777"><div class="AdvallyTag" data-nameprefix="AdvAd-PostInline"></div></div> <p>You see the influence of Italian neo-realism and Bresson in these Iranian films, too, but it’s the concern for this peripheral glance that inspires me. It’s an idea adjacent to our obsession in the West with the point of action. Nothing incarnates better the way we film in Western cinema than a hockey game. The camera is focused on the puck; wherever the action is, the camera follows. Where is the center? What someone is doing far away from the puck is irrelevant; the puck is the center. </p> <p>That’s how we make movies, you know. When I’m speaking, the camera is on me; when you start to speak, the camera cuts to you. It’s the obsession with the “active protagonist,” as Robert McKee will tell you; the protagonist has to act. Canada, of course, is littered with passive protagonists. Canada is a notoriously passive-aggressive country, but the center of action is something we’re obsessed with. I really love, in Iranian films, that the camera will abandon the center or train its gaze on something quite distant from it. Sometimes, the image is a building, and you’ll hear the conversation inside the building, but you won’t see who’s speaking; often, in these films, the person listening is more interesting to the camera than the person who’s talking. There is that echo with Tati, between those two.</p> <figure class="wp-block-image size-full"><img data-dominant-color="464239" data-has-transparency="false" style="--dominant-color: #464239;" decoding="async" width="1267" height="768" src="https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_2-jpg.webp" alt="" class="wp-image-251970 not-transparent" srcset="https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_2-jpg.webp 1267w, https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_2-768x466-jpg.webp 768w, https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_2-464x281.jpg 464w, https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_2-297x180.jpg 297w, https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_2-324x196.jpg 324w, https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_2-256x155.jpg 256w" sizes="(max-width: 1267px) 100vw, 1267px" /></figure> <p><strong>To a related point of Abbas Kiarostami’s influence, there’s a meta-cinematic quality to “Universal Language,” but it’s never cynical or disaffected; within his structuring of reality, Kiarostami was deeply sincere and passionate. Even as you bring a version of yourself inside this film, the director becoming a character, it never feels artificial. </strong></p><div class="roger-post-inline-2" id="roger-84594062"><div class="AdvallyTag" data-nameprefix="AdvAd-PostInline"></div></div> <p>That’s true. I think about “Close-Up,” by Kiarostami, as well as “Nūn o Goldūn,” a film by Mohsen Makhmalbaf that in Farsi is titled “Bread and Flower” but in English is titled “A Moment of Innocence,” for some reason. There’s a metaphysical conceit at work, a director-as-character is in it, and it has a post-modern shifting, a questioning about what is real and what is not, but it does arrive at this emotional conclusion that’s sincere and beautiful.</p> <p>As we were working on this, the Winnipeg-cinema element is ironic and absurd, but the idea was to walk a fine line with sincerity. Part of that involved me trying to be as vulnerable as I could. That included not only getting into emotional happenings in my own life but also putting my skin in the game and being in the movie, even if I don’t have the full qualifications to play this Farsi-speaking version of myself, even I can’t grow a mustache as well as well as it appears that I do in the movie. [<em>laughs</em>]</p> <p>That was very much inspired by Hossain Sabzian in “Close-Up,” the idea that he could do this fraudulent imitation of Mohsen Makhmalbaf and convince this family he is Makhmalbaf. There are scenes where he’s living that dream, in these reconstructed moments, and they all believe he’s Makhmalbaf, even though we know the actors know the truth. We were inspired by him, even how I’m dressed in beige, as Hossain Sabzian does in “Close-Up,” and I summoned the same idea, that it would be me doing a fraudulent imitation of myself. Even Sabzian playing Sabzian in that movie is a fraudulent imitation of himself, right? It’s the idea that when we make an image, there’s a real disconnect between that and reality; this is a concern a lot of Iranian filmmakers share, for obvious reasons.</p><div class="roger-post-inline-2" id="roger-1797718190"><div class="AdvallyTag" data-nameprefix="AdvAd-PostInline"></div></div> <p>It’s the idea that the distinction between the simulacrum and reality itself is very great; you are creating the artifice, embracing the artifice, making that ambiguity part of your encounter with documentary form, or with another form that has some relationship to reality. I feel that opens up new doors of perception, of image-making. And yet I feel, still today and throughout film history to this point, the idea has been to reject the artifice and to create this simulated reality that’s so credible that you can’t resist it. And this is where it’s dangerous, right? This is why Steven Spielberg is the great historian of our time, because he can create a world that is so credible, so believable, that you forget it’s a movie, and when it’s a historical process, you believe that’s how it happened, right? “That’s what it was. These are the people. This is what they felt.” </p> <p>In “The Twentieth Century,” I tried to be blatant about the fact that this is a reconstruction, just as any academic history is. Even to put it into a beginning, a middle, and an end, that alone is an artificial form you’re feeding reality through. In a film, we obsess over this. In a way, I feel we’re now watching the simulacrum move into other zones away from cinema. It’s like what happened to figurative painting when photography was discovered. Painting went somewhere else. It was somehow freed to explore other forms and go into abstraction. I feel like that’s what will happen with cinema, also. As the space of simulacrum and our need to create simulacra evolves, we will go down other paths.</p> <p>We already see this in how people use motion-picture celluloid; it used to be that we wanted to limit the grain and clean up any dust-marks, because this breaks the simulacrum. You’re aware that this is a material frame, that it’s fake, and you want to eradicate all of that. But now, I feel, when people shoot on film, they want to reference materiality. We’re moving into a zone where you can express through artifice what you can’t through simulated realities.</p><div class="roger-post-inline-2" id="roger-1301951782"><div class="AdvallyTag" data-nameprefix="AdvAd-PostInline"></div></div> <p><strong>“Universal Language” even starts and ends with the film reel running in and out; you are seeing what’s playing out along its little strip of creation, rather than believing it’s fully real. To ask about how we enter the film, what can you say about the title card for the Winnipeg Institute for the Intellectual Development of Children and Young People?</strong></p> <p>[<em>laughs</em>] There are two doors into the film, and that’s one of them. The Kanoon Institute in Iran, which was the original Institute for the Intellectual Development of Children and Young People, produced all of the early greats. It was like the National Film Board of Canada: a public institute where many of the great Iranian filmmakers that we can name started out, producing all manner of films, from animations for children to early Kiarostami films. Its logo—a goose on a hill—was transformed to make our own: this turkey on a hill. It’s the first step in our world-building; the reference point begins there. The second step is the title immediately after: “bah nam dosti,” which means “in the name of friendship.” A lot of Iranian films begin with “bah nam Khuda,” which means “in the name of God.” [Co-writer] Pirouz Nemati and I always thought it was really interesting to start a film with this declaration that everything that’s going to follow is being said in the name of that which is the most sacred. That was our second door: “bah nam dosti.”</p> <p><strong>And in developing the film, I understand another part of the story originated from a story your grandmother told you.</strong></p><div class="roger-post-inline-2" id="roger-337784088"><div class="AdvallyTag" data-nameprefix="AdvAd-PostInline"></div></div> <p>This was an actual story, not a dream but something that happened to her when she was a child. She and her brother found this $2 bill frozen in the ice and tried to get it out, and they ended up getting defrauded by this hobo, going on this odyssey around the city. She had this reflection that the hobo needed it even more than her poor family, but she told me the story when I was quite young. Later, when I discovered these Iranian films of the Kanoon Institute, there was a real echo of my grandmother’s story. It reminded me of these plots about children facing adult dilemmas, and there was something very touching to me that this story she told me would have this echo on the other side of the world, in Iran. That was the seed, the first point of entry for us.</p> <figure class="wp-block-image size-full"><img data-dominant-color="110b12" data-has-transparency="false" style="--dominant-color: #110b12;" decoding="async" width="1267" height="768" src="https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_8-jpg.webp" alt="" class="wp-image-251971 not-transparent" srcset="https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_8-jpg.webp 1267w, https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_8-768x466-jpg.webp 768w, https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_8-464x281.jpg 464w, https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_8-297x180.jpg 297w, https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_8-324x196.jpg 324w, https://www.rogerebert.com/wp-content/uploads/2025/02/UNIVERSAL-LANGUAGE_PHOTO_8-256x155.jpg 256w" sizes="(max-width: 1267px) 100vw, 1267px" /></figure> <p><strong>With the turkey, you’re drawing a parallel to this symbol of the Kanoon Institute, but it’s also one of several signifiers of the holiday season in “Universal Language,” like the man dressed as a Christmas tree. Winnipeg is a major filming destination for Christmas films, as well. </strong></p> <p>At least five percent Christmas content is mandated by the Manitoba Film Commission. [<em>laughs</em>]</p><div class="roger-post-inline-2" id="roger-50537476"><div class="AdvallyTag" data-nameprefix="AdvAd-PostInline"></div></div> <p><strong>What’s your relationship to Christmas content? I think about the way it can enforce the perception of certain cultural traditions as being more established or dominant than others.</strong></p> <p>There are a few answers I can give. One is that the Christmas-tree man emerges from an actual person that lived in my neighborhood when I was growing up. It was this woman who dressed in Christmas ornaments; that was just her personal style and how she presented throughout the year. Her outfits would change; she would sometimes wear a star on her head or an angel, and she wore globes. I did see her in lights, one time. She was this known eccentric around the neighborhood, to the point that she was not really remarked upon very much. She was part of the world; you’d run into her on the street, she’d say, “Merry Christmas,” even if it was July. She was obsessed with Christmas, and she was around for a while, and, and then she just vanished. I don’t know where she went. Some people are prone to this Christmas pathology. The Christmas-tree character is a tribute to that woman, and he similarly goes completely unremarked upon by the children. They find nothing out of sorts or strange about him. That’s just who he is. That would be the first answer. </p> <p>To the second part of your question, I would just say it’s always a question of merging codes, and that was our work throughout: how do we create an amalgam where both spheres are present and overlapping simultaneously? We do this in many different ways throughout the film. But that was constantly the question we were asking: how are these together, overlapping, and intertwined to the point that they can’t be separated, to the point that they belong to each other? That was a question we asked in every stage of production, and in writing. What I like about how the film has been connecting with people is that both Canadian viewers who grew up in Canada and Iranian viewers who have a relationship with Iran both have told us that the film has made them feel nostalgic. The two are so organically fused in the movie that, in a weird way, they’re nostalgic for each other, and that’s beautiful to us.</p><div class="roger-post-inline-2" id="roger-1287228971"><div class="AdvallyTag" data-nameprefix="AdvAd-PostInline"></div></div> <p><strong>I also wanted to ask you about the commercials we see in “Universal Language,” these flickers of a media sphere your characters might be watching in their spare time. Given your background in making commercials for the government, I especially love the turkey squawking, “Unacceptable!”</strong></p> <p>I always say Iranian cinema emerges out of a thousand years of poetry, and Canadian cinema emerges out of 40 years of Discount Furniture commercials. There’s something absurd about putting those two together, yet that is the world we live in. We are an amalgam, the collection, the issue of all these many things: the divine and the banal, the profane and the sacred. </p> <p>In the first one, the furniture commercial, there’s a French pun you can’t translate into English; French-speaking viewers have the fullest pleasure of that moment. Similarly, the turkey commercial, the exact point that you identify—“Unacceptable!”—is a joke Persian speakers will have the fullest pleasure of, because the word “unacceptable” in Farsi sounds very much like the onomatopoeia of the sound a turkey makes. You can’t hear one without thinking of the other. </p><div class="roger-post-inline-2" id="roger-1515036930"><div class="AdvallyTag" data-nameprefix="AdvAd-PostInline"></div></div> <p>It’s on the absurd end of the spectrum. I grew up with commercials like that, very low-fi and very low-budget, these guys giving you the hard sell. I’ve always liked the cinematic language of those commercials. These are not guys who thought they were making art, but there’s actually a sophisticated set of aesthetic decisions being made within a limited production, and I do think of those as expressions of Winnipeg cinema, so I wanted them to have their moment. </p> <p><strong>“These Eyes” by The Guess Who is such a poignant choice for this closing song, but it’s also surprising because we’ve been brought into this sonic interzone through the score by Amir Amiri and Christophe Lamarche-Ledoux. How did their collaboration start?</strong></p> <p>That’s one of my favorite stories. It really is. I had this idea of merging classical Persian musical modes with electro-ambient sounds. This was my fantasy. I knew this electro-ambient musician who’d contributed to “The Twentieth Century,” named Christophe Lamarche-Ledoux. And I knew this santur player, Amir Amiri, who’s a master of classical Iranian and Persian music, and I had this fantasy of putting them together. They didn’t know each other, and I didn’t know if it would work, so I started with this experiment. </p><div class="roger-post-inline-2" id="roger-1639003771"><div class="AdvallyTag" data-nameprefix="AdvAd-PostInline"></div></div> <p>There’s a scene with an ice skater in the film; I wanted to have musicians actually playing while she’s skating. And if it was a disaster, I could still have fixed it, but I figured I’d just see what’d happen. It worked out like I couldn’t believe. They got together, they became close friends, they loved working together, and this is the only time in my life where musicians sent me music and I had no notes. We talked about it beforehand, they went off into a room—total strangers to each other—and they came out with this perfect sound. That’s what you hear; it’s exactly what I hoped it would be. We invited them to do the score, and it was an amazing experience. They figured out a sound that’s so beautiful. Coming from different musical positions, finding a sound that was totally unique, they’ve since started performing together. Their band is called PolyAmiri. [<em>laughs</em>] </p> <p><strong>What you’re navigating in “Universal Language” is this synthesis of your identity, as well. What was it like for you, personally, to hear that distilled in their music?</strong></p> <p>That was the essence of the whole project. To come back to the influence of the pandemic, I think there’s enormous catharsis in not being alone, in finding this zone where we can create something beautiful, funny, and unusual together. To create a connection across a distance which certainly our governments have been finding to be insurmountable, that’s something art can do and which politics cannot. In our current post-pandemic world, there’s something very cathartic about that. This is what I find audiences are responding to. It’s such a relief that we can create this space of togetherness. The making of that music is one story that incarnates that beautifully. </p><div class="roger-post-inline-2" id="roger-1736591250"><div class="AdvallyTag" data-nameprefix="AdvAd-PostInline"></div></div> <p><em>“Universal Language” opens in theaters Feb. 14, via Oscilloscope Laboratories. </em></p> <div class="swp-content-locator"></div> </div> </article> <div class="swp_social_panel swp_horizontal_panel swp_flat_fresh swp_default_full_color swp_individual_full_color swp_other_full_color scale-100 scale-" data-min-width="1100" data-float-color="#ffffff" data-float="none" data-float-mobile="none" data-transition="slide" data-post-id="251963" ><div class="nc_tweetContainer swp_share_button swp_twitter" data-network="twitter"><a class="nc_tweet swp_share_link" rel="nofollow noreferrer noopener" target="_blank" href="https://twitter.com/intent/tweet?text=In+the+Name+of+Friendship%3A+Matthew+Rankin+on+%22Universal+Language%22&url=https%3A%2F%2Fwww.rogerebert.com%2Finterviews%2Fin-the-name-of-friendship-matthew-rankin-on-universal-language" data-link="https://twitter.com/intent/tweet?text=In+the+Name+of+Friendship%3A+Matthew+Rankin+on+%22Universal+Language%22&url=https%3A%2F%2Fwww.rogerebert.com%2Finterviews%2Fin-the-name-of-friendship-matthew-rankin-on-universal-language"><span class="swp_count swp_hide"><span class="iconFiller"><span class="spaceManWilly"><i class="sw swp_twitter_icon"></i><span class="swp_share">Tweet</span></span></span></span></a></div><div class="nc_tweetContainer swp_share_button swp_facebook" data-network="facebook"><a class="nc_tweet swp_share_link" rel="nofollow noreferrer noopener" target="_blank" href="https://www.facebook.com/share.php?u=https%3A%2F%2Fwww.rogerebert.com%2Finterviews%2Fin-the-name-of-friendship-matthew-rankin-on-universal-language" data-link="https://www.facebook.com/share.php?u=https%3A%2F%2Fwww.rogerebert.com%2Finterviews%2Fin-the-name-of-friendship-matthew-rankin-on-universal-language"><span class="swp_count swp_hide"><span class="iconFiller"><span class="spaceManWilly"><i class="sw swp_facebook_icon"></i><span class="swp_share">Share</span></span></span></span></a></div><div class="nc_tweetContainer swp_share_button swp_linkedin" data-network="linkedin"><a class="nc_tweet swp_share_link" rel="nofollow noreferrer noopener" target="_blank" href="https://www.linkedin.com/cws/share?url=https%3A%2F%2Fwww.rogerebert.com%2Finterviews%2Fin-the-name-of-friendship-matthew-rankin-on-universal-language" data-link="https://www.linkedin.com/cws/share?url=https%3A%2F%2Fwww.rogerebert.com%2Finterviews%2Fin-the-name-of-friendship-matthew-rankin-on-universal-language"><span class="swp_count swp_hide"><span class="iconFiller"><span class="spaceManWilly"><i class="sw swp_linkedin_icon"></i><span class="swp_share">Share</span></span></span></span></a></div><div class="nc_tweetContainer swp_share_button swp_pinterest" data-network="pinterest"><a rel="nofollow noreferrer noopener" class="nc_tweet swp_share_link noPop" href="https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fwww.rogerebert.com%2Finterviews%2Fin-the-name-of-friendship-matthew-rankin-on-universal-language" onClick="event.preventDefault(); var e=document.createElement('script'); e.setAttribute('type','text/javascript'); e.setAttribute('charset','UTF-8'); e.setAttribute('src','//assets.pinterest.com/js/pinmarklet.js?r='+Math.random()*99999999); document.body.appendChild(e); " ><span class="swp_count swp_hide"><span class="iconFiller"><span class="spaceManWilly"><i class="sw swp_pinterest_icon"></i><span class="swp_share">Pin</span></span></span></span></a></div></div> <div class="p-6 sm:p-8 bg-primary-light my-10 sm:my-12 flex flex-col sm:flex-row items-start justify-start sm:items-center gap-4 sm:gap-6"> <div class="rounded-full author-avatar w-[72px] h-[72px] overflow-hidden"> <img width="113" height="96" src="https://www.rogerebert.com/wp-content/uploads/2024/08/Isaac-Feldberg.jpg" class="h-full w-full object-cover not-transparent" alt="" loading="lazy" fetchpriority="low" decoding="async" srcset="https://www.rogerebert.com/wp-content/uploads/2024/08/Isaac-Feldberg.jpg 598w, https://www.rogerebert.com/wp-content/uploads/2024/08/Isaac-Feldberg-329x281.jpg 329w, https://www.rogerebert.com/wp-content/uploads/2024/08/Isaac-Feldberg-211x180.jpg 211w, https://www.rogerebert.com/wp-content/uploads/2024/08/Isaac-Feldberg-324x276.jpg 324w, https://www.rogerebert.com/wp-content/uploads/2024/08/Isaac-Feldberg-256x218.jpg 256w" sizes="auto, (max-width: 113px) 100vw, 113px" data-has-transparency="false" data-dominant-color="675d54" style="--dominant-color: #675d54;" /> </div> <div class="text-lg flex-1"> <h5 class="font-heading-serif text-2xl mb-1"><a href="https://www.rogerebert.com/contributors/isaac-feldberg">Isaac Feldberg</a></h5> <p>Isaac Feldberg is an entertainment journalist currently based in Chicago, who’s been writing professionally for nine years and hopes to stay at it for a few more.</p> </div> </div> </div> </div> </section> <div class="border-t border-[#cccccc] border-solid pt-8 sm:pt-14 pb-0" id="content-lower"> <div class="m-auto max-w-[1440px] px-6 sm:px-8 flex flex-col justify-center md:grid md:grid-cols-12"> <div class="col-start-1 col-end-13 lg:col-start-3 lg:col-end-11"> <h4 class="text-2xl mb-8 md:text-3xl w-full text-center font-heading-serif" id="comments-header">Leave a comment</h4> <div id="disqus_thread" class="mb-8"></div> <script> var DISQUS_TITLE = "In the Name of Friendship: Matthew Rankin on “Universal Language”"; var DISQUS_URL = "https://www.rogerebert.com/interviews/in-the-name-of-friendship-matthew-rankin-on-universal-language"; var DISQUS_IDENTIFIER = "/interviews/in-the-name-of-friendship-matthew-rankin-on-universal-language"; var DISQUS_DISABLE_ADS = false; </script> <noscript> Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow"> comments powered by Disqus. </a> </noscript> </div> </div> <div class="max-w-[1440px] px-6 pb-2 sm:pb-6 ml-auto mr-auto relative flex flex-col xs:px-4"> <hr class="wp-block-separator single-template has-alpha-channel-opacity is-style-default"> <h4 class="text-2xl mb-5 sm:mb-6 md:text-3xl w-full text-center font-heading-serif">Related articles</h4> <div class="w-auto flex-1 grid-cols-1 grid sm:grid-cols-2 xl:grid-cols-4"> <article class="px-0 py-4 xs:px-2 sm:px-4"> <a href="https://www.rogerebert.com/interviews/andrew-buss-superbad-book-interview" class="image-hover relative rounded flex flex-col justify-end"> <div class="w-full aspect-video overflow-hidden"> <img width="187" height="281" src="https://www.rogerebert.com/wp-content/uploads/2025/02/superbad-book-187x281.jpg" class="w-full feature-image aspect-video object-cover not-transparent wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://www.rogerebert.com/wp-content/uploads/2025/02/superbad-book-187x281.jpg 187w, https://www.rogerebert.com/wp-content/uploads/2025/02/superbad-book-768x1152-jpg.webp 768w, https://www.rogerebert.com/wp-content/uploads/2025/02/superbad-book-120x180.jpg 120w, https://www.rogerebert.com/wp-content/uploads/2025/02/superbad-book-316x474.jpg 316w, https://www.rogerebert.com/wp-content/uploads/2025/02/superbad-book-256x384.jpg 256w, https://www.rogerebert.com/wp-content/uploads/2025/02/superbad-book-jpg.webp 1000w" sizes="auto, (max-width: 187px) 100vw, 187px" data-has-transparency="false" data-dominant-color="c2b8a0" style="--dominant-color: #c2b8a0;" /> </div> <div class="uppercase montserrat-700 text-primary-gold mt-4 text-sm"> Interviews </div> <h3 class="text-2xl xs:text-xl sm:text-2xl z-10 mt-2">Talkin’ About His Generation: New Book Chronicles the Making of Millennial Touchstone “Superbad”</h3> <div class="text-meta-grey mt-2"> 3 days ago </div> </a> </article> <article class="px-0 py-4 xs:px-2 sm:px-4"> <a href="https://www.rogerebert.com/interviews/scott-derrickson-interview-2025" class="image-hover relative rounded flex flex-col justify-end"> <div class="w-full aspect-video overflow-hidden"> <img width="422" height="281" src="https://www.rogerebert.com/wp-content/uploads/2025/02/Apple_TV_The_Gorge_Photo_0104-422x281.jpg" class="w-full feature-image aspect-video object-cover not-transparent wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://www.rogerebert.com/wp-content/uploads/2025/02/Apple_TV_The_Gorge_Photo_0104-422x281.jpg 422w, https://www.rogerebert.com/wp-content/uploads/2025/02/Apple_TV_The_Gorge_Photo_0104-768x512-jpg.webp 768w, https://www.rogerebert.com/wp-content/uploads/2025/02/Apple_TV_The_Gorge_Photo_0104-1536x1024.jpg 1536w, https://www.rogerebert.com/wp-content/uploads/2025/02/Apple_TV_The_Gorge_Photo_0104-2048x1365.jpg 2048w, https://www.rogerebert.com/wp-content/uploads/2025/02/Apple_TV_The_Gorge_Photo_0104-270x180.jpg 270w, https://www.rogerebert.com/wp-content/uploads/2025/02/Apple_TV_The_Gorge_Photo_0104-324x216.jpg 324w, https://www.rogerebert.com/wp-content/uploads/2025/02/Apple_TV_The_Gorge_Photo_0104-256x171.jpg 256w" sizes="auto, (max-width: 422px) 100vw, 422px" data-has-transparency="false" data-dominant-color="101526" style="--dominant-color: #101526;" /> </div> <div class="uppercase montserrat-700 text-primary-gold mt-4 text-sm"> Interviews </div> <h3 class="text-2xl xs:text-xl sm:text-2xl z-10 mt-2">Scott Derrickson Dives Deep into “The Gorge”</h3> <div class="text-meta-grey mt-2"> February 14, 2025 </div> </a> </article> <article class="px-0 py-4 xs:px-2 sm:px-4"> <a href="https://www.rogerebert.com/interviews/female-filmmakers-in-focus-zeinabu-irene-davis-on-compensation" class="image-hover relative rounded flex flex-col justify-end"> <div class="w-full aspect-video overflow-hidden"> <img width="500" height="281" src="https://www.rogerebert.com/wp-content/uploads/2025/02/31494id__Compensation_image_06_r_w1600-500x281.jpg" class="w-full feature-image aspect-video object-cover not-transparent wp-post-image" alt="" loading="lazy" decoding="async" srcset="https://www.rogerebert.com/wp-content/uploads/2025/02/31494id__Compensation_image_06_r_w1600-500x281.jpg 500w, https://www.rogerebert.com/wp-content/uploads/2025/02/31494id__Compensation_image_06_r_w1600-768x432-jpg.webp 768w, https://www.rogerebert.com/wp-content/uploads/2025/02/31494id__Compensation_image_06_r_w1600-1536x864.jpg 1536w, https://www.rogerebert.com/wp-content/uploads/2025/02/31494id__Compensation_image_06_r_w1600-320x180.jpg 320w, https://www.rogerebert.com/wp-content/uploads/2025/02/31494id__Compensation_image_06_r_w1600-324x182.jpg 324w, https://www.rogerebert.com/wp-content/uploads/2025/02/31494id__Compensation_image_06_r_w1600-256x144.jpg 256w, https://www.rogerebert.com/wp-content/uploads/2025/02/31494id__Compensation_image_06_r_w1600-jpg.webp 1600w" sizes="auto, (max-width: 500px) 100vw, 500px" data-has-transparency="false" data-dominant-color="4f4f4f" style="--dominant-color: #4f4f4f;" /> </div> <div class="uppercase montserrat-700 text-primary-gold mt-4 text-sm"> Interviews </div> <h3 class="text-2xl xs:text-xl sm:text-2xl z-10 mt-2">Female Filmmakers In Focus: Zeinabu irene Davis on “Compensation”</h3> <div class="text-meta-grey mt-2"> February 5, 2025 </div> </a> </article> <article class="px-0 py-4 xs:px-2 sm:px-4"> <a href="https://www.rogerebert.com/interviews/pamela-anderson-the-last-showgirl-interview" class="image-hover relative rounded flex flex-col justify-end"> <div class="w-full aspect-video overflow-hidden"> <img width="500" height="281" src="https://www.rogerebert.com/wp-content/uploads/2025/01/pamandlastshow-500x281.jpg" class="w-full feature-image aspect-video object-cover not-transparent wp-post-image" alt="The Last Showgirl Pamela Anderson Interview" loading="lazy" decoding="async" srcset="https://www.rogerebert.com/wp-content/uploads/2025/01/pamandlastshow-500x281.jpg 500w, https://www.rogerebert.com/wp-content/uploads/2025/01/pamandlastshow-768x432-jpg.webp 768w, https://www.rogerebert.com/wp-content/uploads/2025/01/pamandlastshow-320x180.jpg 320w, https://www.rogerebert.com/wp-content/uploads/2025/01/pamandlastshow-324x182.jpg 324w, https://www.rogerebert.com/wp-content/uploads/2025/01/pamandlastshow-256x144.jpg 256w, https://www.rogerebert.com/wp-content/uploads/2025/01/pamandlastshow-jpg.webp 1200w" sizes="auto, (max-width: 500px) 100vw, 500px" data-has-transparency="false" data-dominant-color="424548" style="--dominant-color: #424548;" /> </div> <div class="uppercase montserrat-700 text-primary-gold mt-4 text-sm"> Interviews </div> <h3 class="text-2xl xs:text-xl sm:text-2xl z-10 mt-2">This is Just the Beginning: Pamela Anderson on “The Last Showgirl”</h3> <div class="text-meta-grey mt-2"> January 14, 2025 </div> </a> </article> </div> </div> <div class="max-w-[1440px] ml-auto mr-auto relative flex flex-col px-6 xs:px-4"> <hr class="wp-block-separator single-template has-alpha-channel-opacity is-style-default"> <h4 class="text-2xl md:text-3xl w-full text-center font-heading-serif">Popular reviews</h4> <div class="w-auto pt-4 pb-2 sm:py-6 flex-1 grid-cols-1 grid xs:grid-cols-2 grid sm:grid-cols-3 lg:grid-cols-4"> <article class="px-0 py-4 xs:px-2 sm:p-4"> <a href="https://www.rogerebert.com/reviews/day-of-the-fight-film-review" class="image-hover cursor-pointer relative rounded flex flex-col justify-end"> <div class="w-full relative aspect-9/14 overflow-hidden"> <div class="absolute z-10 bg-black/50 left-0 w-full h-full top-0 flex items-center justify-center"> <img width="84" height="80" class="h-20 w-auto" src="https://www.rogerebert.com/wp-content/themes/roger-ebert/source/images/popular-thumb.svg" alt="subscribe icon"> </div> <img width="256" height="379" src="https://www.rogerebert.com/wp-content/uploads/2024/12/unnamed-6-256x379.jpg" class="w-full feature-image object-cover aspect-9/14 not-transparent wp-post-image" alt="" decoding="async" srcset="https://www.rogerebert.com/wp-content/uploads/2024/12/unnamed-6-256x379.jpg 256w, https://www.rogerebert.com/wp-content/uploads/2024/12/unnamed-6-190x281.jpg 190w, https://www.rogerebert.com/wp-content/uploads/2024/12/unnamed-6-122x180.jpg 122w, https://www.rogerebert.com/wp-content/uploads/2024/12/unnamed-6-jpg.webp 318w" sizes="(max-width: 256px) 100vw, 256px" data-has-transparency="false" data-dominant-color="808080" style="--dominant-color: #808080;" /> </div> <h3 class="text-2xl z-10 mt-4 inline"> <span>Day of the Fight</span> </h3> <div class="montserrat-500 mt-2 text-meta-grey text-sm"> Craig D. Lindsey </div> <div class="w-full flex justify-start items-center mt-3"> <div class="star-box"> <img src="https://www.rogerebert.com/wp-content/themes/roger-ebert/source/images/stars-fill.svg" alt="star rating" class="h-5 filled star30"> <img width="99" height="20" src="https://www.rogerebert.com/wp-content/themes/roger-ebert/source/images/stars.svg" alt="star rating" class="h-5"> </div> </div> </a> </article> <article class="px-0 py-4 xs:px-2 sm:p-4"> <a href="https://www.rogerebert.com/reviews/queer-daniel-craig-luca-guadagnino-film-review" class="image-hover cursor-pointer relative rounded flex flex-col justify-end"> <div class="w-full relative aspect-9/14 overflow-hidden"> <div class="absolute z-10 bg-black/50 left-0 w-full h-full top-0 flex items-center justify-center"> <img width="84" height="80" class="h-20 w-auto" src="https://www.rogerebert.com/wp-content/themes/roger-ebert/source/images/popular-thumb.svg" alt="subscribe icon"> </div> <img width="256" height="397" src="https://www.rogerebert.com/wp-content/uploads/2024/11/Queer-626057952-large-256x397.jpg" class="w-full feature-image object-cover aspect-9/14 not-transparent wp-post-image" alt="" decoding="async" srcset="https://www.rogerebert.com/wp-content/uploads/2024/11/Queer-626057952-large-256x397.jpg 256w, https://www.rogerebert.com/wp-content/uploads/2024/11/Queer-626057952-large-768x1192-jpg.webp 768w, https://www.rogerebert.com/wp-content/uploads/2024/11/Queer-626057952-large-181x281.jpg 181w, https://www.rogerebert.com/wp-content/uploads/2024/11/Queer-626057952-large-116x180.jpg 116w, https://www.rogerebert.com/wp-content/uploads/2024/11/Queer-626057952-large-305x474.jpg 305w, https://www.rogerebert.com/wp-content/uploads/2024/11/Queer-626057952-large-jpg.webp 773w" sizes="(max-width: 256px) 100vw, 256px" data-has-transparency="false" data-dominant-color="876e62" style="--dominant-color: #876e62;" /> </div> <h3 class="text-2xl z-10 mt-4 inline"> <span>Queer</span> </h3> <div class="montserrat-500 mt-2 text-meta-grey text-sm"> Matt Zoller Seitz </div> <div class="w-full flex justify-start items-center mt-3"> <div class="star-box"> <img src="https://www.rogerebert.com/wp-content/themes/roger-ebert/source/images/stars-fill.svg" alt="star rating" class="h-5 filled star35"> <img width="99" height="20" src="https://www.rogerebert.com/wp-content/themes/roger-ebert/source/images/stars.svg" alt="star rating" class="h-5"> </div> </div> </a> </article> <article class="px-0 py-4 xs:px-2 sm:p-4"> <a href="https://www.rogerebert.com/reviews/bookworm-film-review" class="image-hover cursor-pointer relative rounded flex flex-col justify-end"> <div class="w-full relative aspect-9/14 overflow-hidden"> <div class="absolute z-10 bg-black/50 left-0 w-full h-full top-0 flex items-center justify-center"> <img width="84" height="80" class="h-20 w-auto" src="https://www.rogerebert.com/wp-content/themes/roger-ebert/source/images/popular-thumb.svg" alt="subscribe icon"> </div> <img width="256" height="366" src="https://www.rogerebert.com/wp-content/uploads/2024/10/MV5BMDI0OGZmNDItZjg4NS00MWFiLTllNDEtMTNhOTZiNWRlNzY0XkEyXkFqcGc@._V1_-256x366.jpg" class="w-full feature-image object-cover aspect-9/14 not-transparent wp-post-image" alt="" decoding="async" srcset="https://www.rogerebert.com/wp-content/uploads/2024/10/MV5BMDI0OGZmNDItZjg4NS00MWFiLTllNDEtMTNhOTZiNWRlNzY0XkEyXkFqcGc@._V1_-256x366.jpg 256w, https://www.rogerebert.com/wp-content/uploads/2024/10/MV5BMDI0OGZmNDItZjg4NS00MWFiLTllNDEtMTNhOTZiNWRlNzY0XkEyXkFqcGc@._V1_-197x281.jpg 197w, https://www.rogerebert.com/wp-content/uploads/2024/10/MV5BMDI0OGZmNDItZjg4NS00MWFiLTllNDEtMTNhOTZiNWRlNzY0XkEyXkFqcGc@._V1_-126x180.jpg 126w, https://www.rogerebert.com/wp-content/uploads/2024/10/MV5BMDI0OGZmNDItZjg4NS00MWFiLTllNDEtMTNhOTZiNWRlNzY0XkEyXkFqcGc@._V1_-324x463.jpg 324w, https://www.rogerebert.com/wp-content/uploads/2024/10/MV5BMDI0OGZmNDItZjg4NS00MWFiLTllNDEtMTNhOTZiNWRlNzY0XkEyXkFqcGc@._V1_.jpg 768w" sizes="(max-width: 256px) 100vw, 256px" data-has-transparency="false" data-dominant-color="6b622f" style="--dominant-color: #6b622f;" /> </div> <h3 class="text-2xl z-10 mt-4 inline"> <span>Bookworm</span> </h3> <div class="montserrat-500 mt-2 text-meta-grey text-sm"> Matt Zoller Seitz </div> <div class="w-full flex justify-start items-center mt-3"> <div class="star-box"> <img src="https://www.rogerebert.com/wp-content/themes/roger-ebert/source/images/stars-fill.svg" alt="star rating" class="h-5 filled star25"> <img width="99" height="20" src="https://www.rogerebert.com/wp-content/themes/roger-ebert/source/images/stars.svg" alt="star rating" class="h-5"> </div> </div> </a> </article> <article class="px-0 py-4 xs:px-2 sm:p-4"> <a href="https://www.rogerebert.com/reviews/the-damned-film-review-2025" class="image-hover cursor-pointer relative rounded flex flex-col justify-end"> <div class="w-full relative aspect-9/14 overflow-hidden"> <div class="absolute z-10 bg-black/50 left-0 w-full h-full top-0 flex items-center justify-center"> <img width="84" height="80" class="h-20 w-auto" src="https://www.rogerebert.com/wp-content/themes/roger-ebert/source/images/popular-thumb.svg" alt="subscribe icon"> </div> <img width="256" height="384" src="https://www.rogerebert.com/wp-content/uploads/2024/12/fAXDQny8kEquc1BImiQHhYMGSsW-256x384.jpg" class="w-full feature-image object-cover aspect-9/14 not-transparent wp-post-image" alt="" decoding="async" srcset="https://www.rogerebert.com/wp-content/uploads/2024/12/fAXDQny8kEquc1BImiQHhYMGSsW-256x384.jpg 256w, https://www.rogerebert.com/wp-content/uploads/2024/12/fAXDQny8kEquc1BImiQHhYMGSsW-768x1152-jpg.webp 768w, https://www.rogerebert.com/wp-content/uploads/2024/12/fAXDQny8kEquc1BImiQHhYMGSsW-1024x1536.jpg 1024w, https://www.rogerebert.com/wp-content/uploads/2024/12/fAXDQny8kEquc1BImiQHhYMGSsW-187x281.jpg 187w, https://www.rogerebert.com/wp-content/uploads/2024/12/fAXDQny8kEquc1BImiQHhYMGSsW-120x180.jpg 120w, https://www.rogerebert.com/wp-content/uploads/2024/12/fAXDQny8kEquc1BImiQHhYMGSsW-316x474.jpg 316w, https://www.rogerebert.com/wp-content/uploads/2024/12/fAXDQny8kEquc1BImiQHhYMGSsW-jpg.webp 1280w" sizes="(max-width: 256px) 100vw, 256px" data-has-transparency="false" data-dominant-color="0e1217" style="--dominant-color: #0e1217;" /> </div> <h3 class="text-2xl z-10 mt-4 inline"> <span>The Damned (2025)</span> </h3> <div class="montserrat-500 mt-2 text-meta-grey text-sm"> Glenn Kenny </div> <div class="w-full flex justify-start items-center mt-3"> <div class="star-box"> <img src="https://www.rogerebert.com/wp-content/themes/roger-ebert/source/images/stars-fill.svg" alt="star rating" class="h-5 filled star30"> <img width="99" height="20" src="https://www.rogerebert.com/wp-content/themes/roger-ebert/source/images/stars.svg" alt="star rating" class="h-5"> </div> </div> </a> </article> </div> </div> </div> </main> </div> </div> </div> <section id="subscribe" class="newsletter-subscribe bg-black mt-6 md:mt-12 py-12 lg:py-16 xl:py-20 w-full"> <div class="wrapper m-auto max-w-[1440px] px-8 text-center flex flex-col justify-center md:grid md:grid-cols-12"> <img width="80" height="86" class="mx-auto col-start-6 w-[80px] col-end-8 mb-5 lg:mb-6" loading="lazy" src="https://www.rogerebert.com/wp-content/themes/roger-ebert/source/images/thumb-up-subscribe.svg" alt="subscribe icon"> <h4 class="text-white text-3xl mb-6 lg:mb-7 col-start-2 col-end-12 lg:col-start-3 lg:col-end-11">The best movie reviews, in your inbox</h4> <form action="https://rogerebert.us6.list-manage.com/subscribe/post?u=53d28014f6494e01798442219&amp;id=9ac9effdc7" class="mailing-list--form validate js--newsletter col-start-2 col-end-12 lg:col-start-3 lg:col-end-11" id="mc-embedded-subscribe-form" method="post" name="mc-embedded-subscribe-form" novalidate="" target="_blank"> <div class="mailing-list--input flex flex-col md:flex-row justify-center items-center"> <input class="py-3 px-6 w-full flex-auto mb-6 md:mb-auto md:mr-2.5 border border-primary-gold montserrat-500 montserrat-500 rounded-full text-white text-base md:text-lg bg-transparent required email" id="mce-EMAIL" name="EMAIL" placeholder="Enter your email" type="email" value=""> <input class="cursor-pointer py-3 px-6 border md:ml-2.5 border-primary-gold bg-primary-gold montserrat-700 uppercase text-base md:text-lg text-white rounded-full transition-colors hover:bg-secondary-bronze hover:border-secondary-bronze" id="mc-embedded-subscribe" name="subscribe" type="submit" value="Subscribe"> </div> <div id="mce-responses"> <div class="response" id="mce-error-response" style="display:none"></div> <div class="response" id="mce-success-response" style="display:none"></div> </div> </form> </div> </section> <footer id="site-footer" class="site-footer"> <div class="w-full max-w-[1440px] m-auto pt-6 pb-0 sm:pt-10 text-center sm:text-left px-2 sm:px-4 flex flex-col sm:grid sm:grid-cols-3 lg:grid-cols-6"> <div class="px-4"> <div class="font-heading-serif footer-menu-heading text-xl mb-1 mt-4 sm:min-h-[28px]"> Movie Reviews </div> <div class="footer-menu font-heading-sans text-sm"> <div class="menu-footer-movie-reviews-container"><ul id="menu-footer-movie-reviews" class="menu"><li id="menu-item-215041" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-215041"><a href="/great-movies">Roger’s Greatest Movies</a></li> <li id="menu-item-215042" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-215042"><a href="/reviews">All Reviews</a></li> <li id="menu-item-215043" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-215043"><a href="/cast-and-crew">Cast and Crew</a></li> </ul></div> </div> <div class="font-heading-serif footer-menu-heading text-xl mb-1 mt-4 sm:min-h-[28px]"> Ebert Prime </div> <div class="footer-menu font-heading-sans text-sm"> <div class="menu-footer-ebert-prime-container"><ul id="menu-footer-ebert-prime" class="menu"><li id="menu-item-215044" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-215044"><a href="https://www.rogerebert.com/prime">Sign Up</a></li> </ul></div> </div> </div> <div class="px-4"> <div class="font-heading-serif footer-menu-heading text-xl mb-1 mt-4 sm:min-h-[28px]"> Movie Genres </div> <div class="footer-menu font-heading-sans text-sm"> <div class="menu-footer-genres-1-container"><ul id="menu-footer-genres-1" class="menu"><li id="menu-item-214957" class="menu-item menu-item-type-taxonomy menu-item-object-genre menu-item-214957"><a href="https://www.rogerebert.com/genre/action">Action</a></li> <li id="menu-item-215063" class="menu-item menu-item-type-taxonomy menu-item-object-genre menu-item-215063"><a href="https://www.rogerebert.com/genre/amazon-prime">Amazon Prime</a></li> <li id="menu-item-215064" class="menu-item menu-item-type-taxonomy menu-item-object-genre menu-item-215064"><a href="https://www.rogerebert.com/genre/comedy">Comedy</a></li> <li id="menu-item-214959" class="menu-item menu-item-type-taxonomy menu-item-object-genre menu-item-214959"><a href="https://www.rogerebert.com/genre/documentary">Documentary</a></li> <li id="menu-item-215065" class="menu-item menu-item-type-taxonomy menu-item-object-genre menu-item-215065"><a href="https://www.rogerebert.com/genre/drama">Drama</a></li> <li id="menu-item-215066" class="menu-item menu-item-type-taxonomy menu-item-object-genre menu-item-215066"><a href="https://www.rogerebert.com/genre/horror">Horror</a></li> <li id="menu-item-215074" class="menu-item menu-item-type-taxonomy menu-item-object-genre menu-item-215074"><a href="https://www.rogerebert.com/genre/hulu">Hulu</a></li> </ul></div> </div> </div> <div class="px-4"> <div class="font-heading-serif footer-menu-heading text-xl mb-1 mt-4 sm:min-h-[28px]"></div> <div class="footer-menu font-heading-sans text-sm"> <div class="menu-footer-genres-2-container"><ul id="menu-footer-genres-2" class="menu"><li id="menu-item-215068" class="menu-item menu-item-type-taxonomy menu-item-object-genre menu-item-215068"><a href="https://www.rogerebert.com/genre/mystery">Mystery</a></li> <li id="menu-item-215069" class="menu-item menu-item-type-taxonomy menu-item-object-genre menu-item-215069"><a href="https://www.rogerebert.com/genre/netflix">Netflix</a></li> <li id="menu-item-215070" class="menu-item menu-item-type-taxonomy menu-item-object-genre menu-item-215070"><a href="https://www.rogerebert.com/genre/romance">Romance</a></li> <li id="menu-item-215071" class="menu-item menu-item-type-taxonomy menu-item-object-genre menu-item-215071"><a href="https://www.rogerebert.com/genre/science-fiction">Science Fiction</a></li> <li id="menu-item-215072" class="menu-item menu-item-type-taxonomy menu-item-object-genre menu-item-215072"><a href="https://www.rogerebert.com/genre/suspense">Suspense</a></li> <li id="menu-item-215073" class="menu-item menu-item-type-taxonomy menu-item-object-genre menu-item-215073"><a href="https://www.rogerebert.com/genre/thriller">Thriller</a></li> </ul></div> </div> </div> <div class="px-4"> <div class="font-heading-serif footer-menu-heading text-xl mb-1 mt-4 sm:min-h-[28px]"> Blogs </div> <div class="footer-menu font-heading-sans text-sm"> <div class="menu-footer-blogs-1-container"><ul id="menu-footer-blogs-1" class="menu"><li id="menu-item-215045" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-215045"><a href="/reviews">Reviews</a></li> <li id="menu-item-215046" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-215046"><a href="https://www.rogerebert.com/category/chazs-blog">Chaz’s Journal</a></li> <li id="menu-item-215051" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-215051"><a href="/great-movies">Great Movies</a></li> <li id="menu-item-215049" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-215049"><a href="https://www.rogerebert.com/category/mzs">MZS</a></li> <li id="menu-item-215047" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-215047"><a href="https://www.rogerebert.com/category/far-flung-correspondents">Far Flungers</a></li> <li id="menu-item-215048" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-215048"><a href="https://www.rogerebert.com/category/interviews">Interviews</a></li> <li id="menu-item-215050" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-215050"><a href="https://www.rogerebert.com/category/tributes">Tributes</a></li> </ul></div> </div> </div> <div class="px-4"> <div class="font-heading-serif footer-menu-heading text-xl mb-1 mt-4 sm:min-h-[28px]"></div> <div class="footer-menu font-heading-sans text-sm"> <div class="menu-footer-blogs-2-container"><ul id="menu-footer-blogs-2" class="menu"><li id="menu-item-215057" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-215057"><a href="https://www.rogerebert.com/category/video-games">Video Games</a></li> <li id="menu-item-215052" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-215052"><a href="https://www.rogerebert.com/category/black-writers-week">Black Writers Week</a></li> <li id="menu-item-215053" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-215053"><a href="https://www.rogerebert.com/category/features">Features</a></li> <li id="menu-item-215056" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-215056"><a href="https://www.rogerebert.com/category/streaming">TV/Streaming</a></li> <li id="menu-item-215055" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-215055"><a href="https://www.rogerebert.com/category/roger-ebert">Roger Ebert</a></li> <li id="menu-item-215054" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-215054"><a href="https://www.rogerebert.com/category/festivals">Festivals & Awards</a></li> </ul></div> </div> </div> <div class="px-4"> <div class="font-heading-serif footer-menu-heading text-xl mb-1 mt-4 sm:min-h-[28px]">Ebert Co.</div> <div class="footer-menu font-heading-sans text-sm"> <div class="menu-footer-ebert-co-container"><ul id="menu-footer-ebert-co" class="menu"><li id="menu-item-215058" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-215058"><a href="/about">About the site</a></li> <li id="menu-item-215059" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-215059"><a href="/contact-us">Contact us</a></li> <li id="menu-item-215060" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-215060"><a href="mailto:advertising@ebertdigital.com">Advertise with us</a></li> <li id="menu-item-215061" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-215061"><a href="/contributors">Contributors</a></li> </ul></div> </div> <div class="flex gap-4 items-center justify-center sm:justify-start mt-4"> <a href="https://www.facebook.com/RogerEbert" aria-label="Find us on Facebook"> <img loading="lazy" width="18" height="18" src="https://www.rogerebert.com/wp-content/themes/roger-ebert/source/images/facebook.svg" alt="Facebook logo"> </a> <a href="" aria-label="Find us on YouTube"> <img loading="lazy" width="21" height="16" src="https://www.rogerebert.com/wp-content/themes/roger-ebert/source/images/youtube.svg" alt="YouTube logo"> </a> <a href="" aria-label="Find us on Twitter (X)"> <img loading="lazy" width="18" height="18" src="https://www.rogerebert.com/wp-content/themes/roger-ebert/source/images/x-icon.svg" alt="Twitter (X) logo"> </a> </div> </div> </div> <div class="w-full max-w-[1440px] m-auto gap-8 justify-center items-center py-10 pb-0 px-4 flex flex-col md:flex-row"> <div class="in-memoriam flex text-center md:text-right items-center md:items-end lg:items-center lg:justify-center flex-col lg:flex-row"> <span class="font-heading-serif text-2xl lg:mr-4">“Roger Ebert Loved Movies”</span> <a href="/memoriam" class="underline font-heading-sans text-sm">In Memoriam 1942 - 2013</a> </div> <img loading="lazy" width="398" height="136" src="https://www.rogerebert.com/wp-content/themes/roger-ebert/source/images/roger-pic.png" alt="Photo of Roger Ebert In Memoriam"> </div> <div class="w-full flex flex-col sm:flex-row justify-center footer-terms text-center py-8 border-t border-line-grey font-heading-sans text-sm"> <span>Ebert Digital LLC © Copyright 2025</span> <div class="menu-footer-terms-container"><ul id="menu-footer-terms" class="w-full sm:w-auto sm:flex sm:ml-3"><li id="menu-item-214948" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-214948"><a href="https://www.rogerebert.com/terms-of-use">Terms of use</a></li> <li id="menu-item-214952" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-214952"><a rel="privacy-policy" href="https://www.rogerebert.com/privacy-policy">Privacy Policy</a></li> </ul></div> </div> </footer> </div> <script type="speculationrules"> {"prerender":[{"source":"document","where":{"and":[{"href_matches":"\/*"},{"not":{"href_matches":["\/wp-login.php","\/wp-admin\/*","\/*\\?*(^|&)_wpnonce=*","\/wp-content\/uploads\/*","\/wp-content\/*","\/wp-content\/plugins\/*","\/wp-content\/themes\/roger-ebert\/*"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prerender"}}]},"eagerness":"moderate"}]} </script> <script type="text/javascript">var algolia = {"debug":false,"application_id":"40M9V88SHV","search_api_key":"6a93834cc03da63576a3caf9b5c19c06","powered_by_enabled":false,"query":"","autocomplete":{"sources":[],"input_selector":"input[name='s']:not(.no-autocomplete):not(#adminbar-search)"},"indices":{"searchable_posts":{"name":"prod_wp_searchable_posts","id":"searchable_posts","enabled":true,"replicas":[]}}};</script><script type="text/javascript" id="disqus_count-js-extra"> /* <![CDATA[ */ var countVars = {"disqusShortname":"rogerebert"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.rogerebert.com/wp-content/plugins/disqus-comment-system/public/js/comment_count.js?ver=3.1.2" id="disqus_count-js"></script> <script type="text/javascript" src="https://www.rogerebert.com/wp-content/themes/roger-ebert/dist/js/main.min.js?ver=1739170101" id="main-js-js"></script> <script type="text/javascript" src="https://widget.justwatch.com/justwatch_widget.js?ver=1.0.0" id="justwatch-widget-js" defer="defer" data-wp-strategy="defer"></script> <script type="text/javascript" id="social_warfare_script-js-extra"> /* <![CDATA[ */ var socialWarfare = {"addons":[],"post_id":"251963","variables":{"emphasizeIcons":false,"powered_by_toggle":false,"affiliate_link":"https:\/\/warfareplugins.com"},"floatBeforeContent":""}; /* ]]> */ </script> <script type="text/javascript" src="https://www.rogerebert.com/wp-content/plugins/social-warfare/assets/js/script.min.js?ver=4.5.4" id="social_warfare_script-js"></script> <script type="text/javascript" id="advanced-ads-pro/front-js-extra"> /* <![CDATA[ */ var advanced_ads_cookies = {"cookie_path":"\/","cookie_domain":""}; var advadsCfpInfo = {"cfpExpHours":"3","cfpClickLimit":"3","cfpBan":"7","cfpPath":"","cfpDomain":"www.rogerebert.com"}; /* ]]> */ </script> <script type="text/javascript" src="https://www.rogerebert.com/wp-content/plugins/advanced-ads-pro/assets/js/advanced-ads-pro.min.js?ver=2.28.0" id="advanced-ads-pro/front-js"></script> <script>window.advads_admin_bar_items = [{"title":"Advertising Wrapper Includes","type":"ad"},{"title":"Ad Wrapper","type":"placement"},{"title":"Top Leaderboard","type":"ad"},{"title":"Top Leaderboard","type":"placement"},{"title":"Post Inline 1","type":"ad"},{"title":"Post Inline 1","type":"placement"},{"title":"Post Inline Reusable","type":"ad"},{"title":"Post Inline 2","type":"placement"},{"title":"Post Inline Reusable","type":"ad"},{"title":"Post Inline 2","type":"placement"},{"title":"Post Inline Reusable","type":"ad"},{"title":"Post Inline 2","type":"placement"},{"title":"Post Inline Reusable","type":"ad"},{"title":"Post Inline 2","type":"placement"},{"title":"Post Inline Reusable","type":"ad"},{"title":"Post Inline 2","type":"placement"},{"title":"Post Inline Reusable","type":"ad"},{"title":"Post Inline 2","type":"placement"},{"title":"Post Inline Reusable","type":"ad"},{"title":"Post Inline 2","type":"placement"},{"title":"Post Inline Reusable","type":"ad"},{"title":"Post Inline 2","type":"placement"},{"title":"Post Inline Reusable","type":"ad"},{"title":"Post Inline 2","type":"placement"},{"title":"Post Inline Reusable","type":"ad"},{"title":"Post Inline 2","type":"placement"},{"title":"Post Inline Reusable","type":"ad"},{"title":"Post Inline 2","type":"placement"},{"title":"Post Inline Reusable","type":"ad"},{"title":"Post Inline 2","type":"placement"},{"title":"Post Inline Reusable","type":"ad"},{"title":"Post Inline 2","type":"placement"},{"title":"Post Inline Reusable","type":"ad"},{"title":"Post Inline 2","type":"placement"},{"title":"Post Inline Reusable","type":"ad"},{"title":"Post Inline 2","type":"placement"},{"title":"Post Inline Reusable","type":"ad"},{"title":"Post Inline 2","type":"placement"},{"title":"Post Inline Reusable","type":"ad"},{"title":"Post Inline 2","type":"placement"},{"title":"Post Inline Reusable","type":"ad"},{"title":"Post Inline 2","type":"placement"},{"title":"Post Inline Reusable","type":"ad"},{"title":"Post Inline 2","type":"placement"}];</script><script type="text/javascript"> var swp_nonce = "99da8c7922";var swpFloatBeforeContent = false; var swp_ajax_url = "https://www.rogerebert.com/wp-admin/admin-ajax.php"; var swp_post_id = "251963";var swpClickTracking = false;</script><script>!function(){window.advanced_ads_ready_queue=window.advanced_ads_ready_queue||[],advanced_ads_ready_queue.push=window.advanced_ads_ready;for(var d=0,a=advanced_ads_ready_queue.length;d<a;d++)advanced_ads_ready(advanced_ads_ready_queue[d])}();</script> </body> </html> <!-- Performance optimized by Redis Object Cache. Learn more: https://wprediscache.com Retrieved 4649 objects (707 KB) from Redis using PhpRedis (v6.0.2). -->