PORTLAND, Ore. — The mayor of Portland, Oregon, declared victory Wednesday after a bruising campaign that sandwiched him between a tough challenger to his political left and anger from moderate voters and business owners frustrated with five months of near-nightly protests that made the city a frequent lightning rod for President Donald Trump.

Mayor Ted Wheeler said he had a clear mandate with more than 90% of the vote counted and was energized by his win. If his lead holds, Wheeler would become the first mayor to win a second term in the notoriously hard-to-govern city in 20 years. The Associated Press has not yet declared a winner.

Challenger Sarah Iannarone, who has never held an elected office, said late Tuesday that she was going to bed and urged her supporters to wait until every vote had been counted. She said Wednesday she would make a statement on social media later in the day, but offered few details.

Write-in candidates won a whopping 13% of the vote. Supporters of Black Lives Matter activist Teressa Raiford, who didn't make it past the primary, ran an unauthorized write-in campaign that helped account for the high number.

Wheeler acknowledged Wednesday in a wide-ranging news conference that the city faces tremendous challenges after a summer and fall roiled by near-constant protests that made Portland a focus of Trump's campaign calls for law and order in Democratic-led cities. That rhetoric drew right-wing groups to Portland multiple times for rallies that frequently ended in violence, including the slaying of a Trump supporter in August.

Businesses in the city's central core have been hit hard by the combination of protests and the pandemic. Storefronts in much of the downtown core are boarded up and streets mostly empty. There is also a homeless crisis that has become more visible amid COVID-19, and city leaders recently announced that they didn't have enough winter shelter space with social distancing requirements in play.

"We would be foolish if we claimed we had some monopoly on the truth," Wheeler said. "I will work with anyone and I will listen to anyone who wants to work with us to move this city forward."

Wheeler, heir to a timber company fortune, fumbled early in the campaign as he tried to appease business owners and moderate voters while also attempting to retain the support of those to his left. Left-leaning progressives criticized the police response to protests as overly aggressive and were frustrated that Wheeler — who is also police commissioner — didn't ban the use of tear gas until late summer.

Meanwhile, political newcomer Iannarone tapped into the protest energy — at one point declaring "I am Antifa" — and her appeal with far-left, progressive voters angry at the police response to the unrest galvanized her campaign.

She supported $50 million in cuts to the Portland Police Bureau budget and slammed Wheeler for not doing the same.

Since May, Portland has cut about $15 million from the police budget, including a gun violence reduction team, transit police and a school resource officer program. Wheeler resisted pressure to take away more from the bureau's nearly $250 million budget without a safety net for mental health and homelessness calls that police handle daily.

Last week, Wheeler asked for more time to consider another $18 million in police cuts, effectively delaying the critical vote until after the election. That decision led the city's only Black councilwoman, who had remained neutral in the race, to endorse Iannarone in the campaign's final days.

Wheeler, out of money, lent himself $150,000 and won last-minute support from an independent coalition of environmental groups, unions and business leaders who financed a surge of advertising in the campaign's final two weeks.

____

Follow Gillian Flaccus on Twitter at http://www.twitter.com/gflaccus