Holy crap. That actually happened. The Milwaukee Bucks struck the move of the NBA offseason just days before the start of training camp by swinging a three-team deal with the Portland Trail Blazers and Phoenix Suns to acquire Damian Lillard. Here are the full trade details according to Shams Charania of The Athletic.

That's a lot to sort out. It's hard to parse out immediate winners and losers of a trade just hours after a trade goes down, but it does seem clear for a few parties who benefited from this blockbuster and who didn't. There are a lot of moving parts with this trade and many ripple effects to dissect.

Winner: Milwaukee Bucks

The second Giannis Antetokounmpo flat-out told The New York Times he wouldn't sign an extension with the Bucks if there wasn't the same commitment to winning a championship on the organization's end as there was with him. Nothing is safe until pen meets paper, but Antetokounmpo should feel quite assured of the organization's pursuit and desire for another championship. The organization was in a similar boat in the 2020 offseason, but their trade for Jrue Holiday not only helped the organization sign an extension with Antetokounmpo but also bring home a title. This trade isn't a guarantee to bring home a second, but it should help get another long-term commitment from Antetokounmpo. That alone would be the biggest win of all.

But the Bucks also didn't have a ton of paths to improve their roster. Brook Lopez is 35 years old. Khris Middleton is 32 and was hampered by knee issues for the entirety of last season. Jrue Holiday is 33. Damian Lillard is also 33, but he just put up arguably the best season of his career last season and instantly brings an identity go-to weapon for the Bucks. The Bucks' offense was stifled in their series against the Miami Heat, particularly late in games when they looked shaken and without an identity. That was most on display on the last play of their season when they couldn't even get a shot off to save their season.

The Bucks can now go to Damian Lillard-Giannis Antetokounmpo pick and rolls whenever they want. Lillard generated 1.13 points per possessions as a pick and roll ballhandler according to NBA.com. The best mark on the Bucks was one point per possession. Antetokounmpo will get freed up more as a roll man and Milwaukee can open more of their offense unleashing Lillard's gravity and shooting. Their perimeter defense took a big hit but the Bucks were able to acquire Lillard without completely overhauling their roster often seen in these trades involving superstars. And the fit offensively couldn't be more clean.

Winner: Damian Lillard

Damian Lillard may have preferred to go to the Miami Heat, but his bottom line is winning. Giannis Antetokounmpo is the best player he could've dreamed of playing with. He himself has even said as such.

That dream is now a frightening reality for those who may oppose the Bucks.

Loser: Miami Heat

There's nothing wrong with continuity and keeping the ship steady, but Miami badly needed a go-to primary perimeter playmaker who can also play alongside Jimmy Butler and Bam Adebayo. Dame was supposed to be the apple of their eye. They passed on trading for Bradley Beal in the summer with the hopes of going after him. Instead, he goes to the team that Miami beat in the playoffs.

The Heat probably don't care. After all, they did just make a run to the NBA Finals. Tyler Herro barely played in the run to the Finals and now returns. He will fill some of that shooting and playmaking void from last year's Finals team. Jamie Jaquez Jr. and Nikola Jovic both had promising performances playing in Summer League and the FIBA World Cup, respectively. At least one of them should be able to fill the void left by Max Strus, who left for the Cleveland Cavaliers in free agency.

No one will feel sorry for the Heat. The Heat have proven they will ride with whoever they have. They will be formidable opponents in the East no matter what. But Pat Riley always shoots for the stars, literally and figuratively. He's now missed out on the last two.

Loser (for now): Jrue Holiday

Jrue Holiday got sent to the Portland Trail Blazers in this trade, but ESPN's Adrian Wojnarowski has reported he probably will get rerouted and sent to another team.

Holiday will land on his feet, but Milwaukee emerged as a great home for Holiday and the place Holiday thought he would retire in.

This is a business. Teams and franchises do this stuff all the time and have all the right to. Let this serve as yet another reminder to not scold a player when they elect to do the same.

Winner: Portland Trail Blazers

No team ever truly wins from trading a star player, but this is quite a haul for the Blazers. And if they're putting Jrue Holiday on the block begs an interesting question for the Blazers to ponder: can they get the same trade package they would've gotten for Damian Lillard for Jrue Holiday? Or something close to it? If the answer is yes, it makes a lot more sense to go in this direction and not only add an additional unprotected first-round pick and first-round pick swap, but also acquire Deandre Ayton in the process and only give up Jusuf Nurkic, Nassir Little, and Keon Johnson in the process. That's great work on the part of the Blazers' front office, but now they clearly still have work to do. Speaking of Ayton…

Loser: Phoenix Suns

Ayton is far from a perfect player. It's preposterous to think that someone seven feet tall and 250 pounds has yet to average more than three free throw attempts per game for a season the way Ayton has five years through his career. He hasn't extended his range beyond the three-point line yet. His consistency defensively waned the last couple of seasons after really showing signs of being an anchor on that end of the floor in the Suns' run to the 2021 Finals.

Yet all of those things also apply to Jusuf Nurkic. And he's played far fewer games than Ayton has in the last three seasons. Portland's defensive rating has been at the bottom for years now relying on Nurkic being their anchor. It's hard to consider him an upgrade even with the organization souring on Ayton.

The rest of the pieces the Suns acquired are… fine. Nassir Little could end up closing games with his versatility defensively on the wing and him bumping up his three-point percentage to 36.7% last year. But Grayson Allen is really the same player as Damion Lee. Keon Johnson is an unknown but promising prospect. Maybe the Suns reroute Allen elsewhere but this return for Ayton is less than stellar and hurts their playoff equity defensively.