Subject: Hide and seek
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=1

--1
Content-Type: multipart/signed; protocol="signature/plain"; migalc="pen+paper"; boundary=2
X-Signature-Type: penmanship

--2
Content-Type: multipart/alternative; boundary=3

--3
Content-Type: text/html; charset=us-ascii

<html><head><title>Search me</title></head><body><p>Don't find me here</p></body></html>

--3
Content-Type: text/plain
Content-Transfer-Encoding: binary

Search me, and Find me here
--3--

--2
Content-Type: signature/plain; charset=us-ascii

Signed by undersigned
--2--

--1--
---- EXPECTED STRUCTURE ----
{
  "headers": {
    "values": {
      "mime_version": {
        "Text": "1.0"
      },
      "content_type": {
        "ContentType": {
          "c_type": "multipart",
          "c_subtype": "mixed",
          "attributes": {
            "boundary": "1"
          }
        }
      },
      "subject": {
        "Text": "Hide and seek"
      }
    },
    "offsets": [
      {
        "name": {
          "Rfc": "subject"
        },
        "start": 8,
        "end": 23
      },
      {
        "name": {
          "Rfc": "mime_version"
        },
        "start": 36,
        "end": 41
      },
      {
        "name": {
          "Rfc": "content_type"
        },
        "start": 54,
        "end": 83
      }
    ]
  },
  "html_body": [
    2
  ],
  "text_body": [
    3
  ],
  "attachments": [
    {
      "Attachment": 4
    }
  ],
  "parts": [
    {
      "Multipart": {
        "values": {
          "content_type": {
            "ContentType": {
              "c_type": "multipart",
              "c_subtype": "signed",
              "attributes": {
                "boundary": "2",
                "protocol": "signature/plain",
                "migalc": "pen+paper"
              }
            }
          }
        },
        "other_values": {
          "X-Signature-Type": {
            "Text": "penmanship"
          }
        },
        "offsets": [
          {
            "name": {
              "Rfc": "content_type"
            },
            "start": 101,
            "end": 179
          },
          {
            "name": {
              "Other": "X-Signature-Type"
            },
            "start": 196,
            "end": 208
          }
        ]
      }
    },
    {
      "Multipart": {
        "values": {
          "content_type": {
            "ContentType": {
              "c_type": "multipart",
              "c_subtype": "alternative",
              "attributes": {
                "boundary": "3"
              }
            }
          }
        },
        "offsets": [
          {
            "name": {
              "Rfc": "content_type"
            },
            "start": 226,
            "end": 261
          }
        ]
      }
    },
    {
      "Text": {
        "headers": {
          "values": {
            "content_type": {
              "ContentType": {
                "c_type": "text",
                "c_subtype": "html",
                "attributes": {
                  "charset": "us-ascii"
                }
              }
            }
          },
          "offsets": [
            {
              "name": {
                "Rfc": "content_type"
              },
              "start": 279,
              "end": 308
            }
          ]
        },
        "contents": "<html><head><title>Search me</title></head><body><p>Don't find me here</p></body></html>\n",
        "is_html": true
      }
    },
    {
      "Text": {
        "headers": {
          "values": {
            "content_type": {
              "ContentType": {
                "c_type": "text",
                "c_subtype": "plain"
              }
            },
            "content_transfer_encoding": {
              "Text": "binary"
            }
          },
          "offsets": [
            {
              "name": {
                "Rfc": "content_type"
              },
              "start": 416,
              "end": 428
            },
            {
              "name": {
                "Rfc": "content_transfer_encoding"
              },
              "start": 454,
              "end": 462
            }
          ]
        },
        "contents": "Search me, and Find me here",
        "is_html": false
      }
    },
    {
      "Binary": {
        "headers": {
          "values": {
            "content_type": {
              "ContentType": {
                "c_type": "signature",
                "c_subtype": "plain",
                "attributes": {
                  "charset": "us-ascii"
                }
              }
            }
          },
          "offsets": [
            {
              "name": {
                "Rfc": "content_type"
              },
              "start": 515,
              "end": 550
            }
          ]
        },
        "contents": [
          83,
          105,
          103,
          110,
          101,
          100,
          32,
          98,
          121,
          32,
          117,
          110,
          100,
          101,
          114,
          115,
          105,
          103,
          110,
          101,
          100
        ]
      }
    }
  ],
  "structure": {
    "MultiPart": [
      0,
      [
        {
          "MultiPart": [
            1,
            [
              {
                "Part": 2
              },
              {
                "Part": 3
              }
            ]
          ]
        },
        {
          "Part": 4
        }
      ]
    ]
  },
  "offset_header": 0,
  "offset_body": 84,
  "offset_end": 585
}