BySara Holdren,
a theater director and a critic at New York magazine and Vulture.
From Suffs, at the Music Box Theatre.
Photo: Joan Marcus
Let’s go ahead and address the Lin-Manuelephant in the room. It’s all but impossible to talk about Suffs — Shaina Taub’s musical about Alice Paul, her fellow suffragists, and the passage of the 19th Amendment — without mentioning a show you might have heard of. Not simply because, like the writer of the Public Theater’s last Broadway-bound foray into American political history, Taub is a multi-hyphenate powerhouse who wrote her show’s book, music, and lyrics and also plays its protagonist; and not even because her music and lyrics have both a self-assurance and a referential playfulness about them, a feeling — notably lacking in many of this season’s musicals — of finding inspiration and joy in the deep catalogue of their musical-theater ancestors — but because, taken together, Hamilton and Suffs provide a split portrait of two moments in time. In one half of the frame: a bunch of guys dressed as presidents, looking fly and having a great time. In the other: a bunch of women, trying like hell to be hopeful against truly spirit-crushing forces of darkness while simultaneously holding themselves accountable to a different decade’s set of standards.
Alice Paul — the pioneering suffragist played by Taub who fought for years to win the right to vote, then immediately turned her attention to writing the Equal Rights Amendment, unpassed to this day — was also, of course, imperfect. In 1913, when the suffragists organized a massive march on Washington, Paul wavered under pressure from wealthy Southern women to segregate the procession. This painful fact takes central importance in Suffs, where, playing the great activists Ida B. Wells and Mary Church Terrell, Nikki M. James and Anastaćia McCleskey, respectively, create a deeply felt counterpoint to Paul, who must shoulder a certain amount of shame for the rest of the show. Consider, by way of contrast, the heroes of Hamilton: These guys owned people but ultimately got to appear in a fun, sympathetic, even inspirational light. My point is not that one of these projects is morally superior to the other; simply that there’s a sigh in my chest for the cosmic timing that allowed for a bunch of flawed men to be rock stars and now dictates that flawed women soberly submit themselves for our ethical approval.
But, as Ida and Alice and the rest would probably advise, onward. At least the story, artistically speaking, has a good ending. Because not only is Suffs navigating demanding terrain: It’s marching through it with head up, heart open, and sense of humor intact. The show is smart, witty, tuneful, and teeming with mighty performances. It can’t help having a certain amount of shadow to it: It’s gutting to hear the truths of our past while facing the present, in which the humanity and autonomy of women, nonbinary, and trans folks remain so viciously under attack. The refrain that Taub’s characters hurl at each other in moments of strife — “Why are you fighting me? I am not the enemy!” — feels so sharply familiar it makes you wince. But for all its seriousness, Suffs is full of nerve and spark. Under the steady direction of Leigh Silverman, the show’s large ensemble glows with the gutsiness and visible affection that come from a good-faith process. When actors really believe in what they’re doing, it tends to show.
Belief in a vital cause is, after all, the blood pumping through the play’s heart. Every woman in Suffs wants the movement to succeed, but Taub smartly builds conflict and poignancy out of clashes not over the ends but the means. These divergent agendas and simmering internal tensions, which sometimes boil over into all-out war, slam the play right up against the now. If there’s one thing the left excels at, it’s infighting — struggling to separate integrity from sanctimony, to weigh moral perfectionism against action. Meanwhile, the hard-right bulldozer rolls on, happy to welcome aboard a multiplicity of fears and hatreds. As Suffs begins, we’re introduced to the respectable women of NAWSA (the National American Woman Suffrage Association) at their — and this can take the breath out of you from the start — 65th annual luncheon in 1913. “Welcome, gentlemen,” their president, Carrie Chapman Catt (the superb Jenn Colella), beams at us before launching into an ingratiatingly catchy old-timey set piece, “Let Mother Vote” (a very real NAWSA campaign). It’s practically vaudevillian, and it’s an ingenious way to kick things off. Carrie will be with us for the whole ride and will quickly prove no mere Establishment shill. She’s been working her well-dressed ass — she’d disapprove of that; posterior — off for decades, doing this same charming little dance for the men in charge, chipping away at them according to NAWSA’s motto: “State by state, slow and steady, not until the country’s ready.” As she tells an impassioned, frustrated young woman who grabs her during a refreshment break, “Men are only willing to consider our cause if we present it in a ladylike fashion … Our sweetness is strategic.”
That frustrated kid is Taub’s Alice Paul, and she has no time for sweetness. “I don’t want to follow in old footsteps,” she sings, fervent and furrow-browed. “I want to march in the street / I want to hold up a sign / With millions of women with passion like mine.” Suffs runs on the heat generated by Alice’s adamant progressivism chafing against Carrie’s calculated conservatism, and the pair have a crucial reflection in Ida and Mary. When Alice starts organizing a national suffrage march, but then considers putting the Black women’s delegation at the back of the line, Ida B. Wells blows in like a righteous storm. Nikki M. James is staggering as Ida — small-framed but statuesque and charged from toes to crown with crackling intensity — who throws Alice’s own values back in her face: “Wait my turn? / Well I sure don’t see you waiting yours … / Since when does a radical roll over for bigots in the first place? / That’s not leadership, Alice / It’s cowardice.” But Ida has her own foil in her friend Mary Church Terrell. Where Ida is hard and dogged, Mary is gracious; where Ida pushes, Mary coaxes. They’re equally brilliant — Mary teaches at the nation’s first Black high school — and they love each other, but they’re often at odds. “Don’t you resent that you’re a prop they trot out at events?” Ida sings as Mary prepares to speak at a NAWSA convention. Anastaćia McCleskey is all dignity as Mary holds her ground: “If I didn’t speak, they wouldn’t even mention race / I tolerate their system / ’Cause that’s the only way they’ll ever listen to our case.”
These recurring echoes hit where it hurts — especially as time spins relentlessly forward and the young start to understand and then become the old, even as the old fill up with doubts, remembering themselves in the young. That Suffs allows us to hold both — young and old, Ida and Mary, Carrie and Alice — and to see them all in their humanity and bravery is a real achievement. Taub has made room for nuance, and for the corresponding ache it almost always brings. But she’s also made room for humor. As Alice’s steadfast best friend, Lucy Burns, Ally Bonino is a delight: After the suffrage march, Alice’s crew — including glamorous law student Inez Milholland (Hannah Cruz), fiery Polish socialist Ruza Wenclawska (Kim Blanck), and precocious Nebraskan college kid Doris Stevens (Nadia Dandashi) — celebrate with Champagne and a rousing song reclaiming the word that men along the march route have been spitting at them. “I’m a Great American Bitch!” each of them sings in turn — until it gets to Lucy, who admits, halfway through belting the line, “I’m sorry, I honestly just don’t love that word.” Later on, when tensions mount to the point where Carrie kicks Alice out of NAWSA and Alice launches the National Women’s Party in response, Emily Skinner absolutely kills her scenes as Alva Belmont, the filthy-rich, eccentric divorcée who parachutes in to fund the rebel suffragists’ schemes. Tsilala Brock is also a joy as Dudley Malone, one of the show’s few male roles (the cast of all women and nonbinary actors play anyone and everyone). Malone was a lawyer who really did publicly resign from a post in Woodrow Wilson’s government in order to help the suffrage movement, and Brock’s heartfelt musical rendering of Dudley’s letter of resignation, his personal awakening, and his sweetly budding relationship with Dandashi’s clever Doris Stevens are truly affecting.
It’s true that Taub’s music-hall streak can sometimes stretch a degree or two too far into shtick. Grace McLean is a great performer — and a fascinating composer in her own right — but her Woodrow Wilson, the smug, smiling baddie of Suffs, isn’t given the show’s sharpest or most original material with “Ladies,” the president’s oily ode to the delicacies of womanhood. And as Ruza, the lefty firebrand of Alice’s gang, Blanck has to deliver one too many har-har Polish jokes. Taub’s writing is funnier and fuller when she’s pushing for comedy less hard, and her own performance is most moving when she dares to crack open. A terrible (and true) tragedy strikes Alice’s troupe at the show’s midway point, as they’re all campaigning their hearts out to try to prevent Wilson’s reelection, and Taub — a creator-performer who usually gives herself sprightly, jester-ish roles — lets us see the character’s exhaustion, panic, and despair. One can sense a bittersweet overlap between artist and role as Alice’s first impulse in the face of terrible loss is just to work harder: She explodes in a flurry of energy, organizing, making lists, making sure things are right, until she suddenly collapses into Lucy’s arms.
The strains of something less than triumphant were always lurking in Hamilton, which begins with a fist-pump to the sky but ends with the plaintive question, “Who lives, who dies, who tells your story?” But just as young Alice had no time for sweetness, Suffs has no time for wistfulness as it nears its ending. That’s because it’s not an ending, and there isn’t one in sight. As one of her epigraphs, Taub quotes the Talmud: “You are not obliged to complete the work, but neither are you free to abandon it.” Suffs may send us back out into the world a little bruised, a little somber, but in no way defeated or alone.
In that, it shares much in spirit with a show of an entirely different shape across the East River. Grenfell is visiting St. Ann’s Warehouse from the National Theatre in London. It’s a brave programming choice: The play is a three-hour-long docudrama about the Grenfell Tower fire of June 2017 that killed 72 people in London. As I looked around at the unusually small audience seated in the round at St. Ann’s, I wondered how many Americans know anything about Grenfell, and how many might be tempted to come find out.
I hope many do. Grenfell is meticulously constructed, searingly informative, and both patient and confident in its theatrical simplicity. It doesn’t overstay its three hours: We aren’t really watching a show per se; we’re part of something — seen and welcomed and encouraged to greet the person sitting beside us; “this is also a story about knowing your neighbors,” says the actor Dominique Tipper. As co-directors, Phyllida Lloyd and Anthony Simpson-Pike give clear, fluent shape to Gillian Slovo’s painstakingly compiled text. Grenfell’s subtitle is “In the Words of Survivors,” and all the production’s language — if it’s not direct address to us by the actors — is taken from interviews with residents of the tower or from the public inquiry after the fire. Every aspect of the show has been crafted to honor the human beings who lived and those who died, but there’s never a hint of soppiness. This is England, after all, and the British are formidably fluent in bureaucracy — the evils and evasions of which were responsible for the deaths at Grenfell — and even more so in calmly and precisely skewering it.
It’s harrowing to hear the facts pile up: The way this peaceful public-housing block, largely inhabited by immigrants, was despised and discriminated against (especially after the movie Notting Hill depicted its neighborhood as posh–cute–Julia Roberts London, and real-estate prices skyrocketed); the way the tower’s refurbishment cut so many corners, thanks to David Cameron’s deregulatory agenda, that Grenfell ended up wrapped in building materials that looked prettier but might as well have been gasoline-soaked paper; the way the U.K.’s “Stay Put” fire safety policy led to whole families waiting in their homes while an inferno raged around them and, on their cell phones with loved ones below, they lost the window to escape. The list goes on — and, crucially, the guilt and the underlying greed is global. It was an American company, Arconic, that sold the materials for the tower’s skin (its “cladding”) to the contractors, in full awareness that they’d go up like a prairie in August. Quoting an internal memo from Arconic used in the inquiry, Tipper reads aloud the words of one of the company’s higher-ups: “Oops … The classification of REYNOBOND PE cassette cladding following the test this morning is … ‘F’!!! … For the moment,” the email continues coolly, “we can still work in countries with national regulations which are not as restrictive.”
Grenfell is a performance, but it’s also an action. It ends less like a play than a peaceful protest, and it’s part of an ongoing campaign. Just as the ERA, drafted by Alice Paul in 1920, remains unpassed, no one has been held accountable seven years after the Grenfell Tower fire. “This Much Evidence, Still No Charges” reads a sign carried by a marcher in a video of the tower’s real residents and neighbors, still holding silent processions to demand justice and change. I could hear Taub’s Alice in my head: “The gains will feel small and the losses too large … You’ll rarely agree with whoever’s in charge … Come on, keep marching.”
Suffs is at the Music Box Theatre. Grenfell is at St. Ann’s Warehouse through May 12.
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(3),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(136),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,"3":3,"12":12,"124":124,"136":136}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(408),Fingerprint2=require(407),DS=require(406),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(408),_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,"408":408,"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","aaa-module-mounting.legacy":"aaa-module-mounting.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.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();
// ]]