ARTICLE AD BOX
Butler County in Western Pennsylvania is rock-solid Trump country.
In front yards, on the sides of roads and at filling stations, the messages on the billboards are blunt.
"Bulletproof" is one, on a picture of the former president with his fist raised, moments after he was shot in this very town.
Another, more overtly political, reads: "Even my dog hates Biden."
The former president got twice as many votes as Joe Biden here in 2020, beating Hillary Clinton in 2016 by a similar margin. In fact, this county has only voted Democrat once in the past 150 years of presidential elections.
Butler has always been proud to be known as the home of the American Jeep but this year it is better remembered for one thing - where a former Republican president was inches away from being assassinated.
A bullet grazed his ear that day, on 13 July, and Butler is undergoing its own healing process as Donald Trump returns to the same spot, the Farm Show grounds, for a rally on Saturday evening.
Trump's speech is expected to begin at about 17:00 local time (21:00 GMT), with the site reportedly already in lockdown ahead of his visit.
For the first time since publicly endorsing the former president, Elon Musk - the boss of X, Tesla and SpaceX - has confirmed he will be in the audience.
Ahead of Trump's return to Butler, the BBC has spoken to some of the people who were just a few feet away from him as the gunfire rang out back in July.
There is sadness and guilt among local Republicans and resentment, too, that their county - so staunchly pro-Trump - was where this happened.
"That was the saddest moment of my life," said Jim Hulings, chairman of the Butler County Republican Party, who was 30ft away at the time and thought Trump had been killed. “I was horrified to think that somebody had the audacity to shoot a great man.”
Jondavid Longo, the mayor of Slippery Rock, a small town just a few miles away, was on stage moments before the shooting, part of the warm-up act.
When the gunman began to fire, he instinctively used his body to cover his pregnant wife. He says he replays the incident in his mind every day.
"It's a difficult thing for us to come to terms with," he said. There is guilt that somebody else did lose their life that day, he says, and two others were seriously injured.
That person was Corey Comperatore, a 50-year-old former volunteer fire fighter, who died after throwing himself in front of the bullets to protect his wife and daughters.
His widow Helen seems lost and distracted when I meet her. It’s clear she’s struggling.
"I think about it every day. I see it every time I close my eyes."
She and Corey were childhood sweethearts, married for 29 years. And both staunch supporters of Trump.
They joked that day that the former president was going to invite Corey up on stage, she said. Days later, his fire chief’s jacket was taken to the Republican convention in Milwaukee and placed on stage as Trump made his acceptance speech for the nomination.
Months on, Trump shooting witness still stunned by security lapse
"I just cried because, you know, I said he got his moment on stage with Trump."
Like Helen, Trump supporters in Butler have dozens of questions about how it could have happened.
While the motive of the 20-year-old gunman, Thomas Crooks, remain obscure, what has become much clearer is the series of security blunders that led to him pulling the trigger.
Two hours before he opened fire, he was able to fly a drone around the site without being detected because Secret Service counter-surveillance equipment was not working.
Communications failures meant that suspicious sightings of Crooks an hour and a half before he shot at Trump were not passed on to all elements of the Secret Service.
More than half an hour before the shooting, he was seen by police using a rangefinder pointed at the stage - a device often used by hunters pursuing their prey.
'I see it every time I close my eyes', says widow of man killed at Trump rally
Yet a little over 25 minutes later, Crooks had managed to climb on to the roof of a local business and fire eight shots. Seconds later he was dead, a single shot to the head from a Secret Service sniper.
Those few seconds are still haunting many of those who witnessed it.
Lucie Roth can be seen in the VIP seats behind Trump in one of the most recognisable pictures of the shooting, taken by a Reuters photographer.
She initially thought the gunfire was fireworks but then she heard screams to "Get down!" and dropped to the floor.
"I truly thought he was dead. I saw the Secret Service pile on top of him like he was the quarterback at a football game."
She was still down when she heard the crowd roar and cheer, and knew then he was OK.
Renae Billow and her 11-year-old son and Trump impersonator, Gino Benford, were a few feet away from Lucie and Gino is clearly visible in the Reuters photo, complete with a blond wig and a dark suit.
Speaking from the family home in Johnstown, Pennsylvania, Gino says he was both scared and calm, "half and half", when the shots rang out.
"I thought, who would want to do this to such a great president?"
Reporting from just outside the rally that night, we began to interview people as they left.
But one man stood out. He was wearing a Trump hat with fake orange hair sprouting out of it and holding a can of beer.
Greg Smith’s words, in which he described how he had seen the gunman on the roof and tried to warn the Secret Service, reverberated around the world.
It provided the first hint at the catastrophic security failure and a clip of the interview was viewed by tens of millions of people on social media.
Meeting him again this week at his store, just yards from the scene of the shooting, he still feels angry.
"I was very frustrated when I talked to you, extremely frustrated because I think of the time frame. He was on that roof for minutes, crawling, and we were pointing and yelling."
"I remember thinking 'Why? Why isn't someone doing something? How is this happening? How do I still hear President Trump talking as this is going on?'"
There is also pride in what he did in speaking out. People tell him he is part of history, the first person to tell the world what happened.
As someone who usually shuns the limelight, he added: "I jumped out of my comfort zone and did that. And I'm glad that it went like it did, that everything I told you that night has proven to be true."
Greg, who that day was listening to Trump from outside the rally, does not plan to go to Saturday’s event. He says his 12-year-old son has been traumatised by it, jumping whenever he hears fire works.
Despite still feeling angry about the security lapses, Helen Comperatore and her daughters will go back.
It's what Corey would have wanted, she says.
"I have tried to do that with everything I do, what would he want me to do? What would Corey do? And that's how I go."