Cardano created address and recovered address differently
Hello I'm trying to create a Cardano address and recover the address with the Private key I created.
I'm asking because there is a problem with the address you created and the address you recovered.

Cardano has created an address and a private key

seed = CardanoIcarusSeedGenerator(mnemonic).Generate()
coinType = Cip1852Coins.CARDANO_ICARUS
bip44_mst_ctx = Cip1852.FromSeed(seed, coinType)
bip44_acc_ctx = bip44_mst_ctx.Purpose().Coin().Account(0)
shelly = CardanoShelley.FromCip1852Object(bip44_acc_ctx)
bip44_chg_ctx = shelly.Change(Bip44Changes.CHAIN_EXT)
bip44_addr_ctx = bip44_chg_ctx.AddressIndex(0)


print(f"Address: {bip44_addr_ctx.PublicKeys().ToAddress()}")
print(f"Public Key: {bip44_addr_ctx.PublicKeys().AddressKey().RawCompressed().ToHex()}")
print(f"Private Key: {bip44_addr_ctx.PrivateKeys().AddressKey().Raw().ToHex()}")


So I'm going to get a private key and I'm going to get it back to the address from the private key
(using bip44_addr_ctx.PrivateKeys().AddressKey().Raw().ToHex())

`
fromPk = Cip1852.FromPrivateKey(bytes.fromhex(pk.lstrip('0x')), Cip1852Coins.CARDANO_ICARUS)
bip44_acc_ctx = fromPk.Purpose().Coin().Account(0)
shelly = CardanoShelley.FromCip1852Object(bip44_acc_ctx)
bip44_chg_ctx = shelly.Change(Bip44Changes.CHAIN_EXT)
bip44_addr_ctx = bip44_chg_ctx.AddressIndex(0)

print(f"Address: {bip44_addr_ctx.PublicKeys().ToAddress()}")
`

create address : addr1q8uymmyzmj5q88patkq28wjscseawn2m8xxxc2npkzzv2sq2q7a0l82p3fg87ayem8cd00rta4djwysphquzu9h9vx4qe308w9

recovered address : addr1q8uwaz4gwxuslslr7j3z0gyd9usynfm9cnz4ex85qeqjwdm9f2fvh2g3s8ednkelqv6tvjqje8sys2h8r46yqxqu299smfy0tf


How do I implement it to recover the same way?
