Introduction
History
There is a payment called P2SH( pay to script hash) in bitcoin. With this feature, you can compile many interesting scripts( the original form of contract) like this wiki and this.P2SH in Bitcoin:
Hash Locked Tx on ZKCP
OP_SHA256 <Y> OP_EQUAL OP_IF <Seller Pubkey> OP_ELSE <block_height+100> OP_CHECKLOCKTIMEVERIFY OP_DROP <Buyer Pubkey> OP_ENDIF OP_CHECKSIG
But for more complex logical control on contract, such as colored bitcoin, and stake IPO, Bitcoin has no these abilities.
-
how to pay fee for colored transaction on bitcoin network?
how to automatically color a coin in a chain of transactions?
Evolve
BitCoin: UTXO(N) = f( UTXO(N-1), Tx(N));
Ethereum: State(N) = f( State(N-1), Tx(N));
Ethereum:
State = Accounts + Storages.
Accounts = Personal Account (EOA) + Contract Account.
Account = Balance + Storage.
Contract Account = Account + EVM Byte Code.
Transaction makes Transformation:
State(N-1) + Tx(N) ⇒ State(N)
Inventions in Ethereum
Powerful script: a Turing-Complete VM and interperter
Account State and Contract Stroage: use MPT(Merkle-Patricia-Tree) as a database
Protection of network from abusing of the powerful script: Gas
Experiment on Ethereum private network
Checkout go-ethereum from github
$ git clone --recursive https://github.com/ethereum/go-ethereum $ make $ export PATH=$PATH:`pwd`/build/bin
If you prefer cpp-ethereum, here is a steps for c++ coders on linux, cpp-ethereum
Create a test account (EOA)
$ geth --datadir /tmp/nodes/node1 account new Passphrase: $ geth --datadir /tmp/nodes/node1 account list ...
Prepare a contract compiler Solidity
$ sudo apt-get -y install build-essential \ git \ cmake \ libgmp-dev \ libboost-all-dev \ $ sudo add-apt-repository -y ppa:ethereum/ethereum $ sudo add-apt-repository -y ppa:ethereum/ethereum-dev $ sudo apt-get -y update $ sudo apt-get -y upgrade $ sudo apt-get -y install libcryptopp-dev $ git clone --recursive https://github.com/ethereum/solidity $ cd solidity \ && mkdir build \ && cd build \ && cmake .. \ && make install $ sloc --help
Prepare a Genesis Block configure file
Reference latest craft
```
{
"nonce": "0x0000000000000042",
"timestamp": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x0",
"gasLimit": "0x8000000",
"difficulty": "0x400",
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x3333333333333333333333333333333333333333",
"alloc": {
"0x2773ffb039ded4bd86c3c96bf136e9f2bf510114" : {
"balance" : "20000000000000000000000"
}
}
}
```
Mining with low difficulty
diff --git a/core/block_validator.go b/core/block_validator.go index a7c7f76..e1c9207 100644 --- a/core/block_validator.go +++ b/core/block_validator.go @@ -255,6 +255,7 @@ func ValidateHeader(config *ChainConfig, pow pow.PoW, header *types.Header, pare // the difficulty that a new block should have when created at time // given the parent block's time and difficulty. func CalcDifficulty(config *ChainConfig, time, parentTime uint64, parentNumber, parentDiff *big.Int) *big.Int { + return big.NewInt(0x400); if config.IsHomestead(new(big.Int).Add(parentNumber, common.Big1)) { return calcDifficultyHomestead(time, parentTime, parentNumber, parentDiff) } else {
Construct a Private network
$ geth --datadir /tmp/node2/node1 init node1.genesis.json
Contract
contract HelloWorld { string greeting; function greeter(string g) public { greeting = g; } function show() constant returns (string) { return greeting; } }
var src = ‘< above script code in solidity >’;
var compiled = web3.eth.compile.solidity(src);
contract_compiled;{ HelloWorld: { code: "< Long long byte code >", info: { abiDefinition: [{...}, {...}], compilerOptions: "< many compiling options >", compilerVersion: "0.3.6", developerDoc: { methods: {} }, language: "Solidity", languageVersion: "0.3.6", source: "< the contract source code >", userDoc: { methods: {} } } } }
var abi = compiled.HelloWorld.info.abiDefinition;
[{ constant: true, inputs: [], name: "show", outputs: [{ name: "", type: "string" }], type: "function" }, { constant: false, inputs: [{ name: "g", type: "string" }], name: "greeter", outputs: [], type: "function" }]
var code = compiled.HelloWorld.info.code;
"0x606060405261021c806100126000396000f3606060405260e060020a6000350463cc80f6f38114610026578063faf27bca1461008f575b005b604080516020818101835260008083528054845160026001831615610100026000190190921691909104601f81018490048402820184019095528481526101409490928301828280156101d95780601f106101ae576101008083540402835291602001916101d9565b6100246004808035906020019082018035906020019191908080601f016020809104026020016040519081016040528093929190818152602001838380828437509496505050505050508060006000509080519060200190828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101e357805160ff19168380011785555b506102139291505b80821115610218576000815560010161012c565b60405180806020018281038252838181518152602001915080519060200190808383829060006004602084601f0104600302600f01f150905090810190601f1680156101a05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b820191906000526020600020905b8154815290600101906020018083116101bc57829003601f168201915b5050505050905090565b82800160010185558215610124579182015b828111156101245782518260005055916020019190600101906101f5565b505050565b509056"
eth.getBlock(‘pending’);
{ difficulty: 1024, extraData: "0x", gasLimit: 132523880, gasUsed: 0, hash: null, logsBloom: null, miner: null, nonce: null, number: 13, parentHash: "0xe35c8ddf8aee36b1ba8d714af9d06cef05082091ef6823af28dd9d02db0e0d76", receiptRoot: "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", sha3Uncles: "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", size: 511, stateRoot: "0x0000000000000000000000000000000000000000000000000000000000000000", timestamp: 1472006680, totalDifficulty: 0, transactions: [], transactionsRoot: "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", uncles: [] }
var txhash = web3.eth.sendTransaction({from: ‘0x2773ffb039ded4bd86c3c96bf136e9f2bf510114’, data: code});
I0824 10:55:49.044146 eth/api.go:1191] Tx(0x5f995744897e16e04e66b0e814f7a94cedb05698f309cc2961f6c4bfb151dd4a) created: 0xc7e93af8effe641d1a271105f4b2171f4c8a792b
web3.eth.getBlock(‘pending’);
{ difficulty: 1024, extraData: "0x", gasLimit: 132523880, gasUsed: 90000, hash: null, logsBloom: null, miner: null, nonce: null, number: 13, parentHash: "0xe35c8ddf8aee36b1ba8d714af9d06cef05082091ef6823af28dd9d02db0e0d76", receiptRoot: "0x11fd3dd942b74c76e301b93da5daad2c678b564f9338f18a03d98505603f8259", sha3Uncles: "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", size: 1122, stateRoot: "0x0000000000000000000000000000000000000000000000000000000000000000", timestamp: 1472006680, totalDifficulty: 0, transactions: ["0x5f995744897e16e04e66b0e814f7a94cedb05698f309cc2961f6c4bfb151dd4a"], transactionsRoot: "0x984dda77ce5b7b794c61a4f51c375afc96993ef237ea9781680c4ad9f2891fac", uncles: [] }
var template = web3.eth.contract(abi);
var inst = template.new(“helloworld”, {from: ‘0x2773ffb039ded4bd86c3c96bf136e9f2bf510114’, data: code});I0824 11:05:42.861268 eth/api.go:1191] Tx(0xc2c775160a68edd99847c91300c4ea73ebb00c721beb10e37e89c8e85a705180) created: 0xd2cfb391f5abb791b5c60a4b3402c39c69816961
web3.eth.getBlock(‘pending’);
{ difficulty: 1024, extraData: "0x", gasLimit: 132523880, gasUsed: 147601, hash: null, logsBloom: null, miner: null, nonce: null, number: 13, parentHash: "0xe35c8ddf8aee36b1ba8d714af9d06cef05082091ef6823af28dd9d02db0e0d76", receiptRoot: "0x7c29b5761b6719eda8b10bcd8b4d0ae36b31367acbf98d357a111f681a846f82", sha3Uncles: "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", size: 1766, stateRoot: "0x0000000000000000000000000000000000000000000000000000000000000000", timestamp: 1472006680, totalDifficulty: 0, transactions: ["0x5f995744897e16e04e66b0e814f7a94cedb05698f309cc2961f6c4bfb151dd4a", "0xc2c775160a68edd99847c91300c4ea73ebb00c721beb10e37e89c8e85a705180"], transactionsRoot: "0xc76c381a00cf0e043edc83e21ecb190de4e58fc82679dae4e28861d708a562c8", uncles: [] }
miner.start(1);
I0824 11:08:35.032051 miner/miner.go:119] Starting mining operation (CPU=1 TOT=2) I0824 11:08:35.032724 miner/worker.go:573] commit new work on block 13 with 2 txs & 0 uncles. Took 539.191µs true I0824 11:08:35.033581 eth/backend.go:454] Automatic pregeneration of ethash DAG ON (ethash dir: /root/.ethash) I0824 11:08:35.033652 ethash.go:259] Generating DAG for epoch 0 (size 1073739904) (0000000000000000000000000000000000000000000000000000000000000000) I0824 11:08:35.033850 eth/backend.go:461] checking DAG (ethash dir: /root/.ethash) I0824 11:08:36.038051 ethash.go:276] Done generating DAG for epoch 0, it took 1.004395871s
…. waiting ….
I0824 11:12:41.036481 miner/worker.go:339] Mined block (#13 / f3f01c4c). Wait 5 blocks for confirmation I0824 11:12:41.037020 miner/worker.go:573] commit new work on block 14 with 0 txs & 0 uncles. Took 176.146µs I0824 11:12:41.062208 miner/worker.go:573] commit new work on block 14 with 0 txs & 0 uncles. Took 195.425µs
miner.stop();
web3.eth.getBlock(13);{ difficulty: 1024, extraData: "0xd78301040a844765746887676f312e352e31856c696e7578", gasLimit: 132523880, gasUsed: 147601, hash: "0xf3f01c4cc3f620a24d73b441f027b8ebb0ca49a65537066b10f78f3691d37179", logsBloom: "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", miner: "0x2773ffb039ded4bd86c3c96bf136e9f2bf510114", nonce: "0x2e6b7c14179fcfba", number: 13, parentHash: "0xe35c8ddf8aee36b1ba8d714af9d06cef05082091ef6823af28dd9d02db0e0d76", receiptRoot: "0x633761ffaf166a6195633b05c276057b1fa6d081799980daad86f9b71e52ced2", sha3Uncles: "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", size: 1790, stateRoot: "0xfebaec28d6a0131444f179febd692469bb15288e2869a92e1918268f66eab83c", timestamp: 1472008115, totalDifficulty: 14336, transactions: ["0x5f995744897e16e04e66b0e814f7a94cedb05698f309cc2961f6c4bfb151dd4a", "0xc2c775160a68edd99847c91300c4ea73ebb00c721beb10e37e89c8e85a705180"], transactionsRoot: "0xc76c381a00cf0e043edc83e21ecb190de4e58fc82679dae4e28861d708a562c8", uncles: [] }
web3.eth.getTransactionReceipt(‘0x5f995744897e16e04e66b0e814f7a94cedb05698f309cc2961f6c4bfb151dd4a’);
{ blockHash: "0xf3f01c4cc3f620a24d73b441f027b8ebb0ca49a65537066b10f78f3691d37179", blockNumber: 13, contractAddress: "0xc7e93af8effe641d1a271105f4b2171f4c8a792b", cumulativeGasUsed: 90000, from: "0x2773ffb039ded4bd86c3c96bf136e9f2bf510114", gasUsed: 90000, logs: [], root: "44af6b2ec6b03f0ab6eb5e384188bd3c7e0687395a587310f27d78aa48925f96", to: null, transactionHash: "0x5f995744897e16e04e66b0e814f7a94cedb05698f309cc2961f6c4bfb151dd4a", transactionIndex: 0 }
web3.eth.getTransactionReceipt(‘0xc2c775160a68edd99847c91300c4ea73ebb00c721beb10e37e89c8e85a705180’);
{ blockHash: "0xf3f01c4cc3f620a24d73b441f027b8ebb0ca49a65537066b10f78f3691d37179", blockNumber: 13, contractAddress: "0xd2cfb391f5abb791b5c60a4b3402c39c69816961", cumulativeGasUsed: 147601, from: "0x2773ffb039ded4bd86c3c96bf136e9f2bf510114", gasUsed: 57601, logs: [], root: "535656cd46445389bafecd6620d2541a98a94960876fca424e0815bb3f2e7c24", to: null, transactionHash: "0xc2c775160a68edd99847c91300c4ea73ebb00c721beb10e37e89c8e85a705180", transactionIndex: 1 }
var inst = template.at(‘0xc7e93af8effe641d1a271105f4b2171f4c8a792b’);
contract_inst.show();new BigNumber() not a base 16 number: at raise (web3.js:14426:29) at web3.js:14414:33 at BigNumber (web3.js:13461:28) at web3.js:1127:23 at web3.js:1656:20 at web3.js:840:16 at web3.js:839:12 at web3.js:4012:18 at web3.js:4035:16 at web3.js:4145:12
Failed because this reason
Leveldb
to inspect state in `datadir’/.ethereum/chainstate , use leveldbutil
levedbutil dump 000002.log
TODO
- Check it by event log;
- Difference between contract creating and P2SH
- Debug cpp-ethereum or go-ethereum
Tech Details of ethereum
- Merkle-Patricia-Tree
- State (including user account, contract account, storage) management
- EVM: Turing-Complete VM with gas limit
- Lifetime of a contract
- RLP: recursive prefix length
- Uncle blocks
- POW and DAG algorithm
- Event and Log
Reference
- StorageDiscuss
- EthereumBlockFormat
- StateTree
- ExpensiveButCoolStorage
- YellowPaper
- DecentralizedUpdate
- BlockChainSpec
- StorageOfData
- HistoryStorage
- SMTP.experiment.on.ethereum like BitMail
Appendix
- leveldb dump on local mined 3 blocks
--- offset 0; sequence 8
put 'mipmap-log-bloom-\x00\x00\x00\x00\x00\x0fB@' '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
put 'mipmap-log-bloom-\x00\x00\x00\x00\x00\x07\xa1 ' '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
put 'mipmap-log-bloom-\x00\x00\x00\x00\x00\x01\x86\xa0' '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
put 'mipmap-log-bloom-\x00\x00\x00\x00\x00\x00\xc3P' '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
put 'mipmap-log-bloom-\x00\x00\x00\x00\x00\x00\x03\xe8' '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
--- offset 1444; sequence 13
put 'setting-mipmap-version' '\x02'
--- offset 1489; sequence 14
put 'BlockchainVersion' '\x03'
--- offset 1529; sequence 15
put 'ethereum-config-\xa6e\x91{\x0d\x0eO\x04x\xee\xf7\xc4ialeO\xaeo@X\xf7\xa9\xde\xb5\xf1K\x0a\xbev\xcbB' '{"homesteadBlock":1150000,"daoForkBlock":1920000,"daoForkSupport":true}'
===============Block 0, the Genesis=================================
--- offset 1670; sequence 16
put 'LastHeader' '\xa6e\x91{\x0d\x0eO\x04x\xee\xf7\xc4ialeO\xaeo@X\xf7\xa9\xde\xb5\xf1K\x0a\xbev\xcbB'
--- offset 1734; sequence 17
put 'secure-key-\x8b7V\xdd2*\xca:\xb7~4\xf7'\xe5\xe66t`\xdc\x81\xb5\xe96\xa8M\x05}\xaa"\xc4\x98o' 'W\x8a\xf9d*\x16D"\x1b\xbaM\xc3E/\xb6<\xbdn\xde\xae'
put '\xd3hkw\xa2\xa1\xf2\xc86w\xdf\x8f\xf9xeN\x13\xbae\x16\xe0\xe0\xc7\xdal\\xee\xcb\xc7`\xca_' '\xf8r\xa1 \x8b7V\xdd2*\xca:\xb7~4\xf7'\xe5\xe66t`\xdc\x81\xb5\xe96\xa8M\x05}\xaa"\xc4\x98o\xb8N\xf8L\x80\x88Ec\x91\x82D\xf4\x00\x00\xa0V\xe8\x1f\x17\x1b\xccU\xa6\xff\x83E\xe6\x92\xc0\xf8n[H\xe0\x1b\x99l\xad\xc0\x01b/\xb5\xe3c\xb4!\xa0\xc5\xd2F\x01\x86\xf7#<\x92~}\xb2\xdc\xc7\x03\xc0\xe5\x00\xb6S\xca\x82';{\xfa\xd8\x04]\x85\xa4p'
===============Block 1=================================
--- offset 1970; sequence 19
put 'block-}\xe8\xe7\x14G\xb0+t~\xc1=\xa5g\xd0&)E:*m_\xa0;F\x1b\x0e\xd9h^\xd8\xb9\xe5-td' '\x89\x02\x00\x00\x00\x00\x00\x00\x00 '
--- offset 2043; sequence 20
put 'block-}\xe8\xe7\x14G\xb0+t~\xc1=\xa5g\xd0&)E:*m_\xa0;F\x1b\x0e\xd9h^\xd8\xb9\xe5-body' '\xc2\xc0\xc0'
--- offset 2111; sequence 21
put 'block-}\xe8\xe7\x14G\xb0+t~\xc1=\xa5g\xd0&)E:*m_\xa0;F\x1b\x0e\xd9h^\xd8\xb9\xe5-header' '\xf9\x02\x0d\xa0\xa6e\x91{\x0d\x0eO\x04x\xee\xf7\xc4ialeO\xaeo@X\xf7\xa9\xde\xb5\xf1K\x0a\xbev\xcbB\xa0\x1d\xccM\xe8\xde\xc7]z\xab\x85\xb5g\xb6\xcc\xd4\x1a\xd3\x12E\x1b\x94\x8at\x13\xf0\xa1B\xfd@\xd4\x93G\x94W\x8a\xf9d*\x16D"\x1b\xbaM\xc3E/\xb6<\xbdn\xde\xae\xa0\xd3hkw\xa2\xa1\xf2\xc86w\xdf\x8f\xf9xeN\x13\xbae\x16\xe0\xe0\xc7\xdal\\xee\xcb\xc7`\xca_\xa0V\xe8\x1f\x17\x1b\xccU\xa6\xff\x83E\xe6\x92\xc0\xf8n[H\xe0\x1b\x99l\xad\xc0\x01b/\xb5\xe3c\xb4!\xa0V\xe8\x1f\x17\x1b\xccU\xa6\xff\x83E\xe6\x92\xc0\xf8n[H\xe0\x1b\x99l\xad\xc0\x01b/\xb5\xe3c\xb4!\xb9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x01\x84\x13\x83\x1e\x01\x80\x84W\xe2]\xe5\x98\xd7\x83\x01\x04\x0c\x84Geth\x87go1.6.2\x85linux\xa0\xd7\xcb\xba\x8c<9\x94\xfdxX\x9c\xe8B\x99\xf1\xf4@\xd4\x1f\xc6;+.\x02M=\x86C\x00\xb1\xe3\xf7\x88u]C\xb3\xc3\x118@'
--- offset 2707; sequence 22
put 'block-num-\x01' '}\xe8\xe7\x14G\xb0+t~\xc1=\xa5g\xd0&)E:*m_\xa0;F\x1b\x0e\xd9h^\xd8\xb9\xe5'
--- offset 2772; sequence 23
put 'LastBlock' '}\xe8\xe7\x14G\xb0+t~\xc1=\xa5g\xd0&)E:*m_\xa0;F\x1b\x0e\xd9h^\xd8\xb9\xe5'
--- offset 2835; sequence 24
put 'LastHeader' '}\xe8\xe7\x14G\xb0+t~\xc1=\xa5g\xd0&)E:*m_\xa0;F\x1b\x0e\xd9h^\xd8\xb9\xe5'
--- offset 2899; sequence 25
put 'LastFast' '}\xe8\xe7\x14G\xb0+t~\xc1=\xa5g\xd0&)E:*m_\xa0;F\x1b\x0e\xd9h^\xd8\xb9\xe5'
--- offset 2961; sequence 26
put 'mipmap-log-bloom-\x00\x00\x00\x00\x00\x0fB@' '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
put 'mipmap-log-bloom-\x00\x00\x00\x00\x00\x07\xa1 ' '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
put 'mipmap-log-bloom-\x00\x00\x00\x00\x00\x01\x86\xa0' '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
put 'mipmap-log-bloom-\x00\x00\x00\x00\x00\x00\xc3P' '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
put 'mipmap-log-bloom-\x00\x00\x00\x00\x00\x00\x03\xe8' '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
--- offset 4405; sequence 31
put 'receipts-block-}\xe8\xe7\x14G\xb0+t~\xc1=\xa5g\xd0&)E:*m_\xa0;F\x1b\x0e\xd9h^\xd8\xb9\xe5' '\xc0'
--- offset 4475; sequence 32
put 'secure-key-\x8b7V\xdd2*\xca:\xb7~4\xf7'\xe5\xe66t`\xdc\x81\xb5\xe96\xa8M\x05}\xaa"\xc4\x98o' 'W\x8a\xf9d*\x16D"\x1b\xbaM\xc3E/\xb6<\xbdn\xde\xae'
put '\x89\xfc{\xcd\xcf\xda\x9e\x0f\xcf\xc1_\xc0Z\xd6K\xd2f\x1e8\xf9\xb8k\xa3dt?\x84\x97\xf2\x94\xa4|' '\xf8r\xa1 \x8b7V\xdd2*\xca:\xb7~4\xf7'\xe5\xe66t`\xdc\x81\xb5\xe96\xa8M\x05}\xaa"\xc4\x98o\xb8N\xf8L\x80\x88\x8a\xc7#\x04\x89\xe8\x00\x00\xa0V\xe8\x1f\x17\x1b\xccU\xa6\xff\x83E\xe6\x92\xc0\xf8n[H\xe0\x1b\x99l\xad\xc0\x01b/\xb5\xe3c\xb4!\xa0\xc5\xd2F\x01\x86\xf7#<\x92~}\xb2\xdc\xc7\x03\xc0\xe5\x00\xb6S\xca\x82';{\xfa\xd8\x04]\x85\xa4p'
===============Block 2=================================
--- offset 4711; sequence 34
put 'block-}\xae\xa4\x8d#4\x81\x90Pm\xd1[B\xb4u=\xeb\x86&\x16\xfc0O(=\xe4\x11ErA\xf7\xc0-td' '\x89\x02\x00\x00\x00\x00\x00\x00\x00@'
--- offset 4784; sequence 35
put 'block-}\xae\xa4\x8d#4\x81\x90Pm\xd1[B\xb4u=\xeb\x86&\x16\xfc0O(=\xe4\x11ErA\xf7\xc0-body' '\xc2\xc0\xc0'
--- offset 4852; sequence 36
put 'block-}\xae\xa4\x8d#4\x81\x90Pm\xd1[B\xb4u=\xeb\x86&\x16\xfc0O(=\xe4\x11ErA\xf7\xc0-header' '\xf9\x02\x0d\xa0}\xe8\xe7\x14G\xb0+t~\xc1=\xa5g\xd0&)E:*m_\xa0;F\x1b\x0e\xd9h^\xd8\xb9\xe5\xa0\x1d\xccM\xe8\xde\xc7]z\xab\x85\xb5g\xb6\xcc\xd4\x1a\xd3\x12E\x1b\x94\x8at\x13\xf0\xa1B\xfd@\xd4\x93G\x94W\x8a\xf9d*\x16D"\x1b\xbaM\xc3E/\xb6<\xbdn\xde\xae\xa0\x89\xfc{\xcd\xcf\xda\x9e\x0f\xcf\xc1_\xc0Z\xd6K\xd2f\x1e8\xf9\xb8k\xa3dt?\x84\x97\xf2\x94\xa4|\xa0V\xe8\x1f\x17\x1b\xccU\xa6\xff\x83E\xe6\x92\xc0\xf8n[H\xe0\x1b\x99l\xad\xc0\x01b/\xb5\xe3c\xb4!\xa0V\xe8\x1f\x17\x1b\xccU\xa6\xff\x83E\xe6\x92\xc0\xf8n[H\xe0\x1b\x99l\xad\xc0\x01b/\xb5\xe3c\xb4!\xb9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x02\x84\x13~=;\x80\x84W\xe2]\xea\x98\xd7\x83\x01\x04\x0c\x84Geth\x87go1.6.2\x85linux\xa0\x0b\xebW?\xe1?\x80\xf0QB\x92\x8e7\xe6y\x9a\x14\xbf\xdd\xd3\x8d\x89\xd1\xe2x\x02\x18\xd3*\xbd\x1et\x88x)\x82\xb8\x86\xba\x7f\xb1'
--- offset 5448; sequence 37
put 'block-num-\x02' '}\xae\xa4\x8d#4\x81\x90Pm\xd1[B\xb4u=\xeb\x86&\x16\xfc0O(=\xe4\x11ErA\xf7\xc0'
--- offset 5513; sequence 38
put 'LastBlock' '}\xae\xa4\x8d#4\x81\x90Pm\xd1[B\xb4u=\xeb\x86&\x16\xfc0O(=\xe4\x11ErA\xf7\xc0'
--- offset 5576; sequence 39
put 'LastHeader' '}\xae\xa4\x8d#4\x81\x90Pm\xd1[B\xb4u=\xeb\x86&\x16\xfc0O(=\xe4\x11ErA\xf7\xc0'
--- offset 5640; sequence 40
put 'LastFast' '}\xae\xa4\x8d#4\x81\x90Pm\xd1[B\xb4u=\xeb\x86&\x16\xfc0O(=\xe4\x11ErA\xf7\xc0'
--- offset 5702; sequence 41
put 'mipmap-log-bloom-\x00\x00\x00\x00\x00\x0fB@' '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
put 'mipmap-log-bloom-\x00\x00\x00\x00\x00\x07\xa1 ' '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
put 'mipmap-log-bloom-\x00\x00\x00\x00\x00\x01\x86\xa0' '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
put 'mipmap-log-bloom-\x00\x00\x00\x00\x00\x00\xc3P' '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
put 'mipmap-log-bloom-\x00\x00\x00\x00\x00\x00\x03\xe8' '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
--- offset 7146; sequence 46
put 'receipts-block-}\xae\xa4\x8d#4\x81\x90Pm\xd1[B\xb4u=\xeb\x86&\x16\xfc0O(=\xe4\x11ErA\xf7\xc0' '\xc0'
--- offset 7216; sequence 47
put 'secure-key-\x8b7V\xdd2*\xca:\xb7~4\xf7'\xe5\xe66t`\xdc\x81\xb5\xe96\xa8M\x05}\xaa"\xc4\x98o' 'W\x8a\xf9d*\x16D"\x1b\xbaM\xc3E/\xb6<\xbdn\xde\xae'
put 'w@\x06\xc3b\x08w\xa2\xf3HS>\x95\x80\x06\xbf\xef;\xdb\xbd\xd3\xfb\x8d{=\xfb\xc8]\xe9\xdf\xb6\x1b' '\xf8r\xa1 \x8b7V\xdd2*\xca:\xb7~4\xf7'\xe5\xe66t`\xdc\x81\xb5\xe96\xa8M\x05}\xaa"\xc4\x98o\xb8N\xf8L\x80\x88\xd0*\xb4\x86\xce\xdc\x00\x00\xa0V\xe8\x1f\x17\x1b\xccU\xa6\xff\x83E\xe6\x92\xc0\xf8n[H\xe0\x1b\x99l\xad\xc0\x01b/\xb5\xe3c\xb4!\xa0\xc5\xd2F\x01\x86\xf7#<\x92~}\xb2\xdc\xc7\x03\xc0\xe5\x00\xb6S\xca\x82';{\xfa\xd8\x04]\x85\xa4p'