Protobuf Decoder Explainer

Paste a binary Google Protocol Buffers byte array into the input box, and this page will explain the structure of the byte array.

The format of the byte array should be backslash-escaped octal characters, which is the format produced by the ToOctString function in the Protocol Buffers conformance test.

Example Input

Here’s an example of Protocol Buffers conformance test output. Any of the escaped octal byte strings from this output can be pasted into the input box for explanation.

CONFORMANCE TEST BEGIN ====================================

ERROR, test=Required.Proto3.ProtobufInput.ValidDataOneof.MESSAGE.Merge.ProtobufOutput: Output was not equivalent to reference message: deleted: oneof_nested_message.corecursive.optional_int32: 1
deleted: oneof_nested_message.corecursive.unpacked_int32[1]: 1
. request=protobuf_payload: "\202\007\t\022\007\010\001\020\001\310\005\001\202\007\007\022\005\020\001\310\005\001" requested_output_format: PROTOBUF message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: BINARY_TEST, response=protobuf_payload: "\202\007\007\022\005\020\001\310\005\001"
ERROR, test=Recommended.Proto3.ProtobufInput.ValidDataOneofBinary.MESSAGE.Merge.ProtobufOutput: Output was not equivalent to reference message: Expect: \202\007\014\022\012\010\001\020\001\310\005\001\310\005\001, but got: \202\007\007\022\005\020\001\310\005\001. request=protobuf_payload: "\202\007\t\022\007\010\001\020\001\310\005\001\202\007\007\022\005\020\001\310\005\001" requested_output_format: PROTOBUF message_type: "protobuf_test_messages.proto3.TestAllTypesProto3" test_category: BINARY_TEST, response=protobuf_payload: "\202\007\007\022\005\020\001\310\005\001"

Here's an 11kB example protobuf from Github.

\042\345\053\012\040\010\001\022\006\104\145\166\151\143\145\032\004\111\104\114\105\042\004\111\104\114\105\212\001\007\125\156\153\156\157\167\156\012\102\010\002\022\004\110\157\163\164\032\004\111\104\114\105\042\004\111\104\114\105\061\337\117\015\322\314\201\224\101\101\337\117\015\322\314\201\224\101\141\341\247\052\156\131\225\357\077\151\341\247\052\156\131\225\357\077\212\001\007\125\156\153\156\157\167\156\012\157\010\003\022\004\110\157\163\164\032\010\103\157\156\143\141\164\126\062\042\030\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\143\157\156\143\141\164\137\061\050\240\005\061\370\123\343\245\000\062\023\101\071\156\036\310\374\000\100\175\100\101\370\123\343\245\000\062\023\101\111\156\036\310\374\000\100\175\100\141\004\240\313\327\055\220\155\077\151\201\163\002\234\351\262\357\077\212\001\007\125\156\153\156\157\167\156\012\155\010\004\022\004\110\157\163\164\032\010\103\157\156\143\141\164\126\062\042\026\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\143\157\156\143\141\164\050\240\005\061\165\223\030\204\236\027\021\101\071\262\340\000\067\234\013\172\100\101\165\223\030\204\236\027\021\101\111\262\340\000\067\234\013\172\100\141\016\002\157\130\000\123\152\077\151\203\342\132\234\074\315\357\077\212\001\007\125\156\153\156\157\167\156\012\161\010\005\022\004\110\157\163\164\032\011\104\145\143\157\144\145\103\123\126\042\031\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\104\145\143\157\144\145\103\123\126\050\240\005\061\315\314\314\314\315\134\016\101\071\345\122\056\345\042\042\167\100\101\315\314\314\314\315\134\016\101\111\345\122\056\345\042\042\167\100\141\353\335\203\250\213\141\147\077\151\141\146\003\050\236\344\357\077\212\001\007\125\156\153\156\157\167\156\012\202\001\010\006\022\004\110\157\163\164\032\016\122\145\163\151\172\145\102\151\154\151\156\145\141\162\042\045\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\162\145\163\151\172\145\057\122\145\163\151\172\145\102\151\154\151\156\145\141\162\050\240\005\061\177\152\274\164\221\072\377\100\071\125\135\203\175\031\313\147\100\101\177\152\274\164\221\072\377\100\111\125\135\203\175\031\313\147\100\141\007\242\017\143\121\014\130\077\151\062\356\264\120\244\360\357\077\212\001\007\125\156\153\156\157\167\156\012\150\010\007\022\004\110\157\163\164\032\004\120\141\143\153\042\025\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\163\164\141\143\153\050\240\005\061\362\322\115\142\010\177\357\100\071\032\271\026\127\103\377\127\100\101\362\322\115\142\010\177\357\100\111\032\271\026\127\103\377\127\100\141\114\073\366\067\012\101\110\077\151\301\353\102\223\264\366\357\077\212\001\007\125\156\153\156\157\167\156\012\155\010\010\022\004\110\157\163\164\032\007\122\145\141\154\104\151\166\042\027\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\164\162\165\145\144\151\166\050\240\005\061\152\274\164\223\200\340\336\100\071\373\152\367\127\172\206\107\100\101\152\274\164\223\200\340\336\100\111\373\152\367\127\172\206\107\100\141\202\324\150\045\366\306\067\077\151\334\230\007\162\255\371\357\077\212\001\007\125\156\153\156\157\167\156\012\145\010\011\022\004\110\157\163\164\032\003\123\165\142\042\023\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\163\165\142\050\240\005\061\110\341\172\024\336\370\316\100\071\356\075\105\272\012\231\067\100\101\110\341\172\024\336\370\316\100\111\356\075\105\272\012\231\067\100\141\346\376\045\152\271\331\047\077\151\074\073\236\015\053\373\357\077\212\001\007\125\156\153\156\157\167\156\012\266\001\010\012\022\004\110\157\163\164\032\032\111\155\141\147\145\120\162\157\152\145\143\164\151\166\145\124\162\141\156\163\146\157\162\155\126\063\042\115\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\143\157\156\144\057\164\150\145\156\057\137\063\057\143\157\156\144\057\162\157\164\141\164\145\057\164\162\141\156\163\146\157\162\155\057\111\155\141\147\145\120\162\157\152\145\143\164\151\166\145\124\162\141\156\163\146\157\162\155\126\063\050\324\002\061\254\034\132\144\253\371\312\100\071\165\364\136\033\220\117\104\100\101\254\034\132\144\253\371\312\100\111\165\364\136\033\220\117\104\100\141\300\266\242\072\314\305\044\077\151\147\345\141\152\167\374\357\077\212\001\007\125\156\153\156\157\167\156\012\311\001\010\013\022\004\110\157\163\164\032\032\111\155\141\147\145\120\162\157\152\145\143\164\151\166\145\124\162\141\156\163\146\157\162\155\126\063\042\140\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\143\157\156\144\057\164\150\145\156\057\137\063\057\143\157\156\144\057\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\164\162\141\156\163\154\141\164\145\057\164\162\141\156\163\146\157\162\155\057\111\155\141\147\145\120\162\157\152\145\143\164\151\166\145\124\162\141\156\163\146\157\162\155\126\063\050\324\002\061\142\020\130\071\044\021\305\100\071\165\342\311\305\157\271\077\100\101\142\020\130\071\044\021\305\100\111\165\342\311\305\157\271\077\100\141\233\201\007\171\016\071\040\077\151\337\165\111\373\172\375\357\077\212\001\007\125\156\153\156\157\167\156\012\151\010\014\022\004\110\157\163\164\032\014\127\162\151\164\145\123\165\155\155\141\162\171\042\014\127\162\151\164\145\123\165\155\155\141\162\171\050\001\061\067\211\101\140\245\312\261\100\071\067\211\101\140\245\312\261\100\101\067\211\101\140\245\312\261\100\111\067\211\101\140\245\312\261\100\141\371\073\172\233\271\146\013\077\151\310\343\057\226\350\375\357\077\212\001\007\125\156\153\156\157\167\156\220\001\001\012\265\001\010\015\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\137\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\060\135\072\072\106\151\156\151\164\145\123\153\151\160\072\072\106\154\141\164\115\141\160\133\060\135\072\072\124\145\170\164\114\151\156\145\050\206\001\061\053\207\026\331\116\073\244\100\071\123\247\122\020\146\123\063\100\101\053\207\026\331\116\073\244\100\111\123\247\122\020\146\123\063\100\141\144\353\236\137\310\050\377\076\151\006\243\300\347\046\376\357\077\212\001\007\125\156\153\156\157\167\156\012\265\001\010\016\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\137\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\064\135\072\072\106\151\156\151\164\145\123\153\151\160\072\072\106\154\141\164\115\141\160\133\060\135\072\072\124\145\170\164\114\151\156\145\050\207\001\061\362\322\115\142\220\050\244\100\071\077\350\331\254\372\034\063\100\101\362\322\115\142\220\050\244\100\111\077\350\331\254\372\034\063\100\141\064\045\144\043\352\013\377\076\151\316\351\224\377\144\376\357\077\212\001\007\125\156\153\156\157\167\156\012\265\001\010\017\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\137\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\062\135\072\072\106\151\156\151\164\145\123\153\151\160\072\072\106\154\141\164\115\141\160\133\060\135\072\072\124\145\170\164\114\151\156\145\050\206\001\061\327\243\160\075\012\003\244\100\071\113\166\056\160\246\035\063\100\101\327\243\160\075\012\003\244\100\111\113\166\056\160\246\035\063\100\141\164\041\122\171\037\322\376\076\151\162\334\323\243\242\376\357\077\212\001\007\125\156\153\156\157\167\156\012\265\001\010\020\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\137\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\063\135\072\072\106\151\156\151\164\145\123\153\151\160\072\072\106\154\141\164\115\141\160\133\060\135\072\072\124\145\170\164\114\151\156\145\050\207\001\061\266\363\375\324\270\330\243\100\071\004\237\252\363\106\321\062\100\101\266\363\375\324\270\330\243\100\111\004\237\252\363\106\321\062\100\141\017\006\134\253\362\220\376\076\151\052\063\271\305\337\376\357\077\212\001\007\125\156\153\156\157\167\156\012\265\001\010\021\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\137\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\061\135\072\072\106\151\156\151\164\145\123\153\151\160\072\072\106\154\141\164\115\141\160\133\060\135\072\072\124\145\170\164\114\151\156\145\050\206\001\061\047\061\010\254\234\021\242\100\071\175\043\101\273\176\102\061\100\101\047\061\010\254\234\021\242\100\111\175\043\101\273\176\102\061\100\141\240\144\173\204\005\324\373\076\151\041\074\304\155\027\377\357\077\212\001\007\125\156\153\156\157\167\156\012\204\001\010\022\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\056\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\050\240\005\061\063\063\063\063\243\164\321\100\071\065\132\243\065\132\231\072\100\101\152\274\164\223\030\113\241\100\111\130\356\164\021\015\132\012\100\141\235\061\044\065\110\242\372\076\151\151\246\124\262\114\377\357\077\212\001\007\125\156\153\156\157\167\156\012\155\010\023\022\004\110\157\163\164\032\007\107\162\145\141\164\145\162\042\027\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\107\162\145\141\164\145\162\050\365\003\061\313\241\105\266\163\075\224\100\071\015\014\374\146\067\257\004\100\101\313\241\105\266\163\075\224\100\111\015\014\374\146\067\257\004\100\141\125\260\132\261\025\054\357\076\151\304\127\152\336\153\377\357\077\212\001\007\125\156\153\156\157\167\156\012\221\001\010\024\022\004\110\157\163\164\032\014\123\164\162\151\144\145\144\123\154\151\143\145\042\066\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\143\157\156\144\057\164\150\145\156\057\137\063\057\143\157\156\144\057\162\157\164\141\164\145\057\163\164\162\151\144\145\144\137\163\154\151\143\145\050\324\002\061\075\012\327\243\160\155\213\100\071\015\137\027\066\273\246\004\100\101\075\012\327\243\160\155\213\100\111\015\137\027\066\273\246\004\100\141\017\063\337\303\362\036\345\076\151\243\033\135\375\200\377\357\077\212\001\007\125\156\153\156\157\167\156\012\220\001\010\025\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\072\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\050\240\005\061\114\067\211\101\200\226\316\100\071\153\274\164\223\030\116\067\100\101\254\034\132\144\073\077\213\100\111\106\361\326\144\166\302\364\077\141\101\364\363\200\135\373\344\076\151\227\234\272\370\225\377\357\077\212\001\007\125\156\153\156\157\167\156\012\152\010\026\022\004\110\157\163\164\032\004\120\141\143\153\042\027\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\163\164\141\143\153\137\061\050\206\005\061\366\050\134\217\302\013\206\100\071\171\337\105\254\022\171\361\077\101\366\050\134\217\302\013\206\100\111\171\337\105\254\022\171\361\077\141\072\106\115\150\014\372\340\076\151\344\004\307\362\246\377\357\077\212\001\007\125\156\153\156\157\167\156\012\172\010\027\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\045\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\050\025\061\211\101\140\345\320\320\172\100\071\165\223\030\004\126\156\064\100\101\211\101\140\345\320\320\172\100\111\165\223\030\004\126\156\064\100\141\000\345\120\210\126\246\324\076\151\014\111\362\105\261\377\357\077\212\001\007\125\156\153\156\157\167\156\012\155\010\030\022\004\110\157\163\164\032\016\122\145\141\144\126\141\162\151\141\142\154\145\117\160\042\016\122\145\141\144\126\141\162\151\141\142\154\145\117\160\050\024\061\075\012\327\243\160\215\163\100\071\142\020\130\071\264\110\057\100\101\075\012\327\243\160\215\163\100\111\142\020\130\071\264\110\057\100\141\257\366\276\024\001\035\316\076\151\074\216\062\315\270\377\357\077\212\001\007\125\156\153\156\157\167\156\220\001\001\012\250\001\010\031\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\122\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\060\135\072\072\106\151\156\151\164\145\123\153\151\160\072\072\106\154\141\164\115\141\160\050\206\001\061\331\316\367\123\243\076\246\100\071\160\363\074\172\247\077\065\100\101\161\075\012\327\243\032\160\100\111\314\301\244\236\026\304\376\077\141\131\331\204\267\141\315\310\076\151\035\374\212\000\277\377\357\077\212\001\007\125\156\153\156\157\167\156\012\250\001\010\032\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\122\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\063\135\072\072\106\151\156\151\164\145\123\153\151\160\072\072\106\154\141\164\115\141\160\050\207\001\061\256\107\341\172\224\320\245\100\071\372\325\365\131\002\257\064\100\101\175\077\065\136\272\175\157\100\111\145\157\263\144\266\333\375\077\141\061\050\140\001\011\100\310\076\151\165\074\215\020\305\377\357\077\212\001\007\125\156\153\156\157\167\156\012\250\001\010\033\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\122\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\064\135\072\072\106\151\156\151\164\145\123\153\151\160\072\072\106\154\141\164\115\141\160\050\207\001\061\264\310\166\276\137\007\246\100\071\345\127\232\106\366\342\064\100\101\051\134\217\302\365\354\155\100\111\167\372\006\234\271\137\374\077\141\142\303\374\061\153\013\307\076\151\364\010\150\323\312\377\357\077\212\001\007\125\156\153\156\157\167\156\012\250\001\010\034\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\122\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\061\135\072\072\106\151\156\151\164\145\123\153\151\160\072\072\106\154\141\164\115\141\160\050\206\001\061\061\010\254\034\332\323\243\100\071\053\153\042\066\223\360\062\100\101\244\160\075\012\327\043\154\100\111\341\172\024\256\107\341\372\077\141\132\156\074\140\150\253\305\076\151\003\041\102\076\320\377\357\077\212\001\007\125\156\153\156\157\167\156\012\143\010\035\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\016\111\164\145\162\141\164\157\162\072\072\122\157\157\164\050\025\061\230\156\022\203\300\234\167\100\071\053\316\076\174\206\375\061\100\101\337\117\215\227\156\322\153\100\111\110\030\107\147\235\062\045\100\141\217\072\055\355\267\154\305\076\151\116\034\160\231\325\377\357\077\212\001\007\125\156\153\156\157\167\156\012\141\010\036\022\004\110\157\163\164\032\010\111\144\145\156\164\151\164\171\042\010\111\144\145\156\164\151\164\171\050\025\061\110\341\172\024\256\257\153\100\071\117\126\313\033\043\030\045\100\101\110\341\172\024\256\257\153\100\111\117\126\313\033\043\030\045\100\141\114\054\054\016\365\121\305\076\151\331\137\355\355\332\377\357\077\212\001\007\125\156\153\156\157\167\156\220\001\001\012\237\001\010\037\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\111\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\060\135\072\072\106\151\156\151\164\145\123\153\151\160\050\206\001\061\134\217\302\365\250\356\247\100\071\120\026\012\372\124\334\066\100\101\061\010\254\034\132\000\153\100\111\011\056\322\374\327\312\371\077\141\165\275\054\227\361\312\304\076\151\244\305\251\040\340\377\357\077\212\001\007\125\156\153\156\157\167\156\012\250\001\010\040\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\122\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\062\135\072\072\106\151\156\151\164\145\123\153\151\160\072\072\106\154\141\164\115\141\160\050\206\001\061\207\026\331\316\267\254\245\100\071\137\103\274\227\104\264\064\100\101\002\053\207\026\331\232\152\100\111\064\321\334\170\342\151\371\077\141\042\145\333\176\307\174\304\076\151\133\245\333\077\345\377\357\077\212\001\007\125\156\153\156\157\167\156\012\237\001\010\041\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\111\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\062\135\072\072\106\151\156\151\164\145\123\153\151\160\050\206\001\061\335\044\006\201\325\125\247\100\071\140\212\067\121\131\112\066\100\101\140\345\320\042\333\221\152\100\111\037\160\264\227\113\141\371\077\141\223\051\061\331\332\165\304\076\151\247\133\122\135\352\377\357\077\212\001\007\125\156\153\156\157\167\156\012\237\001\010\042\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\111\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\061\135\072\072\106\151\156\151\164\145\123\153\151\160\050\206\001\061\205\353\121\270\136\147\245\100\071\131\156\112\153\006\162\064\100\101\077\065\136\272\111\070\151\100\111\335\062\200\122\063\027\370\077\141\041\077\143\362\276\153\303\076\151\100\030\102\070\357\377\357\077\212\001\007\125\156\153\156\157\167\156\012\237\001\010\043\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\111\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\063\135\072\072\106\151\156\151\164\145\123\153\151\160\050\207\001\061\305\040\260\162\250\134\247\100\071\352\241\055\300\214\046\066\100\101\150\221\355\174\077\301\150\100\111\367\276\174\143\246\170\367\077\141\152\126\340\337\023\020\303\076\151\070\020\107\374\363\377\357\077\212\001\007\125\156\153\156\157\167\156\012\237\001\010\044\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\111\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\064\135\072\072\106\151\156\151\164\145\123\153\151\160\050\207\001\061\201\225\103\213\254\201\247\100\071\267\240\132\176\245\111\066\100\101\315\314\314\314\314\244\147\100\111\026\215\004\174\363\152\366\077\141\354\074\076\355\010\065\302\076\151\210\113\211\211\370\377\357\077\212\001\007\125\156\153\156\157\167\156\012\155\010\045\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\030\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\050\025\061\120\215\227\156\022\147\143\100\071\030\010\155\042\337\220\035\100\101\120\215\227\156\022\147\143\100\111\030\010\155\042\337\220\035\100\141\166\004\256\246\351\341\275\076\151\136\200\306\105\374\377\357\077\212\001\007\125\156\153\156\157\167\156\012\154\010\046\022\004\110\157\163\164\032\017\111\164\145\162\141\164\157\162\107\145\164\116\145\170\164\042\017\111\164\145\162\141\164\157\162\107\145\164\116\145\170\164\050\025\061\205\353\121\270\036\135\126\100\071\323\313\126\006\377\011\021\100\101\205\353\121\270\036\135\126\100\111\323\313\126\006\377\011\021\100\141\160\052\364\144\263\070\261\076\151\375\354\334\154\376\377\357\077\212\001\007\125\156\153\156\157\167\156\012\145\010\047\022\004\110\157\163\164\032\005\137\123\145\156\144\042\022\111\164\145\162\141\164\157\162\107\145\164\116\145\170\164\057\137\063\050\025\061\307\113\067\211\101\360\106\100\071\230\360\035\215\031\172\001\100\101\307\113\067\211\101\360\106\100\111\230\360\035\215\031\172\001\100\141\244\006\115\063\001\252\241\076\151\062\000\175\207\377\377\357\077\212\001\007\125\156\153\156\157\167\156\012\145\010\050\022\004\110\157\163\164\032\012\114\157\147\151\143\141\154\101\156\144\042\012\114\157\147\151\143\141\154\101\156\144\050\001\061\266\363\375\324\170\211\061\100\071\266\363\375\324\170\211\061\100\101\266\363\375\324\170\211\061\100\111\266\363\375\324\170\211\061\100\141\024\030\044\122\131\002\213\076\151\173\145\206\363\377\377\357\077\212\001\007\125\156\153\156\157\167\156\220\001\001\012\165\010\051\022\004\110\157\163\164\032\022\106\154\165\163\150\123\165\155\155\141\162\171\127\162\151\164\145\162\042\022\106\154\165\163\150\123\165\155\155\141\162\171\127\162\151\164\145\162\050\001\061\063\063\063\063\063\063\000\100\071\063\063\063\063\063\063\000\100\101\063\063\063\063\063\063\000\100\111\063\063\063\063\063\063\000\100\141\335\363\322\011\065\363\130\076\151\000\000\000\000\000\000\360\077\212\001\007\125\156\153\156\157\167\156\220\001\001\052\377\052\012\157\010\001\022\004\110\157\163\164\032\010\103\157\156\143\141\164\126\062\042\030\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\143\157\156\143\141\164\137\061\050\240\005\061\370\123\343\245\000\062\023\101\071\156\036\310\374\000\100\175\100\101\370\123\343\245\000\062\023\101\111\156\036\310\374\000\100\175\100\141\342\366\335\276\226\275\321\077\151\342\366\335\276\226\275\321\077\212\001\007\125\156\153\156\157\167\156\012\155\010\002\022\004\110\157\163\164\032\010\103\157\156\143\141\164\126\062\042\026\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\143\157\156\143\141\164\050\240\005\061\165\223\030\204\236\027\021\101\071\262\340\000\067\234\013\172\100\101\165\223\030\204\236\027\021\101\111\262\340\000\067\234\013\172\100\141\055\161\332\336\003\230\317\077\151\274\227\045\127\314\304\340\077\212\001\007\125\156\153\156\157\167\156\012\161\010\003\022\004\110\157\163\164\032\011\104\145\143\157\144\145\103\123\126\042\031\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\104\145\143\157\144\145\103\123\126\050\240\005\061\315\314\314\314\315\134\016\101\071\345\122\056\345\042\042\167\100\101\315\314\314\314\315\134\016\101\111\345\122\056\345\042\042\167\100\141\120\111\117\203\273\017\314\077\151\020\152\371\067\273\310\347\077\212\001\007\125\156\153\156\157\167\156\012\202\001\010\004\022\004\110\157\163\164\032\016\122\145\163\151\172\145\102\151\154\151\156\145\141\162\042\045\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\162\145\163\151\172\145\057\122\145\163\151\172\145\102\151\154\151\156\145\141\162\050\240\005\061\177\152\274\164\221\072\377\100\071\125\135\203\175\031\313\147\100\101\177\152\274\164\221\072\377\100\111\125\135\203\175\031\313\147\100\141\332\335\337\250\260\334\274\077\151\313\145\025\115\121\144\353\077\212\001\007\125\156\153\156\157\167\156\012\150\010\005\022\004\110\157\163\164\032\004\120\141\143\153\042\025\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\163\164\141\143\153\050\240\005\061\362\322\115\142\010\177\357\100\071\032\271\026\127\103\377\127\100\101\362\322\115\142\010\177\357\100\111\032\271\026\127\103\377\127\100\141\012\101\274\111\367\033\255\077\151\334\051\261\301\020\066\355\077\212\001\007\125\156\153\156\157\167\156\012\155\010\006\022\004\110\157\163\164\032\007\122\145\141\154\104\151\166\042\027\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\164\162\165\145\144\151\166\050\240\005\061\152\274\164\223\200\340\336\100\071\373\152\367\127\172\206\107\100\101\152\274\164\223\200\340\336\100\111\373\152\367\127\172\206\107\100\141\130\124\150\054\163\211\234\077\151\177\154\024\133\134\032\356\077\212\001\007\125\156\153\156\157\167\156\012\145\010\007\022\004\110\157\163\164\032\003\123\165\142\042\023\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\163\165\142\050\240\005\061\110\341\172\024\336\370\316\100\071\356\075\105\272\012\231\067\100\101\110\341\172\024\336\370\316\100\111\356\075\105\272\012\231\067\100\141\323\230\352\365\367\237\214\077\151\342\026\354\072\334\214\356\077\212\001\007\125\156\153\156\157\167\156\012\266\001\010\010\022\004\110\157\163\164\032\032\111\155\141\147\145\120\162\157\152\145\143\164\151\166\145\124\162\141\156\163\146\157\162\155\126\063\042\115\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\143\157\156\144\057\164\150\145\156\057\137\063\057\143\157\156\144\057\162\157\164\141\164\145\057\164\162\141\156\163\146\157\162\155\057\111\155\141\147\145\120\162\157\152\145\143\164\151\166\145\124\162\141\156\163\146\157\162\155\126\063\050\324\002\061\254\034\132\144\253\371\312\100\071\165\364\136\033\220\117\104\100\101\254\034\132\144\253\371\312\100\111\165\364\136\033\220\117\104\100\141\150\174\252\235\120\356\210\077\151\324\300\142\175\225\360\356\077\212\001\007\125\156\153\156\157\167\156\012\311\001\010\011\022\004\110\157\163\164\032\032\111\155\141\147\145\120\162\157\152\145\143\164\151\166\145\124\162\141\156\163\146\157\162\155\126\063\042\140\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\143\157\156\144\057\164\150\145\156\057\137\063\057\143\157\156\144\057\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\164\162\141\156\163\154\141\164\145\057\164\162\141\156\163\146\157\162\155\057\111\155\141\147\145\120\162\157\152\145\143\164\151\166\145\124\162\141\156\163\146\157\162\155\126\063\050\324\002\061\142\020\130\071\044\021\305\100\071\165\342\311\305\157\271\077\100\101\142\020\130\071\044\021\305\100\111\165\342\311\305\157\271\077\100\141\015\104\165\152\152\170\203\077\151\344\225\014\047\167\076\357\077\212\001\007\125\156\153\156\157\167\156\012\151\010\012\022\004\110\157\163\164\032\014\127\162\151\164\145\123\165\155\155\141\162\171\042\014\127\162\151\164\145\123\165\155\155\141\162\171\050\001\061\067\211\101\140\245\312\261\100\071\067\211\101\140\245\312\261\100\101\067\211\101\140\245\312\261\100\111\067\211\101\140\245\312\261\100\141\323\235\224\162\167\161\160\077\151\040\277\361\025\132\137\357\077\212\001\007\125\156\153\156\157\167\156\220\001\001\012\265\001\010\013\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\137\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\060\135\072\072\106\151\156\151\164\145\123\153\151\160\072\072\106\154\141\164\115\141\160\133\060\135\072\072\124\145\170\164\114\151\156\145\050\206\001\061\053\207\026\331\116\073\244\100\071\123\247\122\020\146\123\063\100\101\053\207\026\331\116\073\244\100\111\123\247\122\020\146\123\063\100\141\125\303\216\256\311\262\142\077\151\343\115\240\337\014\162\357\077\212\001\007\125\156\153\156\157\167\156\012\265\001\010\014\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\137\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\064\135\072\072\106\151\156\151\164\145\123\153\151\160\072\072\106\154\141\164\115\141\160\133\060\135\072\072\124\145\170\164\114\151\156\145\050\207\001\061\362\322\115\142\220\050\244\100\071\077\350\331\254\372\034\063\100\101\362\322\115\142\220\050\244\100\111\077\350\331\254\372\034\063\100\141\010\341\024\340\166\241\142\077\151\304\142\200\126\256\204\357\077\212\001\007\125\156\153\156\157\167\156\012\265\001\010\015\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\137\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\062\135\072\072\106\151\156\151\164\145\123\153\151\160\072\072\106\154\141\164\115\141\160\133\060\135\072\072\124\145\170\164\114\151\156\145\050\206\001\061\327\243\160\075\012\003\244\100\071\113\166\056\160\246\035\063\100\101\327\243\160\075\012\003\244\100\111\113\166\056\160\246\035\063\100\141\005\256\242\276\310\176\142\077\151\162\005\077\037\055\227\357\077\212\001\007\125\156\153\156\157\167\156\012\265\001\010\016\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\137\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\063\135\072\072\106\151\156\151\164\145\123\153\151\160\072\072\106\154\141\164\115\141\160\133\060\135\072\072\124\145\170\164\114\151\156\145\050\207\001\061\266\363\375\324\270\330\243\100\071\004\237\252\363\106\321\062\100\101\266\363\375\324\270\330\243\100\111\004\237\252\363\106\321\062\100\141\067\267\026\134\254\127\142\077\151\051\034\233\313\204\251\357\077\212\001\007\125\156\153\156\157\167\156\012\265\001\010\017\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\137\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\061\135\072\072\106\151\156\151\164\145\123\153\151\160\072\072\106\154\141\164\115\141\160\133\060\135\072\072\124\145\170\164\114\151\156\145\050\206\001\061\047\061\010\254\234\021\242\100\071\175\043\101\273\176\102\061\100\101\047\061\010\254\234\021\242\100\111\175\043\101\273\176\102\061\100\141\211\000\262\351\015\263\140\077\151\052\316\204\331\067\272\357\077\212\001\007\125\156\153\156\157\167\156\012\204\001\010\020\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\056\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\050\240\005\061\063\063\063\063\243\164\321\100\071\065\132\243\065\132\231\072\100\101\152\274\164\223\030\113\241\100\111\130\356\164\021\015\132\012\100\141\225\107\116\217\052\367\137\077\151\116\165\314\156\063\312\357\077\212\001\007\125\156\153\156\157\167\156\012\155\010\021\022\004\110\157\163\164\032\007\107\162\145\141\164\145\162\042\027\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\107\162\145\141\164\145\162\050\365\003\061\313\241\105\266\163\075\224\100\071\015\014\374\146\067\257\004\100\101\313\241\105\266\163\075\224\100\111\015\014\374\146\067\257\004\100\141\156\344\024\363\304\264\122\077\151\300\377\105\321\215\323\357\077\212\001\007\125\156\153\156\157\167\156\012\221\001\010\022\022\004\110\157\163\164\032\014\123\164\162\151\144\145\144\123\154\151\143\145\042\066\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\143\157\156\144\057\164\150\145\156\057\137\063\057\143\157\156\144\057\162\157\164\141\164\145\057\163\164\162\151\144\145\144\137\163\154\151\143\145\050\324\002\061\075\012\327\243\160\155\213\100\071\015\137\027\066\273\246\004\100\101\075\012\327\243\160\155\213\100\111\015\137\027\066\273\246\004\100\141\333\355\323\304\117\131\111\077\151\273\064\067\045\344\331\357\077\212\001\007\125\156\153\156\157\167\156\012\220\001\010\023\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\072\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\050\240\005\061\114\067\211\101\200\226\316\100\071\153\274\164\223\030\116\067\100\101\254\034\132\144\073\077\213\100\111\106\361\326\144\166\302\364\077\141\076\353\315\003\233\056\111\077\151\066\050\370\313\057\340\357\077\212\001\007\125\156\153\156\157\167\156\012\152\010\024\022\004\110\157\163\164\032\004\120\141\143\153\042\027\120\141\162\164\151\164\151\157\156\145\144\103\141\154\154\057\163\164\141\143\153\137\061\050\206\005\061\366\050\134\217\302\013\206\100\071\171\337\105\254\022\171\361\077\101\366\050\134\217\302\013\206\100\111\171\337\105\254\022\171\361\077\141\176\144\034\157\012\140\104\077\151\117\357\223\316\107\345\357\077\212\001\007\125\156\153\156\157\167\156\012\172\010\025\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\045\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\050\025\061\211\101\140\345\320\320\172\100\071\165\223\030\004\126\156\064\100\101\211\101\140\345\320\320\172\100\111\165\223\030\004\126\156\064\100\141\307\102\322\272\216\310\070\077\151\227\111\153\340\140\350\357\077\212\001\007\125\156\153\156\157\167\156\012\155\010\026\022\004\110\157\163\164\032\016\122\145\141\144\126\141\162\151\141\142\154\145\117\160\042\016\122\145\141\144\126\141\162\151\141\142\154\145\117\160\050\024\061\075\012\327\243\160\215\163\100\071\142\020\130\071\264\110\057\100\101\075\012\327\243\160\215\163\100\111\142\020\130\071\264\110\057\100\141\215\203\374\273\030\022\062\077\151\047\311\202\043\243\352\357\077\212\001\007\125\156\153\156\157\167\156\220\001\001\012\250\001\010\027\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\122\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\060\135\072\072\106\151\156\151\164\145\123\153\151\160\072\072\106\154\141\164\115\141\160\050\206\001\061\331\316\367\123\243\076\246\100\071\160\363\074\172\247\077\065\100\101\161\075\012\327\243\032\160\100\111\314\301\244\236\026\304\376\077\141\352\320\145\301\146\304\055\077\151\204\337\356\151\177\354\357\077\212\001\007\125\156\153\156\157\167\156\012\250\001\010\030\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\122\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\063\135\072\072\106\151\156\151\164\145\123\153\151\160\072\072\106\154\141\164\115\141\160\050\207\001\061\256\107\341\172\224\320\245\100\071\372\325\365\131\002\257\064\100\101\175\077\065\136\272\175\157\100\111\145\157\263\144\266\333\375\077\141\312\215\371\225\302\032\055\077\151\035\077\030\026\121\356\357\077\212\001\007\125\156\153\156\157\167\156\012\250\001\010\031\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\122\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\064\135\072\072\106\151\156\151\164\145\123\153\151\160\072\072\106\154\141\164\115\141\160\050\207\001\061\264\310\166\276\137\007\246\100\071\345\127\232\106\366\342\064\100\101\051\134\217\302\365\354\155\100\111\167\372\006\234\271\137\374\077\141\256\331\024\143\135\250\053\077\151\153\160\356\233\013\360\357\077\212\001\007\125\156\153\156\157\167\156\012\250\001\010\032\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\122\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\061\135\072\072\106\151\156\151\164\145\123\153\151\160\072\072\106\154\141\164\115\141\160\050\206\001\061\061\010\254\034\332\323\243\100\071\053\153\042\066\223\360\062\100\101\244\160\075\012\327\043\154\100\111\341\172\024\256\107\341\372\077\141\371\143\162\140\343\001\052\077\151\221\167\044\272\253\361\357\077\212\001\007\125\156\153\156\157\167\156\012\143\010\033\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\016\111\164\145\162\141\164\157\162\072\072\122\157\157\164\050\025\061\230\156\022\203\300\234\167\100\071\053\316\076\174\206\375\061\100\101\337\117\215\227\156\322\153\100\111\110\030\107\147\235\062\045\100\141\171\167\370\130\246\266\051\077\151\030\007\212\044\107\363\357\077\212\001\007\125\156\153\156\157\167\156\012\141\010\034\022\004\110\157\163\164\032\010\111\144\145\156\164\151\164\171\042\010\111\144\145\156\164\151\164\171\050\025\061\110\341\172\024\256\257\153\100\071\117\126\313\033\043\030\045\100\101\110\341\172\024\256\257\153\100\111\117\126\313\033\043\030\045\100\141\303\171\215\021\210\226\051\077\151\360\037\013\215\340\364\357\077\212\001\007\125\156\153\156\157\167\156\220\001\001\012\237\001\010\035\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\111\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\060\135\072\072\106\151\156\151\164\145\123\153\151\160\050\206\001\061\134\217\302\365\250\356\247\100\071\120\026\012\372\124\334\066\100\101\061\010\254\034\132\000\153\100\111\011\056\322\374\327\312\371\077\141\234\112\327\257\175\364\050\077\151\145\035\346\324\157\366\357\077\212\001\007\125\156\153\156\157\167\156\012\250\001\010\036\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\122\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\062\135\072\072\106\151\156\151\164\145\123\153\151\160\072\072\106\154\141\164\115\141\160\050\206\001\061\207\026\331\316\267\254\245\100\071\137\103\274\227\104\264\064\100\101\002\053\207\026\331\232\152\100\111\064\321\334\170\342\151\371\077\141\250\327\072\370\255\226\050\077\151\022\241\305\077\371\367\357\077\212\001\007\125\156\153\156\157\167\156\012\237\001\010\037\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\111\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\062\135\072\072\106\151\156\151\164\145\123\153\151\160\050\206\001\061\335\044\006\201\325\125\247\100\071\140\212\067\121\131\112\066\100\101\140\345\320\042\333\221\152\100\111\037\160\264\227\113\141\371\077\141\257\345\120\171\136\216\050\077\151\040\066\255\045\202\371\357\077\212\001\007\125\156\153\156\157\167\156\012\237\001\010\040\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\111\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\061\135\072\072\106\151\156\151\164\145\123\153\151\160\050\206\001\061\205\353\121\270\136\147\245\100\071\131\156\112\153\006\162\064\100\101\077\065\136\272\111\070\151\100\111\335\062\200\122\063\027\370\077\141\050\046\134\206\375\116\047\077\151\342\233\205\025\367\372\357\077\212\001\007\125\156\153\156\157\167\156\012\237\001\010\041\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\111\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\063\135\072\072\106\151\156\151\164\145\123\153\151\160\050\207\001\061\305\040\260\162\250\134\247\100\071\352\241\055\300\214\046\066\100\101\150\221\355\174\077\301\150\100\111\367\276\174\143\246\170\367\077\141\156\273\364\317\370\340\046\077\151\056\233\022\045\145\374\357\077\212\001\007\125\156\153\156\157\167\156\012\237\001\010\042\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\111\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\072\072\115\141\160\101\156\144\102\141\164\143\150\072\072\123\150\165\146\146\154\145\072\072\111\156\164\145\162\154\145\141\166\145\133\064\135\072\072\106\151\156\151\164\145\123\153\151\160\050\207\001\061\201\225\103\213\254\201\247\100\071\267\240\132\176\245\111\066\100\101\315\314\314\314\314\244\147\100\111\026\215\004\174\363\152\366\077\141\162\152\012\307\024\332\045\077\151\325\013\137\306\302\375\357\077\212\001\007\125\156\153\156\157\167\156\012\155\010\043\022\004\110\157\163\164\032\007\104\141\164\141\163\145\164\042\030\111\164\145\162\141\164\157\162\072\072\122\157\157\164\072\072\120\162\145\146\145\164\143\150\050\025\061\120\215\227\156\022\147\143\100\071\030\010\155\042\337\220\035\100\101\120\215\227\156\022\147\143\100\111\030\010\155\042\337\220\035\100\141\347\245\022\352\242\356\041\077\151\377\254\215\260\341\376\357\077\212\001\007\125\156\153\156\157\167\156\012\154\010\044\022\004\110\157\163\164\032\017\111\164\145\162\141\164\157\162\107\145\164\116\145\170\164\042\017\111\164\145\162\141\164\157\162\107\145\164\116\145\170\164\050\025\061\205\353\121\270\036\135\126\100\071\323\313\126\006\377\011\021\100\101\205\353\121\270\036\135\126\100\111\323\313\126\006\377\011\021\100\141\034\023\103\033\074\253\024\077\151\030\207\156\012\207\377\357\077\212\001\007\125\156\153\156\157\167\156\012\145\010\045\022\004\110\157\163\164\032\005\137\123\145\156\144\042\022\111\164\145\162\141\164\157\162\107\145\164\116\145\170\164\057\137\063\050\025\061\307\113\067\211\101\360\106\100\071\230\360\035\215\031\172\001\100\101\307\113\067\211\101\360\106\100\111\230\360\035\215\031\172\001\100\141\055\242\376\113\070\063\005\077\151\023\267\117\327\333\377\357\077\212\001\007\125\156\153\156\157\167\156\012\145\010\046\022\004\110\157\163\164\032\012\114\157\147\151\143\141\154\101\156\144\042\012\114\157\147\151\143\141\154\101\156\144\050\001\061\266\363\375\324\170\211\061\100\071\266\363\375\324\170\211\061\100\101\266\363\375\324\170\211\061\100\111\266\363\375\324\170\211\061\100\141\274\272\263\134\073\065\360\076\151\172\160\306\101\374\377\357\077\212\001\007\125\156\153\156\157\167\156\220\001\001\012\165\010\047\022\004\110\157\163\164\032\022\106\154\165\163\150\123\165\155\155\141\162\171\127\162\151\164\145\162\042\022\106\154\165\163\150\123\165\155\155\141\162\171\127\162\151\164\145\162\050\001\061\063\063\063\063\063\063\000\100\071\063\063\063\063\063\063\000\100\101\063\063\063\063\063\063\000\100\111\063\063\063\063\063\063\000\100\141\240\322\045\174\314\361\275\076\151\377\377\377\377\377\377\357\077\212\001\007\125\156\153\156\157\167\156\220\001\001\062\023\116\166\151\144\151\141\040\107\120\125\040\050\120\141\163\143\141\154\051
  

Explaining a binary protobuf file

If you have a file named binary_protobuf_file.pb containing binary protobuf and you want the contents of the file explained, then running this command will copy the escaped-octal file to your X11 clipboard. Then you can paste it into the input box on this page.

cat binary_protobuf_file.pb | hexdump --one-byte-octal --no-squeezing | sed s/^[[:xdigit:]]*// | sed 's/ *$//' | tr ' ' '\' | tr -d '\n' | xsel -ib

Other tools

What is this

This protobuf explainer is a single-page app built with purescript-halogen and purescript-protobuf. Source repository is at https://github.com/jamesdbrock/protobuf-decoder-explainer.