/// Small executable demonstration used by the README and CI.
fn main {
  let text = "MoonChunk keeps unchanged content addressable across versions.\n" +
    "Change one region and only the affected chunks need uploading."
  let source = text.to_bytes().to_array()
  let config = @moonchunk.ChunkerConfig::new(min_size=16, average_size=32, max_size=64)
  let chunks = @moonchunk.chunk_bytes(source, config)
  let manifest = @moonchunk.manifest_from_chunks("demo.txt", chunks)
  let store = @moonchunk.ChunkStore::new()
  let _ = @moonchunk.store_chunks(store, chunks)
  let report = @moonchunk.verify_store(store, manifest)
  println("MoonChunk demonstration")
  println("source bytes: " + source.length().to_string())
  println("chunks: " + manifest.count().to_string())
  println("root: " + manifest.root_digest())
  println(@moonchunk.report_message(report))
}