# v.3
From v0.9.0
In little endian.
```text
[lvl0_bitcount;8]||
[lvl1_mask;..]||
[lvl1_bitcount;..]||
[data;..]
```
Where
* `version` = `u16`
* `lvl1_len` = `u16`
* `data_len` = `u32`
* `lvl0_mask` = `Level0BitBlock`
* `lvl0_bitcount` = `Level0BlockIndices::Item`.
* `lvl1_mask` = [`Level1BitBlock`; `lvl1_len`]
* `lvl1_bitcount` = [`Level1BlockIndices::Item`; `lvl1_len * size_of::<Level1BitBlock> / 8`]
* `data` = [`DataBitBlock`; `data_len`]
* `||` = padding to align next element.
For structure rationale see ImmutableBitset documentation for v0.9.0.