Frost advisories are up for Friday morning for areas just outside Philadelphia on both sides of the Delaware River as the region is about to experience its chilliest spell in more than six months.
While the urban hotplate areas of Philly and Delaware County were not included in the National Weather Service advisory zones, cooler areas of the city and Delco could see some patchy white.
“It is certainly possible,” said Zachary Cooper, a meteorologist at the agency’s Mount Holly office.
Conditions conducive to frost — relatively clear skies, temperatures in the 30s, and light winds — may whiten the pumpkins in the region through the weekend.
As per standard procedure, the weather service will be issuing frost advisories until the end of the growing season, defined as the first time temperatures reach 32 degrees or lower in a given area.
It won’t be freezing, just frosty
Philly’s first freezing reading typically doesn’t occur until mid-November, but frost can form with temperatures above 32.
The air temperatures are measured about six feet off the ground, but they can be several degrees lower on the ground and on cooler surfaces.
When winds are calm, they keep the air from mixing, and that allows thin layers of colder air to develop at ground level.
The winds won’t be completely calm Friday morning, but “they should be light enough for favorable” frost conditions, the weather service said.
The dry spell in the Philly region continues
Temperatures should be several degrees below normal into next week, with highs mostly in the 50s and lows 35 to 40 degrees, the weather service says.
Notably absent from the extended outlook is precipitation. Officially, at Philadelphia International Airport, only 0.81 inches of rain have fallen this month. That’s less than a third of normal.
One University of Pennsylvania faculty member was called into a university office to answer for assigning “a pedagogically-relevant reading about conflict in Palestine,” others for political posts on personal social media accounts.
One faced questions for wearing a stole with the Palestinian flag at an off-campus event.
These are among “unfounded accusations of antisemitism” that Penn’s chapter of the American Association of University Professors said faculty and students have endured in the last year. Chapter representatives accompanied faculty to meetings at Penn’s Office of Religious and Ethnic Interests, which called the faculty in for questioning, according to a statement the group released Wednesday.
The religious and ethnic interests office oversees the implementation of Title VI of the Civil Rights Act, which prohibits discrimination based on race, color, national origin, or shared ancestry. It was formed following accusations of antisemitism on campus in the aftermath of Hamas’ Oct. 7, 2023, attack on Israel, when Penn was roiled by dueling complaints of unfairly treating Jewish and pro-Palestinian members of its community.
Then-Penn president Liz Magill resigned in December 2023 following a bipartisan backlash over her congressional committee testimony regarding antisemitism complaints, and the following spring, pro-Palestinian protesters erected an encampment on the College Green that ultimately was dismantled by police.
Since January, President Donald Trump’s administration has targeted universities that it asserts have failed to respond adequately to antisemitism complaints, and the group of Penn professors said they are worried that the university is following the president’s lead.
“We are concerned that Penn’s own Title VI office may be responding to these external pressures in a manner that risks chilling faculty speech and potentially discriminating against faculty in violation of the law,” the group asserted in a statement published on its website Wednesday. “… Faculty members, who in some cases had already been subject to targeted harassment, felt that they were expected to take unsubstantiated accusations of antisemitism at face value and to express contrition or offer some concession to their unidentified accuser, or face the possibility of disciplinary action.”
Penn did not respond to a request for comment. Neither did the religious and ethnic interests office.
Penn announced the creation of the office in September 2024, noting it was the first of its kind nationally and saying it would ensure a consistent response across all of its schools.
“Over the past year, our campus and our country witnessed a disquieting surge in antisemitism, Islamophobia, and other forms of religious and ethnic intolerance,” J. Larry Jameson, who was then interim president and was named president six months later, said at the time. “The Office of Religious and Ethnic Inclusion (Title VI) is being formed to confront this deeply troubling trend, and to serve as a stand-alone center for education and complaint resolution.”
The office formally opened in December with the foundational goals of educating, investigating, mediating, and evaluating. Its codirectors are Steve Ginsburg, who had served over a decade as an executive of the Anti-Defamation League, and Majid Alsayegh, founder of Alta Management Services LLC, which helped clients with criminal justice reform. The office’s chief investigator is Deborah Frey, who previously served as an assistant U.S. attorney in the Eastern District of Pennsylvania, working on discrimination complaints.
“Because of our own lived experiences as targets of bigotry, we know this work is not going to be easy,” Ginsburg had told Penn Today. “These issues are complex and require deep thought and sensitivity for those who are impacted.”
Faculty and students were not named in Wednesday’s statement and declined to comment through an AAUP executive committee member out of fear of retribution or harassment. The AAUP did not disclose the number of faculty and students involved.
But the reports “come almost exclusively from faculty who are Palestinian, Arab, Muslim, and/or Black,” the group said, giving rise to concerns about potential discrimination.
The faculty and students referred to in the letter were not sanctioned or punished for their activities, but the mere act of being called in and questioned has “a chilling effect” on research, teaching, and speech, said the AAUP executive committee member, who asked not to be identified because the chapter wanted to speak with one voice.
“For instance, in one meeting, a faculty member whose peer-reviewed research was subject to a complaint was pressured to make a modification to the presentation of that research, although their work had the support of their colleagues and dean,” the AAUP chapter said.
In that case, the faculty member had been called in because the research “referenced a third-party resource that a complainant claimed, without evidence, promoted hatred of Israel and of Jews in the United States,” the letter stated.
The chapter called on the office to “clarify and modify its procedures to ensure the transparency, consistency, and fairness essential to carrying out the office’s mission.”
And it asked the office to respond to a series of questions, including about the criteria it uses to decide whether to pursue a complaint.
More than 300,000 Pennsylvanians who struggle to pay their heating bills will need to wait longer for assistance from the state government due to funding stoppages caused by the federal government shutdown.
The Pennsylvania Department of Human Services said in a news release Wednesday that Pennsylvania will delay the opening of this year’s Low-Income Home Energy Assistance Program (LIHEAP) untilat least Dec. 3 because of a pause in federal funding due to the shutdown.The program was originally scheduled to open on Nov. 3.
The opening date for the program will be reassessed once the shutdown ends and is contingent on the state receiving the delayed federal funds, Brandon Cwalina, DHS press secretary, said in a statement Thursday.
LIHEAP distributes benefits to utility companies or home heating fuel providers for Pennsylvanians who need assistance paying their heating bills. The state has received more than $200 million each of the last two years from the federal government to carry out the program.
Pennsylvania Human Services Secretary Val Arkoosh said in the news release that the program “is especially critical for older adults and low-income families” as colder months approach.
Once DHS receives federal funding after the shutdown ends, the department will begin accepting LIHEAP applications and will continue processing applications that had been received during the shutdown.
This announcement comes the same week that DHS said nearly 2 million Pennsylvanians will not receive benefits from the Supplemental Nutrition Assistance Program (SNAP) next month if the shutdown continues. The food assistance program provides $366 million a month to low-income people in Pennsylvania,including roughly 500,000 in Philadelphia.
Joline Price, an attorney in the energy unit at Community Legal Services who works with clients to advocate for their access to water, heat, and electricity, said many of the same households could be affected by a lack of SNAP benefits and assistance in paying their heating bills, creating a “huge and devastating impact.” The program assisted 56,000 Philadelphia households last season, she noted.
“Even if some of these benefits become available later in November, they’re gonna be making really serious choices between food and utilities,” Price said. “It’s gonna be — I don’t even know that I have the words — it’s going to be bad.”
Other resources are available in the meantime — for instance, some electric and gas companies offer assistance programs — but there are gaps that remain with LIHEAP help beginning later than expected. For instance, Pennsylvania has an annual winter utility shut-off moratorium for qualified residents from Dec. 1 through March 31, though it does not eliminate any outstanding home heating bills, DHS said.
Prior to Dec. 1, low-income Pennsylvanians who are already “drowning” in utility costs could see their electric or gas shut off, Price said.
“Until then, folks are vulnerable to having their electric or their gas shut off, which would then bring them into the winter without safe heating sources,” Price said.
Democratic Gov. Josh Shapiro and members of his administration are arguing that impacts to crucial services are on the shoulders of Republicans in Washington, who hold both chambers of Congress and the White House. Meanwhile, Republicansare blaming the shutdown on Democrats because the majority party cannot pass funding legislation in the Senate without at least seven Democrats crossing the aisle.
Arkoosh echoed Shapiro’s messaging Wednesday, saying of LIHEAP: “Inaction from the Republican-controlled Congress now threatens access to this assistance.”
“I urge Congress and the White House to recognize the serious consequences that limiting heating assistance will have on the health and safety of people in Pennsylvania. Congress must come together for a solution that protects people most at risk,” she said.
Pinwheel Provisions opened in a new, larger space next to the Bryn Mawr Film Institute this week.
We may only be a month into fall, but the area’s culinary scene has been booming this season. Two new eateries opened in the last few weeks, with a third debuting today, and more on the horizon.
Heads up for drivers: Work on the North Narberth Avenue bridge between Elmwood and Haverford Avenues is set to begin next week, starting with vegetation clearing on Monday and Tuesday from 7 a.m. to 3 p.m. Work will then transition to night hours, taking place from 8 p.m. to 4 a.m. next Wednesday and Thursday.
Reminder for registered voters: Tuesday is the last day to request a mail-in ballot for the Nov. 4 election. You can apply for a mail-in or absentee ballot here.
Friends and family gathered outside Adath Israel in Merion Station last week to celebrate the release of Israeli hostage Alon Ohel from Hamas captivity following a ceasefire agreement earlier this month. Among those was Ohel’s cousin, Lower Merion resident Benjamin Mittman. A number of local residents have held vigils and rallies to support the families of hostages like Ohel. (6abc)
Rev. Carolyn Cavaness, who previously led the Bethel A.M.E. Church of Ardmore for 10 years, where she served as its first female pastor, recently reflected on her first full year as head of the historic Mother Bethel A.M.E. Church in Philadelphia, where she is also the first female pastor. The Inquirer’s Nate File spoke with her about what it’s like leading the oldest church property in the U.S. to be owned continuously by Black people.
A more than 9,000-square-foot Gladwyne mansion has hit the market with an asking price of $8.5 million. The six-bedroom, 11-bathroom home has a terrace, pool, sauna, and a media room. It sits on 12.75 acres and has the potential to be subdivided into three parcels. (Philadelphia Business Journal)
Lower Merion Township is hosting an open house on Saturday from 10 a.m. to 1 p.m. where residents can tour the police and fire stations, get a close-up look at emergency vehicles, and enjoy balloon animals, music, and food.
Bryn Mawr College this month released new guidelines for students protesting on campus, including the use of bullhorns and which campus spaces students can occupy. The school is also encouraging students to schedule demonstrations through its facilities platform, something that’s left both professors and students concerned. (The Bi-College News)
🏫 Schools Briefing
LMSD is hosting one of four community events regarding its new strategic plan next Wednesday from 6:30 to 8:30 p.m. The event will be held in the Lower Merion High School cafeteria, where residents can hear ideas and offer input on the five-year plan running from 2026 to 2031.
Mark your calendars: The district’s book fairs continue today and tomorrow. There will be a trunk-or-treat event at Penn Valley Elementary on Saturday from 2:30 to 4 p.m., with another planned at Merion Elementary next Thursday at 5:30 p.m. Saturday is also Lower Merion High School’s homecoming dance and next week is LMHS spirit week. See all the district’s events here.
Carlino’s Market is expanding, now selling its products at 10 Wegmans stores in southeastern Pennsylvania. The popular Ardmore market expects to triple its sales and production as a result. Its signature sauces will roll out to other Wegmans locations in Delaware, New Jersey, and New York in the coming months. (Philadelphia Business Journal)
🎳 Things to Do
👻 Halloween Funky Brunch & Market: This family-friendly event includes craft vendors, live music, and trick-or-treating for kids. ⏰ Saturday, Oct. 25, 11 a.m.-3 p.m. 💵 Free 📍 Ardmore Music Hall
🎶 Wicked Singalong: In anticipation of the release of Wicked: For Good, watch the first movie and sing along to the hits. Registration is required. ⏰ Saturday, Oct. 25, noon-3 p.m. 💵 Free 📍 Penn Wynne Library
🧙♀️ The Witches of Narberth: Kids can scour the borough in search of witches and treats ahead of next week’s Halloween parade. The hunt runs from 1 to 4 p.m. ⏰ Saturday, Oct. 25, 1-4 p.m. 💵 Free 📍 Narberth
🎃 Halloween Party: Now in its fifth year, the Sean King Fund for Inclusive Practices event includes games, face painting, music, and dancing. Costumes are welcome. ⏰ Saturday, Oct. 25, 2-4 p.m. 💵 Free 📍 Linwood Park
🍎 Heirloom Apple Tasting & Baking Contest: Get a taste of apples you won’t find in the grocery store and buy ones to take home. There will also be a baking competition. ⏰ Saturday, Oct. 25, 2-4 p.m. 💵 $7.18-$12.51 📍 Harriton House
🎭 The Phantom of the Opera: The original film, starring Lon Chaney and Mary Philbin, turns 100 this year. To mark the occasion, Bryn Mawr Film Institute will host two screenings of the silent horror flick, accompanied by a live performance from students at the School of Rock Main Line. ⏰ Saturday, Oct. 25 and Sunday, Oct. 26, 11:30 a.m. 💵 $11.75-$16.25 📍 Bryn Mawr Film Institute
🍫 Halloween Crafting: Kids can make four spooky, but edible Halloween-themed crafts while dressed in costumes. ⏰ Sunday, Oct. 26, 4-5 p.m. 💵 $21.20 📍 The Candy Lab
The home spans nearly 4,000 square feet and has a pool and outdoor kitchen.
This four-bedroom Penn Valley home has a sleek interior, with living and family rooms, a dining room, and an eat-in kitchen with an island on the first floor. Upstairs, the primary suite has a fireplace with a sitting area, two walk-in closets, access to a balcony, and a bathroom with a soaking tub and dual vanities. It also has a finished basement with another living room, a bar, media room, and a wine cellar, while outside there’s a patio with a built-in kitchen and a pool. There are open houses today from 4:30 to 6 p.m., and from noon to 2 p.m. tomorrow, Saturday, and Sunday.
By submitting your written, visual, and/or audio contributions, you agree to The Inquirer’s Terms of Use, including the grant of rights in Section 10.
This suburban content is produced with support from the Leslie Miller and Richard Worley Foundation and The Lenfest Institute for Journalism. Editorial content is created independently of the project donors. Gifts to support The Inquirer’s high-impact journalism can be made at inquirer.com/donate. A list of Lenfest Institute donors can be found at lenfestinstitute.org/supporters.
Swarthmore has tabled a proposal to implement an earned income tax after Swarthmore College stepped up to help fill a budget hole.
Swarthmore residents aren’t facing an earned income tax, at least for the time being.
The borough last week agreed to table an unpopular proposal to implement an EIT after Swarthmore College agreed to contribute $638,000 to cover a funding gap left by the closure of Crozer-Chester Medical Center earlier this year, The Inquirer’s Denali Sagner reports.
The borough is, however, considering implementing an emergency services tax. It will continue budget discussions at Monday’s finance committee meeting.
Task wrapped up on Sunday, delivering a bittersweet conclusion to the seven-episode show starring Mark Ruffalo. While the Delco-set HBO mini-series was undoubtedly a cops and robbers-heavy story, it also provided “a brooding, layered examination of fatherhood in various forms,” The Inquirer’s Rosa Cartagena reports. Its ending is exactly what show creator and Berwyn native Brad Ingelsby wanted. Read more about the finale here. (Warning: Spoilers!)
With the conclusion of Task, we’ve also put together a final map of the show’s local filming locations, including the Delaware County Courthouse and Government Center in Media, which was featured in the finale. We also gathered video of some of the cast’s favorite Delco phrases, which you can watch here. Those who watched were treated to some of the region’s wooded scenery, so much so that it prompted The New York Times to refer to the region as “rural America.” The Inquirer’s Jason Nark took issue with that characterization and with another journalist calling the region “downtrodden,” noting “Delco’s not much different from Philadelphia’s other ring counties.”
The Promenade at Granite Run continues to evolve, and come spring, will be home to an IKEA “plan and order point with pick-up” store. Unlike traditional stores, which are shoppable, the smaller format allows customers to meet with IKEA team members to plan out home spaces and then arrange delivery or pick up of their goods. The new store, part of a pad site near Middletown Road, will span about 3,755 square feet.
Despite Democrats holding power in Delaware County Council for the past few years, Republicans see an opening to regain representation after a double-digit property tax increase last year. Voters will elect two members to the five-person board on Nov. 4, and Republicans are hoping to build up traction.
Speaking of the election, Tuesday is the last day for registered voters to request a mail-in ballot for next month’s election. You can apply for a mail-in or absentee ballot here.
Ahead of the holidays, the Media Food Bank is seeking donations for an array of goods, including shelf-stable foods, personal care items, pet food, household goods, and items for babies. Find a list of needed supplies here.
Artist Susan O’Reilly is relocating her eponymous studio from Aston to 415 Dartmouth Ave. in Swarthmore next month, taking over the space formerly home to barbershop Cutz to Cutz. She will offer fine art classes and workshops, as well as individual sessions, with plans to add children’s programming later. The same block will also be home to secondhand store Heart and Soul’d come the new year, which is relocating to 407 Dartmouth Ave. It will maintain its current space at 14 Park Ave. until then, using its new space to show larger pieces like furniture by request. (The Swarthmorean)
Swarthmore is hosting a flu vaccine clinic on Wednesday from 4 to 6 p.m. at the borough council room. Those interested must register in advance.
🏫 Schools Briefing
Media Elementary School is hosting a trunk-or-treat event Friday, and fall theater performances kick off Saturday and run through Tuesday. There’s also a boys basketball tournament this weekend and a community blood drive on Tuesday. See the district’s full calendar here.
Tomorrow ispicture day makeups for Wallingford-Swarthmore students, and on Saturday, Wallingford Elementary is hosting its pancake breakfast and Halloween carnival from 8 a.m. to 1 p.m. See the district’s full calendar here. WSSD is also hosting community conversation sessions on Tuesday with superintendent Russell D. Johnston. The morning session will be held from 9:30 to 10:30 a.m.and an evening session will be from 6 to 7 p.m., both at Strath Haven Middle School.
Martinique Deux, the new live entertainment venue and bar in the basement space of the Phoenix building in Media, is hosting its grand opening tonight. The evening’s live music lineup starts at 7 p.m. with Mike Malloy, followed by Cordelia Blue at 8 p.m., and The Shevlins at 10 p.m.
🎳 Things to Do
🎭 Young Frankenstein: It’s your last chance to catch this musical comedy about a doctor who’s inherited his grandfather’s estate in Transylvania. ⏰ Through Sunday, Oct. 26, times vary 💵 $27-$47 📍 TheMedia Theatre
🍫 Creekside’s Halloween Party: Creekside Swim Club’s community party includes a mad scientist’s lab, costumes, face painting, raffles, and, of course, candy. ⏰ Friday, Oct. 24, 5-7 p.m. 💵 $10 📍 Creekside Swim Club, Wallingford
🛍️ Merchant Night Market: Swarthmore stores will stay open later for this special shopping event. ⏰ Friday, Oct. 24, 5-9 p.m. 💵 Pay as you go 📍 Swarthmore
👻Halloween Parade: Media Borough is hosting its annual Halloween parade, complete with performances by Penncrest and Strath Haven’s marching bands. Put on your costume and join the fun along State Street, where there will also be appearances by the Philadelphia Ghostbusters, and Star Wars cosplayers Garrison Carida and Kyber Base. ⏰ Saturday, Oct. 25, 11 a.m. 💵 Free 📍 State Street, Media
🍬 Haunted Trail: Middletown Township’s Halloween-themed event for kids ages 12 and under includes trick-or-treating and games. ⏰ Saturday, Oct. 25, 4-7:30 p.m. 💵 Free 📍 Sleighton Park
🧙♀️ Costume Party: This month’s Teen Activity Day at the Rocky Run YMCA is a Halloween-themed party. It’s open to 13- to 18-year-olds. ⏰ Saturday, Oct. 25, 5:30-7 p.m. 💵 Free 📍 Rocky Run YMCA, Media
🕺 Delco Dance Night: Put on your costume and dance to tunes at this 21-and-over Halloween-themed event. ⏰ Saturday, Oct. 25, 7-10 p.m. 💵 $15.75 in advance, $20 at the door 📍 Park Avenue Community Center, Swarthmore
🎃 PumpkinPalooza: The Media borough’s event includes a jack-o-lantern stroll and contest, as well as yard games and fall treats. ⏰ Sunday, Oct. 26, 6-7:30 p.m. 💵 Free 📍 Media Community Center lawn
🗡️ Jack The Ripper: A Virtual London Walking Tour for Grown-Ups: Take a virtual walking tour following in the footsteps of the notorious 1800s serial killer. Registration is required. ⏰ Tuesday, Oct. 28, 5:30-6:45 p.m. 💵 Free 📍 Helen Kate Furness Free Library, Wallingford
The home’s family room has a fireplace and connects to the kitchen and dining room.
Situated in the Mills at Rose Valley, this two-story townhome has three bedrooms and three-and-a-half bathrooms. The first floor features a living room, a family room with a fireplace, a dining room, and an eat-in kitchen. The bedrooms are located on the second floor, including a primary suite with a walk-in closet and a bathroom with a soaking tub. The home also has a finished basement that has space for an additional bedroom or a home office, as well as a deck out back.
By submitting your written, visual, and/or audio contributions, you agree to The Inquirer’s Terms of Use, including the grant of rights in Section 10.
This suburban content is produced with support from the Leslie Miller and Richard Worley Foundation and The Lenfest Institute for Journalism. Editorial content is created independently of the project donors. Gifts to support The Inquirer’s high-impact journalism can be made at inquirer.com/donate. A list of Lenfest Institute donors can be found at lenfestinstitute.org/supporters.
Bette E. Landman, 88, of Glenside, Montgomery County, the first female president of Arcadia University, award-winning professor of anthropology at Arcadia and Temple Universities, longtime board member, lecturer, and volunteer, died Thursday, Oct. 16, at Jefferson Abington Hospital. The cause of her death has not been disclosed.
An expert in cultural anthropology, Dr. Landman joined Arcadia, known then as Beaver College, from Temple in 1971 as an assistant professor of anthropology. She was promoted to dean of students in 1976 and rose to vice president of academic affairs and then acting president in 1982 before her appointment as president in 1985.
For the next 19 years, until her retirement in 2004, Dr. Landman doubled the university’s enrollment to more than 3,000 students, increased its endowment from $267,000 to $26 million, supervised construction of seven buildings, and expanded international study programs. She also maneuvered successfully through an eight-month maintenance staff strike in 1993 and initiated the school’s name and academic status change from Beaver College to Arcadia University in 2001.
She adroitly addressed the school’s thorny financial issues, strengthened its liberal arts program and College of Global Studies, and diversified the student body. “The school has come up from the floor, and it’s because of her,” Joseph Castle 2nd, then chair of Arcadia’s board of trustees, told The Inquirer in 2004.
When she retired, Arcadia colleague Gene Bucci said: “It’s a sad day. Bette is the college.” Another colleague, Norman Johnston, said: “Without her, there might not even be a college here anymore.”
In a recent tribute, current Arcadia president Ajay Nair praised Dr. Landman’s “extraordinary vision and unwavering dedication to access and inclusion.” He said: “Her spirit, vision, light, and legacy will forever remain a central part of the university.”
Dr. Landman studied marriage, child-rearing, and other social constructs for nine months on the remote Caribbean island of Canouan for her doctoral dissertation in 1965 and ’66, and she lectured for decades around the country on evolution and human relationships. She evaluated academic programs and advised colleges around the world, and said often that expansive educations are vital for everyday success.
“A baccalaureate degree must expose men and women to arts and sciences,” she told The Inquirer in 1992. “It gives breadth to what they do. I realize people work and need job skills, but the really basic skills are critical thinking, problem solving, and the ability to make judgements and effective communication, oral and written.”
Dr. Landman became president at Arcadia in 1985.
She was also effective in improving Arcadia’s athletic program and was inducted into its Hall of Fame in 2009. She held leadership roles in the National Collegiate Athletic Association and Pennsylvania Athletic Conference, and Arcadia officials said on the Hall of Fame website: “Bette Landman put our university on the national map in athletics.”
Over the years, Arcadia officials named their new Landman Library in her honor, awarded her an honorary doctorate of education, and created the Bette Landman Award for students dedicated to academic success, community service, and global learning. Before Arcadia, she was an assistant professor of anthropology for five years at Springfield College in Massachusetts and then at Temple from 1969 to 1971.
She earned a bachelor’s degree in elementary education and graduated first in her class of 1959 at Bowling Green State University in Ohio. At Ohio State University, she earned a master’s degree in physical anthropology in 1961 and a doctorate in cultural anthropology in 1972.
“She treated every student like we were part of her family,” a former student said in a tribute. “She knew us by name. All university presidents should aspire to be like Bette.”
Dr. Landman taught anthropology at Springfield College and Temple and Arcadia Universities.
As a volunteer, Dr. Landman was president of the charitable Arcadia Foundation and chair of boards and commissions for the Association of American Colleges, the American Red Cross, and other groups. She was on boards for the National Association of Independent Colleges and Universities, Abington Memorial Hospital, and Wilson College.
She was named a Distinguished Daughter of Pennsylvania in 1992 by theFoundation for Enhancing Communities and earned a lifetime achievement award in 2003 from the Pennsylvania Council on International Education. In 1992, the Pennsylvania chapter of the American Council on Education created an award in her name to honor a leader in women’s education in Pennsylvania.
She never really enjoyed fundraising, colleagues said, so she assembled a formidable staff around her. Her brother, Todd, said: “She was a tremendous team builder.” A former colleague said on Facebook: “Everyone who worked around Bette loved her.”
The Springfield Union wrote about Dr. Landman’s doctoral dissertation in 1966.
Bette Emmeline Landman was born July 18, 1937, in Piqua, Ohio. She grew up with an older sister, Patricia, and a younger brother, Todd, and she told memorable bedtime stories to her brother when they were young.
She worked odd jobs during her high school years, earned a teaching scholarship to Bowling Green, and taught fifth grade in Ohio before joining Springfield College in 1963.
At Arcadia, she liked to host student gatherings at the president’s residence, and her personal library was filled with books on history, art, and architecture. Friends noted her “infectious smile” and called her “a wonderful woman” and “an incredible lady.”
Her brother said: “She was a very compassionate person. She was committed to success.”
This article about Dr. Landman appeared in The Inquirer in 2003.
In addition to her brother, Dr. Landman is survived by other relatives. Her sister died earlier.
HBO's Task once again brought the Philadelphia region back into the spotlight over its seven-episode run, showcasing a slew of local spots from Ridley Township to Coatesville and beyond.
And with the series wrapped, we can say: Creator Brad Ingelsby did right by Delco, where the series is largely set.
Sure, the accents were pretty great — but as we look back at the show, it's clear that the Philadelphia region was integral to Task. Here, we've rounded up all the local spots — sans private homes — we could identify in Task. Check out the map below to see what locations wound up the show, and why the series takes us there:
Loading…
Aston Township
Mirenda Center at Neumann University
First seen in episode one
Courtesy of Neumann University
Tom (Mark Ruffalo) mans a table at a job fair here while temporarily working as a recruiter for the FBI. Next to his station, the distinctive pillars of the center’s atrium are visible.
Collingdale
Rita’s Italian Ice & Frozen Custard
First seen in episode one
Alejandro A. Alvarez / Staff Photographer
Emily (Silvia Dionicio), Tom’s daughter, works her part-time job here. In the scene where it is shown, Tom orders a black cherry water ice, a flavor choice of which we approve.
Philadelphia
Former Philadelphia Police Department Headquarters
First seen in episode one
Jessica Griffin / Staff Photographer
We get a brief glimpse of the exterior of the former Philadelphia police headquarters, colloquially known as the Roundhouse. Whether the interior is the same building is unclear, but in the show, this appears to be where the FBI’s Philly field office is located.
Bangor
Bangor Quarry
First seen in episode one
Robbie (Tom Pelphrey), Cliff (Raúl Castillo), and Peaches (Owen Teague) head here for a post-robbery swim. On a real-life note, you should not do the same — not only is it dangerous, but it’s also trespassing, according to the Bangor Borough Police Department.
Coatesville
Lincoln Highway and 2nd Avenue
First seen in episode two
TOM GRALISH / Staff Photographer
The Dark Hearts motorcycle gang rides through this intersection in formation, the giveaway being Presence Bank in the background in one shot.
Coatesville
Polish American Citizens Club
First seen in episode two
Courtesy of HBO
Done up as the so-called Lefty’s Taproom in the show, this location serves as the Dark Hearts’ clubhouse and watering hole. In real life, it’s just off Lincoln Highway, lending a bit of realism to the gang’s ride through downtown Coatesville.
Aston Township
Martin’s Taphouse
First seen in episode two
Martin's stands in as the exterior of the Tip Top Lounge in the series, which we see in this episode stacked with motorcycles parked outside the front door.
Sharon Hill
Dixon’s Lounge
First seen in episode two
Courtesy of HBO
While the exterior of the Tip Top Lounge is in Aston, the interior bears a striking resemblance to Delco’s own Dixon’s Lounge. Here, Robbie and Cliff are stood up by an, ahem, “business partner” before walking out on an order of crabfries.
Boothwyn
Willowbrook Shopping Center
First seen in episode two
Isaiah Vazquez / For The Inquirer
Maeve (Emilia Jones) takes Sam (Ben Lewis Doherty) to a fictional “Val-U Corner” store here with the intent of dropping him off for police to find before the plan goes awry. The store is located near the real Blue Cherry Ice Cream and Bakery, which is visible in the background.
Phoenixville
Phoenixville Area High School
First seen in episode two
During his search for his daughter, Emily (Silvia Dionicio), Tom (Mark Ruffalo) finds her in the dugout of a baseball field that, in real life, is at Phoenixville Area High School. Its distinctive backstop is visible from a bird's-eye view in the series.
Philadelphia
Ralph’s Italian Restaurant
First seen in episode three
MICHAEL KLEIN / Staff
Dark Hearts leaders Jayson (Sam Keeley) and Perry (Jamie McShane) walk through the kitchen here to meet with local drug kingpin Freddy Frias (Elvis Nolasco), but in the show, it doesn’t appear to be serving the Italian food we’re used to in real life.
Aston Township
Mount Hope Cemetery
First seen in episode three
Isaiah Vazquez / For The Inquirer
It’s a very quick shot, but it’s there just under four minutes into the episode. In the background, you can see the Commodore Barry Bridge, and graves on a hill in the cemetery in the foreground.
Union Township
Sixpenny Creek Quarry
First seen in episode three
Courtesy of HBO
Robbie (Tom Pelphrey) and Cliff (Raúl Castillo) finally get their meeting with Eryn (Margarita Levieva), their Dark Hearts insider, but it doesn’t go according to plan.
Upper Darby
Llanerch Diner
First seen in episode three
Tom Gralish / Staff Photographer
Taskforce members Aleah (Thuso Mbedu) and Lizzie (Alison Oliver) head to Upper Darby's famed Llanerch Diner for a tip on the drug house robberies they're investigating, and get a break in the case.
Lansdowne
Rosedon Plaza
First seen in episode three
Jose F. Moreno / Staff Photographer
In the background of one shot during the chase for Ray (Peter Patrikios), you can see the old Doc's Deli (Deli Green). That puts Ray in the corner of the Rosedon Plaza parking lot as Lizzie (Alison Oliver) makes the arrest.
Coatesville
Coatesville Police Department
First seen in episode three
Steven M. Falk / For The Inquirer
Whether the interior is the same station isn’t clear, but an exterior shot sets this spot up as the place where the Task team interrogates Ray (Peter Patrikios) and Shelley (Mickey Sumner). Out front, a police cruiser reads “Delaware County Sheriff,” which is a little far from home.
Holmes
The Ridley House
First seen in episode three
Isaiah Vazquez / For The Inquirer
Following the chase and interrogation, Lizzie (Alison Oliver) and Grasso (Fabien Frankel) head to this local bar to unwind. Grasso indicates it is a Barnaby’s, which, in real life, was true at one point – until the location became the Ridley House in 2019.
King of Prussia
Pennsylvania Turnpike on-ramp
First seen in episode four
TOM GRALISH / Staff Photographer
It’s a quick shot as Tom (Mark Ruffalo) drives around at the beginning of the episode, but you can just make out the LasikPlus building on Mall Boulevard in the background. That puts this Pennsylvania Turnpike entrance in King of Prussia.
Malvern
I-76 Exit 320
First seen in episode four
Tom (Mark Ruffalo) appears to take this exit as he is driving to meet his fellow taskforce members.
Marcus Hook
Marcus Hook Community Center
First seen in episode four
Erin Blewett / For The Inquirer
As County Chief Dorsey (Raphael Sbarge) exits the building, you can see a door tagged with “Delaware County Sheriff’s Office.” But the green awning above him is a dead giveaway — that’s the Marcus Hook Community Center.
Aston Township
Rockdale Industrial Center
First seen in episode four
It's disguised as a trucking depot in the series, but this is where Robbie (Tom Pelphrey) and Cliff (Raúl Castillo) travel with Sam (Ben Lewis Doherty) to arrange transportation for their escape into Canada before being confronted by a Good Samaritan.
Chester
Upland Diner
First seen in episode four
Erin Blewett / For The Inquirer
Upland Diner’s parking lot serves as Robbie’s (Tom Pelphrey) holding area during this episode’s drug deal. Unfortunately, we only get an exterior shot of the building, but the restaurant’s vintage-style sign is proudly on display. Great pancakes, for the record.
Newtown Square
Ridley Creek State Park entrance
First seen in episode four
JOSE F. MORENO / Staff Photographer
Cliff (Raúl Castillo) can be seen turning onto North Sandy Flash Drive from Gradyville Road as he heads to the drug deal meeting spot. If you look closely, you can just barely make out a sign for Ridley Creek State Park.
Wilmington, Del.
Beaver Creek
First seen in episode four
It's tough to spot, but the dam that Cliff (Raúl Castillo) parks his car next to during this episode's failed drug deal — or, more accurately, the Dark Hearts' setup — appears to be in Beaver Creek on the Delaware-Pennsylvania border.
Coatesville
City Clock Apartments
First seen in episode four
Steven M. Falk / For The Inquirer
Another brief shot, but the clock face on the tower of the City Clock Apartments is prominently featured. The building formerly was the National Bank of Coatesville, and has been on the National Register of Historic Places since 1977.
Downingtown
Coatesville-Downingtown Bypass
First seen in episode five
FBI Boss Kathleen McGinty (Martha Plimpton) and the rest of the task force swerve across traffic here while looking for Tom (Mark Ruffalo). In the background, you can just make out the sign for Pacer Pool Services & Supplies.
Downingtown
Marsh Creek State Park
First seen in episode five
After surviving his encounter with Robbie (Tom Pelphrey), Tom (Mark Ruffalo) emerges from the woods to see a beautiful summer scene of families enjoying the lake at Marsh Creek State Park.
Boothwyn
I-95 Pennsylvania Welcome Center
First seen in episode five
Erin Blewett / For The Inquirer
FBI boss Kathleen McGinty (Martha Plimpton) stuffs her face with fast food at the center's picnic tables as the task crew looks for their leader. As McGinty explains, she is “an emotional eater.”
Everett
Woy Bridge
First seen in episode five
In what is likely the farthest-flung filming location – at least in relation to the rest of the local spots – we get some shots of Everett’s Woy Bridge in Bedford County as the taskforce closes in on Robbie (Tom Pelphrey).
Milmont Park
Our Lady of Peace Parish
First seen in episode six
RON TARVER / Staff Photographer
Though disguised well as a juvenile detention facility in the show, this little Delco parish provides at least the exterior shots for where Tom (Mark Ruffalo) meets Sam (Ben Lewis Doherty) for the first time.
Coatesville
High Bridge
First seen in episode seven
This instantly recognizable Coatesville landmark serves as the location for where County Chief Dorsey (Raphael Sbarge) appears to seal Grasso's (Fabien Frankel) fate with the Dark Hearts.
Media
Delaware County Courthouse and Government Center
First seen in episode seven
Courtesy of Delaware County Government Center and Courthouse
Here, Tom (Mark Ruffalo) gives a touching family statement at a court hearing for his son, Ethan (Andrew Russel), in what is the emotional climax of the series. As The Inquirer reported last year, the production took over Courtroom 15 for filming.
story continues after advertisement
Explore the map of all locations at your own pace. Tap onHover overa pin to learn more.
That's it for Task. But rest assured, if HBO decides to focus on Philly again, we'll be back. Until then, see youse later.
Staff Contributors
Design and Development: Sam Morris
Reporting: Nick Vadala
Editing: Emily Babay
First seen in episode
(()=>{var fr=Object.create;var _e=Object.defineProperty;var dr=Object.getOwnPropertyDescriptor;var pr=Object.getOwnPropertyNames;var vr=Object.getPrototypeOf,gr=Object.prototype.hasOwnProperty;var et=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var mr=(e,t,r,n)=>{if(t&&typeof t==”object”||typeof t==”function”)for(let i of pr(t))!gr.call(e,i)&&i!==r&&_e(e,i,{get:()=>t[i],enumerable:!(n=dr(t,i))||n.enumerable});return e};var yr=(e,t,r)=>(r=e!=null?fr(vr(e)):{},mr(t||!e||!e.__esModule?_e(r,”default”,{value:e,enumerable:!0}):r,e));var ft=et(I=>{var Sr={0:”Jan.”,1:”Feb.”,2:”March”,3:”April”,4:”May”,5:”June”,6:”July”,7:”Aug.”,8:”Sept.”,9:”Oct.”,10:”Nov.”,11:”Dec.”};function at(e){return e===void 0&&(e=new Date),Sr[e.getMonth()]}var xr={0:”Jan”,1:”Feb”,2:”Mar”,3:”Apr”,4:”May”,5:”Jun”,6:”Jul”,7:”Aug”,8:”Sep”,9:”Oct”,10:”Nov”,11:”Dec”};function lt(e){return e===void 0&&(e=new Date),xr[e.getMonth()]}function ne(e){return e==null}function ht(e){return typeof e==”number”&&isFinite(e)}function Se(e){return ht(e)&&Math.floor(e)===e}var Tr=[“one”,”two”,”three”,”four”,”five”,”six”,”seven”,”eight”,”nine”],Cr=[“million”,”billion”,”trillion”,”quadrillion”,”quintillion”,”sextillion”,”septillion”,”octillion”,”nonillion”,”decillion”],ut=[“th”,”st”,”nd”,”rd”,”th”,”th”,”th”,”th”,”th”,”th”],Lr=[11,12,13];function ct(e){if(ne(e))return””;var t=+e;return Se(t)?Lr.indexOf(t%100)>-1?ut[0]:ut[t%10]:””}var Pr=[“first”,”second”,”third”,”fourth”,”fifth”,”sixth”,”seventh”,”eighth”,”ninth”],Ar=new RegExp(/s+([^s]*)s*$/);I.apdate=function(e){return e===void 0&&(e=new Date),at(e)+” “+e.getDate()+”, “+e.getFullYear()},I.apdatetab=function(e){return e===void 0&&(e=new Date),lt(e)+” “+e.getDate()+”, “+e.getFullYear()},I.apmonth=at,I.apmonthtab=lt,I.apnumber=function(e){if(ne(e))return””;var t=+e;return Se(t)?t=10?e.toString():Tr[t-1]:e.toString()},I.aptime=function(e){e===void 0&&(e=new Date);var t,r,n=e.getHours(),i=e.getMinutes(),o=i===0;if(o){if(n===0)return”midnight”;if(n===12)return”noon”}return n0?n:12):(t=”p.m.”,r=n===12?n:n-12),o?r+” “+t:r+”:”+(i<10?"0"+i:i)+" "+t},I.capfirst=function(e){if(ne(e))return"";var t=String(e);return""+t.charAt(0).toUpperCase()+t.slice(1)},I.intcomma=function(e){if(ne(e))return"";var t,r=+e;return ht(r)?((t=r.toString().split("."))[0]=t[0].replace(/B(?=(d{3})+(?!d))/g,","),t.join(".")):e.toString()},I.intword=function(e){if(ne(e))return"";var t=+e;if(!Se(t))return e.toString();var r=Math.abs(t);if(r<1e6)return e.toString();var n=Math.ceil(Math.log(r+1)/Math.LN10)-1,i=n-n%3,o=t/Math.pow(10,i);return(o=Math.round(10*o)/10)+" "+Cr[Math.floor(i/3)-2]},I.ordinal=function(e,t){if(t===void 0&&(t=!1),ne(e))return"";var r=+e;return Se(r)?t&&r{(function(e,t){typeof We==”object”&&typeof je<"u"?je.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis=h?m:””+Array(h+1-p.length).join(u)+m},K={s:O,z:function(m){var h=-m.utcOffset(),u=Math.abs(h),p=Math.floor(u/60),c=u%60;return(h<=0?"+":"-")+O(p,2,"0")+":"+O(c,2,"0")},m:function m(h,u){if(h.date()<u.date())return-m(u,h);var p=12*(u.year()-h.year())+(u.month()-h.month()),c=h.clone().add(p,f),y=u-c<0,w=h.clone().add(p+(y?-1:1),f);return+(-(p+(u-c)/(y?c-w:w-c))||0)},a:function(m){return m1)return m(w[0])}else{var b=h.name;$[b]=h,c=b}return!p&&c&&(C=c),c||!p&&C},E=function(m,h){if(ie(m))return m.clone();var u=typeof h==”object”?h:{};return u.date=m,u.args=arguments,new te(u)},M=K;M.l=oe,M.i=ie,M.w=function(m,h){return E(m,{locale:h.$L,utc:h.$u,x:h.$x,$offset:h.$offset})};var te=function(){function m(u){this.$L=oe(u.locale,null,!0),this.parse(u),this.$x=this.$x||u.x||{},this[R]=!0}var h=m.prototype;return h.parse=function(u){this.$d=function(p){var c=p.date,y=p.utc;if(c===null)return new Date(NaN);if(M.u(c))return new Date;if(c instanceof Date)return new Date(c);if(typeof c==”string”&&!/Z$/i.test(c)){var w=c.match(F);if(w){var b=w[2]-1||0,A=(w[7]||”0″).substring(0,3);return y?new Date(Date.UTC(w[1],b,w[3]||1,w[4]||0,w[5]||0,w[6]||0,A)):new Date(w[1],b,w[3]||1,w[4]||0,w[5]||0,w[6]||0,A)}}return new Date(c)}(u),this.init()},h.init=function(){var u=this.$d;this.$y=u.getFullYear(),this.$M=u.getMonth(),this.$D=u.getDate(),this.$W=u.getDay(),this.$H=u.getHours(),this.$m=u.getMinutes(),this.$s=u.getSeconds(),this.$ms=u.getMilliseconds()},h.$utils=function(){return M},h.isValid=function(){return this.$d.toString()!==x},h.isSame=function(u,p){var c=E(u);return this.startOf(p)<=c&&c<=this.endOf(p)},h.isAfter=function(u,p){return E(u)<this.startOf(p)},h.isBefore=function(u,p){return this.endOf(p)<E(u)},h.$g=function(u,p,c){return M.u(u)?this[p]:this.set(c,u)},h.unix=function(){return Math.floor(this.valueOf()/1e3)},h.valueOf=function(){return this.$d.getTime()},h.startOf=function(u,p){var c=this,y=!!M.u(p)||p,w=M.p(u),b=function(j,H){var J=M.w(c.$u?Date.UTC(c.$y,H,j):new Date(c.$y,H,j),c);return y?J:J.endOf(a)},A=function(j,H){return M.w(c.toDate()[j].apply(c.toDate("s"),(y?[0,0,0,0]:[23,59,59,999]).slice(H)),c)},k=this.$W,D=this.$M,z=this.$D,X="set"+(this.$u?"UTC":"");switch(w){case l:return y?b(1,0):b(31,11);case f:return y?b(1,D):b(0,D+1);case d:var q=this.$locale().weekStart||0,Q=(k<q?k+7:k)-q;return b(y?z-Q:z+(6-Q),D);case a:case v:return A(X+"Hours",0);case s:return A(X+"Minutes",1);case o:return A(X+"Seconds",2);case i:return A(X+"Milliseconds",3);default:return this.clone()}},h.endOf=function(u){return this.startOf(u,!1)},h.$set=function(u,p){var c,y=M.p(u),w="set"+(this.$u?"UTC":""),b=(c={},c[a]=w+"Date",c[v]=w+"Date",c[f]=w+"Month",c[l]=w+"FullYear",c[s]=w+"Hours",c[o]=w+"Minutes",c[i]=w+"Seconds",c[n]=w+"Milliseconds",c)[y],A=y===a?this.$D+(p-this.$W):p;if(y===f||y===l){var k=this.clone().set(v,1);k.$d[b](A),k.init(),this.$d=k.set(v,Math.min(this.$D,k.daysInMonth())).$d}else b&&this.$d[b](A);return this.init(),this},h.set=function(u,p){return this.clone().$set(u,p)},h.get=function(u){return this[M.p(u)]()},h.add=function(u,p){var c,y=this;u=Number(u);var w=M.p(p),b=function(D){var z=E(y);return M.w(z.date(z.date()+Math.round(D*u)),y)};if(w===f)return this.set(f,this.$M+u);if(w===l)return this.set(l,this.$y+u);if(w===a)return b(1);if(w===d)return b(7);var A=(c={},c[o]=t,c[s]=r,c[i]=e,c)[w]||1,k=this.$d.getTime()+u*A;return M.w(k,this)},h.subtract=function(u,p){return this.add(-1*u,p)},h.format=function(u){var p=this,c=this.$locale();if(!this.isValid())return c.invalidDate||x;var y=u||"YYYY-MM-DDTHH:mm:ssZ",w=M.z(this),b=this.$H,A=this.$m,k=this.$M,D=c.weekdays,z=c.months,X=c.meridiem,q=function(H,J,se,ae){return H&&(H[J]||H(p,y))||se[J].slice(0,ae)},Q=function(H){return M.s(b%12||12,H,"0")},j=X||function(H,J,se){var ae=H{window.addEventListener(“resize”,()=>{rt(),$e()}),window.addEventListener(“scroll”,()=>{$e()})},rt=()=>{wr.setAttribute(“viewBox”,`0 0 ${window.innerWidth} ${window.innerHeight}`)},$e=()=>{let e=document.querySelector(“.js-steps”).dataset.current;re!==e&&(re=e,ot()),!re||re==”all”?it():nt()},nt=()=>{if(re){let e=document.querySelector(`.js-steps-step[data-step=”${re}”] .js-steps-pin`),t=document.querySelector(“.js-map-location.is-current .js-map-pin”);if(t){let r=e.getBoundingClientRect(),n=t.getBoundingClientRect(),o=document.querySelector(“.js-steps”).getBoundingClientRect(),s=o.top>0?o.top:0,a=r.width/2;ce.setAttribute(“y1”,r.top+a-s),ce.setAttribute(“x1”,r.left+a),ce.setAttribute(“y2”,n.top+a-s),ce.setAttribute(“x2”,n.left+a)}}},it=()=>{ce.classList.add(“is-hidden”)},Mr=()=>{ce.classList.remove(“is-hidden”)},ot=()=>{it(),clearTimeout(tt),tt=setTimeout(()=>{re!==void 0&&re!==”all”&&(nt(),Mr())},1200)},st={init:()=>{br(),rt(),$e()},onChange:()=>{ot()}};var Rn=ft();var ze=e=>{if(e)return e.trim().toLowerCase().normalize(“NFD”).replace(/[u0300-u036f]/g,””).replace(/[^A-Z0-9 ]/gi,””).trim().replace(/ /g,”-“)};var dt=()=>/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);var pe=(e,t=null,r=null)=>{r||(r=document.querySelector(“head”));let n=document.createElement(“script”);n.type=”text/javascript”,n.src=e,t&&(n.onload=t),r.appendChild(n)},pt=()=>(window.PMNdataLayer?.[0]!==void 0&&window.PMNdataLayer[0])?.analytics?.user?.state===”Subscribed”,vt=()=>{let t=(window.PMNdataLayer?.[0]!==void 0&&window.PMNdataLayer[0])?.analytics?.user?.state;return window.location.host.includes(“zzz-systest”)||window.location.host.includes(“pmn.arcpublishing.com”)||window.location.host.includes(“stage.fusion.inquirer.com”)||typeof t>”u”},gt=()=>{let t=(window.PMNdataLayer?.[0]!==void 0&&window.PMNdataLayer[0])?.analytics?.user?.hasAdsFreeReading;return!!(t&&t==1)},Be=()=>window.location.host.includes(“localhost”),xe=(e,t=””)=>{let r=document.querySelector(`template#${e}`);if(!r||!(r instanceof HTMLTemplateElement))return console.log(`Couldn’t find .`),null;let n=r.content.cloneNode(!0).childNodes;if(n.length==0)return console.log(`Template ${r} has no children, returning null.`),null;n.length>1&&console.log(`Template ${r} has multiple children, only returning the first.`);let i=n[0];return i.setAttribute(“data-id”,t),i},Te=(e,t)=>{let r=[…e.querySelectorAll(“[data-populate]”)];e.dataset.populate&&r.unshift(e);let n=r.filter(i=>{let o=i.closest(“[data-populate-context]”);return!o||o==e});for(let i of n){let s=i.dataset.populate.trim().split(/s*,s*/).map(a=>a.split(/s*:s*/));for(let[a,d]of s){let g=a.split(“.”).reduce((x,F)=>x?.[F],t),l=g==null||g==null,v=d?.split(/s+/)||[“innerHTML”];for(let x of v)x.startsWith(“.”)&&i.classList.toggle(x.substring(1),l?!1:g),!l&&(x==”innerHTML”?i.innerHTML=g:x.startsWith(“@”)?i.setAttribute(x.substring(1),g):x.startsWith(“–“)&&i.style.setProperty(x,g))}}};var Er=()=>{gt()&&document.querySelectorAll(“.js-adbox”).forEach(t=>{t.classList.add(“is-hidden”)})},mt={init:()=>{Er()}};var le,yt,kr=()=>{le=document.getElementById(“js-inno-toast”)},Dr=e=>{if(!le)return;le.innerHTML=e,le.classList.add(“inno-toast–active”);let t=()=>{le.addEventListener(“transitionend”,$r,{once:!0}),le.classList.remove(“inno-toast–active”)};clearTimeout(yt),yt=setTimeout(t,5e3)},$r=()=>{le.innerHTML=””},ue={init:()=>{kr()},showToast:Dr};var Ce,wt=!1,zr=async()=>new Promise(e=>{setTimeout(()=>{console.log(“simulating createShareLink for localhost”),e(“https://inquirer.com/interactives”),Br()},100)}),Br=()=>{let e=document.querySelector(“.js-gift-toast-receiver”);!e||!(e instanceof HTMLElement)||setTimeout(()=>{let t=e?.querySelector(“span”);t&&(t.innerHTML=”Gift link copied to clipboard“)},20)},Fr=()=>{let e=window.services?.createShareLink;e&&(Ce=e),Be()&&(Ce=zr),Ce&&Or()},Hr=async e=>{let t=”text/plain”,r=async()=>{try{return await Ce(window.location.pathname)}catch{e.dataset.state=”error”,ue.showToast(“Hmm, we couldn’t generate a gift link…”)}},n=new ClipboardItem({[t]:r()});await navigator.clipboard.write([n]).catch(i=>{console.log(i),ue.showToast(“Couldn’t copy to clipboard, try again?”),e.dataset.state=”error”}),ue.showToast(“Gift link copied to clipboard!”),e.dataset.state=”complete”},Or=()=>{document.querySelectorAll(“.js-gift”).forEach(t=>{(pt()||Be()||vt())&&t.classList.add(“is-available”)}),document.querySelectorAll(“.js-gift-button”).forEach(t=>{t instanceof HTMLButtonElement&&t.addEventListener(“click”,()=>{t.classList.contains(“disabled”)||(t.dataset.state=”loading”,wt=!0,Hr(t),setTimeout(()=>{t.dataset.state=”ready”},2e3))})});let e=document.querySelector(“.js-gift-toast-receiver”);!e||!(e instanceof HTMLElement)||Rr(e)},Rr=e=>{new MutationObserver(r=>{for(let n of r){let i=[…n.addedNodes].at(0);if(!(i instanceof HTMLElement))return;wt&&ue.showToast(i.outerHTML)}}).observe(e,{subtree:!0,childList:!0})},bt={init:()=>{Fr()}};var Ur=()=>{window.addEventListener(“message”,e=>{if(e.data[“datawrapper-height”]){let t=e.data[“datawrapper-height”];for(let r in t)document.querySelector(`#datawrapper-chart-${r}`).setAttribute(“height”,t[r])}})},Ir=()=>{document.querySelectorAll(“.js-datawrapper-graphic”).forEach(e=>{pe(`https://datawrapper.dwcdn.net/${e.dataset.id}/embed.js`,null,e)})},qr=()=>{window.addEventListener(“message”,e=>{let t=e.data;document.querySelectorAll(`iframe[src*=”${t.id}”]`).forEach(n=>{n.style.height=`${t.height}px`})},!1)},Gr=()=>{document.querySelectorAll(“.js-pym-graphic”).forEach(e=>{if(typeof window{new window.pym.Parent(e.id,e.dataset.iframe)};typeof window.pym>”u”?pe(“https://pym.nprapps.org/pym.v1.min.js”,t):t()}})},Mt={init:()=>{Ur(),Ir(),Gr(),qr()}};var ve,Nr=()=>{document.querySelectorAll(“.js-hover”).forEach(e=>{e.addEventListener(“click”,()=>{St(e)}),e.addEventListener(“mouseenter”,()=>{St(e)}),e.addEventListener(“mouseout”,()=>{xt(e)})}),window.addEventListener(“scroll”,()=>{ve!==null&&Zr()})},Zr=()=>{(ve>window.scrollY+100||ve{xt(e)})},St=e=>{e.classList.add(“is-visible”),ve=window.scrollY},xt=e=>{e.classList.remove(“is-visible”),ve=null},Tt={init:()=>{Nr()}};var N=Uint8Array,he=Uint16Array,Wr=Int32Array,Ct=new N([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Lt=new N([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),jr=new N([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Pt=function(e,t){for(var r=new he(31),n=0;n<31;++n)r[n]=t+=1<<e[n-1];for(var i=new Wr(r[30]),n=1;n<30;++n)for(var o=r[n];o<r[n+1];++o)i[o]=o-r[n]<<5|n;return{b:r,r:i}},At=Pt(Ct,2),Et=At.b,Jr=At.r;Et[28]=258,Jr[258]=28;var kt=Pt(Lt,0),Yr=kt.b,Vn=kt.r,Oe=new he(32768);for(S=0;S>1|(S&21845)<>2|(_&13107)<>4|(_&3855)<>8|(_&255)<>1;var _,S,ge=function(e,t,r){for(var n=e.length,i=0,o=new he(t);i<n;++i)e[i]&&++o[e[i]-1];var s=new he(t);for(i=1;i<t;++i)s[i]=s[i-1]+o[i-1]<<1;var a;if(r){a=new he(1<<t);var d=15-t;for(i=0;i<n;++i)if(e[i])for(var f=i<<4|e[i],g=t-e[i],l=s[e[i]-1]++<<g,v=l|(1<<g)-1;l>d]=f}else for(a=new he(n),i=0;i>15-e[i]);return a},me=new N(288);for(S=0;S<144;++S)me[S]=8;var S;for(S=144;S<256;++S)me[S]=9;var S;for(S=256;S<280;++S)me[S]=7;var S;for(S=280;S<288;++S)me[S]=8;var S,Dt=new N(32);for(S=0;S<32;++S)Dt[S]=5;var S;var Vr=ge(me,9,1);var Kr=ge(Dt,5,1),Fe=function(e){for(var t=e[0],r=1;rt&&(t=e[r]);return t},Y=function(e,t,r){var n=t/8|0;return(e[n]|e[n+1]<>(t&7)&r},He=function(e,t){var r=t/8|0;return(e[r]|e[r+1]<<8|e[r+2]<>(t&7)},Xr=function(e){return(e+7)/8|0},Qr=function(e,t,r){return(t==null||te.length)&&(r=e.length),new N(e.subarray(t,r))};var _r=[“unexpected EOF”,”invalid block type”,”invalid length/literal”,”invalid distance”,”stream finished”,”no stream handler”,,”no callback”,”invalid UTF-8 data”,”extra field too long”,”date not in range 1980-2099″,”filename too long”,”stream finishing”,”invalid zip data”],G=function(e,t,r){var n=new Error(t||_r[e]);if(n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,G),!r)throw n;return n},Re=function(e,t,r,n){var i=e.length,o=n?n.length:0;if(!i||t.f&&!t.l)return r||new N(0);var s=!r,a=s||t.i!=2,d=t.i;s&&(r=new N(i*3));var f=function(ae){var Xe=r.length;if(ae>Xe){var Qe=new N(Math.max(Xe*2,ae));Qe.set(r),r=Qe}},g=t.f||0,l=t.p||0,v=t.b||0,x=t.l,F=t.d,P=t.m,V=t.n,O=i*8;do{if(!x){g=Y(e,l,1);var K=Y(e,l+1,3);if(l+=3,K)if(K==1)x=Vr,F=Kr,P=9,V=5;else if(K==2){var ie=Y(e,l,31)+257,oe=Y(e,l+10,15)+4,E=ie+Y(e,l+5,31)+1;l+=14;for(var M=new N(E),te=new N(19),U=0;U<oe;++U)te[jr[U]]=Y(e,l+U*3,7);l+=oe*3;for(var m=Fe(te),h=(1<<m)-1,u=ge(te,m,1),U=0;U>4;if(C<16)M[U++]=C;else{var c=0,y=0;for(C==16?(y=3+Y(e,l,3),l+=2,c=M[U-1]):C==17?(y=3+Y(e,l,7),l+=3):C==18&&(y=11+Y(e,l,127),l+=7);y–;)M[U++]=c}}var w=M.subarray(0,ie),b=M.subarray(ie);P=Fe(w),V=Fe(b),x=ge(w,P,1),F=ge(b,V,1)}else G(1);else{var C=Xr(l)+4,$=e[C-4]|e[C-3]<i){d&&G(0);break}a&&f(v+$),r.set(e.subarray(C,R),v),t.b=v+=$,t.p=l=R*8,t.f=g;continue}if(l>O){d&&G(0);break}}a&&f(v+131072);for(var A=(1<<P)-1,k=(1<>4;if(l+=c&15,l>O){d&&G(0);break}if(c||G(2),z264){var U=z-257,q=Ct[U];X=Y(e,l,(1<>4;Q||G(3),l+=Q&15;var b=Yr[j];if(j>3){var q=Lt[j];b+=He(e,l)&(1<O){d&&G(0);break}a&&f(v+131072);var H=v+X;if(v<b){var J=o-b,se=Math.min(b,H);for(J+v<0&&G(3);v<se;++v)r[v]=n[J+v]}for(;v<H;++v)r[v]=r[v-b]}}t.l=x,t.p=D,t.b=v,t.f=g,x&&(g=1,t.m=P,t.d=F,t.n=V)}while(!g);return v!=r.length&&s?Qr(r,0,v):r.subarray(0,v)};var en=new N(0);var tn=function(e){(e[0]!=31||e[1]!=139||e[2]!=8)&&G(6,"invalid gzip data");var t=e[3],r=10;t&4&&(r+=(e[10]|e[11]<>3&1)+(t>>4&1);n>0;n-=!e[r++]);return r+(t&2)},rn=function(e){var t=e.length;return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<>>0};var nn=function(e,t){return((e[0]&15)!=8||e[0]>>4>7||(e[0]<>5&1)==+!t&&G(6,”invalid zlib data: “+(e[1]&32?”need”:”unexpected”)+” dictionary”),(e[1]>>3&4)+2};function on(e,t){return Re(e,{i:2},t&&t.out,t&&t.dictionary)}function sn(e,t){var r=tn(e);return r+8>e.length&&G(6,”invalid gzip data”),Re(e.subarray(r,-8),{i:2},t&&t.out||new N(rn(e)),t&&t.dictionary)}function an(e,t){return Re(e.subarray(nn(e,t&&t.dictionary),-4),{i:2},t&&t.out,t&&t.dictionary)}function $t(e,t){return e[0]==31&&e[1]==139&&e[2]==8?sn(e,t):(e[0]&15)!=8||e[0]>>4>7||(e[0]<<8|e[1])%31?on(e,t):an(e,t)}var ln=typeof TextDecodercn(e,”name”,{value:t,configurable:!0}),B=(e,t,r)=>new Promise((n,i)=>{var o=d=>{try{a(r.next(d))}catch(f){i(f)}},s=d=>{try{a(r.throw(d))}catch(f){i(f)}},a=d=>d.done?n(d.value):Promise.resolve(d.value).then(o,s);a((r=r.apply(e,t)).next())}),Qn=T((e,t)=>{let r=!1,n=””,i=L.GridLayer.extend({createTile:T((o,s)=>{let a=document.createElement(“img”),d=new AbortController,f=d.signal;return a.cancel=()=>{d.abort()},r||(e.getHeader().then(g=>{g.tileType===1?console.error(“Error: archive contains MVT vector tiles, but leafletRasterLayer is for displaying raster tiles. See https://github.com/protomaps/PMTiles/tree/main/js for details.”):g.tileType===2?n=”image/png”:g.tileType===3?n=”image/jpeg”:g.tileType===4?n=”image/webp”:g.tileType===5&&(n=”image/avif”)}),r=!0),e.getZxy(o.z,o.x,o.y,f).then(g=>{if(g){let l=new Blob([g.data],{type:n}),v=window.URL.createObjectURL(l);a.src=v,a.cancel=void 0,s(void 0,a)}}).catch(g=>{if(g.name!==”AbortError”)throw g}),a},”createTile”),_removeTile:T(function(o){let s=this._tiles[o];s&&(s.el.cancel&&s.el.cancel(),s.el.width=0,s.el.height=0,s.el.deleted=!0,L.DomUtil.remove(s.el),delete this._tiles[o],this.fire(“tileunload”,{tile:s.el,coords:this._keyToTileCoords(o)}))},”_removeTile”)});return new i(t)},”leafletRasterLayer”),hn=T(e=>(t,r)=>{if(r instanceof AbortController)return e(t,r);let n=new AbortController;return e(t,n).then(i=>r(void 0,i.data,i.cacheControl||””,i.expires||””),i=>r(i)).catch(i=>r(i)),{cancel:T(()=>n.abort(),”cancel”)}},”v3compat”),zt=class{constructor(t){this.tilev4=T((r,n)=>B(this,null,function*(){if(r.type===”json”){let x=r.url.substr(10),F=this.tiles.get(x);if(F||(F=new Le(x),this.tiles.set(x,F)),this.metadata)return{data:yield F.getTileJson(r.url)};let P=yield F.getHeader();return(P.minLon>=P.maxLon||P.minLat>=P.maxLat)&&console.error(`Bounds of PMTiles archive ${P.minLon},${P.minLat},${P.maxLon},${P.maxLat} are not valid.`),{data:{tiles:[`${r.url}/{z}/{x}/{y}`],minzoom:P.minZoom,maxzoom:P.maxZoom,bounds:[P.minLon,P.minLat,P.maxLon,P.maxLat]}}}let i=new RegExp(/pmtiles://(.+)/(d+)/(d+)/(d+)/),o=r.url.match(i);if(!o)throw new Error(“Invalid PMTiles protocol URL”);let s=o[1],a=this.tiles.get(s);a||(a=new Le(s),this.tiles.set(s,a));let d=o[2],f=o[3],g=o[4],l=yield a.getHeader(),v=yield a?.getZxy(+d,+f,+g,n.signal);if(v)return{data:new Uint8Array(v.data),cacheControl:v.cacheControl,expires:v.expires};if(l.tileType===1){if(this.errorOnMissingTile)throw new Error(“Tile not found.”);return{data:new Uint8Array}}return{data:null}}),”tilev4″),this.tile=hn(this.tilev4),this.tiles=new Map,this.metadata=t?.metadata||!1,this.errorOnMissingTile=t?.errorOnMissingTile||!1}add(t){this.tiles.set(t.source.getKey(),t)}get(t){return this.tiles.get(t)}};T(zt,”Protocol”);var Bt=zt;function Ft(e,t){return(t>>>0)*4294967296+(e>>>0)}T(Ft,”toNum”);function Ht(e,t){let r=t.buf,n=r[t.pos++],i=(n&112)>>4;if(n<128||(n=r[t.pos++],i|=(n&127)<<3,n<128)||(n=r[t.pos++],i|=(n&127)<<10,n<128)||(n=r[t.pos++],i|=(n&127)<<17,n<128)||(n=r[t.pos++],i|=(n&127)<<24,n<128)||(n=r[t.pos++],i|=(n&1)<<31,n<128))return Ft(e,i);throw new Error("Expected varint not more than 10 bytes")}T(Ht,"readVarintRemainder");function fe(e){let t=e.buf,r=t[e.pos++],n=r&127;return r<128||(r=t[e.pos++],n|=(r&127)<<7,r<128)||(r=t[e.pos++],n|=(r&127)<<14,r<128)||(r=t[e.pos++],n|=(r&127)<<21,r<128)?n:(r=t[e.pos],n|=(r&15)<<28,Ht(n,e))}T(fe,"readVarint");function Ie(e,t,r,n){if(n===0){r===1&&(t[0]=e-1-t[0],t[1]=e-1-t[1]);let i=t[0];t[0]=t[1],t[1]=i}}T(Ie,"rotate");function Ot(e,t){let r=ye(2,e),n=t,i=t,o=t,s=[0,0],a=1;for(;a26)throw new Error(“Tile zoom level exceeds max safe number limit (26)”);if(t>ye(2,e)-1||r>ye(2,e)-1)throw new Error(“tile x/y outside zoom level bounds”);let n=fn[e],i=ye(2,e),o=0,s=0,a=0,d=[t,r],f=i/2;for(;f>0;)o=(d[0]&f)>0?1:0,s=(d[1]&f)>0?1:0,a+=f*f*(3*o^s),Ie(f,d,o,s),f=f/2;return n+a}T(Rt,”zxyToTileId”);function dn(e){let t=0,r=0;for(let n=0;n<27;n++){let i=(1<<n)*(1<e)return Ot(n,e-t);t+=i}throw new Error(“Tile zoom level exceeds max safe number limit (26)”)}T(dn,”tileIdToZxy”);var pn=(e=>(e[e.Unknown=0]=”Unknown”,e[e.None=1]=”None”,e[e.Gzip=2]=”Gzip”,e[e.Brotli=3]=”Brotli”,e[e.Zstd=4]=”Zstd”,e))(pn||{});function Pe(e,t){return B(this,null,function*(){if(t===1||t===0)return e;if(t===2){if(typeof globalThis.DecompressionStream>”u”)return $t(new Uint8Array(e));let r=new Response(e).body;if(!r)throw new Error(“Failed to read response stream”);let n=r.pipeThrough(new globalThis.DecompressionStream(“gzip”));return new Response(n).arrayBuffer()}throw new Error(“Compression method not supported”)})}T(Pe,”defaultDecompress”);var vn=(e=>(e[e.Unknown=0]=”Unknown”,e[e.Mvt=1]=”Mvt”,e[e.Png=2]=”Png”,e[e.Jpeg=3]=”Jpeg”,e[e.Webp=4]=”Webp”,e[e.Avif=5]=”Avif”,e))(vn||{});function Ut(e){return e===1?”.mvt”:e===2?”.png”:e===3?”.jpg”:e===4?”.webp”:e===5?”.avif”:””}T(Ut,”tileTypeExt”);var gn=127;function It(e,t){let r=0,n=e.length-1;for(;r>1,o=t-e[i].tileId;if(o>0)r=i+1;else if(o=0&&(e[n].runLength===0||t-e[n].tileId-1,o=/Chrome|Chromium|Edg|OPR|Brave/.test(n);this.chromeWindowsNoCache=!1,i&&o&&(this.chromeWindowsNoCache=!0)}getKey(){return this.url}setHeaders(t){this.customHeaders=t}getBytes(t,r,n,i){return B(this,null,function*(){let o,s;n?s=n:(o=new AbortController,s=o.signal);let a=new Headers(this.customHeaders);a.set(“range”,`bytes=${t}-${t+r-1}`);let d;this.mustReload?d=”reload”:this.chromeWindowsNoCache&&(d=”no-store”);let f=yield fetch(this.url,{signal:s,cache:d,headers:a});if(t===0&&f.status===416){let v=f.headers.get(“Content-Range”);if(!v||!v.startsWith(“bytes */”))throw new Error(“Missing content-length on 416 response”);let x=+v.substr(8);f=yield fetch(this.url,{signal:s,cache:”reload”,headers:{range:`bytes=0-${x-1}`}})}let g=f.headers.get(“Etag”);if(g!=null&&g.startsWith(“W/”)&&(g=null),f.status===416||i&&g&&g!==i)throw this.mustReload=!0,new Ue(`Server returned non-matching ETag ${i} after one retry. Check browser extensions and servers for issues that may affect correct ETag headers.`);if(f.status>=300)throw new Error(`Bad response code: ${f.status}`);let l=f.headers.get(“Content-Length”);if(f.status===200&&(!l||+l>r))throw o&&o.abort(),new Error(“Server returned no content-length header or content-length exceeding request. Check that your storage backend supports HTTP Byte Serving.”);return{data:yield f.arrayBuffer(),etag:g||void 0,cacheControl:f.headers.get(“Cache-Control”)||void 0,expires:f.headers.get(“Expires”)||void 0}})}};T(qt,”FetchSource”);var yn=qt;function W(e,t){let r=e.getUint32(t+4,!0),n=e.getUint32(t+0,!0);return r*ye(2,32)+n}T(W,”getUint64″);function Gt(e,t){let r=new DataView(e),n=r.getUint8(7);if(n>3)throw new Error(`Archive is spec version ${n} but this library supports up to spec version 3`);return{specVersion:n,rootDirectoryOffset:W(r,8),rootDirectoryLength:W(r,16),jsonMetadataOffset:W(r,24),jsonMetadataLength:W(r,32),leafDirectoryOffset:W(r,40),leafDirectoryLength:W(r,48),tileDataOffset:W(r,56),tileDataLength:W(r,64),numAddressedTiles:W(r,72),numTileEntries:W(r,80),numTileContents:W(r,88),clustered:r.getUint8(96)===1,internalCompression:r.getUint8(97),tileCompression:r.getUint8(98),tileType:r.getUint8(99),minZoom:r.getUint8(100),maxZoom:r.getUint8(101),minLon:r.getInt32(102,!0)/1e7,minLat:r.getInt32(106,!0)/1e7,maxLon:r.getInt32(110,!0)/1e7,maxLat:r.getInt32(114,!0)/1e7,centerZoom:r.getUint8(118),centerLon:r.getInt32(119,!0)/1e7,centerLat:r.getInt32(123,!0)/1e7,etag:t}}T(Gt,”bytesToHeader”);function qe(e){let t={buf:new Uint8Array(e),pos:0},r=fe(t),n=[],i=0;for(let o=0;o<r;o++){let s=fe(t);n.push({tileId:i+s,offset:0,length:0,runLength:1}),i+=s}for(let o=0;o<r;o++)n[o].runLength=fe(t);for(let o=0;o<r;o++)n[o].length=fe(t);for(let o=0;o0?n[o].offset=n[o-1].offset+n[o-1].length:n[o].offset=s-1}return n}T(qe,”deserializeIndex”);var Nt=class extends Error{};T(Nt,”EtagMismatch”);var Ue=Nt;function Ge(e,t){return B(this,null,function*(){let r=yield e.getBytes(0,16384);if(new DataView(r.data).getUint16(0,!0)!==19792)throw new Error(“Wrong magic number for PMTiles archive”);let n=r.data.slice(0,gn),i=Gt(n,r.etag),o=r.data.slice(i.rootDirectoryOffset,i.rootDirectoryOffset+i.rootDirectoryLength),s=`${e.getKey()}|${i.etag||””}|${i.rootDirectoryOffset}|${i.rootDirectoryLength}`,a=qe(yield t(o,i.internalCompression));return[i,[s,a.length,a]]})}T(Ge,”getHeaderAndRoot”);function Ne(e,t,r,n,i){return B(this,null,function*(){let o=yield e.getBytes(r,n,void 0,i.etag),s=yield t(o.data,i.internalCompression),a=qe(s);if(a.length===0)throw new Error(“Empty directory is invalid”);return a})}T(Ne,”getDirectory”);var wn=class{constructor(t=100,r=!0,n=Pe){this.cache=new Map,this.maxCacheEntries=t,this.counter=1,this.decompress=n}getHeader(t){return B(this,null,function*(){let r=t.getKey(),n=this.cache.get(r);if(n)return n.lastUsed=this.counter++,n.data;let i=yield Ge(t,this.decompress);return i[1]&&this.cache.set(i[1][0],{lastUsed:this.counter++,data:i[1][2]}),this.cache.set(r,{lastUsed:this.counter++,data:i[0]}),this.prune(),i[0]})}getDirectory(t,r,n,i){return B(this,null,function*(){let o=`${t.getKey()}|${i.etag||””}|${r}|${n}`,s=this.cache.get(o);if(s)return s.lastUsed=this.counter++,s.data;let a=yield Ne(t,this.decompress,r,n,i);return this.cache.set(o,{lastUsed:this.counter++,data:a}),this.prune(),a})}prune(){if(this.cache.size>this.maxCacheEntries){let t=1/0,r;this.cache.forEach((n,i)=>{n.lastUsed{Ge(t,this.decompress).then(a=>{a[1]&&this.cache.set(a[1][0],{lastUsed:this.counter++,data:Promise.resolve(a[1][2])}),o(a[0]),this.prune()}).catch(a=>{s(a)})});return this.cache.set(r,{lastUsed:this.counter++,data:i}),i})}getDirectory(t,r,n,i){return B(this,null,function*(){let o=`${t.getKey()}|${i.etag||””}|${r}|${n}`,s=this.cache.get(o);if(s)return s.lastUsed=this.counter++,yield s.data;let a=new Promise((d,f)=>{Ne(t,this.decompress,r,n,i).then(g=>{d(g),this.prune()}).catch(g=>{f(g)})});return this.cache.set(o,{lastUsed:this.counter++,data:a}),a})}prune(){if(this.cache.size>=this.maxCacheEntries){let t=1/0,r;this.cache.forEach((n,i)=>{n.lastUsed{this.getHeader(t).then(s=>{i(),this.invalidations.delete(r)}).catch(s=>{o(s)})});this.invalidations.set(r,n)})}};T(Zt,”SharedPromiseCache”);var bn=Zt,Wt=class{constructor(t,r,n){typeof t==”string”?this.source=new yn(t):this.source=t,n?this.decompress=n:this.decompress=Pe,r?this.cache=r:this.cache=new bn}getHeader(){return B(this,null,function*(){return yield this.cache.getHeader(this.source)})}getZxyAttempt(t,r,n,i){return B(this,null,function*(){let o=Rt(t,r,n),s=yield this.cache.getHeader(this.source);if(ts.maxZoom)return;let a=s.rootDirectoryOffset,d=s.rootDirectoryLength;for(let f=0;f0){let v=yield this.source.getBytes(s.tileDataOffset+l.offset,l.length,i,s.etag);return{data:yield this.decompress(v.data,s.tileCompression),cacheControl:v.cacheControl,expires:v.expires}}a=s.leafDirectoryOffset+l.offset,d=l.length}else return}throw new Error(“Maximum directory depth exceeded”)})}getZxy(t,r,n,i){return B(this,null,function*(){try{return yield this.getZxyAttempt(t,r,n,i)}catch(o){if(o instanceof Ue)return this.cache.invalidate(this.source),yield this.getZxyAttempt(t,r,n,i);throw o}})}getMetadataAttempt(){return B(this,null,function*(){let t=yield this.cache.getHeader(this.source),r=yield this.source.getBytes(t.jsonMetadataOffset,t.jsonMetadataLength,void 0,t.etag),n=yield this.decompress(r.data,t.internalCompression),i=new TextDecoder(“utf-8″);return JSON.parse(i.decode(n))})}getMetadata(){return B(this,null,function*(){try{return yield this.getMetadataAttempt()}catch(t){if(t instanceof Ue)return this.cache.invalidate(this.source),yield this.getMetadataAttempt();throw t}})}getTileJson(t){return B(this,null,function*(){let r=yield this.getHeader(),n=yield this.getMetadata(),i=Ut(r.tileType);return{tilejson:”3.0.0″,scheme:”xyz”,tiles:[`${t}/{z}/{x}/{y}${i}`],vector_layers:n.vector_layers,attribution:n.attribution,description:n.description,name:n.name,version:n.version,bounds:[r.minLon,r.minLat,r.maxLon,r.maxLat],center:[r.centerLon,r.centerLat,r.centerZoom],minzoom:r.minZoom,maxzoom:r.maxZoom}})}};T(Wt,”PMTiles”);var Le=Wt;var we=[{name:”Mirenda Center at Neumann University”,town:”Aston Township”,coordinates:”39.87518295957942, -75.44287264018742″,photo:”CUFT75EQJFCNXF6TBJWB47IZBE”,description:”Tom (Mark Ruffalo) mans a table at a job fair here while temporarily working as a recruiter for the FBI. Next to his station, the distinctive pillars of the centeru2019s atrium are visible.”,episode:”1″},{name:”Rita’s Italian Ice & Frozen Custard”,town:”Collingdale”,coordinates:”39.91438144966683, -75.27198755476991″,photo:”PVN6FY7AZVH57NJJ5QZMPSORVQ”,description:”Emily (Silvia Dionicio), Tomu2019s daughter, works her part-time job here. In the scene where it is shown, Tom orders a black cherry water ice, a flavor choice of which we approve.”,episode:”1″},{name:”Former Philadelphia Police Department Headquarters”,town:”Philadelphia”,coordinates:”39.95454212611587, -75.15196309318775″,photo:”L7RTCVGETVB6BGP3OI6FGI75II”,description:”We get a brief glimpse of the exterior of the former Philadelphia police headquarters, colloquially known as the Roundhouse. Whether the interior is the same building is unclear, but in the show, this appears to be where the FBIu2019s Philly field office is located.”,episode:”1″},{name:”Bangor Quarry”,town:”Bangor”,coordinates:”40.870304770450126, -75.20395382209078″,photo:””,description:”Robbie (Tom Pelphrey), Cliff (RaxFAl Castillo), and Peaches (Owen Teague) head here for a post-robbery swim. On a real-life note, you should not do the same u2014 not only is it dangerous, but itu2019s also trespassing, according to the Bangor Borough Police Department.”,episode:”1″},{name:”Lincoln Highway and 2nd Avenue”,town:”Coatesville”,coordinates:”39.98367030794463, -75.82206085300957″,photo:”DKXFYZ5EGBEHJJKLSUGLQQDAR4″,description:”The Dark Hearts motorcycle gang rides through this intersection in formation, the giveaway being Presence Bank in the background in one shot.”,episode:”2″},{name:”Polish American Citizens Club”,town:”Coatesville”,coordinates:”39.98079295642107, -75.83090353169075″,photo:”WICMTOVTBFE3HANVTH2PSHED5M”,description:”Done up as the so-called Leftyu2019s Taproom in the show, this location serves as the Dark Heartsu2019 clubhouse and watering hole. In real life, itu2019s just off Lincoln Highway, lending a bit of realism to the gangu2019s ride through downtown Coatesville.”,episode:”2″},{name:”Martin’s Taphouse”,town:”Aston Township”,coordinates:”39.89042265129427, -75.43449503510138″,photo:””,description:”Martin’s stands in as the exterior of the Tip Top Lounge in the series, which we see in this episode stacked with motorcycles parked outside the front door.”,episode:”2″},{name:”Dixon’s Lounge”,town:”Sharon Hill”,coordinates:”39.897139107273794, -75.27191565278125″,photo:”BHMNCU4FFJGOBPUKYCZBB2XEOA”,description:”While the exterior of the Tip Top Lounge is in Aston, the interior bears a striking resemblance to Delcou2019s own Dixonu2019s Lounge. Here, Robbie and Cliff are stood up by an, ahem, u201Cbusiness partneru201D before walking out on an order of crabfries.”,episode:”2″},{name:”Willowbrook Shopping Center”,town:”Boothwyn”,coordinates:”39.83646391291799, -75.44319408140227″,photo:”ZU5QXUIDONETHIPPADUJYMAKCY”,description:”Maeve (Emilia Jones) takes Sam (Ben Lewis Doherty) to a fictional u201CVal-U Corneru201D store here with the intent of dropping him off for police to find before the plan goes awry. The store is located near the real Blue Cherry Ice Cream and Bakery, which is visible in the background.”,episode:”2″},{name:”Phoenixville Area High School”,town:”Phoenixville”,coordinates:”40.11868357112564, -75.51793551723154″,photo:””,description:”During his search for his daughter, Emily (Silvia Dionicio), Tom (Mark Ruffalo) finds her in the dugout of a baseball field that, in real life, is at Phoenixville Area High School. Its distinctive backstop is visible from a bird’s-eye view in the series.”,episode:”2″},{name:”Ralph’s Italian Restaurant”,town:”Philadelphia”,coordinates:”39.94006065749021, -75.15774535245488″,photo:”GMDZYMAHRNFGPBTYLRABBDJYHM”,description:”Dark Hearts leaders Jayson (Sam Keeley) and Perry (Jamie McShane) walk through the kitchen here to meet with local drug kingpin Freddy Frias (Elvis Nolasco), but in the show, it doesnu2019t appear to be serving the Italian food weu2019re used to in real life.”,episode:”3″},{name:”Mount Hope Cemetery”,town:”Aston Township”,coordinates:”39.871593701306836, -75.4390865914003″,photo:”4PCNSW4SPBAW7L2WFSJ2STJ3IM”,description:”Itu2019s a very quick shot, but itu2019s there just under four minutes into the episode. In the background, you can see the Commodore Barry Bridge, and graves on a hill in the cemetery in the foreground.”,episode:”3″},{name:”Sixpenny Creek Quarry”,town:”Union Township”,coordinates:”40.23700358370588, -75.78650582204335″,photo:”PLM34YOMIRCPPDVCGTFXM5FGME”,description:”Robbie (Tom Pelphrey) and Cliff (RaxFAl Castillo) finally get their meeting with Eryn (Margarita Levieva), their Dark Hearts insider, but it doesnu2019t go according to plan.”,episode:”3″},{name:”Llanerch Diner”,town:”Upper Darby”,coordinates:”39.96894828437008, -75.29301814827437″,photo:”6QXQDIMGKVDR5J64W4PVS3WP3E”,description:”Taskforce members Aleah (Thuso Mbedu) and Lizzie (Alison Oliver) head to Upper Darby’s famed Llanerch Diner for a tip on the drug house robberies they’re investigating, and get a break in the case.”,episode:”3″},{name:”Rosedon Plaza”,town:”Lansdowne”,coordinates:”39.94225704587108, -75.26528827286353″,photo:”SCB2N67GLFACZO33OOA7CLXQMM”,description:”In the background of one shot during the chase for Ray (Peter Patrikios), you can see the old Doc’s Deli (Deli Green). That puts Ray in the corner of the Rosedon Plaza parking lot as Lizzie (Alison Oliver) makes the arrest.”,episode:”3″},{name:”Coatesville Police Department”,town:”Coatesville”,coordinates:”39.982144078230384, -75.82033869646108″,photo:”XTADWTS6UNEDHOJGNIMWPBBOLE”,description:”Whether the interior is the same station isnu2019t clear, but an exterior shot sets this spot up as the place where the Task team interrogates Ray (Peter Patrikios) and Shelley (Mickey Sumner). Out front, a police cruiser reads u201CDelaware County Sheriff,u201D which is a little far from home.”,episode:”3″},{name:”The Ridley House”,town:”Holmes”,coordinates:”39.89753600427107, -75.31137880453917″,photo:”F2JJYIIZWFA3FFTHDPSXFI5M5A”,description:”Following the chase and interrogation, Lizzie (Alison Oliver) and Grasso (Fabien Frankel) head to this local bar to unwind. Grasso indicates it is a Barnabyu2019s, which, in real life, was true at one point u2013 until the location became the Ridley House in 2019.”,episode:”3″},{name:”Pennsylvania Turnpike on-ramp”,town:”King of Prussia”,coordinates:”40.08960425823238, -75.39689126886788″,photo:”BURLUGM6TRDX3CE46XSFYGJK7M”,description:”Itu2019s a quick shot as Tom (Mark Ruffalo) drives around at the beginning of the episode, but you can just make out the LasikPlus building on Mall Boulevard in the background. That puts this Pennsylvania Turnpike entrance in King of Prussia.”,episode:”4″},{name:”I-76 Exit 320″,town:”Malvern”,coordinates:”40.073716457225665, -75.52365668680957″,photo:””,description:”Tom (Mark Ruffalo) appears to take this exit as he is driving to meet his fellow taskforce members.”,episode:”4″},{name:”Marcus Hook Community Center”,town:”Marcus Hook”,coordinates:”39.81198192114949, -75.41200706776057″,photo:”B76EM6PKTFEB7KFWEUWGOWYDL4″,description:”As County Chief Dorsey (Raphael Sbarge) exits the building, you can see a door tagged with u201CDelaware County Sheriffu2019s Office.u201D But the green awning above him is a dead giveaway u2014 thatu2019s the Marcus Hook Community Center.”,episode:”4″},{name:”Rockdale Industrial Center”,town:”Aston Township “,coordinates:”39.885281970146785, -75.44479191780039″,photo:””,description:”It’s disguised as a trucking depot in the series, but this is where Robbie (Tom Pelphrey) and Cliff (RaxFAl Castillo) travel with Sam (Ben Lewis Doherty) to arrange transportation for their escape into Canada before being confronted by a Good Samaritan. “,episode:”4″},{name:”Upland Diner”,town:”Chester”,coordinates:”39.85816357241053, -75.37189095611281″,photo:”PVJMMBSI2ZBGJNQO46VYY5P6GQ”,description:”Upland Dineru2019s parking lot serves as Robbieu2019s (Tom Pelphrey) holding area during this episodeu2019s drug deal. Unfortunately, we only get an exterior shot of the building, but the restaurantu2019s vintage-style sign is proudly on display. Great pancakes, for the record.”,episode:”4″},{name:”Ridley Creek State Park entrance”,town:”Newtown Square”,coordinates:”39.95853496065017, -75.43948479664033″,photo:”KOSWCMRRHRAB7MLGNLQIF535UM”,description:”Cliff (RaxFAl Castillo) can be seen turning onto North Sandy Flash Drive from Gradyville Road as he heads to the drug deal meeting spot. If you look closely, you can just barely make out a sign for Ridley Creek State Park.”,episode:”4″},{name:”Beaver Creek”,town:”Wilmington, Del.”,coordinates:”39.839261612846315, -75.57139152554225″,photo:””,description:”It’s tough to spot, but the dam that Cliff (RaxFAl Castillo) parks his car next to during this episode’s failed drug deal u2014 or, more accurately, the Dark Hearts’ setup u2014 appears to be in Beaver Creek on the Delaware-Pennsylvania border.”,episode:”4″},{name:”City Clock Apartments”,town:”Coatesville”,coordinates:”39.98382540387415, -75.8211284189516″,photo:”3BYXFXCYUFFRZBUSN5UAPYVYOA”,description:”Another brief shot, but the clock face on the tower of the City Clock Apartments is prominently featured. The building formerly was the National Bank of Coatesville, and has been on the National Register of Historic Places since 1977.”,episode:”4″},{name:”Coatesville-Downingtown Bypass”,town:”Downingtown”,coordinates:”40.01895444780408, -75.70181027552258″,photo:””,description:”FBI Boss Kathleen McGinty (Martha Plimpton) and the rest of the task force swerve across traffic here while looking for Tom (Mark Ruffalo). In the background, you can just make out the sign for Pacer Pool Services & Supplies.”,episode:”5″},{name:”Marsh Creek State Park”,town:”Downingtown”,coordinates:”40.06782560219195, -75.72000193749815″,photo:”NT5JGVMLZFDJTGHC6M7BZFI7Y4″,description:”After surviving his encounter with Robbie (Tom Pelphrey), Tom (Mark Ruffalo) emerges from the woods to see a beautiful summer scene of families enjoying the lake at Marsh Creek State Park.”,episode:”5″},{name:”I-95 Pennsylvania Welcome Center”,town:”Boothwyn”,coordinates:”39.82418322018552, -75.43745107822149″,photo:”5HPTTXFG3ZA2HGAW54OXM4D5ZY”,description:”FBI boss Kathleen McGinty (Martha Plimpton) stuffs her face with fast food at the center’s picnic tables as the task crew looks for their leader. As McGinty explains, she is u201Can emotional eater.u201D”,episode:”5″},{name:”Woy Bridge”,town:”Everett”,coordinates:”40.0150517796881, -78.304498566625″,photo:””,description:”In what is likely the farthest-flung filming location u2013 at least in relation to the rest of the local spots u2013 we get some shots of Everettu2019s Woy Bridge in Bedford County as the taskforce closes in on Robbie (Tom Pelphrey).”,episode:”5″},{name:”Our Lady of Peace Parish”,town:”Milmont Park”,coordinates:”39.88193514095659, -75.33589782814482″,photo:”HGPPGXLRFZFUFE5WBNNXP3DXFM”,description:”Though disguised well as a juvenile detention facility in the show, this little Delco parish provides at least the exterior shots for where Tom (Mark Ruffalo) meets Sam (Ben Lewis Doherty) for the first time.”,episode:”6″},{name:”High Bridge”,town:”Coatesville”,coordinates:”39.98390784773821, -75.82749681114403″,photo:””,description:”This instantly recognizable Coatesville landmark serves as the location for where County Chief Dorsey (Raphael Sbarge) appears to seal Grasso’s (Fabien Frankel) fate with the Dark Hearts.”,episode:”7″},{name:”Delaware County Courthouse and Government Center”,town:”Media”,coordinates:”39.92029464476607, -75.39155431097433″,photo:”NWW6JA6A4FBAJHW7ZIXSIPZ2YA”,description:”Here, Tom (Mark Ruffalo) gives a touching family statement at a court hearing for his son, Ethan (Andrew Russel), in what is the emotional climax of the series. As The Inquirer reported last year, the production took over Courtroom 15 for filming.”,episode:”7″}];var Z=63710088e-1,ai={centimeters:Z*100,centimetres:Z*100,degrees:360/(2*Math.PI),feet:Z*3.28084,inches:Z*39.37,kilometers:Z/1e3,kilometres:Z/1e3,meters:Z,metres:Z,miles:Z/1609.344,millimeters:Z*1e3,millimetres:Z*1e3,nauticalmiles:Z/1852,radians:1,yards:Z*1.0936};function xn(e,t,r={}){let n={type:”Feature”};return(r.id===0||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=t||{},n.geometry=e,n}function jt(e,t,r={}){return xn({type:”MultiPoint”,coordinates:e},t,r)}function Ze(e,t,r){if(e!==null)for(var n,i,o,s,a,d,f,g=0,l=0,v,x=e.type,F=x===”FeatureCollection”,P=x===”Feature”,V=F?e.features.length:1,O=0;O<V;O++){f=F?e.features[O].geometry:P?e.geometry:e,v=f?f.type==="GeometryCollection":!1,a=v?f.geometries.length:1;for(var K=0;K<a;K++){var C=0,$=0;if(s=v?f.geometries[K]:f,s!==null){d=s.coordinates;var R=s.type;switch(g=r&&(R==="Polygon"||R==="MultiPolygon")?1:0,R){case null:break;case"Point":if(t(d,l,O,C,$)===!1)return!1;l++,C++;break;case"LineString":case"MultiPoint":for(n=0;n<d.length;n++){if(t(d[n],l,O,C,$)===!1)return!1;l++,R==="MultiPoint"&&C++}R==="LineString"&&C++;break;case"Polygon":case"MultiLineString":for(n=0;n<d.length;n++){for(i=0;i<d[n].length-g;i++){if(t(d[n][i],l,O,C,$)===!1)return!1;l++}R==="MultiLineString"&&C++,R==="Polygon"&&$++}R==="Polygon"&&C++;break;case"MultiPolygon":for(n=0;n<d.length;n++){for($=0,i=0;i<d[n].length;i++){for(o=0;o<d[n][i].length-g;o++){if(t(d[n][i][o],l,O,C,$)===!1)return!1;l++}$++}C++}break;case"GeometryCollection":for(n=0;n{r[0]>n[0]&&(r[0]=n[0]),r[1]>n[1]&&(r[1]=n[1]),r[2]<n[0]&&(r[2]=n[0]),r[3]{pe(“https://interactives.inquirer.com/storage/dependencies/maplibre/5.3.0/maplibre-gl.js”,()=>{let e=new Bt;be=window.maplibregl,be.addProtocol(“pmtiles”,e.tile);let t=”https://interactives.inquirer.com/melish/1.2″,r=`${t}/us-latest.pmtiles`,n=new Le(r);e.add(n),n.getHeader().then(async()=>{let o=await(await fetch(`${t}/styles/neutral.json`)).json();ee=new be.Map({container:”map”,zoom:13,center:[-75.165222,39.952583],cooperativeGestures:!0,attributionControl:!1,padding,style:{…o,sources:{openmaptiles:{type:”vector”,url:`pmtiles://${r}`}}}}),ee.scrollZoom.disable(),ee.touchPitch.disable(),ee.addControl(new be.NavigationControl({showCompass:!1,showZoom:!0,visualizePitch:!1}),”bottom-right”),ee.on(“load”,()=>{Cn(),Ee!==”all”?Ae=we.filter(s=>parseInt(s.episode)parseFloat(d)).reverse(),s.id=ze(s.name),s.photo&&(s.imageSrc=`https://interactives.inquirer.com/secondbank/arc/${s.photo}/650.webp`);let a=xe(“js-map-stub”);Te(a,s),a.addEventListener(“click”,()=>{Yt(a)}),a.addEventListener(“mouseover”,()=>{Yt(a)}),a.addEventListener(“mouseout”,()=>{Xt()}),new be.Marker({element:a}).setLngLat(s.coordinates).addTo(ee)}document.querySelector(“.js-map”).classList.add(“is-loaded”),Kt=!0,Me!=””&&(er(Me),_t(Me))})})})},Yt=e=>{Xt(),e.classList.add(“is-highlight”)},Xt=()=>{document.querySelectorAll(“.js-map-location”).forEach(e=>{e.classList.remove(“is-highlight”)})},Cn=()=>{Ee=document.querySelector(“.js-steps”).dataset.episodeForPage},Qt=()=>{let e=window.innerWidth>960;padding={top:50,bottom:e?50:window.innerHeight/2,left:e?window.innerWidth/2+50:50,right:50}},Ln=()=>{window.addEventListener(“resize”,()=>{Qt()})},_t=e=>{if(Me=null,e==null){let t=we.filter(r=>r.episode==Ee);ee.fitBounds(Vt(t),{animate:!0})}else if(e.step==”all”)ee.fitBounds(Vt(Ae),{animate:!0});else{let t=we.filter(r=>ze(r.name)==e.step);t.length>0&&ee.flyTo({center:t[0].coordinates,padding,zoom:13,animate:!0,duration:1e3})}},er=e=>{document.querySelectorAll(“.js-map-location”).forEach(t=>{t.classList.remove(“is-current”)}),e&&e.step!==”all”&&document.querySelector(`.js-map-location[data-id=”${e.step}”]`).classList.add(“is-current”)},Vt=e=>{let t=jt(e.map(n=>n.coordinates));return Jt(t)},ke={init:()=>{Tn(),Qt(),Ln()},update:e=>{Kt?(_t(e),er(e)):Me=e}};var Je=yr(tr());var Pn=async()=>{let t=await(await fetch(“https://interactives.inquirer.com/pepper/2025-task-locations/data.json”)).json();t=t.nav,console.log(t);let r=(0,Je.default)();t=t.filter(i=>r.isAfter((0,Je.default)(`${i.date} 22:00`))),t=t.filter(i=>i.link);let n=document.querySelector(“.js-nav-links”);for(let i of t){i.text=`Episode ${i.episode}`;let o=xe(“js-nav-link-stub”);Te(o,i),n.appendChild(o)}},rr={init:()=>{Pn()}};var De,An=(e,t)=>{De=De||window.PMNdataLayer,De?De.push({event:”misc_event”,eventAction:e,eventLabel:t}):window.location.hostname.includes(“localhost”)?console.log(“Analytics event:”,e,t,”(not actually being sent due to localhost)”):console.log(“Failed to push analytics event”,e,t)},nr={event:(e,t)=>{An(e,t)}};var ir=1,Ye=class{constructor(t){this.el=t,this.contentPosition=”default”,this.possibleSteps=new Array,this.currentStep=null,this.offset=window.innerHeight*.5,this.instanceOfSteps=ir,this.hasMap=!!t.dataset.map,ir++,this.setOffset(),this.setPossibleSteps(),this.updateContent(),this.bindings()}setPossibleSteps(){this.el.querySelectorAll(“.js-steps-step”).forEach(t=>{t.dataset.step&&this.possibleSteps.push(t.dataset.step)})}bindings(){window.addEventListener(“scroll”,()=>{this.updateContent()}),window.addEventListener(“resize”,()=>{this.updateContent(),this.setOffset()})}setOffset(){window.innerWidth>960?this.offset=window.innerHeight*.5:this.offset=window.innerHeight*.8}updateContent(){this.updateCurrentStep()}updateCurrentStep(){let t,r;if(this.el.querySelectorAll(“.js-steps-step”).forEach((i,o)=>{i.getBoundingClientRect().top{let a=”is-“+o,d=”is-“+s;this.possibleSteps.indexOf(o){document.querySelectorAll(“.js-steps”).forEach(e=>{new Ye(e)})}};var En=()=>{},sr={init:()=>{En()}};var de,Ve,Ke=!0,kn=()=>{de=document.querySelectorAll(“.js-video-autoplay”)},Dn=()=>{window.addEventListener(“resize”,()=>{ar()}),window.addEventListener(“scroll”,()=>{ar()}),de.forEach(e=>{e.addEventListener(“volumechange”,t=>{e.muted!==Ke&&!dt()&&(Ke=e.muted,$n())})})},ar=()=>{let e;de.forEach((t,r)=>{let n=t.getBoundingClientRect(),i=n.height/2;n.y-i&&(e=t)}),e!==Ve&&(Ve=e,de.forEach(t=>{t.pause()}),e?e.play():Ve=null)},$n=()=>{de.forEach(e=>{e.muted=Ke})},lr={init:()=>{kn(),de&&Dn()}};var ur={init:()=>{st.init?.(),mt.init?.(),bt.init?.(),Mt.init?.(),Tt.init?.(),ke.init?.(),rr.init?.(),or.init?.(),sr.init?.(),lr.init?.(),ue.init?.()}};var zn=()=>{},cr={init:()=>{zn()}};var Bn=document.querySelector(“.js-inno”),hr=()=>{ur.init(),cr.init()};Bn?hr():new MutationObserver((t,r)=>{if(document.querySelector(“.js-inno”)){r.disconnect(),hr();return}}).observe(document,{attributes:!0,childList:!0,subtree:!0});})();
HARRISBURG — The Republican-led Pennsylvania Senate sent a $47.9 billion spending plan to the state House on Tuesday, but the proposal was dead on arrival and deemed “unserious” in the Democratic-controlled chamber, marking the latest chapter of the nearly four-month-long budget impasse in the state’s bitterly divided legislature.
The Senate GOP plan, which passed the chamber by a 27-23 vote along party lines, included a $300 million, or 0.6%, total increase over last year’s budget that is intended to cover the state’s debt service and pension obligations, in addition to cutting operational spending for the legislative body by 5%, said Senate Majority Leader Joe Pittman (R., Indiana).
The House Democrats’ $50.25 billion spending bill was a slight decrease from the $51.5 billion budget proposal Democratic Gov. Josh Shapiro pitched in February. And it was an attempt by House Democrats at reaching a compromise — decreasing their proposed spending by 2.4% over Shapiro’s initial pitch — after encouragement from Senate President Pro Tempore Kim Ward (R., Westmoreland) for legislative leaders to bring the usually closed-door budget negotiations into the public eye.
But the Senate GOP’s counteroffer passed Tuesday included little compromise and little increase in spending. However, it is a budget that would fund Pennsylvania’s needs rather than wants, several top GOP senators said during floor debate on the bill.
“All it takes is one day and one vote to end this ‘Shapiro Shutdown,’” Pittman said in his floor remarks in support of the GOP budget bill.
Several GOP senators noted the state’s fiscal outlook as the reason lawmakers cannot afford to spend much more over last year, as Pennsylvania is on track to bring in $46.4 billion during the 2025-26 fiscal year, which is significantly less than Shapiro and House Democrats want to spend.
Pennsylvania is sitting on approximately $10 billion in reserves, from its leftover balance from the 2024-25 fiscal year and its hefty Rainy Day Fund. Democrats want to tap into those reserves and reinvest them in the state, while Republicans believe it is critical to protect those funds to maintain the state’s bond rating or cut taxes as a way to reinvest those surpluses back into taxpayers’ pockets.
Top Senate Republicans on Tuesday urged the state House to return to session and pass their $47.9 billion spending plan as the most responsible way to protect Pennsylvania taxpayers in future years. And some offered criticism of Shapiro, who has continued to host news conferences around Pennsylvania during the 113-day budget impasse, accusing the governor of failing to lead in Harrisburg on budget negotiations.
“If you want to have an honest conversation about how to get this budget done, a governor gallivanting across the state taking potshots at members of this caucus doesn’t help,” Pittman said.
What was not mentioned Tuesday among Senate Republicans was that $47.9 billion is the highest number that the most conservative members of the GOP Senate caucus have pledged to spend. Sen. Dawn Keefer (R., Cumberland), who led the House Freedom Caucus before her election to the state Senate last year, even went as far as to take a flamethrower to a replica of Shapiro’s budget proposal in a social media video earlier this year while promising viewers through a rhyme that she would “hold the line at $47.9″ billion.
Sign posted by the PA Senate at the Pennsylvania State Capitol in Harrisburg Aug. 26, 2025, reminds visitors of the state’s “multi-billion dollar structural deficit.”
Senate Democrats firmly rejected the GOP plan as a farce that would not cover the state’s obligations for this fiscal year or make critical increases to public education funding needed to improve Pennsylvania’s school funding system. The top Senate Democratic leader, Sen. Jay Costa (D., Allegheny), tried several legislative maneuvers to try to get the Senate to vote on the House Democrats’ bill instead of the GOP proposal, all of which failed.
“They thumbed their noses and they said, ‘Go to heck,’” State Sen. Vincent Hughes (D., Philadelphia), the minority chair of the Senate Appropriations Committee, said of his GOP colleagues’ response to the House bill ahead of Tuesday’s vote.
Senator Vincent Hughes, speaks at the Round table with Pennsylvania lawmakers, stakeholders, health systems to discuss potential cuts to Medicaid and ACA at the University City Science Center in Philadelphia, Pa., on Tuesday, April 22, 2025.
Shapiro, following a news conference in Allegheny County on Tuesday, voiced a similar sentiment when he told reporters the Senate’s proposal was “a joke” and “not designed to be serious or get the job done.” He again urged top GOP Senate leaders to begin meeting with top House Democrats to finalize a budget deal.
“I’m sorry transit didn’t get funded. But just because your top priority didn’t get addressed doesn’t mean that our priorities are no longer relevant, and that’s a hard truth,” Pittman,who has been critical of Pennsylvania’s mass transit systems and was a major roadblock in finalizing a deal, said Tuesday.
And, as evidenced by Tuesday’s vote, leaders still do not agree on how much Pennsylvania should spend for the current fiscal year, now almost in its fifth month. Pennsylvania is the only state in the nation without any spending plan. North Carolina, which passed a six-month budget in early summer, returned to session this week to finish budget negotiations.
As nearly 2 million Pennsylvanians brace for the loss of their food assistance next month due to thefederalgovernment shutdown, the Pennsylvania Department of Human Services is pinning the blame on Republicans on Capitol Hill.
States administer the federally funded Supplemental Nutrition Assistance Program, which provides support to low-income people, including families with children. But as the standoff in Congress prevents federal funding from flowing to states, Democratic Gov. Josh Shapiro’s administration entered the messaging battle over the cause of the disruption to benefits.
“Because Republicans in Washington D.C., failed to pass a federal budget, causing the federal government shutdown, November 2025 SNAP benefits cannot be paid,“ reads a pastel orange banner on the DHS website from Friday, alerting recipients of the Supplemental Nutrition Assistance Program to the impending changes.
The message reflects the mounting impacts of the government shutdown, which is in its third full week, and the growing political tensions between Republicans and Democrats on the state and national levels after lawmakers failed to pass funding to avert a government shutdown by Oct. 1.
Shapiro has frequently gone head-to-head with the Trump administration, but the use of a state government website is a notable escalation.
The governor said in a news release Monday that Congress already had kicked off hundreds of thousands of Pennsylvanians from Medicaid and SNAP when it passed President Donald Trump’s One Big Beautiful Bill Act in July.
“Now, Republicans are once again threatening vital support for Pennsylvania families and children — it’s time for them to pass a federal budget and end this shutdown.”
Pennsylvania Human Services Secretary Val Arkoosh added that “Inaction from Republicans in Congress” jeopardizes the well-being of Pennsylvanians.
A significant impact will be felt next month in Philadelphia, where half a million people will not receive SNAP benefits. The program,which is funded by the U.S. Department of Agriculture, serves households including elderly people, individuals with disabilities, and children.
Another Democratic-led state, Illinois, also referred to the lapse in funding as the “Republican federal government shutdown” on its benefits webpage. Other Democratic-led states near Pennsylvania, New Jersey and Delaware, have not posted political messages on their states’ SNAP benefits pages.
Republicans in Pennsylvania criticized the use of the DHS website for a partisan message.
“Public service isn’t a political weapon and using a government website to fuel your partisan agenda is indefensible,” the Pennsylvania GOPwrote Monday in a post on X.
The shutdown is “Democrat-led,” says the Trump administration’s State Department website.
“The Radical Left in Congress shut down the government,” declares a bright red banner on the U.S. Department of Housing and Urban Development homepage.
The rising political pressure comes as the Trump administration began rolling out highly politicized messaging to the public and federal employees after the government shutdown began earlier this month.
And some federal workers — nonpartisan civil servants who have been coping with plummeting morale and either being furloughed or working without pay during the shutdown — have been on the receiving end of politicized messaging, too.
Barry Leonard, 87, formerly of Philadelphia, celebrated crimper, longtime innovative owner of the Barry Leonard Crimper & Spa in Center City, unisex beauty salon groundbreaker, fashion and marketing trendsetter, haircutting mentor, and Army veteran, died Sunday, Oct. 12, at his home in Hallandale Beach, Fla. The cause of his death has not been disclosed.
Born in Philadelphia to a family of hairstylists, Mr. Leonard swept the floor at his father’s beauty salon in West Philadelphia as a boy and, in 1955, became the first male to graduate from the beauty culture curriculum at Murrell Dobbins Career and Technical Education High School. He went on to help rewrite state statutes to allow unisex beauty salons in the 1970s, wow the marketing world with innovative ads that featured Fidel Castro, Albert Einstein, Santa Claus, and the Wolfman, and own high-end shops in the old Marriott Hotel on City Avenue and then on Chestnut Street for 43 years.
A proponent of what he called “natural haircutting,” Barry Leonard, Crimper, counted politicians, musicians, actors, and other celebrities as well as local residents as his regulars, and most of them were fine with waiting months for an appointment. He moved his bustling salon from the Marriott to 1527 Chestnut St. in 1972, relocated to 1822 Chestnut in 1995, and retired to Florida in 2005.
In the early 1970s, he saw that men appreciated hair care, too, and he successfully challenged an old state law that required separate locations for male and female haircuts. So unisex salons became common in the 1980s and ’90s.
Mr. Leonard is shown styling the hair of Annie Halpern, his future wife, in this 1985 photo in the Daily News.
“Hair,” he told The Inquirer in 1973, “is the only part of the body that can be changed readily and allows the individual to play his role as he feels it at that particular moment — protest, freakiness, sensuality, anything.”
His New Age salon featured wicker furniture, hanging plants, big pillows, Japanese koi, and free coffee, fruit, and wine. He charged $12.50 per cut in 1973 and $25 in 1991. Sometimes, he booked 75 heads a day, his wife, Annie, said.
Most often, he consulted with customers before the cut, assigned the job to an assistant stylist, and checked back when the work was done. Over his career, he told his wife, he likely attended to more than 1 million customers. In 1991, he told The Inquirer: “My general philosophy is to make people happy.”
He also created and distributed do-it-yourself manuals for those who couldn’t get appointments and introduced computerized styling technology in the 1980s so clients could design their own cuts on video screens. “I’m a firm believer that nothing lasts forever,” he told the Daily News in 1977. “But right now, I’ll stay the way I am. It’s really a matter of the world catching up with me.”
This then and now photo appeared with a story in The Inquirer in 1973.
He was featured often in The Inquirer, Daily News, Philadelphia Magazine, Philadelphia Business Journal, and other publications, and writers dubbed him the “top hair gun” in Philadelphia, “the dashing haircutter,” and “Philadelphia’s leading proponent of hair as art.” He dabbled in selling franchises, endorsed a new Japanese hair-straightening process, and hosted runway-style hair shows and crimper workshops.
Women told him his beauty advice changed their lives. Men said his haircuts improved their sex lives.“I was the image changer,” he told The Inquirer in 2002.
In the late 1960s, Mr. Leonard gave local advertising whiz Elliott Curson a haircut, and Curson, delighted with the result, suggested rebranding Mr. Leonard as “a crimper,” British slang for hairdresser. What followed was a hugely successful ad campaign and a friendship that lasted more than 50 years.
One of their first ads featured the phrase: “When I come out of Barry Leonard’s, I won’t look like my mother.” Curson said: “He had that look, the outfit, and the vision that worked so well.”
Mr. Leonard and his wife, Annie, married in 1986.
Mr. Leonard liked to wear a work shirt, vest, blue jeans, boots, designer glasses, and turquoise jewelry to work. His own hair flowed down to his shoulders when he was young. He told the Daily News in 1977: “Anybody can be where it’s at. But I’m where it’s going to be.”
He was a member of Intercoiffure America and participated in its competitive showings in New York and elsewhere. He was included in a display called “Movers and Shakers” at the now-closed Philadelphia History Museum.
“He would meet you once and have an impact on the rest of your life,” his wife said. “Everybody loved him. He was passionate and compassionate.”
Barry Leonard was born Jan. 27, 1938, in Philadelphia. He grew up in Wynnefield and Bala Cynwyd, and served in the Army’s 101st Airborne Division for two years after high school.
Mr. Leonard (second from right) celebrated his 80th birthday with his children.
He wore a traditional tie and jacket, and cut hair with his father and in a few local shops before opening his place at the Marriott in 1962. He also spent some time working in London and first heard the word crimper there.
He married Charlene Brooks, and they had daughters Karen, Susan, and Elizabeth and a son, Brett. After a divorce, he met Annie Halpern at a party in 1983. They went to a Neil Diamond concert on their first date in 1984, married in 1986, and moved from Center City to Florida in 2005.
Mr. Leonard was an avid boxing fan, and he knew his way around the popular Blue Horizon venue on Broad Street. He had a summer home in Longport, N.J., and enjoyed time at Gulfstream Park racetrack in Florida.
He was spiritual and loquacious, his wife said. He had favorite witty quips, and his family and friends refer to them as “Barryisms.”
This article about Mr. Leonard’s fashion sense was published in the Daily News in 1977.
He attended all kinds of galas and benefits, and doted on his children. “He gave me my first shag” haircut, a longtime friend said on Facebook. Another friend said her neighbor cut her hair once. “The results were not good,” she said. “Barry fixed me.”
They called him “one of a kind,” “truly the best around,” and a “mentor and a friend.” His wife said: “He was the love of my life.”
In addition to his wife, children, and former wife, Mr. Leonard is survived by eight grandchildren and other relatives. A brother died earlier.
A celebration of his life is to be at 11 a.m. Saturday, Dec. 6, at Gulfstream Park, Third Floor, Flamingo Room, 901 S. Federal Highway, Hallandale Beach, Fla. 33009. RSVP to blcrimper@aol.com.
This ad by Mr. Leonard and Elliott Curson appeared in The Inquirer in 1982.