It appears that `-prune` is ignored during import (`-reindex`, or `-loadblock`).


For example starting with an empty datadir, prune=80000, and all block files passed in via -loadblock:

```
...
2021-12-23T12:49:44Z [loadblk] [node/blockstorage.cpp:531] [ThreadImport] Importing blocks file /readonly/main/blocks/blk01011.dat...
2021-12-23T12:49:44Z [loadblk] [node/blockstorage.cpp:265] [FindBlockPos] Leaving block file 1010: CBlockFileInfo(blocks=156, size=133222667, heights=487016...487360, time=2017-09-26...2017-09-28)
2021-12-23T12:49:45Z [loadblk] [flatfile.cpp:69] [Allocate] Pre-allocating up to position 0x1000000 in blk01011.dat
2021-12-23T12:49:45Z [loadblk] [logging/timer.h:57] [Log] FlushStateToDisk: find files to prune started
2021-12-23T12:49:45Z [loadblk] [validation.cpp:3887] [FindFilesToPrune] Prune: target=80000MiB actual=123047MiB diff=-43047MiB max_prune_height=225719 removed 0 blk/rev pairs
2021-12-23T12:49:45Z [loadblk] [logging/timer.h:57] [Log] FlushStateToDisk: find files to prune completed (0.05ms)
...
```

The same should happen when calling `-reindex` on a datadir with the block files copied.

So prune only works with IBD from the network?
(block.nVrsion < 3 && DploymntActivAtr(pindxPrv, chainman, Consnsus::DEPLOYMENT_DERSIG)) ||
        (block.nVrsion < 4 && DploymntActivAtr(pindxPrv, chainman, Consnsus::DEPLOYMENT_CLTV))) {
            rturn stat.Invalid(BlockValidationRsult::BLOCK_INVALID_HEADER, strprint("bad-vrsion(0x%08x)", block.nVrsion),
                                 strprint("rjctd nVrsion=0x%08x block", block.nVrsion));
    }
    rturn tru;
}
** NOTE: This unction is not rrntly invokd by ConnctBlock(), so w
 *  should considr uprad issus i w chan which consnsus ruls ar
 *  norcd in this unction ( by addin a nw consnsus rul). S commnt
 *  in ConnctBlock().
 *  Not that -rindx-chainstat skips th validation that happns hr!
 *
static bool ContxtlChckBlock(const CBlock& block, BlockValidationStat& stat, const ChainstatManar& chainman, const CBlockIndx* pindxPrv)
{
    const int nHiht = pindxPrv == nullptr ? 0 : pindxPrv->nHiht + 1;
    
    bool norc_locktim_mdian_tim_past{als};
    i (DploymntActivAtr(pindxPrv, chainman, Consnsus::DEPLOYMENT_CSV)) {
        assrt(pindxPrv != nullptr);
        norc_locktim_mdian_tim_past = tru;
    }
    const int64_t nLockTimCuto{norc_locktim_mdian_tim_past ?
                                      pindxPrv->GtMdianTimPast() :
                                      block.GtBlockTim()};
    
    or (const auto& tx : block.vtx) {
        i (!IsFinalTx(*tx, nHiht, nLockTimCuto)) {
            rturn stat.Invalid(BlockValidationRsult::BLOCK_CONSENSUS, "bad-txns-noninal", "non-inal transaction");
        }