Saoirse Ronan Has Two Shots at Making This Her Oscar Year
ByNate Jones,
a Vulture senior writer covering movies and pop culture
Photo: Vulture; Photos: Sony Pictures Classics/Everett Collection, Apple TV+
Saoirse Ronan has grown up on the Oscars stage. The Irish actress earned her first Academy Award nomination at the age of 13 for Atonement. Since then she’s received three more, an enviable record for an actor who just turned 30 this year. While you mightn’t call her overdue, exactly, she’s certainly paid her dues. Given the Academy’s established affinity for her, it feels like only a matter of time before we see Ronan stride triumphantly to the Oscars podium.
All it takes is the right film and the right year, and as luck would have it, this fall brings two different Ronan projects in the awards conversation. In Nora Fingscheidt’s The Outrun, Ronan stars as an alcoholic piecing her life back together on the remote Orkney Islands, while in Steve McQueen’s Blitz, she has a supporting role as a mother missing her lost son in World War II London. If we’re talking Oscar, which one is the better bet?
Let’s start with The Outrun, which opened in limited release last Friday. It’s a passion project for Ronan, who produced the film alongside husband Jack Lowden, and she’s been campaigning hard for it, working the late-night circuit and stepping up her step-and-repeat game. Reviews for the addiction drama have been positive if measured, but awards-wise, this intimate, interior film will only go as far as Ronan’s performance takes it. She’s in every scene, and frequently the only person in the frame. It’s a display more of presence than of range, though the subject matter does allow her space to throw off her usual gentility and go a little wild. (Speaking of, 2014’s Wild would not be a bad comp for this movie.)
Even by the standards of this up-in-the-air year, estimations of Ronan’s Best Actress chances are all over the map. This week, Next Best Picture’s Matt Neglia told me he thinks she is going to win; on GoldDerby, pundits like Joyce Eng and Anne Thompson have her missing out on a nomination entirely. If she gets in for The Outrun, Ronan will almost certainly be her movie’s sole nominee. Still, that’s not always a dealbreaker, especially in Best Actress. Just ask Julianne Moore, who won her long-awaited trophy in 2015 for Still Alice. Both that film and The Outrun were released by Sony Pictures Classics, a distributor with a history of helping little films punch above their weight in the awards race. (Though SPC also has Pedro Almodóvar’s The Room Next Door, whose leads Moore and Tilda Swinton are both competing with Ronan for spots in Best Actress.)
The Outrun is one of the smaller films in this year’s race. Steve McQueen’s Blitz, which just debuted at the London Film Festival, is one of the biggest. It’s a World War II picaresque following one boy’s journey through a bomb-strewn hellscape to return home to his mum, played by Ronan. Though it’s a more down-the-middle effort than McQueen fans probably expected, Blitz’s pedigree, subject matter, and lavish production value should make it a contender all across the ballot.
In her first major maternal role, Ronan is sequestered in her own story line for much of the film, and early consensus among those I’ve spoken to is that her segments are a little less gripping. However, McQueen gives her plenty of awards-friendly notes to play. After the film’s New York Film Festival premiere on Thursday, one critic compared her part to prognosticator Allan Lichtman’s “13 Keys to the White House.” Call it the 13 Keys to an Oscar Nom: She’s got a musical number, a scene in which she witnesses racism, and multiple scenes of anguish over being separated from her son.
Supporting Actress is wide open this year, and with Blitz looking like a solid contender, there’s plenty of room for Ronan to sidle in. However, that race feels like it has a locked-in top two in Emilia Pérez’s Zoe Saldana and The Piano Lesson’s Danielle Deadwyler, both of whom are essentially co-leads of their films. Assuming Saldana, the current front-runner, stays in Supporting (Gregory Ellwood thinks voters could bump her up to lead), a true supporting player like Ronan will have a lot of ground to make up.
Best Actress, by contrast, is a harder category, but it’s also a more unsettled category, since the two apparent favorites, Anora’s Mikey Madison and Emilia Pérez’s Karla Sofía Gascón, are newcomers who each carry major question marks. The Academy has been trending away from career wins lately, but they still do happen. (See: Jessica Chastain for The Eyes of Tammy Faye.) Could there be an opening here for a known quantity with an appealing narrative? There’s plenty left to be determined, but for now, here’s how I see it: If you’re betting Ronan to get nominated, go with Blitz; if you’re betting on the win, put your money on The Outrun.
Oscar Futures: It’s Blitz!
Every week between now and January 17, when the nominations for the Academy Awards are announced, Vulture will consult its crystal ball to determine the changing fortunes in this year’s Oscars race. In our “Oscar Futures” column, we’ll let you in on insider gossip, parse brand-new developments, and track industry buzz to figure out who’s up, who’s down, and who’s currently leading the race for a coveted Oscar nomination.
Best Picture
Up
Blitz
British director Steve McQueen is famed for his sharpness, but the most surprising thing about his first feature since Widows is that it turns out to be a straight-down-the-middle WWII epic, earning comparisons to Belfast and the work of Charles Dickens. Blitz often has the feel of an old war movie — with all the sincerity and occasional heavy-handedness that implies — re-made to center the women, immigrants, and socialists often left out of the historical record. While the ambition is laudable, American critics are mixed on the execution. David Ehrlich calls Blitz “a patchwork of episodes, several of them staged as only McQueen would, that fail to equal the sum of their parts.” (The Brits are more effusive.) Sniffs aside, this is Apple’s big Oscar bet, and I wouldn’t be surprised if Blitz turns out to be a nice, filling pork pie for the Academy’s meat-and-potatoes voters.
Up
Saturday Night
After playing well at Telluride and Toronto, the awards-season equivalent of killing at dress rehearsal, Jason Reitman’s SNL tick-tock goes wide this weekend. There are places to be had in the Best Picture ten, but if this purported crowd-pleaser wants to land a spot, it had better start pleasing some crowds. (Especially as Reitman can’t count on love from critics, some of whom have issued brutal takedowns.) Per-theater averages in limited release were promising. Were Saturday Night to best the cratering Joker: Folie à Deux this weekend, it might be ready for prime time.
Current Predix
A Real Pain, Anora, Blitz, The Brutalist, Challengers, Conclave, Dune: Part Two, Emilia Pérez, Nickel Boys, Sing Sing
Best Director
Up
Steve McQueen, Blitz
Whatever feelings of disappointment some critics have with Blitz stem from the sense it is the least distinctive film McQueen has ever made. One reviewer compares it to “Steven Spielberg trying to make a Terence Davies film.” Still, Blitz is undoubtedly impressive on a technical level, with a handful of harrowing set pieces that gain all the more power for featuring minimal CGI. While it may not be as radical as his past efforts, the film’s clear ambition and thematic heft should put the British auteur in the mix for his second directing nod.
Down
Todd Phillips, Joker: Folie à Deux
The knives came out for Phillips this week. In the wake of the Joker sequel’s historically poor opening — it’s on track to gross less in its entire run than the original made its opening weekend — the trades lit up with anonymous reports placing blame for the misfire entirely at the director’s feet. At least Phillips will always have that directing nomination for Joker, for which he beat out Greta Gerwig, Noah Baumbach, Pedro Almodóvar, and Céline Sciamma, among others.
Current Predix
Jacques Audiard, Emilia Pérez; Sean Baker, Anora; Brady Corbet, The Brutalist; Steve McQueen, Blitz; Denis Villeneuve, Dune: Part Two
Best Actor
Up
Sebastian Stan, The Apprentice
Who gets the fifth spot in Best Actor? Moreover, until we see what Timmy Chalamet gets up to in A Complete Unknown, who gets the fourth spot? For now I’ll slot in Stan’s surprisingly vulnerable turn as Donald Trump in a biopic that almost never saw the light of day. But with the controversy-laden Apprentice being slagged like a dog, Stan may be a placeholder until this paper-thin category fills out — or until we know the results of the presidential election, upon which his campaign’s fortunes will hinge.
Down
Elliott Heffernan, Blitz
The Osment Rule says that, even if a child actor is the lead of his film, he must be run in Supporting. The Tremblay Corollary states that, in the era of the preferential ballot, kid nominations are a lot rarer than they used to be. Team Blitz is ignoring all this and running pint-sized star Elliott Heffernan in lead. Critics call him “strikingly assured” for a youngster, but if Minari’s Alan Kim and Belfast’s Jude Hill couldn’t come close to getting nominated, it may be a tall task for the lad.
Current Predix
Adrien Brody, The Brutalist; Daniel Craig, Queer; Colman Domingo, Sing Sing; Ralph Feinnes, Conclave; Sebastian Stan, The Apprentice
Best Actress
Up
Saoirse Ronan, The Outrun
As a counterpoint to my bullishness on The Outrun, I must also quote from Richard Brody’s dissent. “The movie offers Ronan little chance to develop her character’s emotional life over time,” he argues. “Her expressions are static, literalized, pasted to the screen like decals, and her vocal delivery is subjected to a similar oversimplification.” I’ll simply note that that doesn’t sound un-Oscar-y.
Even
Florence Pugh, We Live in Time
Give this to We Live in Time, the weekend’s other major release: It is the only movie this year in which Florence Pugh plays a celebrity chef named Almut Brühl. John Crowley’s romantic drama comes off as Love Story by way of Richard Curtis, with a smidge of Nancy Meyers kitchen envy. Which is to say it’s not exactly an awards movie, though I’m unsure it was ever intended to be. Still, Pugh and co-star Andrew Garfield are being kindly received by critics like Lindsey Bahr, who praises their “quietly affecting performances.”
Current Predix
Karla Sofía Gascón, Emilia Pérez; Marianne Jean-Baptiste, Hard Truths; Angelina Jolie, Maria; Mikey Madison, Anora; Saoirse Ronan, The Outrun
Best Supporting Actor
Up
Jeremy Strong, The Apprentice
Are we in for a Succession reunion in the Supporting Actor race? While Kieran Culkin earns raves on the festival circuit for A Real Pain, his former castmate is being singled out by critics as the highlight of The Apprentice. As the rasping and whippet-thin Roy Cohn, Scott Tobias says, “Strong has a gift for making a vile man pitiable without turning the dial all the way to sympathetic.” Though the film has been harshly reviewed, the presence of this much-laureled performer adds a jolt of prestige that should offset the pans. The Succession connection helps in other ways: After marking a ballot for Culkin, checking Strong’s box, too, might be a matter of muscle memory for voters.
Down
Paul Weller, Blitz
A police car and a screaming siren, a pneumatic drill and ripped-up concrete, a baby wailing and stray dog howling, the screech of brakes and lamp light blinking — all of them have more screen time in Blitz than the former Jam frontman. I briefly thought Weller’s kindly Cockney grandpa might be the next Ciarán Hinds in Belfast, but I don’t think there’s enough meat there.
Current Predix
Kieran Culkin, A Real Pain; Clarence Maclin, Sing Sing; Guy Pearce, The Brutalist; Jeremy Strong, The Apprentice; Stanley Tucci, Conclave
Best Supporting Actress
Up
Saoirse Ronan, Blitz
However they feel about Blitz, critics can’t help themselves from praising Ronan. As Peter Bradshaw enthuses, she “gives a sympathetic and controlled performance in a role that does not allow for much nuance.” With her co-star encumbered by child-labor laws, she should benefit from being the face of the Blitz campaign, a familiar figure who can sell McQueen’s post-Brexit provocations to even the most conservative audience.
Down
Lady Gaga, Joker: Folie à Deux
The saddest thing about Folie à Deux flopping? We will now be deprived of a classic Lady Gaga Oscar campaign. Gaga sitting next to Marianne Jean-Baptiste at the THR actress roundtable, Gaga attending the Golden Globes in full Harley Quinn drag, Gaga telling reporters she was once visited by the ghost of Judy Garland — it all fades away like tears in the rain.
Current Predix
Danielle Deadwyler, The Piano Lesson; Aunjanue Ellis-Taylor, Nickel Boys; Felicity Jones, The Brutalist; Saoirse Ronan, Blitz; Zoe Saldana, Emilia Pérez
By submitting your email, you agree to our
Terms and Privacy Notice
and to receive email correspondence from us. This site is protected by reCAPTCHA and the Google
Privacy Policy and
Terms of Service apply.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
Already a subscriber?
Already a subscriber?
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"1":1,"6":6,"12":12,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(12),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(1),appendLandingPageParams=require(135),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let o=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||o.classList.remove("open")})}function gtmSendReport(e,n,t){let o={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(o.eventLabel=n.href),gtm.reportNow(o)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const o=t.split("?"),i=new URLSearchParams(o[1]);for(let e of n.entries())i.set(e[0],e[1]);t=`${o[0]}?${i.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),auth.isSubscriber()&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"1":1,"4":4,"12":12,"124":124,"135":135}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(406),Fingerprint2=require(408),DS=require(407),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(107),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(406),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"107":107,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"406":406,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]