diff --git a/FlowCrypt/src/androidTest/assets/messages/info/signature_verification_detached_only_signed.json b/FlowCrypt/src/androidTest/assets/messages/info/signature_verification_detached_only_signed.json new file mode 100644 index 0000000000..b3c7441eaf --- /dev/null +++ b/FlowCrypt/src/androidTest/assets/messages/info/signature_verification_detached_only_signed.json @@ -0,0 +1,58 @@ +{ + "encryptionType": "STANDARD", + "msgBlocks": [ + { + "content": " \u003c!DOCTYPE html\u003e\n \u003chtml\u003e\n \u003chead\u003e\n \u003cmeta name\u003d\"viewport\" content\u003d\"width\u003ddevice-width\"/\u003e\n \u003cstyle\u003e\n body { word-wrap: break-word; word-break: break-word; hyphens: auto; margin-left: 0px; padding-left: 0px; }\n body img { display: inline !important; height: auto !important; max-width: 95% !important; }\n body pre { white-space: pre-wrap !important; }\n body \u003e div.MsgBlock \u003e table { zoom: 75% } /* table layouts tend to overflow - eg emails from fb */\n \u003c/style\u003e\n \u003c/head\u003e\n \u003cbody\u003e\u003cdiv class\u003d\"MsgBlock GRAY\" style\u003d\"background: white;padding-left: 8px;min-height: 50px;padding-top: 4px;padding-bottom: 4px;width: 100%;border: 1px solid #f0f0f0;border-left: 8px solid #989898;border-right: none;\"\u003e\u003chtml\u003e\u003chead\u003e\u003c/head\u003e\u003cbody\u003eNOT encrypted + signed(detached)\u003c/body\u003e\u003c/html\u003e\u003c/div\u003e\u003c!-- next MsgBlock --\u003e\n\u003c/body\u003e\n \u003c/html\u003e", + "isOpenPGPMimeSigned": false, + "type": "plainHtml" + } + ], + "msgEntity": { + "cc": [], + "email": "default@flowcrypt.test", + "flags": "\\SEEN", + "folder": "INBOX", + "from": [ + { + "address": "denbond7@flowcrypt.test", + "encodedPersonal": "Den", + "personal": "Den" + } + ], + "fromAddress": "Den \u003cdenbond7@flowcrypt.test\u003e", + "hasAttachments": true, + "id": 70, + "isPasswordProtected": false, + "isSeen": true, + "msgState": "NONE", + "receivedDate": 1644335053000, + "replyTo": "Den \u003cdenbond7@flowcrypt.test\u003e", + "replyToAddress": [ + { + "address": "denbond7@flowcrypt.test", + "encodedPersonal": "Den", + "personal": "Den" + } + ], + "sentDate": 1644335052000, + "state": -1, + "subject": "NOT encrypted + signed(detached)", + "to": [ + { + "address": "default@flowcrypt.test" + } + ], + "toAddress": "default@flowcrypt.test", + "uid": 42, + "uidAsHEX": "2a" + }, + "text": "NOT encrypted + signed(detached)", + "verificationResult": { + "hasBadSignatures": false, + "hasEncryptedParts": false, + "hasMixedSignatures": false, + "hasSignedParts": true, + "hasUnverifiedSignatures": false, + "isPartialSigned": false + } +} diff --git a/FlowCrypt/src/androidTest/assets/messages/info/signature_verification_detached_only_signed_public_key.json b/FlowCrypt/src/androidTest/assets/messages/info/signature_verification_detached_only_signed_public_key.json new file mode 100644 index 0000000000..a9e8396918 --- /dev/null +++ b/FlowCrypt/src/androidTest/assets/messages/info/signature_verification_detached_only_signed_public_key.json @@ -0,0 +1,837 @@ +{ + "encryptionType": "STANDARD", + "msgBlocks": [ + { + "content": " \u003c!DOCTYPE html\u003e\n \u003chtml\u003e\n \u003chead\u003e\n \u003cmeta name\u003d\"viewport\" content\u003d\"width\u003ddevice-width\"/\u003e\n \u003cstyle\u003e\n body { word-wrap: break-word; word-break: break-word; hyphens: auto; margin-left: 0px; padding-left: 0px; }\n body img { display: inline !important; height: auto !important; max-width: 95% !important; }\n body pre { white-space: pre-wrap !important; }\n body \u003e div.MsgBlock \u003e table { zoom: 75% } /* table layouts tend to overflow - eg emails from fb */\n \u003c/style\u003e\n \u003c/head\u003e\n \u003cbody\u003e\u003cdiv class\u003d\"MsgBlock GRAY\" style\u003d\"background: white;padding-left: 8px;min-height: 50px;padding-top: 4px;padding-bottom: 4px;width: 100%;border: 1px solid #f0f0f0;border-left: 8px solid #989898;border-right: none;\"\u003e\u003chtml\u003e\u003chead\u003e\u003c/head\u003e\u003cbody\u003eNOT encrypted + signed(detached) + public key\u003c/body\u003e\u003c/html\u003e\u003c/div\u003e\u003c!-- next MsgBlock --\u003e\n\u003c/body\u003e\n \u003c/html\u003e", + "isOpenPGPMimeSigned": false, + "type": "plainHtml" + }, + { + "content": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxjMEYIucWBYJKwYBBAHaRw8BAQdAew+8mzMWyf3+Pfy49qa60uKV6e5os7de4TdZ\r\nceAWUq/NF2RlbmJvbmQ3QGZsb3djcnlwdC50ZXN0wngEExYKACAFAmCLnFgCGwMF\r\nFgIDAQAECwkIBwUVCgkICwIeAQIZAQAKCRDDIInNavjWzm3JAQCgFgCEyD58iEa/\r\nRw/DYNoQNoZC1lhw1bxBiOcIbtkdBgEAsDFZu3TBavOMKI7KW+vfMBHtRVbkMNpv\r\nunaAldoabgPOOARgi5xYEgorBgEEAZdVAQUBAQdAB1/Mrq5JGYim4KqGTSK4OESQ\r\nUwPgK56q0yrkiU9WgyYDAQgHwnUEGBYKAB0FAmCLnFgCGwwFFgIDAQAECwkIBwUV\r\nCgkICwIeAQAKCRDDIInNavjWzjMgAQCU+R1fItqdY6lt9jXUqipmXuqVaEFPwNA8\r\nYJ1rIwDwVQEAyUc8162KWzA2iQB5akwLwNr/pLDDtOWwhLUkrBb3mAc\u003d\r\n\u003dyJxA\r\n-----END PGP PUBLIC KEY BLOCK-----\r\n", + "existingRecipientWithPubKeys": { + "publicKeys": [ + { + "fingerprint": "C16428D601CB393789CF61D4C32089CD6AF8D6CE", + "id": 4, + "pgpKeyDetails": { + "algo": { + "algorithm": "EDDSA", + "algorithmId": 22, + "bits": 256, + "curve": "ed25519" + }, + "created": 1619762264000, + "ids": [ + { + "fingerprint": "C16428D601CB393789CF61D4C32089CD6AF8D6CE" + }, + { + "fingerprint": "3163A3A4818DA155F023F0ACD7A3DEDB65CB1EFB" + } + ], + "isFullyDecrypted": true, + "isFullyEncrypted": false, + "isRevoked": false, + "lastModified": 1619762264000, + "public": "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: FlowCrypt 1.2.8_dev_128__2022_02_17 Gmail Encryption\nComment: Seamlessly send and receive encrypted email\n\nmDMEYIucWBYJKwYBBAHaRw8BAQdAew+8mzMWyf3+Pfy49qa60uKV6e5os7de4TdZ\nceAWUq+0F2RlbmJvbmQ3QGZsb3djcnlwdC50ZXN0iHgEExYKACAFAmCLnFgCGwMF\nFgIDAQAECwkIBwUVCgkICwIeAQIZAQAKCRDDIInNavjWzm3JAQCgFgCEyD58iEa/\nRw/DYNoQNoZC1lhw1bxBiOcIbtkdBgEAsDFZu3TBavOMKI7KW+vfMBHtRVbkMNpv\nunaAldoabgO4OARgi5xYEgorBgEEAZdVAQUBAQdAB1/Mrq5JGYim4KqGTSK4OESQ\nUwPgK56q0yrkiU9WgyYDAQgHiHUEGBYKAB0FAmCLnFgCGwwFFgIDAQAECwkIBwUV\nCgkICwIeAQAKCRDDIInNavjWzjMgAQCU+R1fItqdY6lt9jXUqipmXuqVaEFPwNA8\nYJ1rIwDwVQEAyUc8162KWzA2iQB5akwLwNr/pLDDtOWwhLUkrBb3mAc\u003d\n\u003dpXF6\n-----END PGP PUBLIC KEY BLOCK-----\n", + "usableForEncryption": true, + "users": [ + "denbond7@flowcrypt.test" + ] + }, + "publicKey": [ + 45, + 45, + 45, + 45, + 45, + 66, + 69, + 71, + 73, + 78, + 32, + 80, + 71, + 80, + 32, + 80, + 85, + 66, + 76, + 73, + 67, + 32, + 75, + 69, + 89, + 32, + 66, + 76, + 79, + 67, + 75, + 45, + 45, + 45, + 45, + 45, + 10, + 86, + 101, + 114, + 115, + 105, + 111, + 110, + 58, + 32, + 70, + 108, + 111, + 119, + 67, + 114, + 121, + 112, + 116, + 32, + 49, + 46, + 50, + 46, + 56, + 95, + 100, + 101, + 118, + 95, + 49, + 50, + 56, + 95, + 95, + 50, + 48, + 50, + 50, + 95, + 48, + 50, + 95, + 49, + 54, + 32, + 71, + 109, + 97, + 105, + 108, + 32, + 69, + 110, + 99, + 114, + 121, + 112, + 116, + 105, + 111, + 110, + 10, + 67, + 111, + 109, + 109, + 101, + 110, + 116, + 58, + 32, + 83, + 101, + 97, + 109, + 108, + 101, + 115, + 115, + 108, + 121, + 32, + 115, + 101, + 110, + 100, + 32, + 97, + 110, + 100, + 32, + 114, + 101, + 99, + 101, + 105, + 118, + 101, + 32, + 101, + 110, + 99, + 114, + 121, + 112, + 116, + 101, + 100, + 32, + 101, + 109, + 97, + 105, + 108, + 10, + 10, + 109, + 68, + 77, + 69, + 89, + 73, + 117, + 99, + 87, + 66, + 89, + 74, + 75, + 119, + 89, + 66, + 66, + 65, + 72, + 97, + 82, + 119, + 56, + 66, + 65, + 81, + 100, + 65, + 101, + 119, + 43, + 56, + 109, + 122, + 77, + 87, + 121, + 102, + 51, + 43, + 80, + 102, + 121, + 52, + 57, + 113, + 97, + 54, + 48, + 117, + 75, + 86, + 54, + 101, + 53, + 111, + 115, + 55, + 100, + 101, + 52, + 84, + 100, + 90, + 10, + 99, + 101, + 65, + 87, + 85, + 113, + 43, + 48, + 70, + 50, + 82, + 108, + 98, + 109, + 74, + 118, + 98, + 109, + 81, + 51, + 81, + 71, + 90, + 115, + 98, + 51, + 100, + 106, + 99, + 110, + 108, + 119, + 100, + 67, + 53, + 48, + 90, + 88, + 78, + 48, + 105, + 72, + 103, + 69, + 69, + 120, + 89, + 75, + 65, + 67, + 65, + 70, + 65, + 109, + 67, + 76, + 110, + 70, + 103, + 67, + 71, + 119, + 77, + 70, + 10, + 70, + 103, + 73, + 68, + 65, + 81, + 65, + 69, + 67, + 119, + 107, + 73, + 66, + 119, + 85, + 86, + 67, + 103, + 107, + 73, + 67, + 119, + 73, + 101, + 65, + 81, + 73, + 90, + 65, + 81, + 65, + 75, + 67, + 82, + 68, + 68, + 73, + 73, + 110, + 78, + 97, + 118, + 106, + 87, + 122, + 109, + 51, + 74, + 65, + 81, + 67, + 103, + 70, + 103, + 67, + 69, + 121, + 68, + 53, + 56, + 105, + 69, + 97, + 47, + 10, + 82, + 119, + 47, + 68, + 89, + 78, + 111, + 81, + 78, + 111, + 90, + 67, + 49, + 108, + 104, + 119, + 49, + 98, + 120, + 66, + 105, + 79, + 99, + 73, + 98, + 116, + 107, + 100, + 66, + 103, + 69, + 65, + 115, + 68, + 70, + 90, + 117, + 51, + 84, + 66, + 97, + 118, + 79, + 77, + 75, + 73, + 55, + 75, + 87, + 43, + 118, + 102, + 77, + 66, + 72, + 116, + 82, + 86, + 98, + 107, + 77, + 78, + 112, + 118, + 10, + 117, + 110, + 97, + 65, + 108, + 100, + 111, + 97, + 98, + 103, + 79, + 52, + 79, + 65, + 82, + 103, + 105, + 53, + 120, + 89, + 69, + 103, + 111, + 114, + 66, + 103, + 69, + 69, + 65, + 90, + 100, + 86, + 65, + 81, + 85, + 66, + 65, + 81, + 100, + 65, + 66, + 49, + 47, + 77, + 114, + 113, + 53, + 74, + 71, + 89, + 105, + 109, + 52, + 75, + 113, + 71, + 84, + 83, + 75, + 52, + 79, + 69, + 83, + 81, + 10, + 85, + 119, + 80, + 103, + 75, + 53, + 54, + 113, + 48, + 121, + 114, + 107, + 105, + 85, + 57, + 87, + 103, + 121, + 89, + 68, + 65, + 81, + 103, + 72, + 105, + 72, + 85, + 69, + 71, + 66, + 89, + 75, + 65, + 66, + 48, + 70, + 65, + 109, + 67, + 76, + 110, + 70, + 103, + 67, + 71, + 119, + 119, + 70, + 70, + 103, + 73, + 68, + 65, + 81, + 65, + 69, + 67, + 119, + 107, + 73, + 66, + 119, + 85, + 86, + 10, + 67, + 103, + 107, + 73, + 67, + 119, + 73, + 101, + 65, + 81, + 65, + 75, + 67, + 82, + 68, + 68, + 73, + 73, + 110, + 78, + 97, + 118, + 106, + 87, + 122, + 106, + 77, + 103, + 65, + 81, + 67, + 85, + 43, + 82, + 49, + 102, + 73, + 116, + 113, + 100, + 89, + 54, + 108, + 116, + 57, + 106, + 88, + 85, + 113, + 105, + 112, + 109, + 88, + 117, + 113, + 86, + 97, + 69, + 70, + 80, + 119, + 78, + 65, + 56, + 10, + 89, + 74, + 49, + 114, + 73, + 119, + 68, + 119, + 86, + 81, + 69, + 65, + 121, + 85, + 99, + 56, + 49, + 54, + 50, + 75, + 87, + 122, + 65, + 50, + 105, + 81, + 66, + 53, + 97, + 107, + 119, + 76, + 119, + 78, + 114, + 47, + 112, + 76, + 68, + 68, + 116, + 79, + 87, + 119, + 104, + 76, + 85, + 107, + 114, + 66, + 98, + 51, + 109, + 65, + 99, + 61, + 10, + 61, + 112, + 88, + 70, + 54, + 10, + 45, + 45, + 45, + 45, + 45, + 69, + 78, + 68, + 32, + 80, + 71, + 80, + 32, + 80, + 85, + 66, + 76, + 73, + 67, + 32, + 75, + 69, + 89, + 32, + 66, + 76, + 79, + 67, + 75, + 45, + 45, + 45, + 45, + 45, + 10 + ], + "recipient": "denbond7@flowcrypt.test" + } + ], + "recipient": { + "email": "denbond7@flowcrypt.test", + "id": 3, + "lastUse": 0 + } + }, + "isOpenPGPMimeSigned": true, + "keyDetails": { + "algo": { + "algorithm": "EDDSA", + "algorithmId": 22, + "bits": 256, + "curve": "ed25519" + }, + "created": 1619762264000, + "ids": [ + { + "fingerprint": "C16428D601CB393789CF61D4C32089CD6AF8D6CE" + }, + { + "fingerprint": "3163A3A4818DA155F023F0ACD7A3DEDB65CB1EFB" + } + ], + "isFullyDecrypted": true, + "isFullyEncrypted": false, + "isRevoked": false, + "lastModified": 1619762264000, + "public": "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: FlowCrypt 1.2.8_dev_128__2022_02_17 Gmail Encryption\nComment: Seamlessly send and receive encrypted email\n\nmDMEYIucWBYJKwYBBAHaRw8BAQdAew+8mzMWyf3+Pfy49qa60uKV6e5os7de4TdZ\nceAWUq+0F2RlbmJvbmQ3QGZsb3djcnlwdC50ZXN0iHgEExYKACAFAmCLnFgCGwMF\nFgIDAQAECwkIBwUVCgkICwIeAQIZAQAKCRDDIInNavjWzm3JAQCgFgCEyD58iEa/\nRw/DYNoQNoZC1lhw1bxBiOcIbtkdBgEAsDFZu3TBavOMKI7KW+vfMBHtRVbkMNpv\nunaAldoabgO4OARgi5xYEgorBgEEAZdVAQUBAQdAB1/Mrq5JGYim4KqGTSK4OESQ\nUwPgK56q0yrkiU9WgyYDAQgHiHUEGBYKAB0FAmCLnFgCGwwFFgIDAQAECwkIBwUV\nCgkICwIeAQAKCRDDIInNavjWzjMgAQCU+R1fItqdY6lt9jXUqipmXuqVaEFPwNA8\nYJ1rIwDwVQEAyUc8162KWzA2iQB5akwLwNr/pLDDtOWwhLUkrBb3mAc\u003d\n\u003dpXF6\n-----END PGP PUBLIC KEY BLOCK-----\n", + "usableForEncryption": true, + "users": [ + "denbond7@flowcrypt.test" + ] + }, + "type": "publicKey" + } + ], + "msgEntity": { + "cc": [], + "email": "default@flowcrypt.test", + "flags": "\\SEEN", + "folder": "INBOX", + "from": [ + { + "address": "denbond7@flowcrypt.test", + "encodedPersonal": "Denys", + "personal": "Denys" + } + ], + "fromAddress": "Denys \u003cdenbond7@flowcrypt.test\u003e", + "hasAttachments": true, + "id": 120, + "isEncrypted": false, + "isPasswordProtected": false, + "isSeen": true, + "msgState": "NONE", + "receivedDate": 1645091597000, + "replyTo": "Denys \u003cdenbond7@flowcrypt.test\u003e", + "replyToAddress": [ + { + "address": "denbond7@flowcrypt.test", + "encodedPersonal": "Denys", + "personal": "Denys" + } + ], + "sentDate": 1645091596000, + "subject": "NOT encrypted + signed(detached) + public key", + "to": [ + { + "address": "default@flowcrypt.test" + } + ], + "toAddress": "default@flowcrypt.test", + "uid": 43, + "uidAsHEX": "2b" + }, + "text": "NOT encrypted + signed(detached) + public key", + "verificationResult": { + "hasBadSignatures": false, + "hasEncryptedParts": false, + "hasMixedSignatures": false, + "hasSignedParts": true, + "hasUnverifiedSignatures": false, + "isPartialSigned": false + } +} diff --git a/FlowCrypt/src/androidTest/assets/messages/info/signature_verification_detached_only_signed_public_key_attachment.json b/FlowCrypt/src/androidTest/assets/messages/info/signature_verification_detached_only_signed_public_key_attachment.json new file mode 100644 index 0000000000..3722adc023 --- /dev/null +++ b/FlowCrypt/src/androidTest/assets/messages/info/signature_verification_detached_only_signed_public_key_attachment.json @@ -0,0 +1,847 @@ +{ + "encryptionType": "STANDARD", + "msgBlocks": [ + { + "content": " \u003c!DOCTYPE html\u003e\n \u003chtml\u003e\n \u003chead\u003e\n \u003cmeta name\u003d\"viewport\" content\u003d\"width\u003ddevice-width\"/\u003e\n \u003cstyle\u003e\n body { word-wrap: break-word; word-break: break-word; hyphens: auto; margin-left: 0px; padding-left: 0px; }\n body img { display: inline !important; height: auto !important; max-width: 95% !important; }\n body pre { white-space: pre-wrap !important; }\n body \u003e div.MsgBlock \u003e table { zoom: 75% } /* table layouts tend to overflow - eg emails from fb */\n \u003c/style\u003e\n \u003c/head\u003e\n \u003cbody\u003e\u003cdiv class\u003d\"MsgBlock GRAY\" style\u003d\"background: white;padding-left: 8px;min-height: 50px;padding-top: 4px;padding-bottom: 4px;width: 100%;border: 1px solid #f0f0f0;border-left: 8px solid #989898;border-right: none;\"\u003e\u003chtml\u003e\u003chead\u003e\u003c/head\u003e\u003cbody\u003eNOT encrypted + signed(detached) + public key + attachment\u003c/body\u003e\u003c/html\u003e\u003c/div\u003e\u003c!-- next MsgBlock --\u003e\n\u003c/body\u003e\n \u003c/html\u003e", + "isOpenPGPMimeSigned": false, + "type": "plainHtml" + }, + { + "attMeta": { + "data": [], + "length": 89834, + "name": "attachment.jpg", + "type": "image/jpeg; name\u003d\"attachment.jpg\"" + }, + "isOpenPGPMimeSigned": true, + "type": "plainAtt" + }, + { + "content": "-----BEGIN PGP PUBLIC KEY BLOCK-----\r\n\r\nxjMEYIucWBYJKwYBBAHaRw8BAQdAew+8mzMWyf3+Pfy49qa60uKV6e5os7de4TdZ\r\nceAWUq/NF2RlbmJvbmQ3QGZsb3djcnlwdC50ZXN0wngEExYKACAFAmCLnFgCGwMF\r\nFgIDAQAECwkIBwUVCgkICwIeAQIZAQAKCRDDIInNavjWzm3JAQCgFgCEyD58iEa/\r\nRw/DYNoQNoZC1lhw1bxBiOcIbtkdBgEAsDFZu3TBavOMKI7KW+vfMBHtRVbkMNpv\r\nunaAldoabgPOOARgi5xYEgorBgEEAZdVAQUBAQdAB1/Mrq5JGYim4KqGTSK4OESQ\r\nUwPgK56q0yrkiU9WgyYDAQgHwnUEGBYKAB0FAmCLnFgCGwwFFgIDAQAECwkIBwUV\r\nCgkICwIeAQAKCRDDIInNavjWzjMgAQCU+R1fItqdY6lt9jXUqipmXuqVaEFPwNA8\r\nYJ1rIwDwVQEAyUc8162KWzA2iQB5akwLwNr/pLDDtOWwhLUkrBb3mAc\u003d\r\n\u003dyJxA\r\n-----END PGP PUBLIC KEY BLOCK-----\r\n", + "existingRecipientWithPubKeys": { + "publicKeys": [ + { + "fingerprint": "C16428D601CB393789CF61D4C32089CD6AF8D6CE", + "id": 4, + "pgpKeyDetails": { + "algo": { + "algorithm": "EDDSA", + "algorithmId": 22, + "bits": 256, + "curve": "ed25519" + }, + "created": 1619762264000, + "ids": [ + { + "fingerprint": "C16428D601CB393789CF61D4C32089CD6AF8D6CE" + }, + { + "fingerprint": "3163A3A4818DA155F023F0ACD7A3DEDB65CB1EFB" + } + ], + "isFullyDecrypted": true, + "isFullyEncrypted": false, + "isRevoked": false, + "lastModified": 1619762264000, + "public": "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: FlowCrypt 1.2.8_dev_128__2022_02_17 Gmail Encryption\nComment: Seamlessly send and receive encrypted email\n\nmDMEYIucWBYJKwYBBAHaRw8BAQdAew+8mzMWyf3+Pfy49qa60uKV6e5os7de4TdZ\nceAWUq+0F2RlbmJvbmQ3QGZsb3djcnlwdC50ZXN0iHgEExYKACAFAmCLnFgCGwMF\nFgIDAQAECwkIBwUVCgkICwIeAQIZAQAKCRDDIInNavjWzm3JAQCgFgCEyD58iEa/\nRw/DYNoQNoZC1lhw1bxBiOcIbtkdBgEAsDFZu3TBavOMKI7KW+vfMBHtRVbkMNpv\nunaAldoabgO4OARgi5xYEgorBgEEAZdVAQUBAQdAB1/Mrq5JGYim4KqGTSK4OESQ\nUwPgK56q0yrkiU9WgyYDAQgHiHUEGBYKAB0FAmCLnFgCGwwFFgIDAQAECwkIBwUV\nCgkICwIeAQAKCRDDIInNavjWzjMgAQCU+R1fItqdY6lt9jXUqipmXuqVaEFPwNA8\nYJ1rIwDwVQEAyUc8162KWzA2iQB5akwLwNr/pLDDtOWwhLUkrBb3mAc\u003d\n\u003dpXF6\n-----END PGP PUBLIC KEY BLOCK-----\n", + "usableForEncryption": true, + "users": [ + "denbond7@flowcrypt.test" + ] + }, + "publicKey": [ + 45, + 45, + 45, + 45, + 45, + 66, + 69, + 71, + 73, + 78, + 32, + 80, + 71, + 80, + 32, + 80, + 85, + 66, + 76, + 73, + 67, + 32, + 75, + 69, + 89, + 32, + 66, + 76, + 79, + 67, + 75, + 45, + 45, + 45, + 45, + 45, + 10, + 86, + 101, + 114, + 115, + 105, + 111, + 110, + 58, + 32, + 70, + 108, + 111, + 119, + 67, + 114, + 121, + 112, + 116, + 32, + 49, + 46, + 50, + 46, + 56, + 95, + 100, + 101, + 118, + 95, + 49, + 50, + 56, + 95, + 95, + 50, + 48, + 50, + 50, + 95, + 48, + 50, + 95, + 49, + 54, + 32, + 71, + 109, + 97, + 105, + 108, + 32, + 69, + 110, + 99, + 114, + 121, + 112, + 116, + 105, + 111, + 110, + 10, + 67, + 111, + 109, + 109, + 101, + 110, + 116, + 58, + 32, + 83, + 101, + 97, + 109, + 108, + 101, + 115, + 115, + 108, + 121, + 32, + 115, + 101, + 110, + 100, + 32, + 97, + 110, + 100, + 32, + 114, + 101, + 99, + 101, + 105, + 118, + 101, + 32, + 101, + 110, + 99, + 114, + 121, + 112, + 116, + 101, + 100, + 32, + 101, + 109, + 97, + 105, + 108, + 10, + 10, + 109, + 68, + 77, + 69, + 89, + 73, + 117, + 99, + 87, + 66, + 89, + 74, + 75, + 119, + 89, + 66, + 66, + 65, + 72, + 97, + 82, + 119, + 56, + 66, + 65, + 81, + 100, + 65, + 101, + 119, + 43, + 56, + 109, + 122, + 77, + 87, + 121, + 102, + 51, + 43, + 80, + 102, + 121, + 52, + 57, + 113, + 97, + 54, + 48, + 117, + 75, + 86, + 54, + 101, + 53, + 111, + 115, + 55, + 100, + 101, + 52, + 84, + 100, + 90, + 10, + 99, + 101, + 65, + 87, + 85, + 113, + 43, + 48, + 70, + 50, + 82, + 108, + 98, + 109, + 74, + 118, + 98, + 109, + 81, + 51, + 81, + 71, + 90, + 115, + 98, + 51, + 100, + 106, + 99, + 110, + 108, + 119, + 100, + 67, + 53, + 48, + 90, + 88, + 78, + 48, + 105, + 72, + 103, + 69, + 69, + 120, + 89, + 75, + 65, + 67, + 65, + 70, + 65, + 109, + 67, + 76, + 110, + 70, + 103, + 67, + 71, + 119, + 77, + 70, + 10, + 70, + 103, + 73, + 68, + 65, + 81, + 65, + 69, + 67, + 119, + 107, + 73, + 66, + 119, + 85, + 86, + 67, + 103, + 107, + 73, + 67, + 119, + 73, + 101, + 65, + 81, + 73, + 90, + 65, + 81, + 65, + 75, + 67, + 82, + 68, + 68, + 73, + 73, + 110, + 78, + 97, + 118, + 106, + 87, + 122, + 109, + 51, + 74, + 65, + 81, + 67, + 103, + 70, + 103, + 67, + 69, + 121, + 68, + 53, + 56, + 105, + 69, + 97, + 47, + 10, + 82, + 119, + 47, + 68, + 89, + 78, + 111, + 81, + 78, + 111, + 90, + 67, + 49, + 108, + 104, + 119, + 49, + 98, + 120, + 66, + 105, + 79, + 99, + 73, + 98, + 116, + 107, + 100, + 66, + 103, + 69, + 65, + 115, + 68, + 70, + 90, + 117, + 51, + 84, + 66, + 97, + 118, + 79, + 77, + 75, + 73, + 55, + 75, + 87, + 43, + 118, + 102, + 77, + 66, + 72, + 116, + 82, + 86, + 98, + 107, + 77, + 78, + 112, + 118, + 10, + 117, + 110, + 97, + 65, + 108, + 100, + 111, + 97, + 98, + 103, + 79, + 52, + 79, + 65, + 82, + 103, + 105, + 53, + 120, + 89, + 69, + 103, + 111, + 114, + 66, + 103, + 69, + 69, + 65, + 90, + 100, + 86, + 65, + 81, + 85, + 66, + 65, + 81, + 100, + 65, + 66, + 49, + 47, + 77, + 114, + 113, + 53, + 74, + 71, + 89, + 105, + 109, + 52, + 75, + 113, + 71, + 84, + 83, + 75, + 52, + 79, + 69, + 83, + 81, + 10, + 85, + 119, + 80, + 103, + 75, + 53, + 54, + 113, + 48, + 121, + 114, + 107, + 105, + 85, + 57, + 87, + 103, + 121, + 89, + 68, + 65, + 81, + 103, + 72, + 105, + 72, + 85, + 69, + 71, + 66, + 89, + 75, + 65, + 66, + 48, + 70, + 65, + 109, + 67, + 76, + 110, + 70, + 103, + 67, + 71, + 119, + 119, + 70, + 70, + 103, + 73, + 68, + 65, + 81, + 65, + 69, + 67, + 119, + 107, + 73, + 66, + 119, + 85, + 86, + 10, + 67, + 103, + 107, + 73, + 67, + 119, + 73, + 101, + 65, + 81, + 65, + 75, + 67, + 82, + 68, + 68, + 73, + 73, + 110, + 78, + 97, + 118, + 106, + 87, + 122, + 106, + 77, + 103, + 65, + 81, + 67, + 85, + 43, + 82, + 49, + 102, + 73, + 116, + 113, + 100, + 89, + 54, + 108, + 116, + 57, + 106, + 88, + 85, + 113, + 105, + 112, + 109, + 88, + 117, + 113, + 86, + 97, + 69, + 70, + 80, + 119, + 78, + 65, + 56, + 10, + 89, + 74, + 49, + 114, + 73, + 119, + 68, + 119, + 86, + 81, + 69, + 65, + 121, + 85, + 99, + 56, + 49, + 54, + 50, + 75, + 87, + 122, + 65, + 50, + 105, + 81, + 66, + 53, + 97, + 107, + 119, + 76, + 119, + 78, + 114, + 47, + 112, + 76, + 68, + 68, + 116, + 79, + 87, + 119, + 104, + 76, + 85, + 107, + 114, + 66, + 98, + 51, + 109, + 65, + 99, + 61, + 10, + 61, + 112, + 88, + 70, + 54, + 10, + 45, + 45, + 45, + 45, + 45, + 69, + 78, + 68, + 32, + 80, + 71, + 80, + 32, + 80, + 85, + 66, + 76, + 73, + 67, + 32, + 75, + 69, + 89, + 32, + 66, + 76, + 79, + 67, + 75, + 45, + 45, + 45, + 45, + 45, + 10 + ], + "recipient": "denbond7@flowcrypt.test" + } + ], + "recipient": { + "email": "denbond7@flowcrypt.test", + "id": 3, + "lastUse": 0 + } + }, + "isOpenPGPMimeSigned": true, + "keyDetails": { + "algo": { + "algorithm": "EDDSA", + "algorithmId": 22, + "bits": 256, + "curve": "ed25519" + }, + "created": 1619762264000, + "ids": [ + { + "fingerprint": "C16428D601CB393789CF61D4C32089CD6AF8D6CE" + }, + { + "fingerprint": "3163A3A4818DA155F023F0ACD7A3DEDB65CB1EFB" + } + ], + "isFullyDecrypted": true, + "isFullyEncrypted": false, + "isRevoked": false, + "lastModified": 1619762264000, + "public": "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: FlowCrypt 1.2.8_dev_128__2022_02_17 Gmail Encryption\nComment: Seamlessly send and receive encrypted email\n\nmDMEYIucWBYJKwYBBAHaRw8BAQdAew+8mzMWyf3+Pfy49qa60uKV6e5os7de4TdZ\nceAWUq+0F2RlbmJvbmQ3QGZsb3djcnlwdC50ZXN0iHgEExYKACAFAmCLnFgCGwMF\nFgIDAQAECwkIBwUVCgkICwIeAQIZAQAKCRDDIInNavjWzm3JAQCgFgCEyD58iEa/\nRw/DYNoQNoZC1lhw1bxBiOcIbtkdBgEAsDFZu3TBavOMKI7KW+vfMBHtRVbkMNpv\nunaAldoabgO4OARgi5xYEgorBgEEAZdVAQUBAQdAB1/Mrq5JGYim4KqGTSK4OESQ\nUwPgK56q0yrkiU9WgyYDAQgHiHUEGBYKAB0FAmCLnFgCGwwFFgIDAQAECwkIBwUV\nCgkICwIeAQAKCRDDIInNavjWzjMgAQCU+R1fItqdY6lt9jXUqipmXuqVaEFPwNA8\nYJ1rIwDwVQEAyUc8162KWzA2iQB5akwLwNr/pLDDtOWwhLUkrBb3mAc\u003d\n\u003dpXF6\n-----END PGP PUBLIC KEY BLOCK-----\n", + "usableForEncryption": true, + "users": [ + "denbond7@flowcrypt.test" + ] + }, + "type": "publicKey" + } + ], + "msgEntity": { + "cc": [], + "email": "default@flowcrypt.test", + "flags": "\\SEEN", + "folder": "INBOX", + "from": [ + { + "address": "denbond7@flowcrypt.test", + "encodedPersonal": "Denys", + "personal": "Denys" + } + ], + "fromAddress": "Denys \u003cdenbond7@flowcrypt.test\u003e", + "hasAttachments": true, + "id": 121, + "isEncrypted": false, + "isPasswordProtected": false, + "isSeen": true, + "msgState": "NONE", + "receivedDate": 1645091727000, + "replyTo": "Denys \u003cdenbond7@flowcrypt.test\u003e", + "replyToAddress": [ + { + "address": "denbond7@flowcrypt.test", + "encodedPersonal": "Denys", + "personal": "Denys" + } + ], + "sentDate": 1645091726000, + "subject": "NOT encrypted + signed(detached) + public key + attachment", + "to": [ + { + "address": "default@flowcrypt.test" + } + ], + "toAddress": "default@flowcrypt.test", + "uid": 44, + "uidAsHEX": "2c" + }, + "text": "NOT encrypted + signed(detached) + public key + attachment", + "verificationResult": { + "hasBadSignatures": false, + "hasEncryptedParts": false, + "hasMixedSignatures": false, + "hasSignedParts": true, + "hasUnverifiedSignatures": false, + "isPartialSigned": false + } +} diff --git a/FlowCrypt/src/androidTest/assets/messages/info/signed_msg_clearsign_broken.json b/FlowCrypt/src/androidTest/assets/messages/info/signed_msg_clearsign_broken.json index f26cb583ab..2880685a81 100644 --- a/FlowCrypt/src/androidTest/assets/messages/info/signed_msg_clearsign_broken.json +++ b/FlowCrypt/src/androidTest/assets/messages/info/signed_msg_clearsign_broken.json @@ -2,18 +2,17 @@ "encryptionType": "STANDARD", "msgBlocks": [ { - "complete": true, "content": "\u003c!DOCTYPE html\u003e\n\u003chtml\u003e\n\u003chead\u003e\n \u003cmeta name\u003d\"viewport\" content\u003d\"width\u003ddevice-width\"/\u003e\n \u003cstyle\u003e\n body { word-wrap: break-word; word-break: break-word; hyphens: auto; margin-left: 0px; padding-left: 0px; }\n body img { display: inline !important; height: auto !important; max-width: 95% !important; }\n body pre { white-space: pre-wrap !important; }\n body \u003e div.MsgBlock \u003e table { zoom: 75% } /* table layouts tend to overflow - eg emails from fb */\n \u003c/style\u003e\n\u003c/head\u003e\n\u003cbody\u003e\u003c/body\u003e\n\u003c/html\u003e", + "isOpenPGPMimeSigned": false, "type": "plainHtml" }, { - "complete": true, - "content": "-----BEGIN PGP SIGNED MESSAGE-----\r\nHash: SHA512\r\n\r\nSome important text that is signed\r\n-----BEGIN PGP SIGNATURE-----\r\nVersion: PGPainless\r\n\r\niHUEARYKAAYFAmFm9GEAIQkQwyCJzWr41s4WIQTBZCjWAcs5N4nPYdTDIInNavjW\r\nVMWbrRaCiEghT5b3tpYn6jzVDenjxwg\u003d\r\n\u003dvdIK\r\n-----END PGP SIGNATURE-----", + "content": "-----BEGIN PGP SIGNED MESSAGE-----\nHash: SHA512\n\nSome important text that is signed\n-----BEGIN PGP SIGNATURE-----\nVersion: PGPainless\n\niHUEARYKAAYFAmFm9GEAIQkQwyCJzWr41s4WIQTBZCjWAcs5N4nPYdTDIInNavjW\nVMWbrRaCiEghT5b3tpYn6jzVDenjxwg\u003d\n\u003dvdIK\n-----END PGP SIGNATURE-----", "error": { "errorMsg": "[IOException]: crc check failed in armored message." }, - "signedType": "SIGNED_MSG", - "type": "signedMsg" + "isOpenPGPMimeSigned": false, + "type": "signedContent" } ], "msgEntity": { @@ -31,6 +30,7 @@ "id": 326, "isEncrypted": false, "isNew": false, + "isPasswordProtected": false, "isSeen": true, "msgState": "NONE", "receivedDate": 1634138720000, @@ -51,13 +51,13 @@ "uid": 27, "uidAsHEX": "1b" }, + "text": "", "verificationResult": { - "isEncrypted": false, - "isSigned": false, + "hasBadSignatures": false, + "hasEncryptedParts": false, "hasMixedSignatures": false, - "isPartialSigned": false, + "hasSignedParts": false, "hasUnverifiedSignatures": false, - "hasBadSignatures": false - }, - "text": "" + "isPartialSigned": false + } } diff --git a/FlowCrypt/src/androidTest/assets/messages/mime/signature_verification_detached_only_signed.txt b/FlowCrypt/src/androidTest/assets/messages/mime/signature_verification_detached_only_signed.txt new file mode 100644 index 0000000000..721fe2b337 --- /dev/null +++ b/FlowCrypt/src/androidTest/assets/messages/mime/signature_verification_detached_only_signed.txt @@ -0,0 +1,57 @@ +Return-Path: +Delivered-To: default@flowcrypt.test +Received: from mail.flowcrypt.test + by mail.flowcrypt.test with LMTP + id kZaVAc2PAmLnBAAAc/RpdQ + (envelope-from ) + for ; Tue, 08 Feb 2022 15:44:13 +0000 +Received: from localhost (localhost [127.0.0.1]) + by mail.flowcrypt.test (Postfix) with ESMTP id 04129540A18 + for ; Tue, 8 Feb 2022 15:44:13 +0000 (UTC) +To: default@flowcrypt.test +From: Den +Subject: NOT encrypted + signed(detached) +Autocrypt: addr=denbond7@flowcrypt.test; keydata= + mDMEYIucWBYJKwYBBAHaRw8BAQdAew+8mzMWyf3+Pfy49qa60uKV6e5os7de4TdZceAWUq+0 + F2RlbmJvbmQ3QGZsb3djcnlwdC50ZXN0iHgEExYKACAFAmCLnFgCGwMFFgIDAQAECwkIBwUV + CgkICwIeAQIZAQAKCRDDIInNavjWzm3JAQCgFgCEyD58iEa/Rw/DYNoQNoZC1lhw1bxBiOcI + btkdBgEAsDFZu3TBavOMKI7KW+vfMBHtRVbkMNpvunaAldoabgO4OARgi5xYEgorBgEEAZdV + AQUBAQdAB1/Mrq5JGYim4KqGTSK4OESQUwPgK56q0yrkiU9WgyYDAQgHiHUEGBYKAB0FAmCL + nFgCGwwFFgIDAQAECwkIBwUVCgkICwIeAQAKCRDDIInNavjWzjMgAQCU+R1fItqdY6lt9jXU + qipmXuqVaEFPwNA8YJ1rIwDwVQEAyUc8162KWzA2iQB5akwLwNr/pLDDtOWwhLUkrBb3mAc= +Message-ID: <3fe297ba-3e53-7073-ee00-d0e516831264@flowcrypt.test> +Date: Tue, 8 Feb 2022 17:44:10 +0200 +Mime-Version: 1.0 +Content-Type: multipart/signed; micalg=pgp-sha256; + protocol="application/pgp-signature"; + boundary="4S1LR18a3JU2YiTxqubmlY1fr2BkmX171" + +This is an OpenPGP/MIME signed message (RFC 4880 and 3156) +--4S1LR18a3JU2YiTxqubmlY1fr2BkmX171 +Content-Type: multipart/mixed; boundary="OSR6TONWKJD9dgyc2XH5AQPNnAs7pdg1t" + +--OSR6TONWKJD9dgyc2XH5AQPNnAs7pdg1t +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: quoted-printable +Content-Language: en-US + +NOT encrypted + signed(detached) + + + +--OSR6TONWKJD9dgyc2XH5AQPNnAs7pdg1t-- + +--4S1LR18a3JU2YiTxqubmlY1fr2BkmX171 +Content-Type: application/pgp-signature; name="signature.asc" +Content-Description: OpenPGP digital signature +Content-Disposition: attachment; filename="signature.asc" + +-----BEGIN PGP SIGNATURE----- + +iHUEARYIAB0WIQTBZCjWAcs5N4nPYdTDIInNavjWzgUCYgKPzAAKCRDDIInNavjW +zmdoAP0TdFt1OWqosHhXxt2hNYqZQMc6bgQRpJNL029nRyzkPAD/SoYJ4T+aYEhw +11qrbXloqkr0G3QaA6/zk31RPMI/bgI= +=o5Ze +-----END PGP SIGNATURE----- + +--4S1LR18a3JU2YiTxqubmlY1fr2BkmX171-- diff --git a/FlowCrypt/src/androidTest/assets/messages/mime/signature_verification_detached_only_signed_public_key.txt b/FlowCrypt/src/androidTest/assets/messages/mime/signature_verification_detached_only_signed_public_key.txt new file mode 100644 index 0000000000..ca33838b0d --- /dev/null +++ b/FlowCrypt/src/androidTest/assets/messages/mime/signature_verification_detached_only_signed_public_key.txt @@ -0,0 +1,83 @@ +Return-Path: +Delivered-To: default@flowcrypt.test +Received: from mail.flowcrypt.test + by mail.flowcrypt.test with LMTP + id Yuh1BQ0bDmJWBgAAc/RpdQ + (envelope-from ) + for ; Thu, 17 Feb 2022 09:53:17 +0000 +Received: from localhost (localhost [127.0.0.1]) + by mail.flowcrypt.test (Postfix) with ESMTP id 12EF822A2C + for ; Thu, 17 Feb 2022 09:53:17 +0000 (UTC) +Message-ID: <46444d4f-7de7-ba21-4c1a-9425240935f8@flowcrypt.test> +Date: Thu, 17 Feb 2022 11:53:10 +0200 +Mime-Version: 1.0 +Content-Language: en-US +To: default@flowcrypt.test +From: Denys +Subject: NOT encrypted + signed(detached) + public key +Autocrypt: addr=denbond7@flowcrypt.test; keydata= + xjMEYIucWBYJKwYBBAHaRw8BAQdAew+8mzMWyf3+Pfy49qa60uKV6e5os7de4TdZceAWUq/N + F2RlbmJvbmQ3QGZsb3djcnlwdC50ZXN0wngEExYKACAFAmCLnFgCGwMFFgIDAQAECwkIBwUV + CgkICwIeAQIZAQAKCRDDIInNavjWzm3JAQCgFgCEyD58iEa/Rw/DYNoQNoZC1lhw1bxBiOcI + btkdBgEAsDFZu3TBavOMKI7KW+vfMBHtRVbkMNpvunaAldoabgPOOARgi5xYEgorBgEEAZdV + AQUBAQdAB1/Mrq5JGYim4KqGTSK4OESQUwPgK56q0yrkiU9WgyYDAQgHwnUEGBYKAB0FAmCL + nFgCGwwFFgIDAQAECwkIBwUVCgkICwIeAQAKCRDDIInNavjWzjMgAQCU+R1fItqdY6lt9jXU + qipmXuqVaEFPwNA8YJ1rIwDwVQEAyUc8162KWzA2iQB5akwLwNr/pLDDtOWwhLUkrBb3mAc= +Content-Type: multipart/signed; micalg=pgp-sha256; + protocol="application/pgp-signature"; + boundary="------------chrtd7EqgP4Fh03MyBfSGtS4" + +This is an OpenPGP/MIME signed message (RFC 4880 and 3156) +--------------chrtd7EqgP4Fh03MyBfSGtS4 +Content-Type: multipart/mixed; boundary="------------j03O76hcVZ8gqZnN5amJtWWf"; + protected-headers="v1" +From: Denys +To: default@flowcrypt.test +Message-ID: <46444d4f-7de7-ba21-4c1a-9425240935f8@flowcrypt.test> +Subject: NOT encrypted + signed(detached) + public key + +--------------j03O76hcVZ8gqZnN5amJtWWf +Content-Type: multipart/mixed; boundary="------------cYP1XRBmv0zCxms3fDpI5Xqq" + +--------------cYP1XRBmv0zCxms3fDpI5Xqq +Content-Type: text/plain; charset=UTF-8; format=flowed +Content-Transfer-Encoding: base64 + +Tk9UIGVuY3J5cHRlZCArIHNpZ25lZChkZXRhY2hlZCkgKyBwdWJsaWMga2V5DQoNCg== +--------------cYP1XRBmv0zCxms3fDpI5Xqq +Content-Type: application/pgp-keys; name="OpenPGP_0xC32089CD6AF8D6CE.asc" +Content-Disposition: attachment; filename="OpenPGP_0xC32089CD6AF8D6CE.asc" +Content-Description: OpenPGP public key +Content-Transfer-Encoding: quoted-printable + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +xjMEYIucWBYJKwYBBAHaRw8BAQdAew+8mzMWyf3+Pfy49qa60uKV6e5os7de4TdZ +ceAWUq/NF2RlbmJvbmQ3QGZsb3djcnlwdC50ZXN0wngEExYKACAFAmCLnFgCGwMF +FgIDAQAECwkIBwUVCgkICwIeAQIZAQAKCRDDIInNavjWzm3JAQCgFgCEyD58iEa/ +Rw/DYNoQNoZC1lhw1bxBiOcIbtkdBgEAsDFZu3TBavOMKI7KW+vfMBHtRVbkMNpv +unaAldoabgPOOARgi5xYEgorBgEEAZdVAQUBAQdAB1/Mrq5JGYim4KqGTSK4OESQ +UwPgK56q0yrkiU9WgyYDAQgHwnUEGBYKAB0FAmCLnFgCGwwFFgIDAQAECwkIBwUV +CgkICwIeAQAKCRDDIInNavjWzjMgAQCU+R1fItqdY6lt9jXUqipmXuqVaEFPwNA8 +YJ1rIwDwVQEAyUc8162KWzA2iQB5akwLwNr/pLDDtOWwhLUkrBb3mAc=3D +=3DyJxA +-----END PGP PUBLIC KEY BLOCK----- + +--------------cYP1XRBmv0zCxms3fDpI5Xqq-- + +--------------j03O76hcVZ8gqZnN5amJtWWf-- + +--------------chrtd7EqgP4Fh03MyBfSGtS4 +Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" +Content-Description: OpenPGP digital signature +Content-Disposition: attachment; filename="OpenPGP_signature" + +-----BEGIN PGP SIGNATURE----- + +wnsEABYIACMWIQTBZCjWAcs5N4nPYdTDIInNavjWzgUCYg4bDAUDAAAAAAAKCRDDIInNavjWzqcL +AQD4dpiZqtqHtLFGgjQNBtFWQbI6AMkW+4e+8XwG3U91jAEA1un53wGLXknEud/Lkpo9lrf2rIne +3EPy13Qc3YmcUgU= +=NX8c +-----END PGP SIGNATURE----- + +--------------chrtd7EqgP4Fh03MyBfSGtS4-- diff --git a/FlowCrypt/src/androidTest/assets/messages/mime/signature_verification_detached_only_signed_public_key_attachment.txt b/FlowCrypt/src/androidTest/assets/messages/mime/signature_verification_detached_only_signed_public_key_attachment.txt new file mode 100644 index 0000000000..5b0c11b539 --- /dev/null +++ b/FlowCrypt/src/androidTest/assets/messages/mime/signature_verification_detached_only_signed_public_key_attachment.txt @@ -0,0 +1,1753 @@ +Return-Path: +Delivered-To: default@flowcrypt.test +Received: from mail.flowcrypt.test + by mail.flowcrypt.test with LMTP + id D2dJFo8bDmKZCAAAc/RpdQ + (envelope-from ) + for ; Thu, 17 Feb 2022 09:55:27 +0000 +Received: from localhost (localhost [127.0.0.1]) + by mail.flowcrypt.test (Postfix) with ESMTP id 5742822A2F + for ; Thu, 17 Feb 2022 09:55:27 +0000 (UTC) +Message-ID: <15b637c3-dd6f-d768-8f01-e1f82eca43e3@flowcrypt.test> +Date: Thu, 17 Feb 2022 11:55:10 +0200 +Mime-Version: 1.0 +Content-Language: en-US +To: default@flowcrypt.test +From: Denys +Subject: NOT encrypted + signed(detached) + public key + attachment +Autocrypt: addr=denbond7@flowcrypt.test; keydata= + xjMEYIucWBYJKwYBBAHaRw8BAQdAew+8mzMWyf3+Pfy49qa60uKV6e5os7de4TdZceAWUq/N + F2RlbmJvbmQ3QGZsb3djcnlwdC50ZXN0wngEExYKACAFAmCLnFgCGwMFFgIDAQAECwkIBwUV + CgkICwIeAQIZAQAKCRDDIInNavjWzm3JAQCgFgCEyD58iEa/Rw/DYNoQNoZC1lhw1bxBiOcI + btkdBgEAsDFZu3TBavOMKI7KW+vfMBHtRVbkMNpvunaAldoabgPOOARgi5xYEgorBgEEAZdV + AQUBAQdAB1/Mrq5JGYim4KqGTSK4OESQUwPgK56q0yrkiU9WgyYDAQgHwnUEGBYKAB0FAmCL + nFgCGwwFFgIDAQAECwkIBwUVCgkICwIeAQAKCRDDIInNavjWzjMgAQCU+R1fItqdY6lt9jXU + qipmXuqVaEFPwNA8YJ1rIwDwVQEAyUc8162KWzA2iQB5akwLwNr/pLDDtOWwhLUkrBb3mAc= +Content-Type: multipart/signed; micalg=pgp-sha256; + protocol="application/pgp-signature"; + boundary="------------01PuQLLMlZcv9xhr9Cd7idcr" + +This is an OpenPGP/MIME signed message (RFC 4880 and 3156) +--------------01PuQLLMlZcv9xhr9Cd7idcr +Content-Type: multipart/mixed; boundary="------------jTmWmaxlglctxEbGvmwkCZ4k"; + protected-headers="v1" +From: Denys +To: default@flowcrypt.test +Message-ID: <15b637c3-dd6f-d768-8f01-e1f82eca43e3@flowcrypt.test> +Subject: NOT encrypted + signed(detached) + public key + attachment + +--------------jTmWmaxlglctxEbGvmwkCZ4k +Content-Type: multipart/mixed; boundary="------------Q0wl9yuhuMswW8HomAAI95af" + +--------------Q0wl9yuhuMswW8HomAAI95af +Content-Type: text/plain; charset=UTF-8; format=flowed +Content-Transfer-Encoding: base64 + +Tk9UIGVuY3J5cHRlZCArIHNpZ25lZChkZXRhY2hlZCkgKyBwdWJsaWMga2V5ICsgYXR0YWNo +bWVudA0KDQo= +--------------Q0wl9yuhuMswW8HomAAI95af +Content-Type: image/jpeg; name="attachment.jpg" +Content-Disposition: attachment; filename="attachment.jpg" +Content-Transfer-Encoding: base64 + +/9j/4AAQSkZJRgABAQAAAQABAAD/4QBiRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAEAAAEa +AAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAEAAAITAAMAAAABAAEAAAAAAAAAAAAB +AAAAAQAAAAEAAAAB/9sAQwADAgIDAgIDAwMDBAMDBAUIBQUEBAUKBwcGCAwKDAwLCgsLDQ4S +EA0OEQ4LCxAWEBETFBUVFQwPFxgWFBgSFBUU/9sAQwEDBAQFBAUJBQUJFA0LDRQUFBQUFBQU +FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgC6QRvAwEi +AAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMF +BQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn +KCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SV +lpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz +9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQH +BQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBka +JicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKT +lJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz +9PX29/j5+v/aAAwDAQACEQMRAD8A+W/jBqdxq/xV8XXV1K80rarcjc5ycCVgB+AAFchV/Xmd +9c1FpJZJpDcyFpZWLO53HJYnkk9yaoUFBRRRQMKKKKACiiigAooooAKKKKACiiigAooooAKK +KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK9U/Zk+Gvh34v/GPR/CHiW8vr +Gx1NJo4p9PkRJBMsbOgy6MMErjGM8jmumb9kfXx8HLzx19tHn2+vHRv7H+z/ALxkE4tzPv3d +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 +f+ZJ9ceIPjxf+BPHXjGx13T/AB58O7fxNZ6XcQXlvbGy1a3e1g8nf5UjoJIXZZR98fdBzkEV +5hefGXTdTi+JVhq+r+J/EcPiLT7a3sNX1URveiW3kWSMTKZSBGSGX5XYqMYBrxbLeg/OjLeg +/Oh+87v+un4BH3VZeX4H1h8ZPHXg34c/EjxPqdomuX3je98Ow6WtvNFCmnQefp8UTzCQOZHI +jY4QoBuOd2K+UKTLeg/OjLeg/Oh6vm/rq/zbBaRUf62S/RC0UmW9B+dGW9B+dAxaKTLeg/Oj +Leg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBa +KTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/Oj +Leg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBa +KTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/Oj +Leg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBa +KTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/Oj +Leg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBa +KTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/Oj +Leg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgDo +fiF/yP3iX/sJ3P8A6NaufroPiF/yP3iX/sJ3P/o1q5+gQUV9V/s9/suoP7B8S+PLHJ1e7jg0 +Lw9OPmuyR5j3Eyf88kiV32HG7bg4BAbxb46+F7Xwv8cPGGjWscWn2MWrSiGNV2xwRO+5QAAM +KqsMAdAKaTbsgvY89or2/wCOPwp8JfC2STQ7HTPF9xrBMQsddu3g/svVFO0tJAix7ihBO0iR ++2cc1z/in9n7XfCuh6vfS6tol/e6J5X9s6PY3bSXmm72CDzQUCHDsqN5bvtYgHFSnfYfY8wo +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 +/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RP +PCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf ++GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+ +Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJb +b/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0 +Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+F +n/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqK +APJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCC +W2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/ +AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWf +hZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4 +ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4i +vWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr +/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RP +PCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf ++GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+ +Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJb +b/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0 +Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+F +n/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqK +APJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCC +W2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/ +AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWf +hZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4 +ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4i +vWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr +/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RP +PCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf ++GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+ +Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJb +b/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0 +Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+F +n/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqK +APJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCC +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 +/wCNeHa/4o+IGj6x4T8Npd+Gn1vWWvHkvm0+4+zJHCiMAIvP3bjuIJL49qp658X/ABBoEPjH +S57bTpfE2nX1ha6VGsUghukuzGkTsu/ccP5wOGHEdC1dv63t+Y/M99/4Sy7/AOecH/fJ/wAa +P+Esu/8AnnB/3yf8a+c9Y+LXjbTYfGniGG30K48M+FtSktLmwaGZL2aGNY2kkSXzCgYByQpT +nbjPNaPgq98Tar8afHbWerWY8OwXFgZLO8tpZZtrWaNiFxKqxAk5IKNk5oj71vNX++1vzB6X +Xr+G573/AMJZd/8APOD/AL5P+NH/AAll3/zzg/75P+NeEeOJ/E8vx28O2Xh3VbOw3aBeTTR6 +lby3MDgXEAyI0ljw/PDEnAyMc1zeqftEa8fE+qx6RpP27TdL1b+y5LCLRdQnuboI6pNKlzGp +gj2ksQjZyF5K5FEfe5bbu/4O35hL3b36W/FX/I+m/wDhLLv/AJ5wf98n/Gj/AISy7/55wf8A +fJ/xrw7SPiZrd/8AFPUfD2pXGk6DbQzyRWmmXtpOt7qEKx5E8E5cROCTyiqxUKckGo/2aJ/F +F98MtGvdc1Wy1Gxnti1sEtpVulPmNkzSvKwkP0VaFqr+n43/AMv8weja/r+v6R9G6Hqz6okv +mIqvGRyvQg5/wrUrnPCH/L3/AMA/9mro6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigDH8V/8glP+vu1/wDSiOlf7tJ4r/5BCf8AX3a/+lEdK/3aAOf+HX/JP/DX/YMtv/RS +10Nc98Ov+Sf+Gv8AsGW3/opa6GgAooooAKKKKACiiigAooooAKKKKACiiigAqG9tUvrOe2kL +COaNo2K9QCMHH51NRSaUlZjTad0efTfBHQ5fAHhvwrHeanap4cEP9l6rbzql7bPGhRZA4XaS +VLAgqVIYgrWx4C+Hen+AINQNvd32qahqVx9qv9U1OUSXN1IFCqWKqqgKqhQqqFAHArqaKq7b +b77/ANfJfcibKyXYz9b/AOPW3/6/bT/0ojqPxZGwvYpNp2GMLu7Zyf8AGrl/aC+tjFvMbBlk +RwM7WVgynHfBA4pvna5/z+6f/wCAL/8Ax6kM8M8TfALR/El1q5TWtc0nT9YmFzqOlafcRi1u +pRty5V42Kk7VzsZc455rT1n4SWl/4nute03Xtc8N3t6sa3y6RcRrHebBtQyLJG4DBfl3LtOA +Oa9g87XP+f3T/wDwBf8A+PUedrn/AD+6f/4Av/8AHqFpa3QHrfzPNofAWmxa74j1V2nnl163 +htbyGVh5eyNHUBQACMh2zkntjFc34V+B2m+F9X0y9Ova5q8Ol2cthYWOpTQvDbQSBAyLtiV2 +4jUDezcCvbfO1z/n90//AMAX/wDj1Hna5/z+6f8A+AL/APx6lZf18/8AN/eH9f19yPD/AAv8 +CNK8K61ot7Brmu3lpoglXTNLvLiJ7azWRChVMRiQgKcAM5wMUxfgHpFrpOj2Wn65ruly6NcX +E+nXtrcRefbJN/rIFLRsrR+gZSRgfNXufna5/wA/un/+AL//AB6jztc/5/dP/wDAF/8A49TA ++d/G/wAGL+71G7u9JFnrdrftbz3mnareTWUou4UCR3cF3ApeKUqAGwuDgcjnOx8Mvg9pXhMS +arPoi6br0/nK4XW7rVFjEhBdlkuAuHfapchASRyTXuHna5/z+6f/AOAL/wDx6jztc/5/dP8A +/AF//j1HRrv/AF/wPTQHrY8fk+D+jv8ADfS/Bi3moRWOmG3e0vY5EF1HJC4eN87NpYMo6rg+ +lUtf+BWi+INS1OeTVNZs7DVnWXVdJs7pY7TUHAClpF2FgWVVDbGXcBzmvbfO1z/n90//AMAX +/wDj1Hna5/z+6f8A+AL/APx6nfW/9f1ovuQeR5PqXwm8P6r47sPFk8Mp1CzsX09IFYC3eNgw +BZMcsqvIoOeBI3HPGVpnwE8M6T8PLfwhbyagtpbXX26C/wDtGLyG4D7llWQAfMvCjjG0AEEV +7b52uf8AP7p//gC//wAeo87XP+f3T/8AwBf/AOPUv6/G/wCeof1+Fvy0PJdL+GENlq+h6pfa +/rOuahpBuTBcajJCSwmRUZWEcSDACDGAOSc5rm9Q8BXfjb41aP4lv9Dn0ew8OxzRpcTXUTjU +3J/csI42bCR7pHBfa2XHy9TXv3na5/z+6f8A+AL/APx6jztc/wCf3T//AABf/wCPU7+8pdhd +HHufNukfAmbXdY8ZyeI9R1m10bU9ekvF0W3u4hZ30G2La0gClwCykFQ65CjIruZPhfap44n8 +T2Os6vpU92Ihe2NnNGLW7MalUMitGzAhTj5GXIAzXrPna5/z+6f/AOAL/wDx6jztc/5/dP8A +/AF//j1JaJR7JL7lb9BvVt97/i7nit58FrW5j0KVPFHiS21bSIZraPWUvI3u54ZWDPHK0kbK +wyq4+UEbRg1Zi+EdrYeJ7nWNK8Qa7oyXl0t7e6bZXEX2S6mGNzurxsylto3bGXNew+drn/P7 +p/8A4Av/APHqPO1z/n90/wD8AX/+PULR3/rv+evrqD13PIbv4U2+qeLLPW9S1/WtTisbw31n +pVzLD9kt5irKGULEJDgM2Azkc9KseAfhnbfDszw6drOrXGltu+z6VeTRvb2YZy5EWED4yT95 +mwOK9W87XP8An90//wAAX/8Aj1Hna5/z+6f/AOAL/wDx6habA9dxPCMbKly5UhWKgH1xnP8A +Ouhrn/O1z/n90/8A8AX/APj1Hna5/wA/un/+AL//AB6gDoKK5/ztc/5/dP8A/AF//j1Hna5/ +z+6f/wCAL/8Ax6gDoKK5/wA7XP8An90//wAAX/8Aj1Hna5/z+6f/AOAL/wDx6gDoKK5/ztc/ +5/dP/wDAF/8A49R52uf8/un/APgC/wD8eoA6Ciuf87XP+f3T/wDwBf8A+PUedrn/AD+6f/4A +v/8AHqAOgorn/O1z/n90/wD8AX/+PUedrn/P7p//AIAv/wDHqAOgorn/ADtc/wCf3T//AABf +/wCPUedrn/P7p/8A4Av/APHqAOgorn/O1z/n90//AMAX/wDj1Hna5/z+6f8A+AL/APx6gDoK +K5/ztc/5/dP/APAF/wD49R52uf8AP7p//gC//wAeoA6Ciuf87XP+f3T/APwBf/49R52uf8/u +n/8AgC//AMeoA6Ciuf8AO1z/AJ/dP/8AAF//AI9R52uf8/un/wDgC/8A8eoA6Ciuf87XP+f3 +T/8AwBf/AOPUedrn/P7p/wD4Av8A/HqAOgorn/O1z/n90/8A8AX/APj1Hna5/wA/un/+AL// +AB6gDoKK5/ztc/5/dP8A/AF//j1Hna5/z+6f/wCAL/8Ax6gDoKK5/wA7XP8An90//wAAX/8A +j1Hna5/z+6f/AOAL/wDx6gDoKK5/ztc/5/dP/wDAF/8A49R52uf8/un/APgC/wD8eoA6Ciuf +87XP+f3T/wDwBf8A+PUedrn/AD+6f/4Av/8AHqAOgorn/O1z/n90/wD8AX/+PUedrn/P7p// +AIAv/wDHqAOgorn/ADtc/wCf3T//AABf/wCPUedrn/P7p/8A4Av/APHqAOgorn/O1z/n90// +AMAX/wDj1Hna5/z+6f8A+AL/APx6gDoKK5/ztc/5/dP/APAF/wD49R52uf8AP7p//gC//wAe +oA6Ciuf87XP+f3T/APwBf/49R52uf8/un/8AgC//AMeoA6Ciuf8AO1z/AJ/dP/8AAF//AI9R +52uf8/un/wDgC/8A8eoA6Ciuf87XP+f3T/8AwBf/AOPUedrn/P7p/wD4Av8A/HqAOgorn/O1 +z/n90/8A8AX/APj1Hna5/wA/un/+AL//AB6gDoKK5/ztc/5/dP8A/AF//j1Hna5/z+6f/wCA +L/8Ax6gDoKK5/wA7XP8An90//wAAX/8Aj1Hna5/z+6f/AOAL/wDx6gDoKK5/ztc/5/dP/wDA +F/8A49R52uf8/un/APgC/wD8eoA6Ciuf87XP+f3T/wDwBf8A+PUedrn/AD+6f/4Av/8AHqAO +gorn/O1z/n90/wD8AX/+PUedrn/P7p//AIAv/wDHqAOgorn/ADtc/wCf3T//AABf/wCPUedr +n/P7p/8A4Av/APHqAOgorn/O1z/n90//AMAX/wDj1Hna5/z+6f8A+AL/APx6gDoKK5/ztc/5 +/dP/APAF/wD49R52uf8AP7p//gC//wAeoA6Ciuf87XP+f3T/APwBf/49R52uf8/un/8AgC// +AMeoA6Ciuf8AO1z/AJ/dP/8AAF//AI9R52uf8/un/wDgC/8A8eoA6Ciuf87XP+f3T/8AwBf/ +AOPUedrn/P7p/wD4Av8A/HqAOgorn/O1z/n90/8A8AX/APj1Hna5/wA/un/+AL//AB6gDoKK +5/ztc/5/dP8A/AF//j1Hna5/z+6f/wCAL/8Ax6gDoKK5/wA7XP8An90//wAAX/8Aj1Hna5/z ++6f/AOAL/wDx6gDoKK5/ztc/5/dP/wDAF/8A49R52uf8/un/APgC/wD8eoA6Ciuf87XP+f3T +/wDwBf8A+PUedrn/AD+6f/4Av/8AHqAOgorn/O1z/n90/wD8AX/+PUedrn/P7p//AIAv/wDH +qAOgorn/ADtc/wCf3T//AABf/wCPUedrn/P7p/8A4Av/APHqAOgorn/O1z/n90//AMAX/wDj +1Hna5/z+6f8A+AL/APx6gDoKK5/ztc/5/dP/APAF/wD49R52uf8AP7p//gC//wAeoA6Ciuf8 +7XP+f3T/APwBf/49R52uf8/un/8AgC//AMeoA6Ciuf8AO1z/AJ/dP/8AAF//AI9R52uf8/un +/wDgC/8A8eoA6Ciuf87XP+f3T/8AwBf/AOPUedrn/P7p/wD4Av8A/HqAOgorn/O1z/n90/8A +8AX/APj1Hna5/wA/un/+AL//AB6gDoKK5/ztc/5/dP8A/AF//j1Hna5/z+6f/wCAL/8Ax6gC +x4r/AOQQn/X3a/8ApRHSv92qU1vqN/5cd9d2z26yJKUt7Zo2ZlYMuSZG4yAenarr/doA5/4d +f8k/8Nf9gy2/9FLXQ1z3w6/5J/4a/wCwZbf+ilroaACiiigAooooAKKKKACiiigAoorlPG/x +S8M/DqWyh13UXt7q93fZrS2tZrqeULjcyxQo7lRkZOMDI5pXsO1zq6KoaBrtl4m0e11TTpWm +sbpN8UjxPExHTlXAYdOhANZOueN4dE8beGfDb2sks+uLdPHOrALEIEVjkdTncAKq1nYm91c6 +WiszWdcOj3WlwjTr+/8At1yLYyWcIdLb5WbzJSSNqfLjPPLAY5rTpDCiob28i0+znup22wwR +tK7AZwqjJOPoKp+GvENl4t8PaZremyNLp+o20d3bu6lS0bqGUkHkcEcGje/9f1sBNq1xJbWg +MJCySTRQqxGdu+RU3Y743Z/Cp/8AhHJ/+g3qH/fFv/8AGqqa3/x62/8A1+2n/pRHXN/GH9oH +wl8C9Q8IW/i2a5srfxNqB023v0jDW9tIEL7p2LAonGNwBAJycDJB1S7/AKh3f9aHX/8ACOT/ +APQb1D/vi3/+NUf8I5P/ANBvUP8Avi3/APjVY178WND074kS+C7rz4L6LQX8RSX0gRbRLVZv +KbLlshgTn7uMDOe1eaR/tn+FDYW+vT+FfGdl4CuJFSLxxc6QE0lkZtqTE+Z56wsSMStEEwQc +45oXvWt1/wA2vzTXqgel/wCuif5NM9k/4Ryf/oN6h/3xb/8Axqj/AIRyf/oN6h/3xb//ABqv +JfHH7VR8DeONO8LzfCjx/ql3qtzNbaVdadFpjW+omKMyO0TPfK23YpYF1U47Z4r1/T/EUU3h +eDW9TtpvDkLWouri31Z4o5LIbdzLMyuyArzkhyvB5I5o+zzdA68pF/wjk/8A0G9Q/wC+Lf8A ++NUf8I5P/wBBvUP++Lf/AONVn6b8WfA+s+F7zxLp/jLw/feHLNilzrFtqkElpAwxkPMHKKRk +dT3FWPCfxI8JePdJuNU8MeKdF8R6ZbMVmvdJ1CG6hiIGSGeNiAQOeTRtfyAsf8I5P/0G9Q/7 +4t//AI1R/wAI5P8A9BvUP++Lf/41WHa/HL4b3ug6hrlv8QPC1xomnyiC81KLWrZra2kPRJJA ++1GODwSDWl4d+Jvg/wAYWl1d6D4s0PW7W1gW6uJ9O1GG4SGFgxWR2RiFUhHwx4O1vQ0bK4eR +a/4Ryf8A6Deof98W/wD8ao/4Ryf/AKDeof8AfFv/APGqwtT+Ofw30WfS4dQ+IPhWwm1WGO40 ++O51q2ja8ik/1ckQZx5it2K5B7Vj+I/2jPBHgz4u2/w+8Ra1p/h7UrrS4dTtLrVb+C2huzJO +8KwQ73BeTKE7QOhFO12o9XdfNatfgGycui1+T0/U7X/hHJ/+g3qH/fFv/wDGqP8AhHJ/+g3q +H/fFv/8AGqrN8SfCKeL18Jt4q0VfFLLvXQzqMIviuM5EG7fjHOcdK8/+P/7Sfhz4N6Bex22u +eH7vxnFLZpF4butSjS7kSa5iiL+SG8wgLIW4Hb0pLVpLrsG179D0n/hHJ/8AoN6h/wB8W/8A +8ao/4Ryf/oN6h/3xb/8AxqtW8vIdPs57q5lWG3gjaWWRzgIoGST7ACodH1ey1/SbLU9OuY7z +T72FLm3uIjlJY3UMrKe4IIP40AUP+Ecn/wCg3qH/AHxb/wDxqj/hHJ/+g3qH/fFv/wDGqxL7 +4w+EftmvaRpXijw9qvinR7Sa5n0FNZt0uY/LXJEq7iYlzgF2GFzk1EPjL4X0LwJ4d8S+MvEP +h7wbFrFrDOhv9ct/sxkdA5SK4LKkwGeGXhhgjg0k7q/p+N7fkw629fwtf80dB/wjk/8A0G9Q +/wC+Lf8A+NUf8I5P/wBBvUP++Lf/AONVj6/8afh74U03TNR1vx54Z0fT9TTzLC71DWLeCK7X +j5ondwHHI5UnqK0fEHxF8KeE/D0Gva54n0bRtCn2mHU9Q1CKC2k3DK7ZXYKcjkYPNPYNyf8A +4Ryf/oN6h/3xb/8Axqj/AIRyf/oN6h/3xb//ABqoNb+I/hLwz4Zh8R6x4o0XSvD04Qxatfah +DDaSBhlSsrMEOR0wea8Ytv2q5NU+FXiTxPpWn6fq+ojxbN4S8OW1pc74NSmNwsNvIZBn5TuM +jFeAqsRQtZOK3/4KVvW7WgbJSez/AMm/usnqe3f8I5P/ANBvUP8Avi3/APjVH/COT/8AQb1D +/vi3/wDjVecftB/tG+H/AIF/D/X72513w6fGllpb31n4dvdSjhnvGUdEiLCRlJB6DtXc6v8A +E/wl4ZvdJ07X/FOiaHq2qKps7DUNRhgmuSeMRI7Bn544Bo32E9LX/q1v80Xv+Ecn/wCg3qH/ +AHxb/wDxqj/hHJ/+g3qH/fFv/wDGq4uD9ovwSvxi1r4aajrVhoniawFn9mttSv4IZNTa4RnV +baNn3yFdoBwOrCun8P8AxT8F+LPEF/oOh+L9B1nXNPLC80zT9ThnubYqdreZEjFkweDkDB4o +Wu39W3G9N/6vsXf+Ecn/AOg3qH/fFv8A/GqP+Ecn/wCg3qH/AHxb/wDxquF+Jn7Qfhfwl4O8 +f3OheItA17xX4U0e71ObQItTikuIzDGWxLEjF0XIAJIGM10Pww+LnhX4raHFd+HvE2h69cxQ +RPfQaPqMV19kkdclHCMShzkYbB4oXvXt0t+N/wDJg/dtfrf8Lf5o2f8AhHJ/+g3qH/fFv/8A +GqP+Ecn/AOg3qH/fFv8A/Gqr+F/iT4R8cXt/Z+HPFOi6/d6e2y8t9L1GG5ktmzjEioxKHg9c +V5r4k/aU0e4+KXhLwN4J1vw14n1TV5NRgvY7fU0nfT5be1aWNZUiYlNzrtO4ZwDjmk3ZX+Y7 +HqX/AAjk/wD0G9Q/74t//jVH/COT/wDQb1D/AL4t/wD41WD8FfiWPi18OdM8QyWf9maizS2m +o6cW3GzvYJGhuIc9wsiOAe4we9dPaeItMv8AW9Q0e3vYZtU09IpLu1RsvCsu7yyw7BtjY/3T +VNWdiU7lb/hHJ/8AoN6h/wB8W/8A8ao/4Ryf/oN6h/3xb/8AxqqnjX4neDvhtFbS+LvFmh+F +orolYH1rUobMSkYyFMjLuxkdPUVfi8YaDPJo8cWt6dI+sqz6YqXcZN8qrvYwDP7wBfmJXOBz +0pLXVD2I/wDhHJ/+g3qH/fFv/wDGqP8AhHJ/+g3qH/fFv/8AGq88+LP7Q2ifDebwfPHquiTa +PqfiZvD+ralcX6LDppS3nlk3vu2o6tCqlXIxu5qX4l/Hax0HwB4f8U+D73SPFWn6r4h0vR0v +LS6W4tmjubyO3kdJImILKHJHOMjmiPvWt1aXzdrffzLUJe7e/Zv5K9/yZ33/AAjk/wD0G9Q/ +74t//jVH/COT/wDQb1D/AL4t/wD41WLonxKt7mbxrJrLaVommeG782j3x1mGZfLEMcpkuAMf +ZWHmf6uQ5wFbowp1z8UdD1b4a654v8JazpPimwsbK5niutNvEuraSSKMtsMkbEdQAQDnmolN +Qg5vZK/ytcqMXKSgt27fM2P+Ecn/AOg3qH/fFv8A/GqP+Ecn/wCg3qH/AHxb/wDxqud+F/xV +0/xp4K8HXup6hplj4j1zw/b67JpKXKrIsbxo0kiRs2/ylZ9u7kDjJzVzTfjL8P8AWNJ1HVLD +xz4avtM06VIb29ttXt5IbWRmCokrhyEYsQAGIJJxW0oOEnB7r/O356GcZKUVJbP9dfyNb/hH +J/8AoN6h/wB8W/8A8ao/4Ryf/oN6h/3xb/8Axqrn9v6X/bv9i/2laf2z9m+2f2d56/aPI3bP +N8vO7Zu+XdjGeM5pl14i0yy12w0ae9hi1W/imntbRmxJMkWzzGUdwvmJn/eFQUVv+Ecn/wCg +3qH/AHxb/wDxqj/hHJ/+g3qH/fFv/wDGqm8UeLND8EaLPrHiLWdP0DSIMedf6pdJbQR5OBuk +chRkkAZPU15/47/aY8A+AtI8G63d+IdLuPDHibU/7Mg8Qw6lb/2dAfJlk8yScvs2fuSuQT8z +AUr/AKL79h2/V/dud1/wjk//AEG9Q/74t/8A41R/wjk//Qb1D/vi3/8AjVefp+1J8OR8TYPB +lx4o0ezuL7S7PVNKv7jVLZLfVluZZI40tSXzM2Y8/JnO9cZzXZ6N8UvBfiLxPfeG9J8X6Dqf +iKxLC70iz1OGa7typw3mQqxdcHg5AxVWv+P4aP7ib/p+Oq+8u/8ACOT/APQb1D/vi3/+NUf8 +I5P/ANBvUP8Avi3/APjVcj8Qvjt4V8I6R4vt7DxJoOo+MNB0i71M+HP7SiN2fJhaTDwhvMVf +lGTjoan+EHxs8KfF3wnY6jpHibQdU1EWEF1qdnpWpRXBsZHjDMkgViUwSR82DxSWt2ulvxv/ +AJMb0tfrf8Lf5o6f/hHJ/wDoN6h/3xb/APxqj/hHJ/8AoN6h/wB8W/8A8arlU/aP+EslteXC +fFHwW1vZELdSr4gtCkBJwA58zC5wcZxXRat8SPCWgeF4fEup+KNF03w5OqtFrF3qEMVnIGGV +KzMwQg9sHmjpcOtix/wjk/8A0G9Q/wC+Lf8A+NUf8I5P/wBBvUP++Lf/AONVna78W/A3hfw9 +Y69rPjPw9pGhX4BtNTv9VggtrgEZHlys4V+OeCa5v4h/tHeB/hvpfgzWNS1zT28N+KNRGn2+ +vrfwLp8OYZZRK87OE2HyioIJ5YUbaPul83sG6v5N/Jbna/8ACOT/APQb1D/vi3/+NUf8I5P/ +ANBvUP8Avi3/APjVXtG1rT/EWk2mqaTfW2p6ZeRLPbXtnMs0M8bDKujqSGUjkEHBq7TatoxJ +31Rif8I5P/0G9Q/74t//AI1R/wAI5P8A9BvUP++Lf/41W3RSGYn/AAjk/wD0G9Q/74t//jVH +/COT/wDQb1D/AL4t/wD41W3RQBif8I5P/wBBvUP++Lf/AONUf8I5P/0G9Q/74t//AI1W3RQB +if8ACOT/APQb1D/vi3/+NUf8I5P/ANBvUP8Avi3/APjVbdFAGJ/wjk//AEG9Q/74t/8A41R/ +wjk//Qb1D/vi3/8AjVbdFAGJ/wAI5P8A9BvUP++Lf/41R/wjk/8A0G9Q/wC+Lf8A+NVt0UAY +n/COT/8AQb1D/vi3/wDjVH/COT/9BvUP++Lf/wCNVt0UAYn/AAjk/wD0G9Q/74t//jVH/COT +/wDQb1D/AL4t/wD41W3RQBif8I5P/wBBvUP++Lf/AONUf8I5P/0G9Q/74t//AI1W3RQBif8A +COT/APQb1D/vi3/+NUf8I5P/ANBvUP8Avi3/APjVbdFAGJ/wjk//AEG9Q/74t/8A41R/wjk/ +/Qb1D/vi3/8AjVbdFAGJ/wAI5P8A9BvUP++Lf/41R/wjk/8A0G9Q/wC+Lf8A+NVt0UAYn/CO +T/8AQb1D/vi3/wDjVH/COT/9BvUP++Lf/wCNVt0UAYn/AAjk/wD0G9Q/74t//jVH/COT/wDQ +b1D/AL4t/wD41W3RQBif8I5P/wBBvUP++Lf/AONUf8I5P/0G9Q/74t//AI1W3RQBif8ACOT/ +APQb1D/vi3/+NUf8I5P/ANBvUP8Avi3/APjVbdFAGJ/wjk//AEG9Q/74t/8A41R/wjk//Qb1 +D/vi3/8AjVbdFAGJ/wAI5P8A9BvUP++Lf/41R/wjk/8A0G9Q/wC+Lf8A+NVt0UAYn/COT/8A +Qb1D/vi3/wDjVH/COT/9BvUP++Lf/wCNVt0UAYn/AAjk/wD0G9Q/74t//jVH/COT/wDQb1D/ +AL4t/wD41W3RQBif8I5P/wBBvUP++Lf/AONUf8I5P/0G9Q/74t//AI1W3RQBif8ACOT/APQb +1D/vi3/+NUf8I5P/ANBvUP8Avi3/APjVbdFAGJ/wjk//AEG9Q/74t/8A41R/wjk//Qb1D/vi +3/8AjVbdFAGJ/wAI5P8A9BvUP++Lf/41R/wjk/8A0G9Q/wC+Lf8A+NVt0UAYn/COT/8AQb1D +/vi3/wDjVH/COT/9BvUP++Lf/wCNVt0UAYn/AAjk/wD0G9Q/74t//jVH/COT/wDQb1D/AL4t +/wD41W3RQBif8I5P/wBBvUP++Lf/AONUf8I5P/0G9Q/74t//AI1W3RQBif8ACOT/APQb1D/v +i3/+NUf8I5P/ANBvUP8Avi3/APjVbdFAGJ/wjk//AEG9Q/74t/8A41R/wjk//Qb1D/vi3/8A +jVbdFAGJ/wAI5P8A9BvUP++Lf/41R/wjk/8A0G9Q/wC+Lf8A+NVt0UAYn/COT/8AQb1D/vi3 +/wDjVH/COT/9BvUP++Lf/wCNVt0UAYn/AAjk/wD0G9Q/74t//jVH/COT/wDQb1D/AL4t/wD4 +1W3RQBif8I5P/wBBvUP++Lf/AONUf8I5P/0G9Q/74t//AI1W3RQBif8ACOT/APQb1D/vi3/+ +NUf8I5P/ANBvUP8Avi3/APjVbdFAHNajY3OiwxXQ1K5u18+KJorhItpDyKmQURSCN2evarz/ +AHaTxX/yCE/6+7X/ANKI6V/u0Ac/8Ov+Sf8Ahr/sGW3/AKKWuhrnvh1/yT/w1/2DLb/0UtdD +QAUUUUAFFFFABRRRQAUUUUAFeNfG678J6D4o0XXL/wAdr8P/ABXbWk0NlfTIkkFxA7KXikjk +Xa43IpwrK+Rwa9lrmfE/hHVdfv47ix8ba74biWIRm00yGweN2BJ3k3FrK245A4YDCjjOSU1s +1/X9floNPdHhOnfFSSTxB8LfiF44ji8PadPp2r6dPqLxSQ2okMsPkyHfzGsyQl1DnvjJrhLB +/Bd9pvwuvvGzWL+EJtW8UTNPqRxavvunaEsTwQ2QRng8V9geGNEvdAsJLe+8Qaj4klaUyC71 +OO2SRFIA2AW8MS7RgnlScsecYA16fbyv+Lv+b8vQX/D/AINfl6+p8oeFUdLXwB9kW5TwwfiJ +OfDy3e8MNP8Aslxs2h/m8vd5mzP8OMcYrn/hro02rfEbTn1vxdoOhfES28QzT3VpPptyutXM +Qlf9x5xudj27w4C7Y9gXbgZGa+pNa+HVn4h8a6N4jv8AUdRm/scmSz0vzEFnHOVdPPKhN7Pt +dhy5UdlzzXV04vlafb79or73y3fe4pK913/zk/u963yPmH4Wp4Pu21i314W7fGyeXU4rhL/d +9vYkyhBFu/5Y+Ts27fkx711f7JA8CQfDXTLXwvb6ZaeIYdOtI/EENnAIrhblUKkXAwDvDCT7 +3PX1r3OilH3U13SX3X/DXYcved/Nv77f5aGfrf8Ax62//X7af+lEdeY/H/wPL43+K3wXgn0O +XWtAj1LVI9WH2VpreOCXTLiP98QCFViwT5sAlgOpr07XcixR8ErFc28r4GcKsyMx/AAn8K0P ++Es0P/oM6f8A+BSf40mlLRjTavbz/E+MrL9n3x/L8VviF8P703k/hV/hre+HfDHiydXdTDPc +Aw208uMGWHLJ13NGitjOa6HxL8QPFXi/9nK5+EUHwj8W2vj6/wBC/wCEZlhudKZNGtXMPkPc +/b/9Q0KjLrtYuQANua+rP+Es0P8A6DOn/wDgUn+NH/CWaH/0GdP/APApP8aLXh7Oeqas+71k +9/8At53777jvaftI6NO68tIrb/t1W7bbHinjHwFq2lfEr9m61trW91Wz8OSXtvf6jFA7xwga +W8SySsAQgdsAFiMk461f/bN8D+IviD8Cb/TPDcN3eXUWo2F9c2NgkMlxd2sNzHJNFGkwaORy +ikhHBVioUg5wfXP+Es0P/oM6f/4FJ/jR/wAJZof/AEGdP/8AApP8aqo3UfM3re/zun+hEEqa +SWyVvlr/AJnxPrXwsOu/B34q6zoSfETxFr2vPolrdWPibwnHpMkwt7xGDRW0FpB5hVGcPJtb +5VHOFrpP2gPgz4i1vxt8X7TwZ4anS01vwVo5kjtIPs9vqs0GoztPbCTAQyvbAx4JztkXOAa+ +tP8AhLND/wCgzp//AIFJ/jR/wlmh/wDQZ0//AMCk/wAaT3TXS/4xt93Ua0TT62/Bp/pY+afi +Bd6f8VvBvgq18K/DjxHolvp3jbQZb7T9S8Kz6fsgSYl22NGA8caj5nXKKCPmwayf2uvDOteD +fF1ldeDdPIX4maUfh3dpaKEFrPJIz210QMcJFJe5I6fLX1Z/wlmh/wDQZ0//AMCk/wAa5BvC +Xw7l+Ia+OJrq1uvEkaGOC4utYkmhtspsLQwPKYoWK/KXjRWIJyTk0WTdmtLtv5xUWvmk/S99 +bArrVbpJL5Sck/k2n52t1Pm7xTc+F/AP7QXxG8M33w91rxxpr+BNC0yz07R9BfU1Cob5Fik2 +qREGGAGfC/KckYqX4V+GvEvwL8cfDi68ceFtf8Qeb8PLDw9JeaPpcuqizv4bpnMUzRBjGAkq +gSthTsb5q+n7G08E6b4y1XxVbXmnx6/qtrb2V5d/b8+bDAZGiXYX2jaZpOQATu5JwMbn/CWa +H/0GdP8A/ApP8acW1Lnervd/+Tr8pvXvbzvMoppxWiskvkofrBfL5W+G/AXwU1JPH7+HPHN1 +8RbTVYvHU3iK2n0vwvaT6TdN9sae3uTqi2bSxqYyqOsk6sAGTG3ApPHfg7UtI8E/ELwJqHw1 +8Q6v461rxwNasvEVj4flvbW+tn1KKeOU3kaMsJjgBjKyMpXZgcGvuX/hLND/AOgzp/8A4FJ/ +jR/wlmh/9BnT/wDwKT/GlT/d8tun425fx9xf5bWqfvuTfV3/APSvw95/5nMfGnwVr/jzwHqG +meHfFOpeFr9oJfn02Czla7BiZRA32mKRVViR8y7WGPvDmsf9mv4deJvhn8KPD2keKfE2pa7q +EOmWcJs9QhskXTGSBVa3ja2iQOqkY3OXJ2/ePfv/APhLND/6DOn/APgUn+NH/CWaH/0GdP8A +/ApP8aI+7zW+1b8L/wCf9XdyXvct+l/xt/l/Wlvj3w5puueGfEXi7wh4H8O+JtR8E6jp2vXF +4viTwnNY3GlXUqvIq2t6yJ9sSaV2AQCRgNp34GKj8MaLffDHWvAniTxp4A8QeItJPwx03RLL +7DocuoTaPfRgtcwywKpeEyBosuVA/dFWIxX2N/wlmh/9BnT/APwKT/GuB+I/w3+GXxYvYLrx +Nem6khhNuEtPEl1ZRSREklJI4J0SRTk8OG646Vm4vl5V2S+5TX5T/Bb7FtqTbfdv73B/nH53 +fqfO37LPgqbxAv7PGoXvh+S/0CH4aajbzXNxZGS2ilkubIpGzEFQ7IrkKTkhWxwDXF2Hwr8a +eG9B+D+rXth4z0fw7oEXiHTJIPD3h2DU7/THl1BjbSfYbm3mJieBNgeOMsqlcEKxz94aPqnh +Xw9pNlpemX2k2GnWUKW9ta288aRwxqAqoqg4AAAAFW/+Es0P/oM6f/4FJ/jW9RqUrx6OT/8A +AnJ6/wDgTRnG9mpdbfgktPuTPkGy+F8Hwrj+C3iGHw34v8c+ANDTWmuLC+0ISapp9zeyLJFc +nTookIVcTRhY4sxrIMKBmsjRNHuPDHgjwn4pvdAv/DHh23+M8+sfY9U097B4LG7aa3t5nhdV +aNQ9xEfmAxX2r/wlmh/9BnT/APwKT/GszxNP4O8Z+H9Q0PXLvSdT0i/ha3urS4uI2SWNhggj +P/6qmL5ZKS6P/wBvjP8AONr9F8ga5o8r63v84yj/AO3N27/M+NPjV4S1DR/DP7Q3hfVPht4g +8T+KvGt/Le+H9f0vw/LqUFzA8EKW8LTxo32cwMjLiTaB95Sc034rfCDVLz4t/E608YN8QI/D +njK3sIrK48IeFrTWYZrdLVImt5JXtJ5bV45Fdgd0a/PvBDZNfbsHibQLeGOKPWNPWONQqj7W +nAAwO9P/AOEs0P8A6DOn/wDgUn+NSko8q3SSXySSXz03Kcm3fZ3b+bab+WmiPn3wxBdfCz9p +fxfHqXhjxFrNp4l0/Q4dH1630mW8txJbwyQy/aZ41K27AlWJfaCDkeleOeC9L+JPjv4yfDnV +dctPFWm+LbVtaj1eKbweun6Ro5ltJkj8i+SAfaEMnl4LTybiA2Aa+5f+Es0P/oM6f/4FJ/jR +/wAJZof/AEGdP/8AApP8aJLnvzdb/j/X+VhR9xWj5fgrf1+p8eeGrJ7P9kDxR8L4/hh4m0f4 +g2HgnULC8f8A4R2Yw3955DLI0N4iFLhp5DvAVmZs8jIrW+JPwa8Rah4h0y28F6HLomo6n8J9 +X0WXUba1NvEl4fsn2aGaUKAj5Mu0Mcj5yOhr6t/4SzQ/+gzp/wD4FJ/jR/wlmh/9BnT/APwK +T/Gia9o5OW8t/wDwGcdP/A/wHF8nLb7L0++D17/B+J8V/CX4OXniXSrsWF58RNC8c6d4IvtA +s7bxF4WtNH0+zeaJEES3NvZwrcbJVRkKyOAFLdznW+F2mpe/Ef8AZ90/TfhZ4g8GXXgyxvrb +XZr3w7Ja2tuxsPKwt5t8qcNKCQUds5yeTX19/wAJZof/AEGdP/8AApP8ar6jrvhvVtPubG71 +XTprW5iaGWM3aAOjAhhw2eQTVynJuUlu/wA7yf5yd97kRgklHovyaivyirbHlH7JSNqfgTxl +rtu5j03xF4w1rU9NlUD5rZrlo0lXPGGMbOOxDA96xvhr8CPiJ4Y+Pni3xLqvxM8R6jolzBpg +SS5s9IUav5Sz74ZVitVeNY964KeWW3n5mxx7VoWo+E/DOi2OkaVfaVp+mWMCW1rawXEaxwxI +oVUUZ4AAAq9/wlmh/wDQZ0//AMCk/wAaWkWuXZJJeiVl5dNR6y5r9W397ufOv7RniXTPCf7T +Pwhv9X8Pap4lshomvxtZ6RpEmpzDJsvn8iNWYgdCQDjPpmvOvB3g3xP8MoPhx47m8D6/D4X0 +7xh4h1CPwzpmntcaho+mX8Trbf6JFlgA/wAzRoCUEuMcED6z1C08E6p4w0fxTdXmny67pFvc +Wlld/b8eVFOYzKuwPtbd5UfLAkbeMZOdz/hLND/6DOn/APgUn+NTC8YpddV8nLm/y16alS97 +Tp+vK1+r/A+JToeqP4W8P+KNT8BeJr3RV+MGo+I59Mk8O3M16NPkguRFO1l5ZlxudOCmQSOK +sa34H8Q6h4Z+IPjTRfAmuaR4a1Dx74c1+w8NDTGi1B4LOa2+2XYslG9Wk8sts2h2Ee4rk19p +f8JZof8A0GdP/wDApP8AGj/hLND/AOgzp/8A4FJ/jTh7nLy/Z5bf9u8m/wD4AvvflZS99tvr +e/8A285vTt8b/Dzv8feNvh34m1CX4h6o3hDVdb0K3+KuneIbzRBZt5msaZFp1ormGJ8C4CSg +PsGdxgZeSMV9CSa7ZeP/AII+L5fDvhvWdGWfT723i07UtEm025llMBAK28iK53EgA7eSOM13 +v/CWaH/0GdP/APApP8aP+Es0P/oM6f8A+BSf41nKClRdHo0l/wCSxj+UV87lxk41VV6p3/8A +JnL85P5HwP4Q+C/xJ0L9n/xj4An0LU9R8W+MfBtpdaZ4oNq8UqpDBEr6HdFhstnjXekYbaji +RyRvD57z4afAbRvixaeMY767+IdvqGo+E28NyweLPCdrodvbozB4vL+z2kCzvC65VlLhQTg8 +19ef8JZof/QZ0/8A8Ck/xrG8YL4S8deHrrRNW1mP7Bc7fM+wazJZTfKwYYmgkSReQPusMjg5 +BIrWo3Ucpd1b81+Tt3e99XfOC5FFLo7/APpL/ON7bL0St4d+xvdeIPiNq3iz4j+LdPksNbjh +tPBqxy4OW08OLyRCP4Hu5Zse0YrR+IfwH+IniP8AaB8L+JtM+JviPT9Dgs9URprey0dhpXmt +bGO3iWW1Z5Fk8tss4kYeUPmXPzeyeFD4M8D+HbDQtButK0zSLGPyre1guU2ovXu2SSSSSSSS +SSSTWr/wlmh/9BnT/wDwKT/GqlK81NdPu1Wrt5tt287bCiuVNf1ZbK/krLzseYftQat4w0Xw +Lo3/AAi1rfXMMur28Os3ml6OmrX1nY7XLzwWjKwlcOIx9x8BiQpxXzF4N8HeIfDfh7TPE8/h +jxdr2haT8WLjXJIbnwy9tqc9hNpxhN0NOSGNsedJkrHEP4jt6192f8JZof8A0GdP/wDApP8A +Gj/hLND/AOgzp/8A4FJ/jWcPck5LfT8HF29Lx/F+VqlaUVF7Wa+9SX32l+C87/O8OvNoP7Sq ++MLnwN4puPD3irwrpljps9v4duJmsrmK6uGaO6jVC1qQs6NmQKMA85GK8t8I2vxC8ZfHr4X6 +t4m03xTa+I9M8Q6nJqtj/wAIetno2mWz2t3GjQ6ikH79XJh+9O+4sDtBHH21/wAJZof/AEGd +P/8AApP8aP8AhLND/wCgzp//AIFJ/jTSSsu1/wAXf9bX7dgl7yl/eS/CPL+WvqfIPgDT7nwv ++z14w+GOp/DrxJF8SF0jXEutYi8PTTWuqXEiTuLhL5EKSNMGXC7t+WC7eK6K0+Gl/onjD4NX +2meFbmxZPh3qmmavPa6e0eyTyLIwwTlV4cuJNqtzkNgZzX05/wAJZof/AEGdP/8AApP8aP8A +hLND/wCgzp//AIFJ/jUSjzKSf2lb/wAlnHT5T28i1K04y7Nv73F/nE+SfhX8HJrO8/ZRub/w +RJDPpnhK8s9bkudJINpIbK32x3JZP3beYrAB8HO4DnNefn4UeMvD+g/DDU303xdo3hrw3rni +q3ltvD2gQ6hfaes9/IbO4SxuLebfEYlZQ0cZZVkUr8rHP3t/wlmh/wDQZ0//AMCk/wAaP+Es +0P8A6DOn/wDgUn+Na1JOc+fzb+9t/qzKEeSCh2t+Ca/r0PlPwV8HINE1f4CRaTp3ibWvDkOt +6/qd5J4m0UWstkbi2mP76BIY0t0aVjsUog+YADtWA3gXWvBGn6dqf/CFa1c+HvDPxg1PVDpO +m6TJNMumTQTxrNb2yruki8yfd+7U8EkA4NfZf/CWaH/0GdP/APApP8aP+Es0P/oM6f8A+BSf +40r2nzry/CUWv/SbejG1ePK+t/xUk/8A0psd4Y1eDX/D2n6jbWV3p1vcwrJHaX9q1rPEpHCv +E4DIw/ukAitSsn/hLND/AOgzp/8A4FJ/jR/wlmh/9BnT/wDwKT/Gh76AttTWorJ/4SzQ/wDo +M6f/AOBSf40f8JZof/QZ0/8A8Ck/xpDNaisn/hLND/6DOn/+BSf40f8ACWaH/wBBnT//AAKT +/GgDWorJ/wCEs0P/AKDOn/8AgUn+NH/CWaH/ANBnT/8AwKT/ABoA1qKyf+Es0P8A6DOn/wDg +Un+NH/CWaH/0GdP/APApP8aANaisn/hLND/6DOn/APgUn+NH/CWaH/0GdP8A/ApP8aANaisn +/hLND/6DOn/+BSf40f8ACWaH/wBBnT//AAKT/GgDWorJ/wCEs0P/AKDOn/8AgUn+NH/CWaH/ +ANBnT/8AwKT/ABoA1qKyf+Es0P8A6DOn/wDgUn+NH/CWaH/0GdP/APApP8aANaisn/hLND/6 +DOn/APgUn+NH/CWaH/0GdP8A/ApP8aANaisn/hLND/6DOn/+BSf40f8ACWaH/wBBnT//AAKT +/GgDWorJ/wCEs0P/AKDOn/8AgUn+NH/CWaH/ANBnT/8AwKT/ABoA1qKyf+Es0P8A6DOn/wDg +Un+NH/CWaH/0GdP/APApP8aANaisn/hLND/6DOn/APgUn+NH/CWaH/0GdP8A/ApP8aANaisn +/hLND/6DOn/+BSf40f8ACWaH/wBBnT//AAKT/GgDWorJ/wCEs0P/AKDOn/8AgUn+NH/CWaH/ +ANBnT/8AwKT/ABoA1qKyf+Es0P8A6DOn/wDgUn+NH/CWaH/0GdP/APApP8aANaisn/hLND/6 +DOn/APgUn+NH/CWaH/0GdP8A/ApP8aANaisn/hLND/6DOn/+BSf40f8ACWaH/wBBnT//AAKT +/GgDWorJ/wCEs0P/AKDOn/8AgUn+NH/CWaH/ANBnT/8AwKT/ABoA1qKyf+Es0P8A6DOn/wDg +Un+NH/CWaH/0GdP/APApP8aANaisn/hLND/6DOn/APgUn+NH/CWaH/0GdP8A/ApP8aANaisn +/hLND/6DOn/+BSf40f8ACWaH/wBBnT//AAKT/GgDWorJ/wCEs0P/AKDOn/8AgUn+NH/CWaH/ +ANBnT/8AwKT/ABoA1qKyf+Es0P8A6DOn/wDgUn+NH/CWaH/0GdP/APApP8aANaisn/hLND/6 +DOn/APgUn+NH/CWaH/0GdP8A/ApP8aANaisn/hLND/6DOn/+BSf40f8ACWaH/wBBnT//AAKT +/GgDWorJ/wCEs0P/AKDOn/8AgUn+NH/CWaH/ANBnT/8AwKT/ABoA1qKyf+Es0P8A6DOn/wDg +Un+NH/CWaH/0GdP/APApP8aANaisn/hLND/6DOn/APgUn+NH/CWaH/0GdP8A/ApP8aANaisn +/hLND/6DOn/+BSf40f8ACWaH/wBBnT//AAKT/GgDWorJ/wCEs0P/AKDOn/8AgUn+NH/CWaH/ +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 +f/8AgBP/APEUf2xD/wA+9/8A+AE//wARXSUUAc3/AGxD/wA+9/8A+AE//wARR/bEP/Pvf/8A +gBP/APEV0lFAHN/2xD/z73//AIAT/wDxFH9sQ/8APvf/APgBP/8AEV0lFAHN/wBsQ/8APvf/ +APgBP/8AEUf2xD/z73//AIAT/wDxFdJRQBzf9sQ/8+9//wCAE/8A8RR/bEP/AD73/wD4AT// +ABFdJRQBzf8AbEP/AD73/wD4AT//ABFH9sQ/8+9//wCAE/8A8RXSUUAc3/bEP/Pvf/8AgBP/ +APEUf2xD/wA+9/8A+AE//wARXSUUAc3/AGxD/wA+9/8A+AE//wARR/bEP/Pvf/8AgBP/APEV +0lFAHN/2xD/z73//AIAT/wDxFH9sQ/8APvf/APgBP/8AEV0lFAHN/wBsQ/8APvf/APgBP/8A +EUf2xD/z73//AIAT/wDxFdJRQBzf9sQ/8+9//wCAE/8A8RR/bEP/AD73/wD4AT//ABFdJRQB +zf8AbEP/AD73/wD4AT//ABFH9sQ/8+9//wCAE/8A8RXSUUAc3/bEP/Pvf/8AgBP/APEUf2xD +/wA+9/8A+AE//wARXSUUAc3/AGxD/wA+9/8A+AE//wARR/bEP/Pvf/8AgBP/APEV0lFAHN/2 +xD/z73//AIAT/wDxFH9sQ/8APvf/APgBP/8AEV0lFAHN/wBsQ/8APvf/APgBP/8AEUf2xD/z +73//AIAT/wDxFdJRQBzf9sQ/8+9//wCAE/8A8RR/bEP/AD73/wD4AT//ABFdJRQBzf8AbEP/ +AD73/wD4AT//ABFH9sQ/8+9//wCAE/8A8RXSUUAc3/bEP/Pvf/8AgBP/APEUf2xD/wA+9/8A ++AE//wARXSUUAc3/AGxD/wA+9/8A+AE//wARR/bEP/Pvf/8AgBP/APEV0lFAHN/2xD/z73// +AIAT/wDxFH9sQ/8APvf/APgBP/8AEV0lFAHN/wBsQ/8APvf/APgBP/8AEUf2xD/z73//AIAT +/wDxFdJRQBzf9sQ/8+9//wCAE/8A8RR/bEP/AD73/wD4AT//ABFdJRQBzf8AbEP/AD73/wD4 +AT//ABFH9sQ/8+9//wCAE/8A8RXSUUAc3/bEP/Pvf/8AgBP/APEUf2xD/wA+9/8A+AE//wAR +XSUUAc3/AGxD/wA+9/8A+AE//wARR/bEP/Pvf/8AgBP/APEV0lFAHN/2xD/z73//AIAT/wDx +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 +RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU +AFFFFABRRRQAUUUUAFFFFABRRRQBznw2/wCSdeFv+wVa/wDola6Oua+GUiTfDbwnJGyvG+k2 +jKynIIMKYINdLQAUUUUAFFFFABRRRQAUUUUAYnizwP4c8e2VvZ+JvD+l+IrO3nW6ht9Wso7q +OKZQQsirIpAcAnDDkZPrV3WND03xFpF1pWq6fa6npd3EYLixvIVlgmjIwUdGBVlI4wRir1FH +SwdbjIokt4kiiRY40UKqIMBQOgA7Cn0UUBtogooooAKKKKACiiigBCAwIIyD1BrkvC3wf8B+ +BtXuNW8N+CfDvh/VLkFZr7StJgtp5QTkhnRAxyfU111FGzug3VgooooAKKKKAILextrSW4lg +t4oZLh/MmeNApkbAXcxHU4AGT2AqeiigAooooAKKKKACiiigAooooAgtLG2sI3jtbeK2R3aV +lhQIGdjlmIHckkk9yanoooAKpa1omneJNJu9L1awtdU0y8jaG5sr2FZoZ4yMFHRgQykdQRir +tFAbaoZFElvEkUSLHGihVRBgKB0AHYU+iigNtEFFFFABRRRQAUUUUAUNe0DS/FOj3ek61ptp +q+lXkZiubG/gWeCdD1V0YFWHsRTtG0XTvDmlWumaTYWul6baxiK3s7KFYYYUHRURQAoHoBV2 +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooA4T4C2FxpfwM+HVldp5d1beHNOhmTcG2utrGGGRwe +QeRXd1znw2/5J14W/wCwVa/+iVro6qT5m2yYxUIqK6BRRRUlBRRRQAUUUUAFFFFABRRRQAUU +UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA +BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU +UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA +BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU +UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHNfDN1k+G/hR0YOj +aTaEMpyCPJTmulrivgjaTWHwY8A2twuy4g8P6fHIuQcMLaMEZHXkV2tXNKMmk7kwblFNqwUU +UVBQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU +AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR +RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU +AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR +RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU +AFFFFABRRRQBznw2/wCSdeFv+wVa/wDola6Oub+GjBvhz4VIIIOlWhBHf9ytdJQAUUUUAFFF +FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA +UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF +FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA +UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF +FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA +UUUUAcJ8BCT8C/h0Tyf+Ec07/wBJY67uuV+FNnFp3wu8HWsC7YINGs4o1znCrAgA/IV1VaVJ +Kc5SXVszpxcIKL6IKKKKzNAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo +oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo +oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo +oooAKKKKACiiigAooooAKKKKACiiigDnPht/yTrwt/2CrX/0StdHXOfDb/knXhb/ALBVr/6J +WujoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKAOc+G3/ACTrwt/2CrX/ANErXR1znw2/5J14W/7BVr/6JWujoAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKAOc+G3/JOvC3/YKtf/AEStdHXOfDb/AJJ14W/7BVr/AOiVro6ACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo +ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo +ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDnP +ht/yTrwt/wBgq1/9ErXR1znw2/5J14W/7BVr/wCiVro6ACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDnPht/yTrwt/2C +rX/0StdHXOfDb/knXhb/ALBVr/6JWujoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi +iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo +AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi +iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo +AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi +iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOc+G3/ACTrwt/2CrX/ANErXR1z +nw2/5J14W/7BVr/6JWujoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK +KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig +AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK +KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig +AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK +KKACiiigAooooAKKKKACiiigAooooAKKKKAOc+G3/JOvC3/YKtf/AEStdHXOfDb/AJJ14W/7 +BVr/AOiVro6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK +KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii +gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK +KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii +gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK +KKKACiiigAooooAKKKKACiiigDnPht/yTrwt/wBgq1/9ErXR1znw2/5J14W/7BVr/wCiVro6 +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo +oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo +oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo +oooAKKKKACiiigDnPht/yTrwt/2CrX/0StdHXOfDb/knXhb/ALBVr/6JWujoAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KAOc+G3/ACTrwt/2CrX/ANErXR1znw2/5J14W/7BVr/6JWujoAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOc+G3/JOv +C3/YKtf/AEStdHXOfDb/AJJ14W/7BVr/AOiVro6ACiiigAooooAKKKKACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo +ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo +ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDnPht/yTrwt/wBgq1/9 +ErXR1znw2/5J14W/7BVr/wCiVro6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDnPht/yTrwt/2CrX/0StdHXOfDb/kn +Xhb/ALBVr/6JWujoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi +iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo +AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi +iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo +AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi +iigAooooAKKKKACiiigAooooAKKKKAOc+G3/ACTrwt/2CrX/ANErXR1znw2/5J14W/7BVr/6 +JWujoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK +KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig +AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK +KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig +AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK +KKACiiigAooooAKKKKAOc+G3/JOvC3/YKtf/AEStdHXOfDb/AJJ14W/7BVr/AOiVro6ACiii +gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK +KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii +gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK +KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii +gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK +KKKACiiigDnPht/yTrwt/wBgq1/9ErXR1znw2/5J14W/7BVr/wCiVro6ACiiigAooooAKKKK +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo +oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo +oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDn +Pht/yTrwt/2CrX/0StdHXOfDb/knXhb/ALBVr/6JWujoAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOc+G3/ACTrwt/2 +CrX/ANErXR1znw2/5J14W/7BVr/6JWujoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOc+G3/JOvC3/YKtf/AEStdHXO +fDb/AJJ14W/7BVr/AOiVro6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo +ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo +ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigDnPht/yTrwt/wBgq1/9ErXR1znw2/5J14W/ +7BVr/wCiVro6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigDnPht/yTrwt/2CrX/0StdHXOfDb/knXhb/ALBVr/6JWuh3 +r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/ +Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/ +vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKb +vX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AO +opu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fn +QA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3 +h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3 +r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/ +Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/ +vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKb +vX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AO +opu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fn +QA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3 +h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3 +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 +--------------Q0wl9yuhuMswW8HomAAI95af +Content-Type: application/pgp-keys; name="OpenPGP_0xC32089CD6AF8D6CE.asc" +Content-Disposition: attachment; filename="OpenPGP_0xC32089CD6AF8D6CE.asc" +Content-Description: OpenPGP public key +Content-Transfer-Encoding: quoted-printable + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +xjMEYIucWBYJKwYBBAHaRw8BAQdAew+8mzMWyf3+Pfy49qa60uKV6e5os7de4TdZ +ceAWUq/NF2RlbmJvbmQ3QGZsb3djcnlwdC50ZXN0wngEExYKACAFAmCLnFgCGwMF +FgIDAQAECwkIBwUVCgkICwIeAQIZAQAKCRDDIInNavjWzm3JAQCgFgCEyD58iEa/ +Rw/DYNoQNoZC1lhw1bxBiOcIbtkdBgEAsDFZu3TBavOMKI7KW+vfMBHtRVbkMNpv +unaAldoabgPOOARgi5xYEgorBgEEAZdVAQUBAQdAB1/Mrq5JGYim4KqGTSK4OESQ +UwPgK56q0yrkiU9WgyYDAQgHwnUEGBYKAB0FAmCLnFgCGwwFFgIDAQAECwkIBwUV +CgkICwIeAQAKCRDDIInNavjWzjMgAQCU+R1fItqdY6lt9jXUqipmXuqVaEFPwNA8 +YJ1rIwDwVQEAyUc8162KWzA2iQB5akwLwNr/pLDDtOWwhLUkrBb3mAc=3D +=3DyJxA +-----END PGP PUBLIC KEY BLOCK----- + +--------------Q0wl9yuhuMswW8HomAAI95af-- + +--------------jTmWmaxlglctxEbGvmwkCZ4k-- + +--------------01PuQLLMlZcv9xhr9Cd7idcr +Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" +Content-Description: OpenPGP digital signature +Content-Disposition: attachment; filename="OpenPGP_signature" + +-----BEGIN PGP SIGNATURE----- + +wnsEABYIACMWIQTBZCjWAcs5N4nPYdTDIInNavjWzgUCYg4bjgUDAAAAAAAKCRDDIInNavjWzpSP +AQCfhHi0T27lsVrkkuSl7PXVzQN2jLqIKEucfNJZz9wC1gEAyI7EyYUma71KW2THD6dpfkezwe1U +AzYLR8yE1RptBgs= +=xjtm +-----END PGP SIGNATURE----- + +--------------01PuQLLMlZcv9xhr9Cd7idcr-- diff --git a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/base/BaseTest.kt b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/base/BaseTest.kt index ea0e0e3ffa..ff0bd54a46 100644 --- a/FlowCrypt/src/androidTest/java/com/flowcrypt/email/base/BaseTest.kt +++ b/FlowCrypt/src/androidTest/java/com/flowcrypt/email/base/BaseTest.kt @@ -30,6 +30,7 @@ import com.flowcrypt.email.api.email.model.AttachmentInfo import com.flowcrypt.email.api.email.model.IncomingMessageInfo import com.flowcrypt.email.database.FlowCryptRoomDatabase import com.flowcrypt.email.database.entity.AttachmentEntity +import com.flowcrypt.email.extensions.kotlin.toInputStream import com.flowcrypt.email.ui.activity.base.BaseActivity import com.flowcrypt.email.util.TestGeneralUtil import com.google.android.material.snackbar.Snackbar @@ -40,7 +41,7 @@ import org.hamcrest.Matchers.not import org.junit.After import org.junit.Before import java.io.InputStream -import java.util.* +import java.util.Properties import javax.mail.Session import javax.mail.internet.MimeMessage @@ -239,7 +240,8 @@ abstract class BaseTest : BaseActivityTestImplementation { fun getMsgInfo( path: String, mimeMsgPath: String, - vararg atts: AttachmentInfo? + vararg atts: AttachmentInfo?, + useCrLfForMime: Boolean = false, ): IncomingMessageInfo? { val incomingMsgInfo = TestGeneralUtil.getObjectFromJson(path, IncomingMessageInfo::class.java) incomingMsgInfo?.msgEntity?.let { @@ -254,7 +256,12 @@ abstract class BaseTest : BaseActivityTestImplementation { roomDatabase.attachmentDao().insert(attEntities) - addMsgToCache(uri.toString(), getContext().assets.open(mimeMsgPath)) + val assetsMimeMsgSource = String(getContext().assets.open(mimeMsgPath).readBytes()) + val finalMimeMsgSource = + //https://stackoverflow.com/questions/55475483/regex-to-find-and-fix-lf-lineendings-to-crlf + if (useCrLfForMime) assetsMimeMsgSource.replace("((?(DecryptError::class.java.classLoader), source.readParcelable(MsgBlockError::class.java.classLoader), + 1 == source.readInt() ) override fun describeContents(): Int { @@ -40,9 +40,9 @@ data class DecryptErrorMsgBlock( override fun writeToParcel(parcel: Parcel, flags: Int) { parcel.writeParcelable(type, flags) parcel.writeString(content) - parcel.writeByte(if (complete) 1 else 0) parcel.writeParcelable(decryptErr, flags) parcel.writeParcelable(error, flags) + parcel.writeInt(if (isOpenPGPMimeSigned) 1 else 0) } companion object CREATOR : Parcelable.Creator { diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/DecryptedAndOrSignedContentMsgBlock.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/DecryptedAndOrSignedContentMsgBlock.kt index 1917925ac7..b6dba159f6 100644 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/DecryptedAndOrSignedContentMsgBlock.kt +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/DecryptedAndOrSignedContentMsgBlock.kt @@ -18,14 +18,12 @@ import org.pgpainless.decryption_verification.OpenPgpMetadata */ data class DecryptedAndOrSignedContentMsgBlock( @Expose override val error: MsgBlockError? = null, - @Expose val blocks: List = listOf() + @Expose val blocks: List = listOf(), + @Expose override val isOpenPGPMimeSigned: Boolean ) : MsgBlock { @Expose override val content: String? = null - @Expose - override val complete: Boolean = true - @Expose override val type: MsgBlock.Type = MsgBlock.Type.DECRYPTED_AND_OR_SIGNED_CONTENT @@ -33,12 +31,14 @@ data class DecryptedAndOrSignedContentMsgBlock( constructor(parcel: Parcel) : this( parcel.readParcelable(MsgBlockError::class.java.classLoader), - mutableListOf().apply { parcel.readTypedList(this, GenericMsgBlock.CREATOR) } + mutableListOf().apply { parcel.readTypedList(this, GenericMsgBlock.CREATOR) }, + 1 == parcel.readInt() ) override fun writeToParcel(parcel: Parcel, flags: Int) { parcel.writeParcelable(error, flags) parcel.writeList(blocks) + parcel.writeInt(if (isOpenPGPMimeSigned) 1 else 0) } override fun describeContents(): Int { diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/DecryptedAttMsgBlock.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/DecryptedAttMsgBlock.kt index d2f96f1661..076817f0a5 100644 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/DecryptedAttMsgBlock.kt +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/DecryptedAttMsgBlock.kt @@ -8,10 +8,6 @@ package com.flowcrypt.email.api.retrofit.response.model import android.net.Uri import android.os.Parcel import android.os.Parcelable -import com.flowcrypt.email.Constants -import com.flowcrypt.email.api.email.EmailUtil -import com.flowcrypt.email.api.email.model.AttachmentInfo -import com.flowcrypt.email.util.FileAndDirectoryUtils import com.google.gson.annotations.Expose import com.google.gson.annotations.SerializedName @@ -23,10 +19,10 @@ import com.google.gson.annotations.SerializedName */ data class DecryptedAttMsgBlock( @Expose override val content: String?, - @Expose override val complete: Boolean, @Expose override val attMeta: AttMeta, @SerializedName("decryptErr") @Expose val decryptErr: DecryptError?, - @Expose override val error: MsgBlockError? = null + @Expose override val error: MsgBlockError? = null, + @Expose override val isOpenPGPMimeSigned: Boolean ) : AttMsgBlock { var fileUri: Uri? = null @@ -36,10 +32,10 @@ data class DecryptedAttMsgBlock( constructor(source: Parcel) : this( source.readString(), - 1 == source.readInt(), source.readParcelable(AttMeta::class.java.classLoader)!!, source.readParcelable(DecryptError::class.java.classLoader), - source.readParcelable(MsgBlockError::class.java.classLoader) + source.readParcelable(MsgBlockError::class.java.classLoader), + 1 == source.readInt() ) { fileUri = source.readParcelable(Uri::class.java.classLoader) } @@ -52,24 +48,13 @@ data class DecryptedAttMsgBlock( with(dest) { writeParcelable(type, flags) writeString(content) - writeInt((if (complete) 1 else 0)) writeParcelable(attMeta, flags) writeParcelable(decryptErr, flags) writeParcelable(error, flags) + writeInt(if (isOpenPGPMimeSigned) 1 else 0) writeParcelable(fileUri, flags) } - fun toAttachmentInfo(): AttachmentInfo { - return AttachmentInfo( - rawData = attMeta.data, - type = attMeta.type ?: Constants.MIME_TYPE_BINARY_DATA, - name = FileAndDirectoryUtils.normalizeFileName(attMeta.name), - encodedSize = attMeta.length, - id = EmailUtil.generateContentId(), - isDecrypted = true - ) - } - companion object CREATOR : Parcelable.Creator { override fun createFromParcel(parcel: Parcel): DecryptedAttMsgBlock { parcel.readParcelable(MsgBlock.Type::class.java.classLoader) diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/EncryptedAttLinkMsgBlock.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/EncryptedAttLinkMsgBlock.kt index f1d0d39ca0..047a133823 100644 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/EncryptedAttLinkMsgBlock.kt +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/EncryptedAttLinkMsgBlock.kt @@ -12,7 +12,8 @@ import com.google.gson.annotations.Expose data class EncryptedAttLinkMsgBlock( @Expose override val attMeta: AttMeta, - @Expose override val error: MsgBlockError? = null + @Expose override val error: MsgBlockError? = null, + @Expose override val isOpenPGPMimeSigned: Boolean ) : AttMsgBlock { @Expose @@ -21,17 +22,16 @@ data class EncryptedAttLinkMsgBlock( @Expose override val type: MsgBlock.Type = MsgBlock.Type.ENCRYPTED_ATT_LINK - @Expose - override val complete: Boolean = true - constructor(source: Parcel) : this( source.readParcelable(AttMeta::class.java.classLoader)!!, - source.readParcelable(MsgBlockError::class.java.classLoader) + source.readParcelable(MsgBlockError::class.java.classLoader), + 1 == source.readInt() ) override fun writeToParcel(parcel: Parcel, flags: Int) { parcel.writeParcelable(attMeta, flags) parcel.writeParcelable(error, flags) + parcel.writeInt(if (isOpenPGPMimeSigned) 1 else 0) } override fun describeContents(): Int { diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/EncryptedAttMsgBlock.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/EncryptedAttMsgBlock.kt index 467248e7fd..cf11dd73f6 100644 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/EncryptedAttMsgBlock.kt +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/EncryptedAttMsgBlock.kt @@ -14,21 +14,20 @@ import com.google.gson.annotations.Expose data class EncryptedAttMsgBlock( @Expose override val content: String?, @Expose override val attMeta: AttMeta, - @Expose override val error: MsgBlockError? = null + @Expose override val error: MsgBlockError? = null, + @Expose override val isOpenPGPMimeSigned: Boolean ) : AttMsgBlock { var fileUri: Uri? = null - @Expose - override val complete: Boolean = true - @Expose override val type: MsgBlock.Type = MsgBlock.Type.ENCRYPTED_ATT constructor(source: Parcel) : this( source.readString(), source.readParcelable(AttMeta::class.java.classLoader)!!, - source.readParcelable(MsgBlockError::class.java.classLoader) + source.readParcelable(MsgBlockError::class.java.classLoader), + 1 == source.readInt() ) { fileUri = source.readParcelable(Uri::class.java.classLoader) } @@ -43,6 +42,7 @@ data class EncryptedAttMsgBlock( writeString(content) writeParcelable(attMeta, flags) writeParcelable(error, flags) + writeInt(if (isOpenPGPMimeSigned) 1 else 0) writeParcelable(fileUri, flags) } diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/GenericMsgBlock.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/GenericMsgBlock.kt index d9cf292d44..656424e779 100644 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/GenericMsgBlock.kt +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/GenericMsgBlock.kt @@ -23,15 +23,15 @@ import com.google.gson.annotations.Expose data class GenericMsgBlock( @Expose override val type: MsgBlock.Type = MsgBlock.Type.UNKNOWN, @Expose override val content: String?, - @Expose override val complete: Boolean, - @Expose override val error: MsgBlockError? = null + @Expose override val error: MsgBlockError? = null, + @Expose override val isOpenPGPMimeSigned: Boolean ) : MsgBlock { constructor(type: MsgBlock.Type, source: Parcel) : this( type, source.readString(), - 1 == source.readInt(), - source.readParcelable(MsgBlockError::class.java.classLoader) + source.readParcelable(MsgBlockError::class.java.classLoader), + 1 == source.readInt() ) override fun describeContents() = 0 @@ -39,8 +39,8 @@ data class GenericMsgBlock( override fun writeToParcel(dest: Parcel, flags: Int) = with(dest) { writeParcelable(type, flags) writeString(content) - writeInt(if (complete) 1 else 0) writeParcelable(error, flags) + writeInt(if (isOpenPGPMimeSigned) 1 else 0) } companion object CREATOR : Parcelable.Creator { diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/LongIds.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/LongIds.kt deleted file mode 100644 index bd6f3d177d..0000000000 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/LongIds.kt +++ /dev/null @@ -1,52 +0,0 @@ -/* - * © 2016-present FlowCrypt a.s. Limitations apply. Contact human@flowcrypt.com - * Contributors: DenBond7 - */ - -package com.flowcrypt.email.api.retrofit.response.model - -import android.os.Parcel -import android.os.Parcelable - -import com.google.gson.annotations.Expose - -/** - * @author Denis Bondarenko - * Date: 1/18/19 - * Time: 10:05 AM - * E-mail: DenBond7@gmail.com - */ -data class LongIds constructor( - @Expose val message: List?, - @Expose val matching: List?, - @Expose val chosen: List?, - @Expose val needPassphrase: List? -) : Parcelable { - - constructor(source: Parcel) : this( - source.createStringArrayList(), - source.createStringArrayList(), - source.createStringArrayList(), - source.createStringArrayList() - ) - - override fun describeContents(): Int { - return 0 - } - - override fun writeToParcel(dest: Parcel, flags: Int) = - with(dest) { - writeStringList(message) - writeStringList(matching) - writeStringList(chosen) - writeStringList(needPassphrase) - } - - companion object { - @JvmField - val CREATOR: Parcelable.Creator = object : Parcelable.Creator { - override fun createFromParcel(source: Parcel): LongIds = LongIds(source) - override fun newArray(size: Int): Array = arrayOfNulls(size) - } - } -} diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/MsgBlock.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/MsgBlock.kt index dd9c3270c1..d84983b4d1 100644 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/MsgBlock.kt +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/MsgBlock.kt @@ -12,8 +12,8 @@ import com.google.gson.annotations.SerializedName interface MsgBlock : Parcelable { val type: Type val content: String? - val complete: Boolean val error: MsgBlockError? + val isOpenPGPMimeSigned: Boolean enum class Type : Parcelable { UNKNOWN, @@ -30,8 +30,8 @@ interface MsgBlock : Parcelable { @SerializedName("publicKey") PUBLIC_KEY, - @SerializedName("signedMsg") - SIGNED_MSG, + @SerializedName("signedContent") + SIGNED_CONTENT, @SerializedName("encryptedMsgLink") ENCRYPTED_MSG_LINK, @@ -69,12 +69,6 @@ interface MsgBlock : Parcelable { @SerializedName("signature") SIGNATURE, - @SerializedName("signedText") - SIGNED_TEXT, - - @SerializedName("signedHtml") - SIGNED_HTML, - @SerializedName("verifiedMsg") VERIFIED_MSG, @@ -100,16 +94,12 @@ interface MsgBlock : Parcelable { val KEY_BLOCK_TYPES = setOf(PUBLIC_KEY, PRIVATE_KEY) - val REPLACEABLE_BLOCK_TYPES = setOf( - PUBLIC_KEY, PRIVATE_KEY, SIGNED_MSG, ENCRYPTED_MSG, ENCRYPTED_MSG_LINK - ) - val WELL_KNOWN_BLOCK_TYPES = setOf( - PUBLIC_KEY, PRIVATE_KEY, SIGNED_MSG, ENCRYPTED_MSG + PUBLIC_KEY, PRIVATE_KEY, SIGNED_CONTENT, ENCRYPTED_MSG ) val SIGNED_BLOCK_TYPES = setOf( - SIGNED_TEXT, SIGNED_HTML, SIGNED_MSG, DECRYPTED_AND_OR_SIGNED_CONTENT + SIGNED_CONTENT, DECRYPTED_AND_OR_SIGNED_CONTENT ) val CONTENT_BLOCK_TYPES = setOf( @@ -117,7 +107,7 @@ interface MsgBlock : Parcelable { PLAIN_HTML, DECRYPTED_TEXT, DECRYPTED_HTML, - SIGNED_MSG, + SIGNED_CONTENT, VERIFIED_MSG, DECRYPTED_AND_OR_SIGNED_CONTENT ) diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/MsgBlockFactory.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/MsgBlockFactory.kt index 0f6b58ed0c..3f80eb1429 100644 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/MsgBlockFactory.kt +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/MsgBlockFactory.kt @@ -15,9 +15,7 @@ object MsgBlockFactory { MsgBlock.Type.PUBLIC_KEY, MsgBlock.Type.DECRYPT_ERROR, MsgBlock.Type.DECRYPTED_ATT, - MsgBlock.Type.ENCRYPTED_ATT, - MsgBlock.Type.SIGNED_HTML, - MsgBlock.Type.SIGNED_TEXT + MsgBlock.Type.ENCRYPTED_ATT ) fun fromParcel(type: MsgBlock.Type, source: Parcel): MsgBlock { @@ -26,9 +24,7 @@ object MsgBlockFactory { MsgBlock.Type.DECRYPT_ERROR -> DecryptErrorMsgBlock(source) MsgBlock.Type.DECRYPTED_ATT -> DecryptedAttMsgBlock(source) MsgBlock.Type.ENCRYPTED_ATT -> EncryptedAttMsgBlock(source) - MsgBlock.Type.SIGNED_TEXT, MsgBlock.Type.SIGNED_HTML, MsgBlock.Type.SIGNED_MSG -> { - SignedMsgBlock(source) - } + MsgBlock.Type.SIGNED_CONTENT -> SignedMsgBlock(source) else -> GenericMsgBlock(type, source) } } @@ -36,44 +32,58 @@ object MsgBlockFactory { fun fromContent( type: MsgBlock.Type, content: String?, - missingEnd: Boolean = false, - signature: String? = null + signature: String? = null, + isOpenPGPMimeSigned: Boolean ): MsgBlock { - val complete = !missingEnd return when (type) { - MsgBlock.Type.PUBLIC_KEY -> { - if (content.isNullOrEmpty()) { - PublicKeyMsgBlock(content, complete, null, MsgBlockError("empty source")) - } else { - try { - val keyDetails = PgpKey.parseKeys(content).pgpKeyDetailsList.firstOrNull() - PublicKeyMsgBlock(content, true, keyDetails) - } catch (e: Exception) { - e.printStackTrace() - PublicKeyMsgBlock( - content = content, - complete = false, - keyDetails = null, - error = MsgBlockError("[" + e.javaClass.simpleName + "]: " + e.message) - ) - } + MsgBlock.Type.PUBLIC_KEY -> if (content.isNullOrEmpty()) { + PublicKeyMsgBlock( + content = content, + keyDetails = null, + error = MsgBlockError("empty source"), + isOpenPGPMimeSigned = isOpenPGPMimeSigned + ) + } else { + try { + val keyDetails = PgpKey.parseKeys(content).pgpKeyDetailsList.firstOrNull() + PublicKeyMsgBlock( + content = content, + keyDetails = keyDetails, + isOpenPGPMimeSigned = isOpenPGPMimeSigned + ) + } catch (e: Exception) { + e.printStackTrace() + PublicKeyMsgBlock( + content = content, + keyDetails = null, + error = MsgBlockError("[" + e.javaClass.simpleName + "]: " + e.message), + isOpenPGPMimeSigned = isOpenPGPMimeSigned + ) } } - MsgBlock.Type.DECRYPT_ERROR -> DecryptErrorMsgBlock(content, complete, null) - MsgBlock.Type.SIGNED_MSG -> { - SignedMsgBlock(SignedMsgBlock.Type.SIGNED_MSG, content, complete, signature) - } - MsgBlock.Type.SIGNED_TEXT -> { - SignedMsgBlock(SignedMsgBlock.Type.SIGNED_TEXT, content, complete, signature) - } - MsgBlock.Type.SIGNED_HTML -> { - SignedMsgBlock(SignedMsgBlock.Type.SIGNED_HTML, content, complete, signature) - } - else -> GenericMsgBlock(type, content, complete) + MsgBlock.Type.DECRYPT_ERROR -> DecryptErrorMsgBlock( + content = content, + decryptErr = null, + isOpenPGPMimeSigned = isOpenPGPMimeSigned + ) + MsgBlock.Type.SIGNED_CONTENT -> SignedMsgBlock( + content = content, + signature = signature, + isOpenPGPMimeSigned = isOpenPGPMimeSigned + ) + else -> GenericMsgBlock( + type = type, + content = content, + isOpenPGPMimeSigned = isOpenPGPMimeSigned + ) } } - fun fromAttachment(type: MsgBlock.Type, attachment: MimePart): MsgBlock { + fun fromAttachment( + type: MsgBlock.Type, + attachment: MimePart, + isOpenPGPMimeSigned: Boolean + ): MsgBlock { try { val attContent = attachment.content val data = attachment.inputStream.readBytes() @@ -86,9 +96,22 @@ object MsgBlockFactory { ) val content = if (attContent is String) attachment.content as String else null return when (type) { - MsgBlock.Type.DECRYPTED_ATT -> DecryptedAttMsgBlock(null, true, attMeta, null) - MsgBlock.Type.ENCRYPTED_ATT -> EncryptedAttMsgBlock(content, attMeta) - MsgBlock.Type.PLAIN_ATT -> PlainAttMsgBlock(content, attMeta) + MsgBlock.Type.DECRYPTED_ATT -> DecryptedAttMsgBlock( + content = null, + attMeta = attMeta, + decryptErr = null, + isOpenPGPMimeSigned = isOpenPGPMimeSigned + ) + MsgBlock.Type.ENCRYPTED_ATT -> EncryptedAttMsgBlock( + content = content, + attMeta = attMeta, + isOpenPGPMimeSigned = isOpenPGPMimeSigned + ) + MsgBlock.Type.PLAIN_ATT -> PlainAttMsgBlock( + content = content, + attMeta = attMeta, + isOpenPGPMimeSigned = isOpenPGPMimeSigned + ) else -> throw IllegalArgumentException("Can't create block of type ${type.name} from attachment") } @@ -97,8 +120,8 @@ object MsgBlockFactory { return GenericMsgBlock( type = type, content = null, - complete = false, - error = MsgBlockError("[" + e.javaClass.simpleName + "]: " + e.message) + error = MsgBlockError("[" + e.javaClass.simpleName + "]: " + e.message), + isOpenPGPMimeSigned = isOpenPGPMimeSigned ) } } diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/PlainAttMsgBlock.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/PlainAttMsgBlock.kt index 5a62b00e12..39718e1808 100644 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/PlainAttMsgBlock.kt +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/PlainAttMsgBlock.kt @@ -14,21 +14,20 @@ import com.google.gson.annotations.Expose data class PlainAttMsgBlock( @Expose override val content: String?, @Expose override val attMeta: AttMeta, - @Expose override val error: MsgBlockError? = null + @Expose override val error: MsgBlockError? = null, + @Expose override val isOpenPGPMimeSigned: Boolean ) : AttMsgBlock { var fileUri: Uri? = null - @Expose - override val complete: Boolean = true - @Expose override val type: MsgBlock.Type = MsgBlock.Type.PLAIN_ATT constructor(source: Parcel) : this( source.readString(), source.readParcelable(AttMeta::class.java.classLoader)!!, - source.readParcelable(MsgBlockError::class.java.classLoader) + source.readParcelable(MsgBlockError::class.java.classLoader), + 1 == source.readInt() ) { fileUri = source.readParcelable(Uri::class.java.classLoader) } @@ -43,6 +42,7 @@ data class PlainAttMsgBlock( writeString(content) writeParcelable(attMeta, flags) writeParcelable(error, flags) + writeInt(if (isOpenPGPMimeSigned) 1 else 0) writeParcelable(fileUri, flags) } diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/PublicKeyMsgBlock.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/PublicKeyMsgBlock.kt index ca2c8d054c..6d8a269d3c 100644 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/PublicKeyMsgBlock.kt +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/PublicKeyMsgBlock.kt @@ -23,9 +23,9 @@ import com.google.gson.annotations.Expose */ data class PublicKeyMsgBlock constructor( @Expose override val content: String?, - @Expose override val complete: Boolean, - @Expose val keyDetails: PgpKeyDetails?, - @Expose override val error: MsgBlockError? = null + @Expose val keyDetails: PgpKeyDetails? = null, + @Expose override val error: MsgBlockError? = null, + @Expose override val isOpenPGPMimeSigned: Boolean ) : MsgBlock { @Expose override val type: MsgBlock.Type = MsgBlock.Type.PUBLIC_KEY @@ -34,9 +34,9 @@ data class PublicKeyMsgBlock constructor( constructor(parcel: Parcel) : this( parcel.readString(), - parcel.readByte() != 0.toByte(), parcel.readParcelable(PgpKeyDetails::class.java.classLoader), parcel.readParcelable(MsgBlockError::class.java.classLoader), + 1 == parcel.readInt() ) { existingRecipientWithPubKeys = parcel.readParcelable(RecipientWithPubKeys::class.java.classLoader) @@ -46,9 +46,9 @@ data class PublicKeyMsgBlock constructor( with(parcel) { writeParcelable(type, flags) writeString(content) - writeInt((if (complete) 1 else 0)) writeParcelable(keyDetails, flags) writeParcelable(error, flags) + writeInt(if (isOpenPGPMimeSigned) 1 else 0) writeParcelable(existingRecipientWithPubKeys, flags) } diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/SignedMsgBlock.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/SignedMsgBlock.kt index b1899953d0..75bad449af 100644 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/SignedMsgBlock.kt +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/SignedMsgBlock.kt @@ -15,62 +15,32 @@ import org.pgpainless.decryption_verification.OpenPgpMetadata * Message block which represents content with a signature. */ data class SignedMsgBlock( - @Expose val signedType: Type, @Expose override val content: String?, - @Expose override val complete: Boolean, - @Expose val signature: String?, - @Expose override val error: MsgBlockError? = null + @Expose val signature: String? = null, + @Expose override val error: MsgBlockError? = null, + @Expose override val isOpenPGPMimeSigned: Boolean ) : MsgBlock { var openPgpMetadata: OpenPgpMetadata? = null @Expose - override val type: MsgBlock.Type = when (signedType) { - Type.SIGNED_MSG -> MsgBlock.Type.SIGNED_MSG - Type.SIGNED_TEXT -> MsgBlock.Type.SIGNED_TEXT - Type.SIGNED_HTML -> MsgBlock.Type.SIGNED_HTML - } + override val type: MsgBlock.Type = MsgBlock.Type.SIGNED_CONTENT constructor(source: Parcel) : this( - source.readParcelable(Type::class.java.classLoader) - ?: throw IllegalArgumentException("Undefined type"), source.readString(), - 1 == source.readInt(), source.readString(), - source.readParcelable(MsgBlockError::class.java.classLoader) + source.readParcelable(MsgBlockError::class.java.classLoader), + 1 == source.readInt() ) override fun describeContents() = 0 override fun writeToParcel(dest: Parcel, flags: Int) = with(dest) { writeParcelable(type, flags) - writeParcelable(signedType, flags) writeString(content) - writeInt(if (complete) 1 else 0) writeString(signature) writeParcelable(error, flags) - } - - enum class Type : Parcelable { - SIGNED_MSG, - SIGNED_TEXT, - SIGNED_HTML; - - override fun describeContents(): Int { - return 0 - } - - override fun writeToParcel(dest: Parcel, flags: Int) { - dest.writeInt(ordinal) - } - - companion object { - @JvmField - val CREATOR: Parcelable.Creator = object : Parcelable.Creator { - override fun createFromParcel(source: Parcel): Type = values()[source.readInt()] - override fun newArray(size: Int): Array = arrayOfNulls(size) - } - } + writeInt(if (isOpenPGPMimeSigned) 1 else 0) } companion object CREATOR : Parcelable.Creator { diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/VerificationResult.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/VerificationResult.kt index 2b23177036..99cd3596b4 100644 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/VerificationResult.kt +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/api/retrofit/response/model/VerificationResult.kt @@ -16,8 +16,8 @@ import com.google.gson.annotations.Expose * E-mail: DenBond7@gmail.com */ data class VerificationResult( - @Expose val isEncrypted: Boolean, - @Expose val isSigned: Boolean, + @Expose val hasEncryptedParts: Boolean, + @Expose val hasSignedParts: Boolean, @Expose val hasMixedSignatures: Boolean, @Expose val isPartialSigned: Boolean, @Expose val hasUnverifiedSignatures: Boolean, @@ -33,8 +33,8 @@ data class VerificationResult( ) override fun writeToParcel(parcel: Parcel, flags: Int) { - parcel.writeByte(if (isEncrypted) 1 else 0) - parcel.writeByte(if (isSigned) 1 else 0) + parcel.writeByte(if (hasEncryptedParts) 1 else 0) + parcel.writeByte(if (hasSignedParts) 1 else 0) parcel.writeByte(if (hasMixedSignatures) 1 else 0) parcel.writeByte(if (isPartialSigned) 1 else 0) parcel.writeByte(if (hasUnverifiedSignatures) 1 else 0) diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/core/msg/MsgBlockParser.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/core/msg/MsgBlockParser.kt deleted file mode 100644 index fa38d4a6a9..0000000000 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/core/msg/MsgBlockParser.kt +++ /dev/null @@ -1,157 +0,0 @@ -/* - * © 2016-present FlowCrypt a.s. Limitations apply. Contact human@flowcrypt.com - * Contributors: - * Ivan Pizhenko - */ - -package com.flowcrypt.email.core.msg - -import com.flowcrypt.email.api.retrofit.response.model.MsgBlock -import com.flowcrypt.email.api.retrofit.response.model.MsgBlockFactory -import com.flowcrypt.email.extensions.kotlin.normalize -import com.flowcrypt.email.extensions.kotlin.toEscapedHtml -import com.flowcrypt.email.security.pgp.PgpArmor -import com.flowcrypt.email.security.pgp.PgpMsg -import java.util.Properties -import javax.mail.Session -import javax.mail.internet.MimeMessage - -object MsgBlockParser { - private const val ARMOR_HEADER_MAX_LENGTH = 50 - - fun detectBlocks(text: String): NormalizedTextAndBlocks { - val normalized = text.normalize() - val blocks = mutableListOf() - var startAt = 0 - while (true) { - val continueAt = detectNextBlock(normalized, startAt, blocks) - if (startAt >= continueAt) return NormalizedTextAndBlocks(normalized, blocks) - startAt = continueAt - } - } - - fun fmtDecryptedAsSanitizedHtmlBlocks(decryptedContent: ByteArray?): SanitizedBlocks { - if (decryptedContent == null) return SanitizedBlocks(emptyList(), false) - val blocks = mutableListOf() - if (MimeUtils.resemblesMsg(decryptedContent)) { - val decoded = PgpMsg.extractMimeContent( - MimeMessage(Session.getInstance(Properties()), decryptedContent.inputStream()) - ) - var isRichText = false - when { - decoded.html != null -> { - // sanitized html - val sanitizedHtml = PgpMsg.sanitizeHtmlKeepBasicTags(decoded.html) - blocks.add(MsgBlockFactory.fromContent(MsgBlock.Type.DECRYPTED_HTML, sanitizedHtml)) - isRichText = true - } - decoded.text != null -> { - // escaped text as html - val html = decoded.text.toEscapedHtml() - blocks.add(MsgBlockFactory.fromContent(MsgBlock.Type.DECRYPTED_HTML, html)) - } - else -> { - // escaped mime text as html - val html = String(decryptedContent).toEscapedHtml() - blocks.add(MsgBlockFactory.fromContent(MsgBlock.Type.DECRYPTED_HTML, html)) - } - } - - for (attachment in decoded.attachments) { - val treatAs = PgpMsg.treatAs(attachment) - val attMsgBlock = if (treatAs == PgpMsg.TreatAs.PUBLIC_KEY) { - val content = String(attachment.inputStream.readBytes()) - MsgBlockFactory.fromContent(MsgBlock.Type.PUBLIC_KEY, content) - } else { - MsgBlockFactory.fromAttachment(MsgBlock.Type.DECRYPTED_ATT, attachment) - } - blocks.add(attMsgBlock) - } - - return SanitizedBlocks(blocks, isRichText) - } else { - val armoredKeys = mutableListOf() - val content = PgpMsg.stripPublicKeys( - PgpMsg.stripFcReplyToken(PgpMsg.extractFcAttachments(String(decryptedContent), blocks)), - armoredKeys - ).toEscapedHtml() - blocks.add(MsgBlockFactory.fromContent(MsgBlock.Type.DECRYPTED_HTML, content)) - for (armoredKey in armoredKeys) { - blocks.add(MsgBlockFactory.fromContent(MsgBlock.Type.PUBLIC_KEY, armoredKey)) - } - return SanitizedBlocks(blocks, false) - } - } - - private fun detectNextBlock(text: String, startAt: Int, blocks: MutableList): Int { - val initialBlockCount = blocks.size - var continueAt = -1 - val beginIndex = text.indexOf( - PgpArmor.ARMOR_HEADER_DICT[MsgBlock.Type.UNKNOWN]!!.begin, startAt - ) - if (beginIndex != -1) { // found - val endIndex = (beginIndex + ARMOR_HEADER_MAX_LENGTH).coerceAtMost(text.length) - val potentialHeaderBegin = text.substring(beginIndex, endIndex) - for (blockHeaderKvp in PgpArmor.ARMOR_HEADER_DICT) { - val blockHeaderDef = blockHeaderKvp.value - if (!blockHeaderDef.replace || potentialHeaderBegin.indexOf(blockHeaderDef.begin) != 0) { - continue - } - - if (beginIndex > startAt) { - // only replace blocks if they begin on their own line - // contains deliberate block: `-----BEGIN PGP PUBLIC KEY BLOCK-----\n...` - // contains deliberate block: `Hello\n-----BEGIN PGP PUBLIC KEY BLOCK-----\n...` - // just plaintext (accidental block): `Hello -----BEGIN PGP PUBLIC KEY BLOCK-----\n...` - // block treated as plaintext, not on dedicated line - considered accidental - // this will actually cause potential deliberate blocks - // that follow accidental block to be ignored - // but if the message already contains accidental - // (not on dedicated line) blocks, it's probably a good thing to ignore the rest - var textBeforeBlock = text.substring(startAt, beginIndex) - if (!textBeforeBlock.endsWith('\n')) continue - textBeforeBlock = textBeforeBlock.trim() - if (textBeforeBlock.isNotEmpty()) { - blocks.add(MsgBlockFactory.fromContent(MsgBlock.Type.PLAIN_TEXT, textBeforeBlock)) - } - } - - val end = blockHeaderDef.end - val endHeaderIndex = text.indexOf(end, beginIndex + blockHeaderDef.begin.length) - val endHeaderLength = if (endHeaderIndex == -1) 0 else end.length - - if (endHeaderIndex != -1) { - // identified end of the same block - continueAt = endHeaderIndex + endHeaderLength - val content = text.substring(beginIndex, continueAt).trim() - blocks.add(MsgBlockFactory.fromContent(blockHeaderKvp.key, content)) - } else { - // corresponding end not found - val content = text.substring(beginIndex) - blocks.add(MsgBlockFactory.fromContent(blockHeaderKvp.key, content, true)) - } - break - } - } - - if (text.isNotEmpty() && blocks.size == initialBlockCount) { - // didn't find any blocks, but input is non-empty - val remainingText = text.substring(startAt).trim() - if (remainingText.isNotEmpty()) { - blocks.add(MsgBlockFactory.fromContent(MsgBlock.Type.PLAIN_TEXT, remainingText)) - } - } - - return continueAt - } - - data class NormalizedTextAndBlocks( - val normalized: String, - val blocks: List - ) - - data class SanitizedBlocks( - val blocks: List, - val isRichText: Boolean - ) -} diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/core/msg/RawBlockParser.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/core/msg/RawBlockParser.kt new file mode 100644 index 0000000000..e6bb484c28 --- /dev/null +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/core/msg/RawBlockParser.kt @@ -0,0 +1,322 @@ +/* + * © 2016-present FlowCrypt a.s. Limitations apply. Contact human@flowcrypt.com + * Contributors: + * Ivan Pizhenko + */ + +package com.flowcrypt.email.core.msg + +import com.flowcrypt.email.core.msg.RawBlockParser.RawBlock +import com.flowcrypt.email.extensions.java.io.readText +import com.flowcrypt.email.extensions.javax.mail.baseContentType +import com.flowcrypt.email.extensions.javax.mail.isInline +import com.flowcrypt.email.extensions.kotlin.normalize +import com.flowcrypt.email.security.pgp.PgpArmor +import java.io.InputStream +import java.nio.charset.StandardCharsets +import javax.mail.Part +import javax.mail.internet.MimePart + +/** + * This class is responsible for analyzing input source and extract [RawBlock] that can contain + * some useful data like PGP message, plain text and etc. + */ +object RawBlockParser { + val ENCRYPTED_FILE_REGEX = Regex( + pattern = "(\\.pgp\$)|(\\.gpg\$)|(\\.[a-zA-Z0-9]{3,4}\\.asc\$)", + option = RegexOption.IGNORE_CASE + ) + + val REPLACEABLE_BLOCK_TYPES = setOf( + RawBlockType.PGP_PUBLIC_KEY, + RawBlockType.PGP_PRIVATE_KEY, + RawBlockType.PGP_CLEARSIGN_MSG, + RawBlockType.PGP_MSG + ) + + private const val ARMOR_HEADER_MAX_LENGTH = 50 + private val PRIVATE_KEY_REGEX = Regex( + pattern = "(cryptup|flowcrypt)-backup-[a-z0-9]+\\.(key|asc)\$", + option = RegexOption.IGNORE_CASE + ) + private val PUBLIC_KEY_REGEX_1 = Regex( + pattern = "^(0|0x)?[A-F0-9]{8}([A-F0-9]{8})?.*\\.asc\$", + option = RegexOption.IGNORE_CASE + ) + private val PUBLIC_KEY_REGEX_2 = Regex( + pattern = "[A-F0-9]{8}.*\\.asc\$", + option = RegexOption.IGNORE_CASE + ) + private val HIDDEN_FILE_NAMES = setOf( + "PGPexch.htm.pgp", + "PGPMIME version identification", + "Version.txt", + "PGPMIME Versions Identification" + ) + private val ENCRYPTED_MSG_NAMES = setOf( + "message", + "msg.asc", + "message.asc", + "encrypted.asc", + "encrypted.eml.pgp", + "Message.pgp", + "openpgp-encrypted-message.asc" + ) + + fun detectBlocks(part: Part, isOpenPGPMimeSigned: Boolean = false): Collection { + val mimePart = (part as? MimePart) ?: return emptyList() + return if (Part.ATTACHMENT.equals(mimePart.disposition, ignoreCase = true)) { + when (treatAs(part)) { + TreatAs.HIDDEN -> { + // ignore + emptyList() + } + + TreatAs.PGP_MSG -> { + listOf(RawBlock(RawBlockType.PGP_MSG, part.inputStream.readBytes(), isOpenPGPMimeSigned)) + } + + TreatAs.PUBLIC_KEY -> { + listOf( + RawBlock( + RawBlockType.PGP_PUBLIC_KEY, + part.inputStream.readBytes(), + isOpenPGPMimeSigned + ) + ) + } + + TreatAs.PRIVATE_KEY -> { + listOf( + RawBlock( + RawBlockType.PGP_PRIVATE_KEY, + part.inputStream.readBytes(), + isOpenPGPMimeSigned + ) + ) + } + + else -> listOf( + RawBlock( + RawBlockType.ATTACHMENT, + part.inputStream.readBytes(), + isOpenPGPMimeSigned + ) + ) + } + } else when { + "text/rfc822-headers" == part.baseContentType() || + ("application/pgp-encrypted" == part.baseContentType() && part.description == "PGP/MIME version identification") + -> { + emptyList() //we skip this type of content + } + + "text/html" == part.baseContentType() -> listOf( + RawBlock( + RawBlockType.HTML_TEXT, + part.inputStream.readBytes(), + isOpenPGPMimeSigned + ) + ) + else -> detectBlocks(part.inputStream.readText()).map { + it.copy(isOpenPGPMimeSigned = isOpenPGPMimeSigned) + } + } + } + + fun detectBlocks(source: String): Collection { + val normalized = source.normalize() + val blocks = mutableListOf() + var startAt = 0 + while (true) { + val continueAt = detectNextBlock(normalized, startAt, blocks) + if (startAt >= continueAt) return blocks + startAt = continueAt + } + } + + private fun treatAs(mimePart: MimePart): TreatAs { + val name = mimePart.fileName?.lowercase() ?: "" + val baseContentType = mimePart.baseContentType() + val length = mimePart.size + when { + name in HIDDEN_FILE_NAMES -> { + // PGPexch.htm.pgp is html alternative of textual body content produced + // by the PGP Desktop and GPG4o + return TreatAs.HIDDEN + } + + "" == name && baseContentType?.startsWith("image/") != true -> { + return if (length < 100) TreatAs.SIGNATURE else TreatAs.PGP_MSG + } + + "signature.asc" == name || "application/pgp-signature" == baseContentType -> { + return TreatAs.SIGNATURE + } + + "msg.asc" == name && length < 100 && "application/pgp-encrypted" == baseContentType -> { + // mail.ch does this - although it looks like encrypted msg, + // it will just contain PGP version eg "Version: 1" + return TreatAs.SIGNATURE + } + + "Message.pgp" == mimePart.fileName || name in ENCRYPTED_MSG_NAMES -> { + return TreatAs.PGP_MSG + } + + ENCRYPTED_FILE_REGEX.containsMatchIn(name) -> { + // ends with one of .gpg, .pgp, .???.asc, .????.asc + return TreatAs.ENCRYPTED_FILE + } + + PRIVATE_KEY_REGEX.containsMatchIn(name) -> { + return TreatAs.PRIVATE_KEY + } + + "application/pgp-keys" == baseContentType -> { + return TreatAs.PUBLIC_KEY + } + + PUBLIC_KEY_REGEX_1.containsMatchIn(name) -> { + // name starts with a key id + return TreatAs.PUBLIC_KEY + } + + name.contains("public") && PUBLIC_KEY_REGEX_2.containsMatchIn(name) -> { + // name contains the word "public", any key id and ends with .asc + return TreatAs.PUBLIC_KEY + } + + name.endsWith(".asc") && length > 0 && checkForPublicKeyBlock(mimePart.inputStream) -> { + return TreatAs.PUBLIC_KEY + } + + name.endsWith(".asc") && length < 100000 && !mimePart.isInline() -> { + return TreatAs.PGP_MSG + } + + else -> { + return TreatAs.PLAIN_FILE + } + } + } + + private fun checkForPublicKeyBlock(stream: InputStream): Boolean { + val a = ByteArray(100) + val r = stream.read(a) + if (r < 1) return false + val s = String(if (r == a.size) a else a.copyOf(r), StandardCharsets.US_ASCII) + return s.contains("-----BEGIN PGP PUBLIC KEY BLOCK-----") + } + + private fun detectNextBlock(text: String, startAt: Int, blocks: MutableList): Int { + val initialBlockCount = blocks.size + var continueAt = -1 + val beginIndex = text.indexOf( + PgpArmor.ARMOR_HEADER_DICT.getValue(RawBlockType.UNKNOWN).begin, startAt + ) + if (beginIndex != -1) { // found + val endIndex = (beginIndex + ARMOR_HEADER_MAX_LENGTH).coerceAtMost(text.length) + val potentialHeaderBegin = text.substring(beginIndex, endIndex) + for (blockHeaderKvp in PgpArmor.ARMOR_HEADER_DICT) { + val blockHeaderDef = blockHeaderKvp.value + if (!blockHeaderDef.replace || potentialHeaderBegin.indexOf(blockHeaderDef.begin) != 0) { + continue + } + + if (beginIndex > startAt) { + // only replace blocks if they begin on their own line + // contains deliberate block: `-----BEGIN PGP PUBLIC KEY BLOCK-----\n...` + // contains deliberate block: `Hello\n-----BEGIN PGP PUBLIC KEY BLOCK-----\n...` + // just plaintext (accidental block): `Hello -----BEGIN PGP PUBLIC KEY BLOCK-----\n...` + // block treated as plaintext, not on dedicated line - considered accidental + // this will actually cause potential deliberate blocks + // that follow accidental block to be ignored + // but if the message already contains accidental + // (not on dedicated line) blocks, it's probably a good thing to ignore the rest + var textBeforeBlock = text.substring(startAt, beginIndex) + if (!textBeforeBlock.endsWith('\n')) continue + textBeforeBlock = textBeforeBlock.trim() + if (textBeforeBlock.isNotEmpty()) { + blocks.add(RawBlock(RawBlockType.PLAIN_TEXT, textBeforeBlock.toByteArray())) + } + } + + val end = blockHeaderDef.end + val endHeaderIndex = text.indexOf(end, beginIndex + blockHeaderDef.begin.length) + val endHeaderLength = if (endHeaderIndex == -1) 0 else end.length + + if (endHeaderIndex != -1) { + // identified end of the same block + continueAt = endHeaderIndex + endHeaderLength + val content = text.substring(beginIndex, continueAt).trim() + blocks.add(RawBlock(blockHeaderKvp.key, content.toByteArray())) + } else { + // corresponding end not found + val content = text.substring(beginIndex) + blocks.add(RawBlock(blockHeaderKvp.key, content.toByteArray())) + } + break + } + } + + if (text.isNotEmpty() && blocks.size == initialBlockCount) { + // didn't find any blocks, but input is non-empty + val remainingText = text.substring(startAt).trim() + if (remainingText.isNotEmpty()) { + blocks.add(RawBlock(RawBlockType.PLAIN_TEXT, remainingText.toByteArray())) + } + } + + return continueAt + } + + data class RawBlock( + val type: RawBlockType, + val content: ByteArray, + val isOpenPGPMimeSigned: Boolean = false + ) { + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (javaClass != other?.javaClass) return false + + other as RawBlock + + if (type != other.type) return false + if (!content.contentEquals(other.content)) return false + if (isOpenPGPMimeSigned != other.isOpenPGPMimeSigned) return false + + return true + } + + override fun hashCode(): Int { + var result = type.hashCode() + result = 31 * result + content.contentHashCode() + result = 31 * result + isOpenPGPMimeSigned.hashCode() + return result + } + } + + enum class RawBlockType { + UNKNOWN, + HTML_TEXT, + PLAIN_TEXT, + ATTACHMENT, + PGP_MSG, + PGP_PUBLIC_KEY, + PGP_CLEARSIGN_MSG, + PGP_PRIVATE_KEY, + CERTIFICATE, + SIGNATURE; + } + + enum class TreatAs { + HIDDEN, + PGP_MSG, + SIGNATURE, + PUBLIC_KEY, + PRIVATE_KEY, + ENCRYPTED_FILE, + PLAIN_FILE + } +} diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/extensions/javax/mail/PartExt.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/extensions/javax/mail/PartExt.kt index 95f5c56d24..8ed8d11fbd 100644 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/extensions/javax/mail/PartExt.kt +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/extensions/javax/mail/PartExt.kt @@ -6,8 +6,40 @@ package com.flowcrypt.email.extensions.javax.mail +import com.flowcrypt.email.api.email.JavaEmailConstants import javax.mail.Part +import javax.mail.internet.ContentType fun Part.isInline(): Boolean { return (this.disposition?.lowercase() ?: "") == Part.INLINE } + +fun Part.isMultipart(): Boolean { + return isMimeType(JavaEmailConstants.MIME_TYPE_MULTIPART) +} + +fun Part.isMultipartAlternative(): Boolean { + return isMimeType(JavaEmailConstants.MIME_TYPE_MULTIPART_ALTERNATIVE) +} + +fun Part.isHtmlText(): Boolean { + return isMimeType(JavaEmailConstants.MIME_TYPE_TEXT_HTML) +} + +fun Part.baseContentType(): String? { + return try { + ContentType(contentType).baseType + } catch (e: Exception) { + null + } +} + +fun Part.isOpenPGPMimeSigned(): Boolean { + val type = try { + ContentType(contentType) + } catch (e: Exception) { + null + } + return isMimeType("multipart/signed") && type?.getParameter("protocol") + ?.lowercase() == "application/pgp-signature" +} diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/jetpack/viewmodel/MsgDetailsViewModel.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/jetpack/viewmodel/MsgDetailsViewModel.kt index 6bb902d1d8..94973550c5 100644 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/jetpack/viewmodel/MsgDetailsViewModel.kt +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/jetpack/viewmodel/MsgDetailsViewModel.kt @@ -36,6 +36,7 @@ import com.flowcrypt.email.database.MessageState import com.flowcrypt.email.database.entity.AccountEntity import com.flowcrypt.email.database.entity.AttachmentEntity import com.flowcrypt.email.database.entity.MessageEntity +import com.flowcrypt.email.extensions.javax.mail.isOpenPGPMimeSigned import com.flowcrypt.email.extensions.uid import com.flowcrypt.email.jetpack.workmanager.sync.UpdateMsgsSeenStateWorker import com.flowcrypt.email.model.MessageEncryptionType @@ -59,7 +60,8 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import java.io.BufferedInputStream import java.io.InputStream -import java.util.* +import java.util.Collections +import java.util.LinkedList import javax.mail.BodyPart import javax.mail.FetchProfile import javax.mail.Folder @@ -211,7 +213,7 @@ class MsgDetailsViewModel( text = processedMimeMessageResult.text, //subject = parseDecryptedMsgResult.subject, msgBlocks = processedMimeMessageResult.blocks, - encryptionType = if (processedMimeMessageResult.verificationResult.isEncrypted) { + encryptionType = if (processedMimeMessageResult.verificationResult.hasEncryptedParts) { MessageEncryptionType.ENCRYPTED } else { MessageEncryptionType.STANDARD @@ -521,7 +523,7 @@ class MsgDetailsViewModel( msgSize = originalMsg.size - if (originalMsg.isMimeType(JavaEmailConstants.MIME_TYPE_MULTIPART)) { + if (originalMsg.isMimeType(JavaEmailConstants.MIME_TYPE_MULTIPART) && !originalMsg.isOpenPGPMimeSigned()) { val rawHeaders = TextUtils.join("\n", Collections.list(originalMsg.allHeaderLines)) if (rawHeaders.isNotEmpty()) downloadedMsgSize += rawHeaders.length val customMsg = CustomMimeMessage(connection.session, rawHeaders) diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/security/SecurityUtils.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/security/SecurityUtils.kt index 5004c19d22..9b6dea5117 100644 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/security/SecurityUtils.kt +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/security/SecurityUtils.kt @@ -9,12 +9,12 @@ package com.flowcrypt.email.security import android.content.Context import com.flowcrypt.email.R +import com.flowcrypt.email.core.msg.RawBlockParser import com.flowcrypt.email.database.FlowCryptRoomDatabase import com.flowcrypt.email.database.entity.AccountEntity import com.flowcrypt.email.extensions.org.bouncycastle.openpgp.toPgpKeyDetails import com.flowcrypt.email.security.model.PgpKeyDetails import com.flowcrypt.email.security.pgp.PgpKey -import com.flowcrypt.email.security.pgp.PgpMsg import com.flowcrypt.email.security.pgp.PgpPwd import com.flowcrypt.email.util.exception.DifferentPassPhrasesException import com.flowcrypt.email.util.exception.EmptyPassphraseException @@ -181,7 +181,7 @@ class SecurityUtils { * If yes - it can mean the file is encrypted */ fun isPossiblyEncryptedData(fileName: String?): Boolean { - return PgpMsg.ENCRYPTED_FILE_REGEX.containsMatchIn(fileName ?: "") + return RawBlockParser.ENCRYPTED_FILE_REGEX.containsMatchIn(fileName ?: "") } } } diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/security/pgp/PgpArmor.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/security/pgp/PgpArmor.kt index 9445797714..4378d8349b 100644 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/security/pgp/PgpArmor.kt +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/security/pgp/PgpArmor.kt @@ -6,7 +6,7 @@ package com.flowcrypt.email.security.pgp import com.flowcrypt.email.BuildConfig -import com.flowcrypt.email.api.retrofit.response.model.MsgBlock +import com.flowcrypt.email.core.msg.RawBlockParser import com.flowcrypt.email.extensions.kotlin.countOfMatchesZeroOneOrMore import com.flowcrypt.email.extensions.kotlin.isWhiteSpace import com.flowcrypt.email.extensions.kotlin.normalize @@ -35,43 +35,44 @@ object PgpArmor { ) @JvmStatic - val ARMOR_HEADER_DICT: Map = mapOf( - MsgBlock.Type.UNKNOWN to CryptoArmorStringHeaderDefinition( - begin = "-----BEGIN", - end = "-----END", - replace = false - ), - MsgBlock.Type.PUBLIC_KEY to CryptoArmorStringHeaderDefinition( - begin = "-----BEGIN PGP PUBLIC KEY BLOCK-----", - end = "-----END PGP PUBLIC KEY BLOCK-----", - replace = true - ), - MsgBlock.Type.PRIVATE_KEY to CryptoArmorStringHeaderDefinition( - begin = "-----BEGIN PGP PRIVATE KEY BLOCK-----", - end = "-----END PGP PRIVATE KEY BLOCK-----", - replace = true - ), - MsgBlock.Type.CERTIFICATE to CryptoArmorStringHeaderDefinition( - begin = "-----BEGIN CERTIFICATE-----", - end = "-----END CERTIFICATE-----", - replace = true - ), - MsgBlock.Type.SIGNED_MSG to CryptoArmorStringHeaderDefinition( - begin = "-----BEGIN PGP SIGNED MESSAGE-----", - middle = "-----BEGIN PGP SIGNATURE-----", - end = "-----END PGP SIGNATURE-----", - replace = true - ), - MsgBlock.Type.SIGNATURE to CryptoArmorStringHeaderDefinition( - begin = "-----BEGIN PGP SIGNATURE-----", - end = "-----END PGP SIGNATURE-----", - replace = false - ), - MsgBlock.Type.ENCRYPTED_MSG to CryptoArmorStringHeaderDefinition( - begin = "-----BEGIN PGP MESSAGE-----", - end = "-----END PGP MESSAGE-----", - replace = true - ) + val ARMOR_HEADER_DICT: Map = + mapOf( + RawBlockParser.RawBlockType.UNKNOWN to CryptoArmorStringHeaderDefinition( + begin = "-----BEGIN", + end = "-----END", + replace = false + ), + RawBlockParser.RawBlockType.PGP_PUBLIC_KEY to CryptoArmorStringHeaderDefinition( + begin = "-----BEGIN PGP PUBLIC KEY BLOCK-----", + end = "-----END PGP PUBLIC KEY BLOCK-----", + replace = true + ), + RawBlockParser.RawBlockType.PGP_PRIVATE_KEY to CryptoArmorStringHeaderDefinition( + begin = "-----BEGIN PGP PRIVATE KEY BLOCK-----", + end = "-----END PGP PRIVATE KEY BLOCK-----", + replace = true + ), + RawBlockParser.RawBlockType.CERTIFICATE to CryptoArmorStringHeaderDefinition( + begin = "-----BEGIN CERTIFICATE-----", + end = "-----END CERTIFICATE-----", + replace = true + ), + RawBlockParser.RawBlockType.PGP_CLEARSIGN_MSG to CryptoArmorStringHeaderDefinition( + begin = "-----BEGIN PGP SIGNED MESSAGE-----", + middle = "-----BEGIN PGP SIGNATURE-----", + end = "-----END PGP SIGNATURE-----", + replace = true + ), + RawBlockParser.RawBlockType.SIGNATURE to CryptoArmorStringHeaderDefinition( + begin = "-----BEGIN PGP SIGNATURE-----", + end = "-----END PGP SIGNATURE-----", + replace = false + ), + RawBlockParser.RawBlockType.PGP_MSG to CryptoArmorStringHeaderDefinition( + begin = "-----BEGIN PGP MESSAGE-----", + end = "-----END PGP MESSAGE-----", + replace = true + ) ) @JvmStatic @@ -86,7 +87,7 @@ object PgpArmor { } @JvmStatic - val ARMOR_HEADER_UNKNOWN = ARMOR_HEADER_DICT[MsgBlock.Type.UNKNOWN]!! + val ARMOR_HEADER_UNKNOWN = ARMOR_HEADER_DICT[RawBlockParser.RawBlockType.UNKNOWN] @JvmStatic val FLOWCRYPT_HEADERS = listOf( @@ -94,11 +95,11 @@ object PgpArmor { Pair("Comment", "Seamlessly send and receive encrypted email") ) - // note: using MsgBlock.Type.UNKNOWN instead of "key" in Typescript + // note: using RawBlockParser.RawBlockType.UNKNOWN instead of "key" in Typescript @JvmStatic - fun normalize(armored: String, blockType: MsgBlock.Type): String { - if (blockType != MsgBlock.Type.UNKNOWN - && !MsgBlock.Type.REPLACEABLE_BLOCK_TYPES.contains(blockType) + fun normalize(armored: String, blockType: RawBlockParser.RawBlockType): String { + if (blockType != RawBlockParser.RawBlockType.UNKNOWN + && !RawBlockParser.REPLACEABLE_BLOCK_TYPES.contains(blockType) ) { throw IllegalArgumentException("Can't normalize block of type '$blockType'") } @@ -146,8 +147,10 @@ object PgpArmor { @JvmStatic private val normalizeBlockTypeList1 = arrayOf( - MsgBlock.Type.PUBLIC_KEY, MsgBlock.Type.PRIVATE_KEY, - MsgBlock.Type.ENCRYPTED_MSG, MsgBlock.Type.UNKNOWN + RawBlockParser.RawBlockType.PGP_PUBLIC_KEY, + RawBlockParser.RawBlockType.PGP_PRIVATE_KEY, + RawBlockParser.RawBlockType.PGP_MSG, + RawBlockParser.RawBlockType.UNKNOWN ) @JvmStatic @@ -208,7 +211,7 @@ object PgpArmor { var ch: Int while (input.read().also { ch = it } >= 0) { output.write(ch) - if (ch == '\r'.toInt() || ch == '\n'.toInt()) { + if (ch == '\r'.code || ch == '\n'.code) { lookAhead = readPassedEOL(output, ch, input) break } @@ -228,7 +231,7 @@ object PgpArmor { var ch = lookAhead do { output.write(ch) - if (ch == '\r'.toInt() || ch == '\n'.toInt()) { + if (ch == '\r'.code || ch == '\n'.code) { lookAhead = readPassedEOL(output, ch, input) break } @@ -243,7 +246,7 @@ object PgpArmor { @JvmStatic private fun readPassedEOL(output: ByteArrayOutputStream, lastCh: Int, input: InputStream): Int { var lookAhead: Int = input.read() - if (lastCh == '\r'.toInt() && lookAhead == '\n'.toInt()) { + if (lastCh == '\r'.code && lookAhead == '\n'.code) { output.write(lookAhead) lookAhead = input.read() } @@ -263,7 +266,7 @@ object PgpArmor { @JvmStatic fun clip(text: String): String? { - val unknown = ARMOR_HEADER_DICT[MsgBlock.Type.UNKNOWN]!! + val unknown = ARMOR_HEADER_DICT[RawBlockParser.RawBlockType.UNKNOWN]!! if (text.contains(unknown.begin) && text.contains(unknown.end)) { val match = blockRegex.find(text) if (match != null) return text.substring(match.range) diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/security/pgp/PgpKey.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/security/pgp/PgpKey.kt index 8acfe9132f..32155438a5 100644 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/security/pgp/PgpKey.kt +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/security/pgp/PgpKey.kt @@ -5,7 +5,7 @@ package com.flowcrypt.email.security.pgp -import com.flowcrypt.email.api.retrofit.response.model.MsgBlock +import com.flowcrypt.email.core.msg.RawBlockParser import com.flowcrypt.email.extensions.kotlin.toInputStream import com.flowcrypt.email.extensions.org.bouncycastle.openpgp.armor import com.flowcrypt.email.extensions.org.bouncycastle.openpgp.toPgpKeyDetails @@ -182,7 +182,7 @@ object PgpKey { // Restored here some previous code. Not sure if PGPainless can help with this. fun parseAndNormalizeKeyRings(armored: String): List { - val normalizedArmored = PgpArmor.normalize(armored, MsgBlock.Type.UNKNOWN) + val normalizedArmored = PgpArmor.normalize(armored, RawBlockParser.RawBlockType.UNKNOWN) val keys = parseKeys(normalizedArmored, false).getAllKeys().toMutableList() // Prevent key bloat by removing all non-self certifications diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/security/pgp/PgpMsg.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/security/pgp/PgpMsg.kt index 55d553f3cb..ded2933ed7 100644 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/security/pgp/PgpMsg.kt +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/security/pgp/PgpMsg.kt @@ -7,34 +7,35 @@ package com.flowcrypt.email.security.pgp import android.content.Context -import com.flowcrypt.email.api.email.JavaEmailConstants import com.flowcrypt.email.api.retrofit.response.model.AttMeta import com.flowcrypt.email.api.retrofit.response.model.AttMsgBlock import com.flowcrypt.email.api.retrofit.response.model.DecryptErrorMsgBlock import com.flowcrypt.email.api.retrofit.response.model.DecryptedAndOrSignedContentMsgBlock +import com.flowcrypt.email.api.retrofit.response.model.DecryptedAttMsgBlock import com.flowcrypt.email.api.retrofit.response.model.EncryptedAttLinkMsgBlock -import com.flowcrypt.email.api.retrofit.response.model.EncryptedAttMsgBlock +import com.flowcrypt.email.api.retrofit.response.model.GenericMsgBlock import com.flowcrypt.email.api.retrofit.response.model.MsgBlock import com.flowcrypt.email.api.retrofit.response.model.MsgBlockError import com.flowcrypt.email.api.retrofit.response.model.MsgBlockFactory +import com.flowcrypt.email.api.retrofit.response.model.PlainAttMsgBlock import com.flowcrypt.email.api.retrofit.response.model.PublicKeyMsgBlock import com.flowcrypt.email.api.retrofit.response.model.SignedMsgBlock import com.flowcrypt.email.api.retrofit.response.model.VerificationResult import com.flowcrypt.email.core.msg.MimeUtils -import com.flowcrypt.email.core.msg.MsgBlockParser +import com.flowcrypt.email.core.msg.RawBlockParser import com.flowcrypt.email.database.FlowCryptRoomDatabase -import com.flowcrypt.email.extensions.java.io.readText -import com.flowcrypt.email.extensions.javax.mail.internet.hasFileName -import com.flowcrypt.email.extensions.javax.mail.isInline +import com.flowcrypt.email.extensions.javax.mail.isHtmlText +import com.flowcrypt.email.extensions.javax.mail.isMultipart +import com.flowcrypt.email.extensions.javax.mail.isMultipartAlternative +import com.flowcrypt.email.extensions.javax.mail.isOpenPGPMimeSigned import com.flowcrypt.email.extensions.kotlin.decodeFcHtmlAttr import com.flowcrypt.email.extensions.kotlin.escapeHtmlAttr import com.flowcrypt.email.extensions.kotlin.stripHtmlRootTags import com.flowcrypt.email.extensions.kotlin.toEscapedHtml -import com.flowcrypt.email.extensions.kotlin.toInputStream import com.flowcrypt.email.extensions.kotlin.unescapeHtml -import com.flowcrypt.email.extensions.org.bouncycastle.openpgp.armor import com.flowcrypt.email.extensions.org.owasp.html.allowAttributesOnElementsExt import com.flowcrypt.email.security.KeysStorageImpl +import com.flowcrypt.email.util.GeneralUtil import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import org.bouncycastle.openpgp.PGPPublicKeyRing @@ -50,13 +51,14 @@ import org.jsoup.nodes.TextNode import org.owasp.html.HtmlPolicyBuilder import org.pgpainless.key.SubkeyIdentifier import org.pgpainless.key.protection.SecretKeyRingProtector +import java.io.ByteArrayInputStream +import java.io.ByteArrayOutputStream import java.io.InputStream import java.nio.charset.StandardCharsets import java.util.Properties import javax.mail.Multipart import javax.mail.Part import javax.mail.Session -import javax.mail.internet.ContentType import javax.mail.internet.InternetAddress import javax.mail.internet.MimeMessage import javax.mail.internet.MimePart @@ -81,43 +83,6 @@ object PgpMsg { private const val FC_INNER_TEXT_TYPE_ATTR = "data-fc-inner-text-type" private const val FC_FROM_IMAGE_ATTR = "data-fc-is-from-image" - private val HIDDEN_FILE_NAMES = setOf( - "PGPexch.htm.pgp", - "PGPMIME version identification", - "Version.txt", - "PGPMIME Versions Identification" - ) - - private val ENCRYPTED_MSG_NAMES = setOf( - "message", - "msg.asc", - "message.asc", - "encrypted.asc", - "encrypted.eml.pgp", - "Message.pgp", - "openpgp-encrypted-message.asc" - ) - - val ENCRYPTED_FILE_REGEX = Regex( - pattern = "(\\.pgp\$)|(\\.gpg\$)|(\\.[a-zA-Z0-9]{3,4}\\.asc\$)", - option = RegexOption.IGNORE_CASE - ) - private val PRIVATE_KEY_REGEX = Regex( - pattern = "(cryptup|flowcrypt)-backup-[a-z0-9]+\\.(key|asc)\$", - option = RegexOption.IGNORE_CASE - ) - private val PUBLIC_KEY_REGEX_1 = Regex( - pattern = "^(0|0x)?[A-F0-9]{8}([A-F0-9]{8})?.*\\.asc\$", - option = RegexOption.IGNORE_CASE - ) - private val PUBLIC_KEY_REGEX_2 = Regex( - pattern = "[A-F0-9]{8}.*\\.asc\$", - option = RegexOption.IGNORE_CASE - ) - private val PUBLIC_KEY_REGEX_3 = Regex( - pattern = "^(0x)?[A-Fa-f0-9]{16,40}\\.asc\\.pgp$", - option = RegexOption.IGNORE_CASE - ) private val CID_CORRECTION_REGEX_1 = Regex(">$") private val CID_CORRECTION_REGEX_2 = Regex("^<") private val IMG_SRC_WITH_CID_REGEX = Regex("src=\"cid:([^\"]+)\"") @@ -257,157 +222,206 @@ object PgpMsg { secretKeys: PGPSecretKeyRingCollection, protector: SecretKeyRingProtector ): ProcessedMimeMessageResult { - val extractedMimeContent = extractMimeContent(msg) - val extractedMsgBlocks = extractMsgBlocks(extractedMimeContent) - return processExtractedMsgBlocks( - msgBlocks = extractedMsgBlocks, + val extractedMsgBlocks = extractMsgBlocksFromPart( + part = msg, verificationPublicKeys = verificationPublicKeys, secretKeys = secretKeys, protector = protector ) + return processExtractedMsgBlocks(extractedMsgBlocks) } - fun extractMimeContent(msg: MimeMessage): ExtractedMimeContent { - var signature: ByteArray? = null - var html: StringBuilder? = null - var plainText: StringBuilder? = null - val attachments = mutableListOf() - - val arrayDeque = ArrayDeque() - arrayDeque.addFirst(msg) - - while (arrayDeque.isNotEmpty()) { - val part = arrayDeque.removeFirst() - if (part.isMimeType(JavaEmailConstants.MIME_TYPE_MULTIPART)) { - val multipart = (part.content as? Multipart) ?: continue - val partsCount = multipart.count - for (i in 0 until partsCount) { - arrayDeque.addFirst(multipart.getBodyPart(partsCount - i - 1)) - } - } else { - val singlePart = (part as? MimePart) ?: continue - if (Part.ATTACHMENT.equals(singlePart.disposition, ignoreCase = true)) { - attachments.add(singlePart) - } else { - val contentType = try { - ContentType(singlePart.contentType).baseType?.lowercase() - } catch (e: Exception) { - null + fun extractMsgBlocksFromPart( + part: Part, + verificationPublicKeys: PGPPublicKeyRingCollection, + secretKeys: PGPSecretKeyRingCollection, + protector: SecretKeyRingProtector, + isOpenPGPMimeSigned: Boolean = false + ): Collection { + val blocks = mutableListOf() + when { + //we found OpenPGP/MIME Signed message that should contains 2 parts. + //See https://datatracker.ietf.org/doc/html/rfc3156#section-5 for more details + part.isOpenPGPMimeSigned() -> { + try { + val multiPart = part.content as? Multipart + ?: throw IllegalStateException("Wrong OpenPGP/MIME structure") + if (multiPart.count != 2) throw IllegalStateException("Wrong OpenPGP/MIME structure") + + val contentPart = multiPart.getBodyPart(0) + val signaturePart = multiPart.getBodyPart(1) + val openPGPMIMESignedContent = ByteArrayOutputStream().apply { + contentPart.writeTo(this) + }.toByteArray() + val signatureInputStream = signaturePart.inputStream + + val detachedSignatureVerificationResult = PgpSignature.verifyDetachedSignature( + srcInputStream = openPGPMIMESignedContent.inputStream(), + signatureInputStream = signatureInputStream, + publicKeys = verificationPublicKeys + ) + + val decryptedAndOrSignedContentMsgBlock = DecryptedAndOrSignedContentMsgBlock( + blocks = extractMsgBlocksFromPart( + part = contentPart, + verificationPublicKeys = verificationPublicKeys, + secretKeys = secretKeys, + protector = protector, + isOpenPGPMimeSigned = true + ).toList(), + isOpenPGPMimeSigned = true + ).apply { + openPgpMetadata = detachedSignatureVerificationResult.openPgpMetadata } - when (contentType) { - "application/pgp-signature" -> { - signature = singlePart.inputStream.readBytes() - } + blocks.add(decryptedAndOrSignedContentMsgBlock) + } catch (e: Exception) { + if (GeneralUtil.isDebugBuild()) { + e.printStackTrace() + } + } + } - // this one was not in the Typescript, but I had to add it to pass some tests - "message/rfc822" -> { - arrayDeque.addFirst(singlePart.content as Part) + //it's a multipart that should be investigated. + part.isMultipart() -> { + val multiPart = part.content as Multipart + val isMultipartAlternative = part.isMultipartAlternative() + for (partCount in 0 until multiPart.count) { + val subPart = multiPart.getBodyPart(partCount) + if (isMultipartAlternative) { + //if we found multipart/alternative we have to show just html + //and don't try to find PGP things + if (!subPart.isHtmlText()) { + continue } + } - "text/html" -> { - if (!singlePart.hasFileName()) { - if (html == null) { - html = StringBuilder() - } - html.append(singlePart.content) - } - } + blocks.addAll( + extractMsgBlocksFromPart( + part = subPart, + verificationPublicKeys = verificationPublicKeys, + secretKeys = secretKeys, + protector = protector, + isOpenPGPMimeSigned = isOpenPGPMimeSigned + ) + ) + } + } - "text/plain" -> { - if (!singlePart.hasFileName() || singlePart.isInline()) { - if (plainText == null) { - plainText = StringBuilder() - } else { - plainText.append("\n\n") - } - plainText.append(singlePart.content) - } - } + //it's a part that should be handled + else -> { + try { + val detectedRawBlocks = RawBlockParser.detectBlocks(part, isOpenPGPMimeSigned) + val attachmentRawBlocks = + detectedRawBlocks.filter { it.type == RawBlockParser.RawBlockType.ATTACHMENT } + + for (rawBlock in attachmentRawBlocks) { + blocks.add( + MsgBlockFactory.fromAttachment( + type = MsgBlock.Type.PLAIN_ATT, + attachment = part as MimePart, + isOpenPGPMimeSigned = isOpenPGPMimeSigned + ) + ) + } - "text/rfc822-headers" -> { - // skip - } + val msgBlocks = processRawBlocks( + rawBlocks = detectedRawBlocks - attachmentRawBlocks, + verificationPublicKeys = verificationPublicKeys, + secretKeys = secretKeys, + protector = protector + ) - else -> { - attachments.add(singlePart) - } + blocks.addAll(msgBlocks) + } catch (e: Exception) { + if (GeneralUtil.isDebugBuild()) { + e.printStackTrace() } + //here we should handle an error that relates to the current Part + //and add a block to be able to show an error later + blocks.add( + GenericMsgBlock( + MsgBlock.Type.UNKNOWN, + null, + MsgBlockError(e.javaClass.simpleName + ": " + e.message), + isOpenPGPMimeSigned + ) + ) } } } - return ExtractedMimeContent(attachments, signature, html?.toString(), plainText?.toString()) + return blocks } - fun treatAs(att: MimePart): TreatAs { - val name = att.fileName?.lowercase() ?: "" - val type = try { - ContentType(att.contentType).baseType?.lowercase() - } catch (e: Exception) { - null - } - val length = att.size - when { - name in HIDDEN_FILE_NAMES -> { - // PGPexch.htm.pgp is html alternative of textual body content produced - // by the PGP Desktop and GPG4o - return TreatAs.HIDDEN - } - - "" == name && type?.startsWith("image/") != true -> { - return if (length < 100) TreatAs.SIGNATURE else TreatAs.ENCRYPTED_MSG - } - - "signature.asc" == name || "application/pgp-signature" == type -> { - return TreatAs.SIGNATURE - } - - "msg.asc" == name && length < 100 && "application/pgp-encrypted" == type -> { - // mail.ch does this - although it looks like encrypted msg, - // it will just contain PGP version eg "Version: 1" - return TreatAs.SIGNATURE - } - - "Message.pgp" == att.fileName || name in ENCRYPTED_MSG_NAMES -> { - return TreatAs.ENCRYPTED_MSG - } - - ENCRYPTED_FILE_REGEX.containsMatchIn(name) -> { - // ends with one of .gpg, .pgp, .???.asc, .????.asc - return TreatAs.ENCRYPTED_FILE - } - - PRIVATE_KEY_REGEX.containsMatchIn(name) -> { - return TreatAs.PRIVATE_KEY - } - - "application/pgp-keys" == type -> { - return TreatAs.PUBLIC_KEY - } + private fun processRawBlocks( + rawBlocks: Collection, + verificationPublicKeys: PGPPublicKeyRingCollection, + secretKeys: PGPSecretKeyRingCollection, + protector: SecretKeyRingProtector + ): Collection { + val msgBlocks = mutableListOf() + for (rawBlock in rawBlocks) { + when (rawBlock.type) { + RawBlockParser.RawBlockType.PGP_MSG -> { + processPgpMsgRawBlock( + rawBlock = rawBlock, + verificationPublicKeys = verificationPublicKeys, + secretKeys = secretKeys, + protector = protector + ).let { + msgBlocks.add(it) + } + } - PUBLIC_KEY_REGEX_1.containsMatchIn(name) -> { - // name starts with a key id - return TreatAs.PUBLIC_KEY - } + RawBlockParser.RawBlockType.PLAIN_TEXT -> { + msgBlocks.add( + MsgBlockFactory.fromContent( + type = MsgBlock.Type.PLAIN_TEXT, + content = rawBlock.content.decodeToString(), + isOpenPGPMimeSigned = rawBlock.isOpenPGPMimeSigned + ) + ) + } - name.contains("public") && PUBLIC_KEY_REGEX_2.containsMatchIn(name) -> { - // name contains the word "public", any key id and ends with .asc - return TreatAs.PUBLIC_KEY - } + RawBlockParser.RawBlockType.HTML_TEXT -> { + msgBlocks.add( + MsgBlockFactory.fromContent( + type = MsgBlock.Type.PLAIN_HTML, + content = rawBlock.content.decodeToString(), + isOpenPGPMimeSigned = rawBlock.isOpenPGPMimeSigned + ) + ) + } - name.endsWith(".asc") && length > 0 && checkForPublicKeyBlock(att.inputStream) -> { - return TreatAs.PUBLIC_KEY - } + RawBlockParser.RawBlockType.PGP_CLEARSIGN_MSG -> { + processClearSignedRawBlock(rawBlock, verificationPublicKeys)?.let { + msgBlocks.add(it) + } + } - name.endsWith(".asc") && length < 100000 && !att.isInline() -> { - return TreatAs.ENCRYPTED_MSG - } + RawBlockParser.RawBlockType.PGP_PUBLIC_KEY -> { + processPgpPublicKeyRawBlock(rawBlock).let { + msgBlocks.add(it) + } + } - else -> { - return TreatAs.PLAIN_FILE + RawBlockParser.RawBlockType.PGP_PRIVATE_KEY -> { + msgBlocks.add( + GenericMsgBlock( + type = MsgBlock.Type.PRIVATE_KEY, + content = String(rawBlock.content), + isOpenPGPMimeSigned = rawBlock.isOpenPGPMimeSigned + ) + ) + } + else -> { + //skip for now + } } } + + return msgBlocks } /** @@ -652,7 +666,7 @@ object PgpMsg { val attr = match.groups[2]!!.value.decodeFcHtmlAttr() if (isFcAttachmentLinkData(attr)) { attr!!.put("url", url) - blocks.add(EncryptedAttLinkMsgBlock(AttMeta(attr))) + blocks.add(EncryptedAttLinkMsgBlock(attMeta = AttMeta(attr), isOpenPGPMimeSigned = false)) } } if (i < decryptedContent.length) result.append(decryptedContent.substring(i)) @@ -668,149 +682,17 @@ object PgpMsg { } fun stripPublicKeys(decryptedContent: String, foundPublicKeys: MutableList): String { - val normalizedTextAndBlocks = MsgBlockParser.detectBlocks(decryptedContent) - var result = normalizedTextAndBlocks.normalized - for (block in normalizedTextAndBlocks.blocks) { - if (block.type == MsgBlock.Type.PUBLIC_KEY && block.content != null) { - val content = block.content!! - foundPublicKeys.add(content) - result = result.replace(content, "") - } - } - return result - } - - fun extractMsgBlocks(mimeContent: ExtractedMimeContent): MutableList { - val blocks = mutableListOf() - blocks.addAll(extractMsgBlocksFromText(mimeContent)) - - var signature: String? = mimeContent.signature?.let { String(it) } - for (att in mimeContent.attachments) { - var content = att.content - when (treatAs(att)) { - TreatAs.HIDDEN -> { - // ignore - } - - TreatAs.ENCRYPTED_MSG -> { - if (content is InputStream) content = content.readText(StandardCharsets.US_ASCII) - if (content is String) { - PgpArmor.clip(content)?.let { - blocks.add(MsgBlockFactory.fromContent(MsgBlock.Type.ENCRYPTED_MSG, it)) - } - } - } - - TreatAs.SIGNATURE -> { - if (content is InputStream) content = content.readText(StandardCharsets.US_ASCII) - if (content is String && signature == null) signature = content - } - - TreatAs.PUBLIC_KEY -> { - if (content is InputStream) content = content.readText(StandardCharsets.US_ASCII) - if (content is String) blocks.addAll(MsgBlockParser.detectBlocks(content).blocks) - } - - TreatAs.PRIVATE_KEY -> { - if (content is InputStream) content = content.readText(StandardCharsets.US_ASCII) - if (content is String) blocks.addAll(MsgBlockParser.detectBlocks(content).blocks) - } - - TreatAs.ENCRYPTED_FILE -> { - blocks.add(MsgBlockFactory.fromAttachment(MsgBlock.Type.ENCRYPTED_ATT, att)) - } - - TreatAs.PLAIN_FILE -> { - blocks.add(MsgBlockFactory.fromAttachment(MsgBlock.Type.PLAIN_ATT, att)) - } - } - } - - if (signature != null) fixSignedBlocks(blocks, signature) - - return blocks - } - - private fun extractMsgBlocksFromText(mimeContent: ExtractedMimeContent): MutableList { - val blocks = mutableListOf() - if (mimeContent.text != null) { - val blocksFromText = MsgBlockParser.detectBlocks(mimeContent.text).blocks - val suitableBlock = blocksFromText.firstOrNull { - it.type in MsgBlock.Type.WELL_KNOWN_BLOCK_TYPES - } - - when { - suitableBlock != null -> { - // if there are some encryption-related blocks found in the text section, - // which we can use, and not look at the html section, because the html most likely - // contains the same thing, just harder to parse pgp sections cause it's html - blocks.addAll(blocksFromText) - } - - mimeContent.html != null -> { - // if no pgp blocks found in text part and there is html part, prefer html - blocks.add(MsgBlockFactory.fromContent(MsgBlock.Type.PLAIN_HTML, mimeContent.html)) - } - - else -> { - // else if no html and just a plain text message, use that - blocks.addAll(blocksFromText) - } - } - } else if (mimeContent.html != null) { - blocks.add(MsgBlockFactory.fromContent(MsgBlock.Type.PLAIN_HTML, mimeContent.html)) - } - - return blocks - } - - private fun fixSignedBlocks(blocks: MutableList, signature: String) { - for (i in 0 until blocks.size) { - val block = blocks[i] - when (block.type) { - MsgBlock.Type.PLAIN_TEXT -> { - blocks[i] = MsgBlockFactory.fromContent( - type = MsgBlock.Type.SIGNED_TEXT, - content = block.content, - missingEnd = !block.complete, - signature = signature - ) - } - MsgBlock.Type.PLAIN_HTML -> { - blocks[i] = MsgBlockFactory.fromContent( - type = MsgBlock.Type.SIGNED_HTML, - content = block.content, - missingEnd = !block.complete, - signature = signature - ) - } - else -> { - } + val normalizedTextAndBlocks = RawBlockParser.detectBlocks(decryptedContent) + for (block in normalizedTextAndBlocks) { + if (block.type == RawBlockParser.RawBlockType.PGP_PUBLIC_KEY && block.content.isNotEmpty()) { + val content = block.content + foundPublicKeys.add(String(content)) } } + return decryptedContent } - private fun checkForPublicKeyBlock(stream: InputStream): Boolean { - val a = ByteArray(100) - val r = stream.read(a) - if (r < 1) return false - val s = String(if (r == a.size) a else a.copyOf(r), StandardCharsets.US_ASCII) - return s.contains("-----BEGIN PGP PUBLIC KEY BLOCK-----") - } - - private fun processExtractedMsgBlocks( - msgBlocks: List, - verificationPublicKeys: PGPPublicKeyRingCollection, - secretKeys: PGPSecretKeyRingCollection, - protector: SecretKeyRingProtector - ): ProcessedMimeMessageResult { - val sequentialProcessedBlocks = handleExtractedMsgBlocks( - msgBlocks = msgBlocks, - verificationPublicKeys = verificationPublicKeys, - secretKeys = secretKeys, - protector = protector - ) - + private fun processExtractedMsgBlocks(msgBlocks: Collection): ProcessedMimeMessageResult { var isEncrypted = false val contentBlocks = mutableListOf() val resultBlocks = mutableListOf() @@ -822,7 +704,7 @@ object PgpMsg { var isPartialSigned = false val verifiedSignatures = mutableMapOf() - for (block in sequentialProcessedBlocks) { + for (block in msgBlocks) { // We don't need Base64 correction here, fromAttachment() does this for us // We also seem to don't need to make correction between raw and utf8 // But I'd prefer MsgBlock.content to be ByteArray @@ -881,27 +763,32 @@ object PgpMsg { } } - if (block is DecryptedAndOrSignedContentMsgBlock) { - for (innerBlock in block.blocks) { - if (canBeAddedToCombinedContent(innerBlock)) { - contentBlocks.add(innerBlock) - } else { - resultBlocks.add(innerBlock) + when { + block is DecryptedAndOrSignedContentMsgBlock -> { + val innerBlocks = extractInnerBlocks(block) + for (innerBlock in innerBlocks) { + if (canBeAddedToCombinedContent(innerBlock)) { + contentBlocks.add(innerBlock) + } else { + resultBlocks.add(innerBlock) + } } } - } - if (canBeAddedToCombinedContent(block)) { - contentBlocks.add(block) - } else { - resultBlocks.add(block) + canBeAddedToCombinedContent(block) -> { + contentBlocks.add(block) + } + + else -> { + resultBlocks.add(block) + } } } val fmtRes = prepareFormattedContentBlock(contentBlocks) resultBlocks.add(0, fmtRes.contentBlock) - if (signedBlockCount > 0 && signedBlockCount != sequentialProcessedBlocks.size) { + if (signedBlockCount > 0 && signedBlockCount != msgBlocks.size) { isPartialSigned = true } @@ -909,8 +796,8 @@ object PgpMsg { text = fmtRes.text, blocks = resultBlocks, verificationResult = VerificationResult( - isEncrypted = isEncrypted, - isSigned = signedBlockCount > 0, + hasEncryptedParts = isEncrypted, + hasSignedParts = signedBlockCount > 0, hasMixedSignatures = hasMixedSignatures, isPartialSigned = isPartialSigned, hasUnverifiedSignatures = hasUnverifiedSignatures, @@ -919,117 +806,61 @@ object PgpMsg { ) } - private fun canBeAddedToCombinedContent(block: MsgBlock): Boolean = - (block.type.isContentBlockType() || MimeUtils.isPlainImgAtt(block)) && block.error == null - - private fun handleExtractedMsgBlocks( - msgBlocks: List, - verificationPublicKeys: PGPPublicKeyRingCollection, - secretKeys: PGPSecretKeyRingCollection, - protector: SecretKeyRingProtector - ): MutableList { - val sequentialProcessedBlocks = mutableListOf() - for (msgBlock in msgBlocks) { - when { - msgBlock is SignedMsgBlock -> { - processSignedMsgBlock(msgBlock, verificationPublicKeys)?.let { - sequentialProcessedBlocks.add(it) - } - } - - msgBlock.type == MsgBlock.Type.ENCRYPTED_MSG -> { - val decryptedContentMsgBlock = processEncryptedMsgBlock( - msgBlock = msgBlock, - verificationPublicKeys = verificationPublicKeys, - secretKeys = secretKeys, - protector = protector - ) - sequentialProcessedBlocks.add(decryptedContentMsgBlock) - } - - msgBlock.type == MsgBlock.Type.ENCRYPTED_ATT - && (msgBlock as EncryptedAttMsgBlock).attMeta.name != null - && PUBLIC_KEY_REGEX_3.matches(msgBlock.attMeta.name ?: "") -> { - sequentialProcessedBlocks.add( - processPublicKeyMsgBlock( - msgBlock = msgBlock, - verificationPublicKeys = verificationPublicKeys, - secretKeys = secretKeys, - protector = protector - ) - ) - } - - msgBlock.type == MsgBlock.Type.PUBLIC_KEY -> { - msgBlock.content?.let { source -> - try { - val keyRings = PgpKey.parseAndNormalizeKeyRings(source) - if (keyRings.isNotEmpty()) { - sequentialProcessedBlocks.addAll(keyRings.map { - MsgBlockFactory.fromContent(MsgBlock.Type.PUBLIC_KEY, it.armor(null)) - }) - } else { - sequentialProcessedBlocks.add( - PublicKeyMsgBlock( - content = source, - complete = false, - keyDetails = null, - error = MsgBlockError("empty KeyRing") - ) - ) - } - } catch (ex: Exception) { - ex.printStackTrace() - sequentialProcessedBlocks.add( - PublicKeyMsgBlock( - content = source, - complete = false, - keyDetails = null, - error = MsgBlockError(ex.javaClass.simpleName + ": " + ex.message) - ) - ) - } - } - } - - else -> { - sequentialProcessedBlocks.add(msgBlock) - } + private fun extractInnerBlocks( + decryptedAndOrSignedContentMsgBlock: DecryptedAndOrSignedContentMsgBlock + ): Collection { + val blocks = mutableListOf() + for (block in decryptedAndOrSignedContentMsgBlock.blocks) { + if (block is DecryptedAndOrSignedContentMsgBlock) { + blocks.addAll(extractInnerBlocks(block)) + } else { + blocks.add(block) } } - return sequentialProcessedBlocks + + return blocks } - private fun processPublicKeyMsgBlock( - msgBlock: MsgBlock, - verificationPublicKeys: PGPPublicKeyRingCollection, - secretKeys: PGPSecretKeyRingCollection, - protector: SecretKeyRingProtector + private fun canBeAddedToCombinedContent(block: MsgBlock): Boolean = + (block.type.isContentBlockType() || MimeUtils.isPlainImgAtt(block)) && block.error == null + + private fun processPgpPublicKeyRawBlock( + rawBlock: RawBlockParser.RawBlock ): MsgBlock { - // encrypted public key attached - val decryptionResult = PgpDecryptAndOrVerify.decryptAndOrVerifyWithResult( - srcInputStream = msgBlock.content?.toInputStream()!!, - publicKeys = verificationPublicKeys, - secretKeys = secretKeys, - protector = protector - ) - return if (decryptionResult.content != null) { - val content = decryptionResult.content.toString(StandardCharsets.UTF_8.displayName()) - MsgBlockFactory.fromContent(MsgBlock.Type.PUBLIC_KEY, content) + return if (rawBlock.content.isEmpty()) { + PublicKeyMsgBlock( + content = null, + keyDetails = null, + error = MsgBlockError("empty source"), + isOpenPGPMimeSigned = rawBlock.isOpenPGPMimeSigned + ) } else { - // will show as encrypted attachment - msgBlock + try { + val keyDetails = PgpKey.parseKeys(rawBlock.content).pgpKeyDetailsList.firstOrNull() + PublicKeyMsgBlock( + content = rawBlock.content.decodeToString(), + keyDetails = keyDetails, + isOpenPGPMimeSigned = rawBlock.isOpenPGPMimeSigned + ) + } catch (e: Exception) { + e.printStackTrace() + PublicKeyMsgBlock( + content = rawBlock.content.decodeToString(), + error = MsgBlockError("[" + e.javaClass.simpleName + "]: " + e.message), + isOpenPGPMimeSigned = rawBlock.isOpenPGPMimeSigned + ) + } } } - private fun processEncryptedMsgBlock( - msgBlock: MsgBlock, + private fun processPgpMsgRawBlock( + rawBlock: RawBlockParser.RawBlock, verificationPublicKeys: PGPPublicKeyRingCollection, secretKeys: PGPSecretKeyRingCollection, protector: SecretKeyRingProtector ): DecryptedAndOrSignedContentMsgBlock { val decryptionResult = PgpDecryptAndOrVerify.decryptAndOrVerifyWithResult( - srcInputStream = msgBlock.content?.toInputStream()!!, + srcInputStream = rawBlock.content.inputStream(), publicKeys = verificationPublicKeys, secretKeys = secretKeys, protector = protector @@ -1039,9 +870,24 @@ object PgpMsg { if (decryptionResult.exception == null) { if (decryptionResult.isEncrypted) { val decrypted = decryptionResult.content?.toByteArray() - val formatted = MsgBlockParser.fmtDecryptedAsSanitizedHtmlBlocks(decrypted) - //todo-denbond7 fix it //if (subject == null) subject = formatted.subject - blocks.addAll(formatted.blocks) + if (MimeUtils.resemblesMsg(decrypted)) { + //it seems the decrypted text is MIME message. + //We need to convert inner MsgBlock(s) to decrypted variants + val innerMimeMessage = + MimeMessage(Session.getDefaultInstance(Properties()), ByteArrayInputStream(decrypted)) + blocks.addAll( + extractMsgBlocksFromPart( + part = innerMimeMessage, + verificationPublicKeys = verificationPublicKeys, + secretKeys = secretKeys, + protector = protector + ).map { + transformBlockToDecryptedVersion(it, rawBlock) + } + ) + } else { + blocks.addAll(fmtDecryptedAsSanitizedHtmlBlocks(decrypted)) + } } else { // ------------------------------------------------------------------------------------ // Comment from TS code: @@ -1059,14 +905,15 @@ object PgpMsg { content = decryptionResult.content?.toString( StandardCharsets.UTF_8.displayName() )?.toEscapedHtml(), - signature = decryptionResult.signature + signature = decryptionResult.signature, + isOpenPGPMimeSigned = rawBlock.isOpenPGPMimeSigned ) ) } } else { if (PgpDecryptAndOrVerify.DecryptionErrorType.NO_MDC == decryptionResult.exception.decryptionErrorType) { val resultWithIgnoredMDCErrors = PgpDecryptAndOrVerify.decryptAndOrVerifyWithResult( - srcInputStream = msgBlock.content?.toInputStream()!!, + srcInputStream = rawBlock.content.inputStream(), publicKeys = verificationPublicKeys, secretKeys = secretKeys, protector = protector, @@ -1075,14 +922,14 @@ object PgpMsg { val decryptErrorMsgBlock = if (resultWithIgnoredMDCErrors.exception == null) { DecryptErrorMsgBlock( content = String(resultWithIgnoredMDCErrors.content?.toByteArray() ?: byteArrayOf()), - complete = true, - decryptErr = decryptionResult.exception.toDecryptError() + decryptErr = decryptionResult.exception.toDecryptError(), + isOpenPGPMimeSigned = rawBlock.isOpenPGPMimeSigned ) } else { DecryptErrorMsgBlock( - content = msgBlock.content, - complete = true, - decryptErr = decryptionResult.exception.toDecryptError() + content = rawBlock.content.decodeToString(), + decryptErr = decryptionResult.exception.toDecryptError(), + isOpenPGPMimeSigned = rawBlock.isOpenPGPMimeSigned ) } @@ -1090,71 +937,78 @@ object PgpMsg { } else { blocks.add( DecryptErrorMsgBlock( - content = msgBlock.content, - complete = true, - decryptErr = decryptionResult.exception.toDecryptError() + content = rawBlock.content.decodeToString(), + decryptErr = decryptionResult.exception.toDecryptError(), + isOpenPGPMimeSigned = rawBlock.isOpenPGPMimeSigned ) ) } } - return DecryptedAndOrSignedContentMsgBlock(blocks = blocks).apply { + return DecryptedAndOrSignedContentMsgBlock( + blocks = blocks, + isOpenPGPMimeSigned = rawBlock.isOpenPGPMimeSigned + ).apply { openPgpMetadata = decryptionResult.openPgpMetadata } } - private fun processSignedMsgBlock( - msgBlock: SignedMsgBlock, - verificationPublicKeys: PGPPublicKeyRingCollection - ): MsgBlock? { - return when { - msgBlock.signature != null -> { + private fun transformBlockToDecryptedVersion( + msgBlock: MsgBlock, + rawBlock: RawBlockParser.RawBlock + ): MsgBlock { + return when (msgBlock) { + is GenericMsgBlock -> { when (msgBlock.type) { - MsgBlock.Type.SIGNED_MSG -> { - // skip verification for now - MsgBlockFactory.fromContent( - type = MsgBlock.Type.VERIFIED_MSG, - content = msgBlock.content?.toEscapedHtml(), - signature = msgBlock.signature - ) - } - - MsgBlock.Type.SIGNED_HTML -> { - // skip verification for now - return MsgBlockFactory.fromContent( - type = MsgBlock.Type.VERIFIED_MSG, - content = sanitizeHtmlKeepBasicTags(msgBlock.content), - signature = msgBlock.signature - ) - } - - MsgBlock.Type.SIGNED_TEXT -> { - // skip verification for now - return MsgBlockFactory.fromContent( - type = MsgBlock.Type.SIGNED_TEXT, - content = msgBlock.content, - signature = msgBlock.signature - ) - } - else -> null + MsgBlock.Type.PLAIN_HTML -> msgBlock.copy(type = MsgBlock.Type.DECRYPTED_HTML) + MsgBlock.Type.PLAIN_TEXT -> msgBlock.copy(type = MsgBlock.Type.DECRYPTED_TEXT) + else -> msgBlock } } - msgBlock.type == MsgBlock.Type.SIGNED_MSG -> { - return try { - val clearTextVerificationResult = PgpSignature.verifyClearTextSignature( - srcInputStream = requireNotNull(msgBlock.content?.toInputStream()), - publicKeys = verificationPublicKeys + is PlainAttMsgBlock -> { + DecryptedAttMsgBlock( + content = msgBlock.content, + attMeta = msgBlock.attMeta, + decryptErr = null, + error = msgBlock.error, + isOpenPGPMimeSigned = rawBlock.isOpenPGPMimeSigned + ) + } + + is DecryptedAndOrSignedContentMsgBlock -> { + msgBlock.copy(blocks = msgBlock.blocks.map { innerMsgBlock -> + transformBlockToDecryptedVersion( + innerMsgBlock, + rawBlock ) - clearTextVerificationResult.exception?.let { throw it } - msgBlock.copy(content = clearTextVerificationResult.clearText) - .apply { openPgpMetadata = clearTextVerificationResult.openPgpMetadata } - } catch (e: Exception) { - msgBlock.copy(error = MsgBlockError("[" + e.javaClass.simpleName + "]: " + e.message)) - } + }) } - else -> null + else -> msgBlock + } + } + + private fun processClearSignedRawBlock( + rawBlock: RawBlockParser.RawBlock, + verificationPublicKeys: PGPPublicKeyRingCollection + ): MsgBlock? { + return try { + val clearTextVerificationResult = PgpSignature.verifyClearTextSignature( + srcInputStream = requireNotNull(rawBlock.content.inputStream()), + publicKeys = verificationPublicKeys + ) + clearTextVerificationResult.exception?.let { throw it } + SignedMsgBlock( + content = clearTextVerificationResult.clearText, + isOpenPGPMimeSigned = rawBlock.isOpenPGPMimeSigned + ).apply { openPgpMetadata = clearTextVerificationResult.openPgpMetadata } + } catch (e: Exception) { + SignedMsgBlock( + content = rawBlock.content.decodeToString(), + error = MsgBlockError("[" + e.javaClass.simpleName + "]: " + e.message), + isOpenPGPMimeSigned = rawBlock.isOpenPGPMimeSigned + ) } } @@ -1196,7 +1050,10 @@ object PgpMsg { } MsgBlock.Type.PLAIN_TEXT -> { - val html = fmtMsgContentBlockAsHtml(content.toEscapedHtml(), FrameColor.PLAIN) + val html = fmtMsgContentBlockAsHtml( + content.toEscapedHtml(), + if (block.isOpenPGPMimeSigned) FrameColor.GRAY else FrameColor.PLAIN + ) msgContentAsHtml.append(html) msgContentAsText.append(content).append('\n') } @@ -1204,18 +1061,28 @@ object PgpMsg { MsgBlock.Type.PLAIN_HTML -> { val stripped = content.stripHtmlRootTags() val dirtyHtmlWithImgs = fillInlineHtmlImages(stripped, inlineImagesByCid) - msgContentAsHtml.append(fmtMsgContentBlockAsHtml(dirtyHtmlWithImgs, FrameColor.PLAIN)) + msgContentAsHtml.append( + fmtMsgContentBlockAsHtml( + dirtyHtmlWithImgs, + if (block.isOpenPGPMimeSigned) FrameColor.GRAY else FrameColor.PLAIN + ) + ) val text = sanitizeHtmlStripAllTags(dirtyHtmlWithImgs)?.unescapeHtml() msgContentAsText.append(text).append('\n') } - MsgBlock.Type.VERIFIED_MSG, MsgBlock.Type.SIGNED_MSG -> { + MsgBlock.Type.VERIFIED_MSG, MsgBlock.Type.SIGNED_CONTENT -> { msgContentAsHtml.append(fmtMsgContentBlockAsHtml(content, FrameColor.GRAY)) msgContentAsText.append(sanitizeHtmlStripAllTags(content)).append('\n') } else -> { - msgContentAsHtml.append(fmtMsgContentBlockAsHtml(content, FrameColor.PLAIN)) + msgContentAsHtml.append( + fmtMsgContentBlockAsHtml( + content, + if (block.isOpenPGPMimeSigned) FrameColor.GRAY else FrameColor.PLAIN + ) + ) msgContentAsText.append(content).append('\n') } } @@ -1252,7 +1119,7 @@ object PgpMsg { $msgContentAsHtml - """.trimIndent() + """.trimIndent(), isOpenPGPMimeSigned = false ) ) } @@ -1364,36 +1231,30 @@ object PgpMsg { } } - data class ExtractedMimeContent( - val attachments: List, - var signature: ByteArray? = null, - val html: String? = null, - val text: String? = null - ) { - override fun equals(other: Any?): Boolean { - if (this === other) return true - if (javaClass != other?.javaClass) return false - - other as ExtractedMimeContent - - if (attachments != other.attachments) return false - if (signature != null) { - if (other.signature == null) return false - if (!signature.contentEquals(other.signature)) return false - } else if (other.signature != null) return false - if (html != other.html) return false - if (text != other.text) return false - - return true - } - - override fun hashCode(): Int { - var result = attachments.hashCode() - result = 31 * result + (signature?.contentHashCode() ?: 0) - result = 31 * result + (html?.hashCode() ?: 0) - result = 31 * result + (text?.hashCode() ?: 0) - return result + private fun fmtDecryptedAsSanitizedHtmlBlocks(decryptedContent: ByteArray?): Collection { + if (decryptedContent == null) return emptyList() + val blocks = mutableListOf() + val armoredKeys = mutableListOf() + val content = stripPublicKeys( + stripFcReplyToken(extractFcAttachments(String(decryptedContent), blocks)), + armoredKeys + ).toEscapedHtml() + blocks.add( + MsgBlockFactory.fromContent( + MsgBlock.Type.DECRYPTED_HTML, + content, + isOpenPGPMimeSigned = false + ) + ) + for (armoredKey in armoredKeys) { + blocks.add( + MsgBlockFactory.fromContent( + MsgBlock.Type.PUBLIC_KEY, armoredKey, + isOpenPGPMimeSigned = false + ) + ) } + return blocks } data class ProcessedMimeMessageResult( @@ -1402,16 +1263,6 @@ object PgpMsg { val verificationResult: VerificationResult ) - enum class TreatAs { - HIDDEN, - ENCRYPTED_MSG, - SIGNATURE, - PUBLIC_KEY, - PRIVATE_KEY, - ENCRYPTED_FILE, - PLAIN_FILE - } - private data class FormattedContentBlockResult( val text: String, val contentBlock: MsgBlock diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/security/pgp/PgpSignature.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/security/pgp/PgpSignature.kt index 7307c706b4..4f6ca8a572 100644 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/security/pgp/PgpSignature.kt +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/security/pgp/PgpSignature.kt @@ -72,9 +72,46 @@ object PgpSignature { } } + fun verifyDetachedSignature( + srcInputStream: InputStream, + signatureInputStream: InputStream, + publicKeys: PGPPublicKeyRingCollection + ): DetachedSignatureVerificationResult { + ByteArrayOutputStream().use { outStream -> + return try { + val verificationStream = PGPainless.decryptAndOrVerify() + .onInputStream(srcInputStream) + .withOptions( + ConsumerOptions() + .addVerificationOfDetachedSignatures(signatureInputStream) + .addVerificationCerts(publicKeys) + .setMultiPassStrategy(InMemoryMultiPassStrategy()) + ) + + verificationStream.use { it.copyTo(outStream) } + DetachedSignatureVerificationResult( + openPgpMetadata = verificationStream.result + ) + } catch (e: Exception) { + e.printStackTrace() + DetachedSignatureVerificationResult(exception = e) + } + } + } + data class ClearTextVerificationResult( - val openPgpMetadata: OpenPgpMetadata? = null, + override val openPgpMetadata: OpenPgpMetadata? = null, + override val exception: Exception? = null, val clearText: String? = null, - val exception: Exception? = null - ) + ) : VerificationResult + + data class DetachedSignatureVerificationResult( + override val openPgpMetadata: OpenPgpMetadata? = null, + override val exception: Exception? = null + ) : VerificationResult + + interface VerificationResult { + val openPgpMetadata: OpenPgpMetadata? + val exception: Exception? + } } diff --git a/FlowCrypt/src/main/java/com/flowcrypt/email/ui/activity/fragment/MessageDetailsFragment.kt b/FlowCrypt/src/main/java/com/flowcrypt/email/ui/activity/fragment/MessageDetailsFragment.kt index 0f8d8d6238..0201e65f00 100644 --- a/FlowCrypt/src/main/java/com/flowcrypt/email/ui/activity/fragment/MessageDetailsFragment.kt +++ b/FlowCrypt/src/main/java/com/flowcrypt/email/ui/activity/fragment/MessageDetailsFragment.kt @@ -107,10 +107,8 @@ import org.apache.commons.io.FileUtils import org.apache.commons.io.FilenameUtils import java.io.File import java.nio.charset.StandardCharsets -import java.util.* import javax.mail.AuthenticationFailedException import javax.mail.internet.InternetAddress -import kotlin.collections.ArrayList /** * This fragment describe msgEntity of some message. @@ -484,7 +482,7 @@ class MessageDetailsFragment : BaseFragment(), ProgressBehaviour, View.OnClickLi badges.add(PgpBadgeListAdapter.PgpBadge(PgpBadgeListAdapter.PgpBadge.Type.NOT_ENCRYPTED)) } - if (verificationResult.isSigned) { + if (verificationResult.hasSignedParts) { val badge = when { verificationResult.hasBadSignatures -> { PgpBadgeListAdapter.PgpBadge(PgpBadgeListAdapter.PgpBadge.Type.BAD_SIGNATURE) @@ -1024,7 +1022,7 @@ class MessageDetailsFragment : BaseFragment(), ProgressBehaviour, View.OnClickLi * @return The generated view. */ private fun genPublicKeyPart(block: PublicKeyMsgBlock, inflater: LayoutInflater): View { - if (!block.complete && block.error?.errorMsg?.isNotEmpty() == true) { + if (block.error?.errorMsg?.isNotEmpty() == true) { return getView( clipLargeText(block.content), getString(R.string.msg_contains_not_valid_pub_key, block.error.errorMsg), @@ -1341,13 +1339,13 @@ class MessageDetailsFragment : BaseFragment(), ProgressBehaviour, View.OnClickLi } private fun observeFreshMsgLiveData() { - msgDetailsViewModel.freshMsgLiveData.observe(viewLifecycleOwner, { + msgDetailsViewModel.freshMsgLiveData.observe(viewLifecycleOwner) { it?.let { messageEntity -> updateActionBar(messageEntity) } - }) + } } private fun observerIncomingMessageInfoLiveData() { - msgDetailsViewModel.incomingMessageInfoLiveData.observe(viewLifecycleOwner, { + msgDetailsViewModel.incomingMessageInfoLiveData.observe(viewLifecycleOwner) { when (it.status) { Result.Status.LOADING -> { showProgress() @@ -1420,11 +1418,11 @@ class MessageDetailsFragment : BaseFragment(), ProgressBehaviour, View.OnClickLi baseActivity.countingIdlingResource.decrementSafely() } } - }) + } } private fun observeAttsLiveData() { - msgDetailsViewModel.attsLiveData.observe(viewLifecycleOwner, { list -> + msgDetailsViewModel.attsLiveData.observe(viewLifecycleOwner) { list -> val attachmentInfoList = list.map { if (args.localFolder.searchQuery.isNullOrEmpty()) { it.toAttInfo() @@ -1437,11 +1435,11 @@ class MessageDetailsFragment : BaseFragment(), ProgressBehaviour, View.OnClickLi if (args.messageEntity.hasAttachments == true && attachmentInfoList.isEmpty()) { msgDetailsViewModel.fetchAttachments() } - }) + } } private fun observerMsgStatesLiveData() { - msgDetailsViewModel.msgStatesLiveData.observe(viewLifecycleOwner, { newState -> + msgDetailsViewModel.msgStatesLiveData.observe(viewLifecycleOwner) { newState -> var finishActivity = true val syncActivity = activity as? BaseSyncActivity syncActivity?.let { @@ -1465,15 +1463,15 @@ class MessageDetailsFragment : BaseFragment(), ProgressBehaviour, View.OnClickLi if (finishActivity) { activity?.finish() } - }) + } } private fun observerPassphraseNeededLiveData() { - msgDetailsViewModel.passphraseNeededLiveData.observe(viewLifecycleOwner, { fingerprintList -> + msgDetailsViewModel.passphraseNeededLiveData.observe(viewLifecycleOwner) { fingerprintList -> if (fingerprintList.isNotEmpty()) { showNeedPassphraseDialog(fingerprintList, REQUEST_CODE_SHOW_FIX_EMPTY_PASSPHRASE_DIALOG) } - }) + } } private fun downloadAttachment() { diff --git a/FlowCrypt/src/test/java/com/flowcrypt/email/ParcelableTest.kt b/FlowCrypt/src/test/java/com/flowcrypt/email/ParcelableTest.kt index 62b37c1a00..49b4a3c7b7 100644 --- a/FlowCrypt/src/test/java/com/flowcrypt/email/ParcelableTest.kt +++ b/FlowCrypt/src/test/java/com/flowcrypt/email/ParcelableTest.kt @@ -48,7 +48,7 @@ class ParcelableTest(val name: String, private val currentClass: Class +Delivered-To: default@flowcrypt.test +Received: from mail.flowcrypt.test + by mail.flowcrypt.test with LMTP + id kZaVAc2PAmLnBAAAc/RpdQ + (envelope-from ) + for ; Tue, 08 Feb 2022 15:44:13 +0000 +Received: from localhost (localhost [127.0.0.1]) + by mail.flowcrypt.test (Postfix) with ESMTP id 04129540A18 + for ; Tue, 8 Feb 2022 15:44:13 +0000 (UTC) +To: default@flowcrypt.test +From: Den +Subject: NOT encrypted + signed(detached) +Autocrypt: addr=denbond7@flowcrypt.test; keydata= + mDMEYIucWBYJKwYBBAHaRw8BAQdAew+8mzMWyf3+Pfy49qa60uKV6e5os7de4TdZceAWUq+0 + F2RlbmJvbmQ3QGZsb3djcnlwdC50ZXN0iHgEExYKACAFAmCLnFgCGwMFFgIDAQAECwkIBwUV + CgkICwIeAQIZAQAKCRDDIInNavjWzm3JAQCgFgCEyD58iEa/Rw/DYNoQNoZC1lhw1bxBiOcI + btkdBgEAsDFZu3TBavOMKI7KW+vfMBHtRVbkMNpvunaAldoabgO4OARgi5xYEgorBgEEAZdV + AQUBAQdAB1/Mrq5JGYim4KqGTSK4OESQUwPgK56q0yrkiU9WgyYDAQgHiHUEGBYKAB0FAmCL + nFgCGwwFFgIDAQAECwkIBwUVCgkICwIeAQAKCRDDIInNavjWzjMgAQCU+R1fItqdY6lt9jXU + qipmXuqVaEFPwNA8YJ1rIwDwVQEAyUc8162KWzA2iQB5akwLwNr/pLDDtOWwhLUkrBb3mAc= +Message-ID: <3fe297ba-3e53-7073-ee00-d0e516831264@flowcrypt.test> +Date: Tue, 8 Feb 2022 17:44:12 +0200 +Mime-Version: 1.0 +Content-Type: multipart/signed; micalg=pgp-sha256; + protocol="application/pgp-signature"; + boundary="4S1LR18a3JU2YiTxqubmlY1fr2BkmX171" + +This is an OpenPGP/MIME signed message (RFC 4880 and 3156) +--4S1LR18a3JU2YiTxqubmlY1fr2BkmX171 +Content-Type: multipart/mixed; boundary="OSR6TONWKJD9dgyc2XH5AQPNnAs7pdg1t" + +--OSR6TONWKJD9dgyc2XH5AQPNnAs7pdg1t +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: quoted-printable +Content-Language: en-US + +NOT encrypted + signed(detached) + + + +--OSR6TONWKJD9dgyc2XH5AQPNnAs7pdg1t-- + +--4S1LR18a3JU2YiTxqubmlY1fr2BkmX171 +Content-Type: application/pgp-signature; name="signature.asc" +Content-Description: OpenPGP digital signature +Content-Disposition: attachment; filename="signature.asc" + +-----BEGIN PGP SIGNATURE----- + +iHUEARYIAB0WIQTBZCjWAcs5N4nPYdTDIInNavjWzgUCYgKPzAAKCRDDIInNavjW +zmdoAP0TdFt1OWqosHhXxt2hNYqZQMc6bgQRpJNL029nRyzkPAD/SoYJ4T+aYEhw +11qrbXloqkr0G3QaA6/zk31RPMI/bgI= +=o5Ze +-----END PGP SIGNATURE----- + +--4S1LR18a3JU2YiTxqubmlY1fr2BkmX171-- + + +R62028fcd +V903 +G39b9a301cd8f0262e704000073f46975 + diff --git a/docker-mailserver/maildata_source/flowcrypt.test/default/mailboxes/INBOX/dbox-Mails/u.43 b/docker-mailserver/maildata_source/flowcrypt.test/default/mailboxes/INBOX/dbox-Mails/u.43 new file mode 100644 index 0000000000..bbccc1b7d8 --- /dev/null +++ b/docker-mailserver/maildata_source/flowcrypt.test/default/mailboxes/INBOX/dbox-Mails/u.43 @@ -0,0 +1,91 @@ +2 M1e C620e1b0d +N 0000000000000E01 +Return-Path: +Delivered-To: default@flowcrypt.test +Received: from mail.flowcrypt.test + by mail.flowcrypt.test with LMTP + id Yuh1BQ0bDmJWBgAAc/RpdQ + (envelope-from ) + for ; Thu, 17 Feb 2022 09:53:17 +0000 +Received: from localhost (localhost [127.0.0.1]) + by mail.flowcrypt.test (Postfix) with ESMTP id 12EF822A2C + for ; Thu, 17 Feb 2022 09:53:17 +0000 (UTC) +Message-ID: <46444d4f-7de7-ba21-4c1a-9425240935f8@flowcrypt.test> +Date: Thu, 17 Feb 2022 11:53:16 +0200 +Mime-Version: 1.0 +Content-Language: en-US +To: default@flowcrypt.test +From: Denys +Subject: NOT encrypted + signed(detached) + public key +Autocrypt: addr=denbond7@flowcrypt.test; keydata= + xjMEYIucWBYJKwYBBAHaRw8BAQdAew+8mzMWyf3+Pfy49qa60uKV6e5os7de4TdZceAWUq/N + F2RlbmJvbmQ3QGZsb3djcnlwdC50ZXN0wngEExYKACAFAmCLnFgCGwMFFgIDAQAECwkIBwUV + CgkICwIeAQIZAQAKCRDDIInNavjWzm3JAQCgFgCEyD58iEa/Rw/DYNoQNoZC1lhw1bxBiOcI + btkdBgEAsDFZu3TBavOMKI7KW+vfMBHtRVbkMNpvunaAldoabgPOOARgi5xYEgorBgEEAZdV + AQUBAQdAB1/Mrq5JGYim4KqGTSK4OESQUwPgK56q0yrkiU9WgyYDAQgHwnUEGBYKAB0FAmCL + nFgCGwwFFgIDAQAECwkIBwUVCgkICwIeAQAKCRDDIInNavjWzjMgAQCU+R1fItqdY6lt9jXU + qipmXuqVaEFPwNA8YJ1rIwDwVQEAyUc8162KWzA2iQB5akwLwNr/pLDDtOWwhLUkrBb3mAc= +Content-Type: multipart/signed; micalg=pgp-sha256; + protocol="application/pgp-signature"; + boundary="------------chrtd7EqgP4Fh03MyBfSGtS4" + +This is an OpenPGP/MIME signed message (RFC 4880 and 3156) +--------------chrtd7EqgP4Fh03MyBfSGtS4 +Content-Type: multipart/mixed; boundary="------------j03O76hcVZ8gqZnN5amJtWWf"; + protected-headers="v1" +From: Denys +To: default@flowcrypt.test +Message-ID: <46444d4f-7de7-ba21-4c1a-9425240935f8@flowcrypt.test> +Subject: NOT encrypted + signed(detached) + public key + +--------------j03O76hcVZ8gqZnN5amJtWWf +Content-Type: multipart/mixed; boundary="------------cYP1XRBmv0zCxms3fDpI5Xqq" + +--------------cYP1XRBmv0zCxms3fDpI5Xqq +Content-Type: text/plain; charset=UTF-8; format=flowed +Content-Transfer-Encoding: base64 + +Tk9UIGVuY3J5cHRlZCArIHNpZ25lZChkZXRhY2hlZCkgKyBwdWJsaWMga2V5DQoNCg== +--------------cYP1XRBmv0zCxms3fDpI5Xqq +Content-Type: application/pgp-keys; name="OpenPGP_0xC32089CD6AF8D6CE.asc" +Content-Disposition: attachment; filename="OpenPGP_0xC32089CD6AF8D6CE.asc" +Content-Description: OpenPGP public key +Content-Transfer-Encoding: quoted-printable + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +xjMEYIucWBYJKwYBBAHaRw8BAQdAew+8mzMWyf3+Pfy49qa60uKV6e5os7de4TdZ +ceAWUq/NF2RlbmJvbmQ3QGZsb3djcnlwdC50ZXN0wngEExYKACAFAmCLnFgCGwMF +FgIDAQAECwkIBwUVCgkICwIeAQIZAQAKCRDDIInNavjWzm3JAQCgFgCEyD58iEa/ +Rw/DYNoQNoZC1lhw1bxBiOcIbtkdBgEAsDFZu3TBavOMKI7KW+vfMBHtRVbkMNpv +unaAldoabgPOOARgi5xYEgorBgEEAZdVAQUBAQdAB1/Mrq5JGYim4KqGTSK4OESQ +UwPgK56q0yrkiU9WgyYDAQgHwnUEGBYKAB0FAmCLnFgCGwwFFgIDAQAECwkIBwUV +CgkICwIeAQAKCRDDIInNavjWzjMgAQCU+R1fItqdY6lt9jXUqipmXuqVaEFPwNA8 +YJ1rIwDwVQEAyUc8162KWzA2iQB5akwLwNr/pLDDtOWwhLUkrBb3mAc=3D +=3DyJxA +-----END PGP PUBLIC KEY BLOCK----- + +--------------cYP1XRBmv0zCxms3fDpI5Xqq-- + +--------------j03O76hcVZ8gqZnN5amJtWWf-- + +--------------chrtd7EqgP4Fh03MyBfSGtS4 +Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" +Content-Description: OpenPGP digital signature +Content-Disposition: attachment; filename="OpenPGP_signature" + +-----BEGIN PGP SIGNATURE----- + +wnsEABYIACMWIQTBZCjWAcs5N4nPYdTDIInNavjWzgUCYg4bDAUDAAAAAAAKCRDDIInNavjWzqcL +AQD4dpiZqtqHtLFGgjQNBtFWQbI6AMkW+4e+8XwG3U91jAEA1un53wGLXknEud/Lkpo9lrf2rIne +3EPy13Qc3YmcUgU= +=NX8c +-----END PGP SIGNATURE----- + +--------------chrtd7EqgP4Fh03MyBfSGtS4-- + + +R620e1b0d +Ve54 +Gd9e686050d1b0e625606000073f46975 + diff --git a/docker-mailserver/maildata_source/flowcrypt.test/default/mailboxes/INBOX/dbox-Mails/u.44 b/docker-mailserver/maildata_source/flowcrypt.test/default/mailboxes/INBOX/dbox-Mails/u.44 new file mode 100644 index 0000000000..aa001c2d9c --- /dev/null +++ b/docker-mailserver/maildata_source/flowcrypt.test/default/mailboxes/INBOX/dbox-Mails/u.44 @@ -0,0 +1,1761 @@ +2 M1e C620e1b8f +N 000000000001E945 +Return-Path: +Delivered-To: default@flowcrypt.test +Received: from mail.flowcrypt.test + by mail.flowcrypt.test with LMTP + id D2dJFo8bDmKZCAAAc/RpdQ + (envelope-from ) + for ; Thu, 17 Feb 2022 09:55:27 +0000 +Received: from localhost (localhost [127.0.0.1]) + by mail.flowcrypt.test (Postfix) with ESMTP id 5742822A2F + for ; Thu, 17 Feb 2022 09:55:27 +0000 (UTC) +Message-ID: <15b637c3-dd6f-d768-8f01-e1f82eca43e3@flowcrypt.test> +Date: Thu, 17 Feb 2022 11:55:26 +0200 +Mime-Version: 1.0 +Content-Language: en-US +To: default@flowcrypt.test +From: Denys +Subject: NOT encrypted + signed(detached) + public key + attachment +Autocrypt: addr=denbond7@flowcrypt.test; keydata= + xjMEYIucWBYJKwYBBAHaRw8BAQdAew+8mzMWyf3+Pfy49qa60uKV6e5os7de4TdZceAWUq/N + F2RlbmJvbmQ3QGZsb3djcnlwdC50ZXN0wngEExYKACAFAmCLnFgCGwMFFgIDAQAECwkIBwUV + CgkICwIeAQIZAQAKCRDDIInNavjWzm3JAQCgFgCEyD58iEa/Rw/DYNoQNoZC1lhw1bxBiOcI + btkdBgEAsDFZu3TBavOMKI7KW+vfMBHtRVbkMNpvunaAldoabgPOOARgi5xYEgorBgEEAZdV + AQUBAQdAB1/Mrq5JGYim4KqGTSK4OESQUwPgK56q0yrkiU9WgyYDAQgHwnUEGBYKAB0FAmCL + nFgCGwwFFgIDAQAECwkIBwUVCgkICwIeAQAKCRDDIInNavjWzjMgAQCU+R1fItqdY6lt9jXU + qipmXuqVaEFPwNA8YJ1rIwDwVQEAyUc8162KWzA2iQB5akwLwNr/pLDDtOWwhLUkrBb3mAc= +Content-Type: multipart/signed; micalg=pgp-sha256; + protocol="application/pgp-signature"; + boundary="------------01PuQLLMlZcv9xhr9Cd7idcr" + +This is an OpenPGP/MIME signed message (RFC 4880 and 3156) +--------------01PuQLLMlZcv9xhr9Cd7idcr +Content-Type: multipart/mixed; boundary="------------jTmWmaxlglctxEbGvmwkCZ4k"; + protected-headers="v1" +From: Denys +To: default@flowcrypt.test +Message-ID: <15b637c3-dd6f-d768-8f01-e1f82eca43e3@flowcrypt.test> +Subject: NOT encrypted + signed(detached) + public key + attachment + +--------------jTmWmaxlglctxEbGvmwkCZ4k +Content-Type: multipart/mixed; boundary="------------Q0wl9yuhuMswW8HomAAI95af" + +--------------Q0wl9yuhuMswW8HomAAI95af +Content-Type: text/plain; charset=UTF-8; format=flowed +Content-Transfer-Encoding: base64 + +Tk9UIGVuY3J5cHRlZCArIHNpZ25lZChkZXRhY2hlZCkgKyBwdWJsaWMga2V5ICsgYXR0YWNo +bWVudA0KDQo= +--------------Q0wl9yuhuMswW8HomAAI95af +Content-Type: image/jpeg; name="attachment.jpg" +Content-Disposition: attachment; filename="attachment.jpg" +Content-Transfer-Encoding: base64 + +/9j/4AAQSkZJRgABAQAAAQABAAD/4QBiRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAEAAAEa +AAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAEAAAITAAMAAAABAAEAAAAAAAAAAAAB +AAAAAQAAAAEAAAAB/9sAQwADAgIDAgIDAwMDBAMDBAUIBQUEBAUKBwcGCAwKDAwLCgsLDQ4S +EA0OEQ4LCxAWEBETFBUVFQwPFxgWFBgSFBUU/9sAQwEDBAQFBAUJBQUJFA0LDRQUFBQUFBQU +FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgC6QRvAwEi +AAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMF +BQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn +KCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SV +lpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz +9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQH +BQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBka +JicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKT +lJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz +9PX29/j5+v/aAAwDAQACEQMRAD8A+W/jBqdxq/xV8XXV1K80rarcjc5ycCVgB+AAFchV/Xmd +9c1FpJZJpDcyFpZWLO53HJYnkk9yaoUFBRRRQMKKKKACiiigAooooAKKKKACiiigAooooAKK +KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK9U/Zk+Gvh34v/GPR/CHiW8vr +Gx1NJo4p9PkRJBMsbOgy6MMErjGM8jmumb9kfXx8HLzx19tHn2+vHRv7H+z/ALxkE4tzPv3d +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 +f+ZJ9ceIPjxf+BPHXjGx13T/AB58O7fxNZ6XcQXlvbGy1a3e1g8nf5UjoJIXZZR98fdBzkEV +5hefGXTdTi+JVhq+r+J/EcPiLT7a3sNX1URveiW3kWSMTKZSBGSGX5XYqMYBrxbLeg/OjLeg +/Oh+87v+un4BH3VZeX4H1h8ZPHXg34c/EjxPqdomuX3je98Ow6WtvNFCmnQefp8UTzCQOZHI +jY4QoBuOd2K+UKTLeg/OjLeg/Oh6vm/rq/zbBaRUf62S/RC0UmW9B+dGW9B+dAxaKTLeg/Oj +Leg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBa +KTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/Oj +Leg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBa +KTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/Oj +Leg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBa +KTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/Oj +Leg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBa +KTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/Oj +Leg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgDo +fiF/yP3iX/sJ3P8A6NaufroPiF/yP3iX/sJ3P/o1q5+gQUV9V/s9/suoP7B8S+PLHJ1e7jg0 +Lw9OPmuyR5j3Eyf88kiV32HG7bg4BAbxb46+F7Xwv8cPGGjWscWn2MWrSiGNV2xwRO+5QAAM +KqsMAdAKaTbsgvY89or2/wCOPwp8JfC2STQ7HTPF9xrBMQsddu3g/svVFO0tJAix7ihBO0iR ++2cc1z/in9n7XfCuh6vfS6tol/e6J5X9s6PY3bSXmm72CDzQUCHDsqN5bvtYgHFSnfYfY8wo +r1rxl+zfrfg7StcuT4g8Paxe6FFFPquk6bczNd2UchUB2V4kVlBkQEozY3DNdb8Nv2fY9JfW +LjxXqXh6W/XwpqGqR+GpLiR9QgJsnkglZAnlhhlH279wBBK0N2jKXZN/cm/0EtWkurt+KX6o ++eKsajbraahdQISUilZFLdcAkc1Xq7rf/Iav/wDr4k/9CNMZSor0j9nv4dRfE34q6Ppd5tTR +rYnUNUlfhI7SH55Cx7A4CZ9XFdr+1tq/hXx9rmgeP/C1zbLHr1q8V5pwkUXEEsDmNXeMfMod +AuCRg7DQI8Coruvgl4Asfid8SdL8O6jfSWFrcrK5Nvs86YpGzrDFvIXzJCoRc8ZYdeldFffC +vSvF3xDsfCPhPTdd8J6mIriS+i8b3CfuFijMpcmKBGUbEckFCemM0PS3mF9/I8jor0vU/gF4 +ghvfDkeiX2leLrPxBdNY2GoaHcM8DXC43RP5qRtGwDKx3qBtOQSAa6nwH8CjpfxH+H91d6no +HjHwxfeJbbSL19JneaKOUupaCUSRofmTcQQCrAHDGqiuZpd3b8v81967kylypvsr/n/k/ufY +8Lor6G0r4e6RrGg+C4otDsLu91L4h3mkuk8r26zwBbYJA8sYLomXblQSNxIFcvof7PV/4rt1 +1BfEPhrw5Ff6vc6Tptjql5Or3M8TJujjYQsuB5iANIy5zzWcXzWst/8AKL/9uSNJLlvd7fo5 +L/21v0PIaltbWW9uobeFd80ziNFyBlicAZPvXo/h34B63q1teXOr6tovg+1t9SfR1m164kTz +7xMb4Y1ijkZiuRlsbRuHPNYFz4UvfAvxUPh3UjEdQ0rV1s7gwNuQukoVtpwMjI9Kd1p5/wDA +/wA196FZ6+X/AAf8n9xyVFd18HPhgvxf8Xnw1Hr1hoOp3FtI2nf2jlYry6BGy2DjhGfLYJ4y +uOSQK1/E/wCzx4o8A+AL7xP4vWLwvIl//Z1jpGo5W81CRWxM0SD/AJZx95D8pyACcimI8uoo +qxp+n3OrX9tY2cD3N5cyrDDBEMtI7EBVA7kkgUDK9FfodoHww+JngR/hl4Y8OeE9NPgaXTrI ++MorlLKQz3MrkXglLtvfYmCuzI7DcBivi/46/Du7+GHxU8RaHPp0um2a3k0unJIciSzaRvJd +SCcgqB7ggg4IIoEcDRXuHir4U+DvA/wz0DWb2y8Wazda1pS3sWvabJAmkwXLg4tmBjZmZGAV +/wB4rZzhelc/ov7Pev63otndJqmi22rX9hJqdh4euLp11C8tkDMZEQIUGVRyqu6swGQDxQ/d +cr9N/wAf8n8tdgWqTXX+v1/Tc8vorvrv4P3mk+CrXxDq+v6Ho0l7a/brHRryeX7fdwbiqyIi +RsqhiDt3spIGRxUuo/A/XdM8TeKtDlu9Oa78N6V/bF26SSGN4dkT7YzsyXxMvBAHB56ZHpe/ +S9/lv93UFra3X9dvzPPKK9w8M/s/y6V488IaZq2o+Gtfv9WMMreGft93BKsU1uZo2mlSDCDa +VPyMxyQMcmq138EtFu/hp4B1yDxVpOh6vrpuElsdXkud0zLeGBGi8uB0VFUAtvYHgkZ6U7O9 +l3t8xXVr9NzxipWtZUtY7griGR2jVsjllCkjH0Zfzrs9Y+D+uaBZ+Nbm/ktLdfCeox6XeI7v +umnd5FCw/L83ETsd235Rn2rm7j/kWNP/AOvy5/8AQIKlNSV1/XUtpp2Zl0V7ZZfsoeLfFfh/ +wZrfgmSDxpp3iLbbyy6eCp0q827pILoN/qwgyfMPykDPQrnzLx54Yg8F+MNV0O21my8QRWEx +g/tLTiTbzsANxQkAkA5GehxkcEUyTAoor73+B/x78Kfs9fs3fDl9Y0jUrq58RSak6nR7eJ3k +eK7ZCZN8iEna8ajGeFxxgUAfBFFfcN98Tk/aU+NOrfC/xZ4av7DQtXi8zQjq1mtrqeizR2nm +GTAySrlHOCTkMBnHFfM/wH+GunfFDxbf6fqUt+8dnps+oR6dpIT7dqLx4xb2+/I3nJboxwhw +pNNK9/v+7UV7f13PNqK9A1nwr4Y1XxuukaPc3ngi0jhP2pvG8xdoJlJypNvb7uRtwPLznOat +eJ/gLr/hbTNf1CW+0q/s9It7G9MtjO8gurW7JEVxDlBmPcArbtrAsBjrib6X/r+v01KtrY81 +or1b/hnTW7PzZdX13QPD+nw29lNPqGpXEqwxS3UXnRWxCxM5l8v5mCqVUdWrhfG3g3Uvh/4p +1Dw/q6Rpf2ThXMMgkjcFQyujDhlZWVge4IpvR2e4LVXRkXVrLZXU1vMuyaFzG65BwwOCMj3q +Ku40LwrY+OPi62g6jr1p4Ytb/UJ4Tqt8paCBsuU346BmCru6Ddk8A112vfsp+M/BOl+MtT8X +rbeFtO8OnyUur5js1S5YAxw2mB+9LKd24cKPvY5wCPGaKKKBhRRRQAUUUUAFFFFABRRRQAUU +UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA +BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU +UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUASW9vLd3EUEETzTysEjijU +szsTgAAckk9qua54e1TwzfGy1jTbzSbwKHNvfQPDJtPQ7WAOD611fwWle28bz3ETGOe30PWb +iGRTho5E0u6dHU9mVlBB7EA16L4o8Cwab8K/FOnanO+rXvhHU9bs7K9YshHlX2iw5C7jhSLm +4O0kgGUnrzQI+f6K1PC/hy98X+JNL0PTYvOv9RuY7WBPV3YKM+3Nes+Pfgz4Y0Xx34JTwxq1 +7rfgzX71dOa+n2CUXEVwIblQVUAA5WRMjO2Vc5OapRcnFL7TshOSSk+yv/X4/czxKivoW2/Z +78LP8VPG3h0+MtKudO0zTdVu4LiB7oDTnt3xGLstbAtjPzeUr52nB6Z878NfCW28U+I7zRrX +x54Vhmjnjt7Se6lu44tQd+ghJt8gZ4JlCDJ9Oazi+e1uqv8Ai1+a/wAi5Llvfo7fgn+p59RX +pOlfAjWJrHU73XNY0XwdZWOoS6SZ9duJEE93H/rIolijkZtuRlsBRuHzc13ms/AKHxf4L+HE +vhrU/D9n4gvvD0t0+jzTSx3uqSpdXWXj/dmMnYgUBnUnZgCm2lHm6afim/yQkve5fX8Gl+bP +n+2tZbuQpEu9wjyEZA+VVLMefQAmoq1fDgxqM3/Xndf+k8ldl8HvgtefGpPEFjomrWUXiewt +lurDQrklZdVUbjKsL/d3ooB2nlt3GACQwPOKK9D8d/BLWvhn4J0HW/Es0Gk6prUjNbeHbgMt ++tsBxcyJj92jMNqhsE8kDANeeUAb/wAQHWTx54kZSGVtSuSCDkEea1ZmjapNoer2OpW6xPcW +c6XEazxiSMsjBgGRshhkcg8EcVqfEN1k8f8AiZ0YOjanckMpyCPNbmufoEj6ytP20vJu9B8a +6tZp4g8a2tlLpg0xA1tZ2qNMXkuAfmzJInlJ8vQI2ccA+B/F34jRfFr4n6t4sl006RFqUkTv +ZxTecYwsaIcOVXJOwnoOTXE0U1oFj3qx+L3gvwF8P9f0Pwvd+LNdfU/Ia30/xFDbxWOnSxzJ +KJ0CSuXl+QqCFj4Y5z0q38a/2jYvihpOqzWfi/x7BNq0qS3Hhe+nSTSYcsGdEcTbmQMMopiG +OOeK+eqKT136DXu7Ht/iH436Fq3jj4r6zDaaitr4r0UadYo8cYeOTfbNmUByAuIH5UseRx1x +tN8cfAeoarrHjO7tvENv401Tw5PotxYQQQSae872f2XzxKZVkRSAGKbGwc4NfO1FJq8eXyt8 +tf8AN/0gXuu673+en/yK/phV3W/+Q1f/APXxJ/6EapVLdXDXd1NO4AeVy7BemSc8UwPZPg/8 +ZLT4LfDLxPfaBdND8R9Vu4bO2la2Ei2lkgDvIC4KMXb5CpHZT2r3b4J/H7SdV+Ht1Bq+p6Fp +/iPV7iabxJ4i1maATEGRjlLVkAm/ciOONE3KrbtyBVAf4gooEdhJceDb/wCJGrT3S6pYeD5r +y5e1XS443uYYS7GEBZGVTgbcjI6dRX0Z8MPij4Y8V+LvBnheyuPEet2Wi6drss2t68sSXxgk +0+UfZ4kV5AsaBGYBnPzMeAK+Q6KHrFx7p/1/XoCVnc9+0D49+G/hQ/gyz8D2er6np+ja4+u3 +txrYitp7mR4hB5UaxM4jCx7sNuJLNnAxipvEP7Q9sfGfg/WLbxh498XabpGtQ6tNpXiqWPZG +I3BVY2WZw743DeVXr05r57opptNS6p3+63+SE4ppx6NW/P8AzZ9AaF8b/BuiXGhqtvrslvof +jo+JrVzBDvntH8rzI5F83Cyr5I24JU5OStczqHxa0i70HwhZJbXwl0fxRfa3OzIm1oZnt2RU ++flx5LZBwORgnnHktFKHuOLXS34cv/yKHL37363/AB5v/kmfXPho2/7RKXbyeGPFjaNY+ML7 +V9P1bR7aCRIo7p45HhuxJKqxbQiN5gZgMsMHFeL/ABR1my8Q/tKeJNT064S7sLrxPLLBPGcr +IhuSQwPcEcg15dRU8qXKltFW/CK/9tRV371+rv8Ai3/7cxyO0Tq6MUdTkMpwQfUV0Hjj4ieJ +viVqcGo+KdbvNdvYIEtYpr2UuyRqOFH6k9ySSckk1ztFUIK6T4aeIbbwj8RvCuu3iu1nperW +l7MsQyxSOZXYAeuFNc3RQB+p6/tsfBgqCfGJUkdDpd7kf+Qa+J/2yviz4d+MPxXtNV8MXMl7 +plnpUVj9pkhaISuJZZCVVwGx+9A5A5B7YNeEUUCse6fDD4n+Avhbpl1d2l54w1G/vdMltL3w +5cQ26aVdyyQlCZXEpZkVm3AGLcNo+bvWzJ+05/afw60bTf8AhLvHfhTWNI0ddJTT9BmRtMvf +LUrFI+ZkaIldocBXztyMZr5yool790/6tf8AzYR91pr+tv8AJHrHi7xz4J+IfhHRp9XGvab4 +x0fRotIiSyghmsLwQgrC7s0ivEduAwCvnGRjNdfrPxv8CatD4s8RLb+IYfGPiPw2uiXNgbeB +tPjlCQoZlm80SbSIAdpj4LHk188UUS97m/vXv873++7Bacvla3ytb7rI9ug+N2hRftBeGfHR +tNQ/sjTLKwtpoRHH57NBYpbuVXftILqSMsOMZweKzh4l8O/ET4a+FvCkltr/APwmejPc2mkw +aZbRT298bifzEVyZFdGDMw+VXzx0ryKinvuG1rdLL7lY+iv2nfGJbwx4Y8PXdk+m+Lr1Y9X8 +WW8jguL1IVtoQ4H3WMcbSsp5BnOcHivCbj/kWNP/AOvy5/8AQIKy6Km2rl3f/DfcrJeSHslF +bJf1971Ok8MfEjxR4L0nWtM0LXb7StP1qH7PqFvaylEuI/Rh+JGRzhmHQkHm6KKYBX0p4R8V ++APE3wt+FtlqvxEfwJ4j8DXl7cRrLoM2opO8t0s8bjYdoC7FBDdTnjA5+a6KBH2wfix8Ov8A +hdul/FbW/i7B4g1LSLOW3h0bTfCV3ZrKhhlQIru7AHdMzZYnnjIGMfJPgf8A4Rkau58U3Ws2 +VkI8w3GhwxSzRygjBKSOgIxnowOcc1ztFNOwWPqCL9pjwpBqthCreKJDZeH5NHh8azxW8muR +yNcCVZVQybQFQGIDzdwVjhh0qhf/ALRvhnVfixZ6jq6a/wCI/B9x4bj8Oa219HEmoXyrlvOC ++ayhxII3GXP3TzXzdRRfZ+v43v8A+lMLb2/q1v8A5FH0d4U/apkb/hNbbV9X8TeFU1/WBrNv +qnhGRRcWzBTGLd42kjDxeXsAG8FTGOteI+PvEkni3xfqeqyatqmuefJ8l/rTBryVAAqmTDMM +4AGAxxjrXP0VHKtH2VvuSX5Iq+/n/wAP+ZqeKv8AkZ9Y/wCvyb/0M1oeJ/iR4o8aaTouma7r +t9qun6LD9n0+3upS6W8foo/ADJ5wqjoABzdFUSFFFFAwooooAKKKKACiiigAooooAKKKKACi +iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo +AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi +iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOt+FmsWOi+MY31O4+x2N3ZX2my +3RQuIBc2k1sJSo5KoZgxAycKcAmvWviX42tV8HeK0uJdIjvtfnuJhaaVq8epGa5ubuzubm4z +GAIIQLCJUjcl8yHOcEj54ooEd/8ABf4hWHwt8SX/AIkmtpLrWbbTp49GXyI5YY7yRdiySq5w +VVGkOMNltoxjJrsbT9oxNU8GNpmv6Lp0V/pesWet6IdB0e00+BZo2xOswhVOHj2/NtY5jXt0 +8PoquZpp9rfg7r8Rcqaa7/qrfl+bPfP+Fq/Dmw+KXiHxBZJ4nm0fxZZ6la6vDPbW6T2X2vkG +3xKVl2MT9/ZkelXvhh8bvBfw20u50fStW8YaFBFrKajHrGl2Ft9s1GARoDa3K+euxAyuRtkY +fOcqTXzrRUw9y3L0SXyTuvuf/BuOXv35urv82rP71/wLHvHiX4veBvifZ6rp3iqHxBpdtH4i +1DW9JvNIgguJPLu2VnhmikkQAgxoQ6ucZIweKr+H/jb4f0Xxt8I9VNrqT2Xg/T2s71RFH5kp ++0XMgMY34I2zJ94ryG9ifD6KlRSiorZW/BWX4MbfM231v+Lu/wATX0Bg+q3DDobS7P8A5Akq +npOrXug6paalpt3NY39pKs0FzbuUkidTlWVhyCD3qpRVbDbu7mz4v8Y634/8RXmu+ItTuNX1 +e7YNNd3LbnbAwB6AAAAAYAAwKxqKKBH7HfC39mP4eX3wz8JXGr+AvDdzqs2kWkl5NPpNvLJJ +MYULszlDuYtkk5OTzXUf8Ms/Cz/onnhX/wAEtt/8RXc/Dr/kn/hr/sGW3/opa6GqnJzk5PqZ +RjyRUV0PJf8Ahln4Wf8ARPPCv/gltv8A4ij/AIZZ+Fn/AETzwr/4Jbb/AOIr1qipKPJf+GWf +hZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4 +ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4i +vWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr +/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RP +PCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf ++GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+ +Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJb +b/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0 +Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+F +n/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqK +APJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCC +W2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/ +AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWf +hZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4 +ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4i +vWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr +/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RP +PCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf ++GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+ +Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJb +b/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0 +Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+F +n/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqK +APJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCC +W2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/ +AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWf +hZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4 +ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4i +vWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr +/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RP +PCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf ++GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+ +Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJb +b/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0 +Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+F +n/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqK +APJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCC +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 +/wCNeHa/4o+IGj6x4T8Npd+Gn1vWWvHkvm0+4+zJHCiMAIvP3bjuIJL49qp658X/ABBoEPjH +S57bTpfE2nX1ha6VGsUghukuzGkTsu/ccP5wOGHEdC1dv63t+Y/M99/4Sy7/AOecH/fJ/wAa +P+Esu/8AnnB/3yf8a+c9Y+LXjbTYfGniGG30K48M+FtSktLmwaGZL2aGNY2kkSXzCgYByQpT +nbjPNaPgq98Tar8afHbWerWY8OwXFgZLO8tpZZtrWaNiFxKqxAk5IKNk5oj71vNX++1vzB6X +Xr+G573/AMJZd/8APOD/AL5P+NH/AAll3/zzg/75P+NeEeOJ/E8vx28O2Xh3VbOw3aBeTTR6 +lby3MDgXEAyI0ljw/PDEnAyMc1zeqftEa8fE+qx6RpP27TdL1b+y5LCLRdQnuboI6pNKlzGp +gj2ksQjZyF5K5FEfe5bbu/4O35hL3b36W/FX/I+m/wDhLLv/AJ5wf98n/Gj/AISy7/55wf8A +fJ/xrw7SPiZrd/8AFPUfD2pXGk6DbQzyRWmmXtpOt7qEKx5E8E5cROCTyiqxUKckGo/2aJ/F +F98MtGvdc1Wy1Gxnti1sEtpVulPmNkzSvKwkP0VaFqr+n43/AMv8weja/r+v6R9G6Hqz6okv +mIqvGRyvQg5/wrUrnPCH/L3/AMA/9mro6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigDH8V/8glP+vu1/wDSiOlf7tJ4r/5BCf8AX3a/+lEdK/3aAOf+HX/JP/DX/YMtv/RS +10Nc98Ov+Sf+Gv8AsGW3/opa6GgAooooAKKKKACiiigAooooAKKKKACiiigAqG9tUvrOe2kL +COaNo2K9QCMHH51NRSaUlZjTad0efTfBHQ5fAHhvwrHeanap4cEP9l6rbzql7bPGhRZA4XaS +VLAgqVIYgrWx4C+Hen+AINQNvd32qahqVx9qv9U1OUSXN1IFCqWKqqgKqhQqqFAHArqaKq7b +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 +Un+NH/CWaH/0GdP/APApP8aANaisn/hLND/6DOn/APgUn+NH/CWaH/0GdP8A/ApP8aANaisn +/hLND/6DOn/+BSf40f8ACWaH/wBBnT//AAKT/GgDWorJ/wCEs0P/AKDOn/8AgUn+NH/CWaH/ +ANBnT/8AwKT/ABoA1qKyf+Es0P8A6DOn/wDgUn+NH/CWaH/0GdP/APApP8aANaisn/hLND/6 +DOn/APgUn+NH/CWaH/0GdP8A/ApP8aANaisn/hLND/6DOn/+BSf40f8ACWaH/wBBnT//AAKT +/GgDWorJ/wCEs0P/AKDOn/8AgUn+NH/CWaH/ANBnT/8AwKT/ABoA1qKyf+Es0P8A6DOn/wDg +Un+NH/CWaH/0GdP/APApP8aANaisn/hLND/6DOn/APgUn+NH/CWaH/0GdP8A/ApP8aANaisn +/hLND/6DOn/+BSf40f8ACWaH/wBBnT//AAKT/GgDWorJ/wCEs0P/AKDOn/8AgUn+NH/CWaH/ +ANBnT/8AwKT/ABoA1qKyf+Es0P8A6DOn/wDgUn+NH/CWaH/0GdP/APApP8aANaisn/hLND/6 +DOn/APgUn+NH/CWaH/0GdP8A/ApP8aANaisn/hLND/6DOn/+BSf40f8ACWaH/wBBnT//AAKT +/GgDWorJ/wCEs0P/AKDOn/8AgUn+NH/CWaH/ANBnT/8AwKT/ABoA1qKyf+Es0P8A6DOn/wDg +Un+NH/CWaH/0GdP/APApP8aANaisn/hLND/6DOn/APgUn+NH/CWaH/0GdP8A/ApP8aANaisn +/hLND/6DOn/+BSf40f8ACWaH/wBBnT//AAKT/GgDWorJ/wCEs0P/AKDOn/8AgUn+NH/CWaH/ +ANBnT/8AwKT/ABoA1qKyf+Es0P8A6DOn/wDgUn+NH/CWaH/0GdP/APApP8aANaisn/hLND/6 +DOn/APgUn+NH/CWaH/0GdP8A/ApP8aANaisn/hLND/6DOn/+BSf40f8ACWaH/wBBnT//AAKT +/GgDWorJ/wCEs0P/AKDOn/8AgUn+NH/CWaH/ANBnT/8AwKT/ABoA1qKyf+Es0P8A6DOn/wDg +Un+NH/CWaH/0GdP/APApP8aANaisn/hLND/6DOn/APgUn+NH/CWaH/0GdP8A/ApP8aANaisn +/hLND/6DOn/+BSf40f8ACWaH/wBBnT//AAKT/GgDWorJ/wCEs0P/AKDOn/8AgUn+NH/CWaH/ +ANBnT/8AwKT/ABoA1qKyf+Es0P8A6DOn/wDgUn+NH/CWaH/0GdP/APApP8aANaisn/hLND/6 +DOn/APgUn+NH/CWaH/0GdP8A/ApP8aANaisn/hLND/6DOn/+BSf40f8ACWaH/wBBnT//AAKT +/GgBviv/AJBCf9fdr/6UR0r/AHaoa5rmnarZxWtjf215cNdW7CK3lWRtqzIzEgHgAKTmr7/d +oA5/4df8k/8ADX/YMtv/AEUtdDXJ+DZHj+GvhnYxQvYWUe4dQGWNTj3wTXQf2TB/fuf/AAKl +/wDiqALlFU/7Jg/v3P8A4FS//FUf2TB/fuf/AAKl/wDiqALlFU/7Jg/v3P8A4FS//FUf2TB/ +fuf/AAKl/wDiqALlFU/7Jg/v3P8A4FS//FUf2TB/fuf/AAKl/wDiqALlFU/7Jg/v3P8A4FS/ +/FUyWwtINnmXE8e9gi77yQbmPQD5uT7UAX6Kp/2TB/fuf/AqX/4qj+yYP79z/wCBUv8A8VQB +coqn/ZMH9+5/8Cpf/iqP7Jg/v3P/AIFS/wDxVAFyiss3ElpYarsdmNru8syHcR+7VhknryT1 +qwNJhxzLdMe5+1SDP5NigC5RVP8AsmD+/c/+BUv/AMVR/ZMH9+5/8Cpf/iqALlFU/wCyYP79 +z/4FS/8AxVH9kwf37n/wKl/+KoAuUVQewtI5Y4mnnWSTOxDeSAtjrgbucUkllZwyxRyXMyST +ErGjXkgLkAkgDdycAnjsKANCiqf9kwf37n/wKl/+Ko/smD+/c/8AgVL/APFUAXKKp/2TB/fu +f/AqX/4qj+yYP79z/wCBUv8A8VQBcoqgthaPM8SzztKgBdBeSblBzgkbuM4P5Gh7C0jljia4 +nWSTOxDeSAtjrgbucUAX6Kp/2TB/fuf/AAKl/wDiqP7Jg/v3P/gVL/8AFUAXKKp/2TB/fuf/ +AAKl/wDiqP7Jg/v3P/gVL/8AFUAXKKp/2TB/fuf/AAKl/wDiqP7Jg/v3P/gVL/8AFUAXKKp/ +2TB/fuf/AAKl/wDiqP7Jg/v3P/gVL/8AFUAXKKp/2TB/fuf/AAKl/wDiqP7Jg/v3P/gVL/8A +FUAXKKp/2TB/fuf/AAKl/wDiqDpMOOJbpT2P2qQ4/NsUAXKK47xx8RYfh74Ej8R39tLeRKIR +JHAQGJfAyM8dTXlH/Danhv8A6AGq/wDfUf8A8VQB9EUVznw88a2/xE8IWPiC0t5bW2vDJsim +ILjZIyHOOOqn8MV0dABRVe/1K00qATXt1BZwltoknkCLn0yT14NZ/wDwmfh//oO6Z/4GR/40 +AbFFNilSeJJYnWSN1DK6HIYHoQe4p1ABRRRQAUVna94i0/wzZLd6lcfZrcuIw+xn+YgkDCgn +sa5//hb/AIR/6C3/AJLTf/EUAdjRUVpdRX1rDcwNvhmRZEbBGVIyDg+1IlxuvJYNuNkaPuz1 +3Fhj/wAd/WgCaisfxD4u0jwoIDqt39l8/d5f7t33bcZ+6D6j86raJ8QfD/iK8FrYakk1wwJW +NkeMtjrjcBn8KAOhooooAKK5vWfiL4e8P6hJY3+ofZ7qMAtH5MjYyMjkKR0Nb9pdRX1rDcwN +vhmRZEbBGVIyDg+1AEtFFVNO1a01X7T9kmE32adraXAI2yLjcvPpkUAW6Kqadq1pqv2n7JMJ +vs07W0uARtkXG5efTIqV7jbeRQbc743fdnptKjH/AI9+lAE1FBIAJJwBVTStWtNbsY7yxnW4 +tpCQsi5wcEg9fcGgC3RRUNpcfaomfbtxI6Yzn7rFc/pQBNRWeviHTG+2kahbAWTbLlmlAEJ9 +GJ6elJZeJdI1K4EFpqtldTsCRFBcI7HHXgHNAGjRRVd9RtUv47Fp0F3IhkWHPzFQQCfpyKAL +FFFFABRWfrviCw8NWP2zUp/s1vvCb9jNyegwoJ7Vz3/C3/CP/QW/8lpv/iKAOxorP0LxBYeJ +bH7Zps/2m33lN+xl5HUYYA96uXNxHaW8s8rbIokLu2M4AGSeKAJKK47/AIW/4R/6C3/ktN/8 +RWp4f8caJ4puJYNLvftUsab3XynTAzjPzKPWgDdoqF7jbeRQbc743fdnptKjH/j36Vn+IfFm +leFY4X1S6+yrMSIz5bvkjr90H1oA1qK47/hb/hH/AKC3/ktN/wDEV0+l6pa61p8N7ZS+dazD +KSbSuRnHQgHtQBaooooAKK5S8+KnhawuZLebVkEsbFWCQyOAR7qpBotPip4WvrmO3h1ZTLIw +VQ8MiAk+5UAUAdXRRRQAUU2WVIInlldY40UszucBQOpJ7CueXxtDOPMtNK1S+te11BbfIw9V +3EMw9wDQB0dFU9K1e01u0FzZzCaLcVPBDIw6qwPKkeh5q5QAUUUUAFFFFABRRRQAUUUUAFFF +FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA +UUUUAFFFFABRRRQAUUUUAFFFFABSP92lpH+7QByfhD/kmvhb/r00/wD9pV1tch4OkV/hj4Wk +Vg0ZsrB94ORtxEc59MV19AHhF3q15dS+Lf7PvvE9x4oh1W4h0+Gz+0SWigEeWrAgwBM5znoP +wrrPEnxMvPD+uQwrc2F7BHcW1reWkNncNJE0jIrf6QCYlILhgjAEjvk12+heHrbw8NQ+zPK/ +268kvZPNIOHfGQMAcccZyfesHUvhfY6je3Uo1LUrW0u7uO+uNPhkj8iWZGRgx3IWGTGhIVgD +igCLS/FWr3174iu7i50ux0PSbme1PmxP5n7tA3mM+/aF+bkbeg61haf8YJ7SLxA+pLBqEena +aNShmtLOezEo3MuzbNknkLhwSDn2rtB4H01tK17TpvNntNamlnukkYcGRQrBSAMDCjHU+9ZZ ++HFrbQ6rPd3Wo+JZrnTmsDb38sQ3xcsIwyomCSfvE5560AUU8XeJtG1mSy1qPSpC2j3Opoll +HIpjeJox5bMzncPn6gDp0po8Y65a+ENP1TUdS0a0u9TEMlpHHp9xNw0Zcp5aSF5GHHK4GAci +qHhTwJql14guLvVf7Wt7AaTLpcceqXkE8+JGQkqYgVAATqxLEnnpXXX3gKzu9M0S1ivL2xm0 +dVSzvbZ1EyAR+Wc7lKnK9cr+VAHLWPxI1rXtK8OrYRWFtqeo6jdafLLcwytChgWViyx7kcbv +K6MQRnB6VneJfEWr64mlWEsdla+INL8TQWryBXe2cm3eRJAuQ2CrjK5yCOta+qfDKeGbwza6 +de6gIbfU7q+vNSE0S3CNLFKS/wB0KcyOBgKeGPGK3rT4cabaW9on2i8mng1EarJdTShpbicK +UzIduMbSBhQMbRjFAEvgvxBqGrS6zYatHbLqWlXYt5ZLMMIpVaNJEdQxJXhwCCTyOtafiS31 +O60K9i0a7jsdUaM/Z55o96K/bI9D074znBpNM8P2+lapq9/C8rTanMk8yuQVVliWMbcDgYQd +c85rToA8h/4Xjd/2f/Y39hzf8LC837J/Y20+X5mM+dv6eTj5s5/HHzV6X4YtdUs9BsodavY9 +Q1VU/wBIuIoxGjMSTwBjgZxnAzjPerf9nWn2/wC3fZYftvl+T9p8seZsznbu67c846VYoAx7 +v/jx8Qf8C/8ARCVsVj3Pz2OvbfmyXAxzn9yo/mMVrqwdQykMpGQR0NAHADxM/gnxL4uh1W6m +msBa/wBt2XnSFisYXZNEpPQB1UhR/wA9RWLceKta8EeFNMjn1S2n197STUby0vbW5u5SWYtt +BjP7pFJKAsCo2+xrufFngTS/Gc+lzagJd2nziePynCiQZBMb8HKEqpI4ztHNQ+I/ANt4h1J7 +9dS1DS7qW1+xTvYugE0OWIVg6MOCzYIweTzQBlW3jHWfEOv6VaaSLC0tbjSYNWmN5E8rlZHI +2LtdQCAOpz9KyNM8YNpfgqyksptO0m7udRvkS2azuLvzQlxKGKRxuXzwCx5AyeBwK7bR/Btj +oeoW15byTmS302LS0V2BXyoySpPGd3PJzj2rM/4VjYRW2nraajqOn3VjLdSw3lvJH5oFxIZJ +UIZCpUsRjK5G0c9SQDjz4k1bxnqXw91XTVsrPUbiDUQwukkeFSuxHIUFWOSpwCR15q3H4juf +EXifwaL+GKDUdP1u+sbkW5JiZ0s5fmTPOCGU4PIzjtXQj4WWUOn6Nb2mq6pYzaV5/kXkEkfm +t5zbpN26Mqcn0UYq3B8ONLtLbSo4JbuKbTr1r9boS7pppWDCQyMwO7eGYHpweMYFAHJ6H8W9 +T1zWLF4LDztKu75rQQx6ddebFHvZBM05XyiMgEqOgP3iQa6TxdqM+i+NfCV011JDply9zY3K +GQiIu0XmRMw6ZBiYA/7Rq1pPgKDQtTNxYapqVrZGZ5/7KWVDah3JLYBQsASS20MBk9Kt+NPB +1j460KTStQeeKB3SQSWzhJEZTn5SQcZ5B46E0AeaXHxA1vUvCHiKCaY2uo6iIJdEaEeXIttd +y+TDgjB3r94nqNw9q2ZfFUvh3UPE8On2Nu+oyaxZ6bbySu+JZJLeHEkxyc7QT90DIUDqc11m +reAtK1jWtC1OVZIptGLfZ44WCxsCBhXGOQpVWA4wRUd98PdL1Iaz57XBbVLmK8d0k2vBNGiI +jxMACpHlqec857HFAHmfiOfXLE/EmS9urZNUWy0oLcaerxJgyygcFiw6kH5ua6PxLB4lHjLw +agvdKfV9moYn+xyrbhNsXHl+aWz77vwrfh+GNgbTXIb7UNR1Z9YhjguZ7yVPMCx7tm0oigEF +yc464q7YeCYrXUNMvrjVNR1O70/zxFLePGSRKFDBtqLwNgxjHU5zQBJ4H8RXHiXQjcXkMdvf +QXM9ncpCSY/MikaNiuecHbkZ9a36zNA8P2/hy3uobZ5XW4u57xzKQSHlkLsBgDgFjj27mtOg +AooooAKKKKACiiigArlPiFd+JdKsbXU/DkUd+LOQyXmlsvz3cOORG3UOOoHf36Hq6KAPKP8A +hat58SLyy0vwFuiZgk+pardwfJYJnmLa3DSnBGOnoepX1eq9np1pp3nfZbWG286QzS+TGE8x +z1ZsdWPqeanZgilmIVQMknoKAPH/AI/6Rf678DvsWm2VxqF5J9lKW9rE0sjYKk4VQScAE18d +y/Czx008ccfhHXE3KzEtpM7dCPYetfo1o4K6RYgjBECAg/7op+xhrFvLg+WsEqlvQloyB+h/ +KgDzn9njw/rmjfB3w9Z3qjTbuL7R5lteWTpKmbiUjKlwRkEHp3r0yNXRAsjK8g4LIu0H8MnH +51a81fWoGOWJ96APP/E/ifUP7Yg0a68GwamlzLIbMT3kRWYRjJfaykKdpzz61V8JeHdMvPGX +imO70SxjESWTLatBG6wM0JLqvGOvUjrjNdlqfh4al4h0XVDOYzpvnYi258zzEC9c8YxmjTPD +w03xDrWqCcyHUvJzFtx5floV655znNAGrFEkESRRIscaKFVEGAoHQAdhXKfEDQ5LnS77VIdX +1Swls7OR0hsrkxxMyqzAsAOfTr0rraqazpw1fSL6xMnlC6geAuBnbuUjOO/WgDlfB1pBoWiW +Otal4hvpBeWkRddUvQYFd1DfLuxg9cc9M11tjqNpqkHnWV1Ddw52+ZBIHXPpkVn/APCMWs/h +SLQbr/SLZLVLZnxgnaoAYdcHIBHoauaNpFtoOl21haJst4ECKO59SfcnJP1oAuVxnh1zH8QP +HDKhkZRZEIpGWPkngZwPzrs6yNM8PDTfEOtaoJzIdS8nMW3Hl+WhXrnnOc0AZ/gy98SXEt+v +iDThaKZDJbuksbgKf+WZ2knj1781txf8hi6/64Rf+hSVcqtHC66lPKR+7aGNQc9SGcn+YoA8 +y+NiTSax4RW3t4rudp5BHbzAFJW3RYVgSBgng8965nV4dW0LXtA1bW/D1joVlb3a5fS0Rd/I +OG2s2eFOM44zXp/jzwG/jSXTJYtTfTJrFndJEj3nJ2kEEMuCCo5rFtvhDPcX1tLrXiW91q3g +cSLbzBgCfqztx64oA9HooqK7jlmtZo4Jvs8zIypLtDbGI4bB64POKAOQvP8Aie/E+yt/vW+j +WrXDjt50nyqD/wAB5FdpXHeGfBOq6Fr1zqNx4h+3i7Ia6iNkkZlIUhfmDHGM9BXY0AFee+Ff +EOneF9U8UWGrXcen3DanNeIJ22h4nAKlT36dBXoVcHqPgDXdVkVrvxPbXWw5j8/RIJNn0JoA +tfC8PPper3+xkg1DVLi7g3jBaNsAHH4Guml/5DFr/wBcJf8A0KOqfhzS9V0uOZdT1kavu2+V +i0SDywM5GF654/Kr8kLtqUEoH7tYZFJz0JZCP5GgDnviTq8umeGJYLRXkv79haQJEu5yW+8Q +PZQ344rE8GpJpL3WkaGwjJK3TW2pLlrUFANjbG5ZmGeD8oPIycHu7nSrW8vrS8mhElzab/Ic +k/JuGG46dB3rDv8AwZ9sudi3RisHma4ZEBWZGYkyBJAQQrk/MDnvjHGADY0TVRrOnJc+UYW3 +NG8ZYMFZWKsAw4YZBwR1p2k/8er/APXeb/0a1Wbe3jtYI4YY1ihjUIiIMBQOAAKh0+F4Ld1c +bWM0rYz2MjEfoRQBzEFvcAeJ/wDik7dy84McbSIBqAz95iRgf3ue5PfNR+GLa6j1eNpfAllo +SbW/02CeBmXjphFB56VqR+Edg1of2tqI/tKQSbkm2tb4OcRnHHp9AB2pmi+C/wCxdQS6/t3W +r7aCPJvbzzIzkY5XAoA6OsS7l08eJ7ItcLHeIjxeWIzhy4BUF+gOIzgHk1t1j3Oi3Vx4ht78 +3kTWkK4W0eAkq2CC4YOBuwcZKnAzjGTQBkSfCTwnLIztpWWYkk/aZeT/AN911dtbx2lvFBEu +yKJAiLnOABgDmuUk+EnhOWRnbSssxJJ+0y8n/vuurtreO0t4oIl2RRIERc5wAMAc0AYXj7Vt +R0Twte3el2/n3SL1HPlL3fHfHp+PQVy1j4j1CL4e2l1f6jJ4ew0ax6nLt1BrgEEklQOMn15G +K7nXrG/1Gw8nTtR/sucsCZzbrNlecrtbjmuatvB3ieygSC38YRwQoMLHFo8Kqo9gDxQBq+Bt +T/tbRDP/AGz/AG7+9Zftf2X7P2Hy7MdvX3rduXkit5Xii86VUJSLdt3nHAyemfWqehWV/YWP +lalqX9q3G8nz/IWHjsNq8fj71cuUklt5Uil8mVkISXbu2HHBweuPSgDzXwj4o1y517xNbXkc +lpZxK8zSyTLc/YZMZ2gjhh1OwdMY9a1fh/4h/tjUbmP/AISz/hIdkW7yf7N+zbOR827Az6Y9 +6fb+DfE9p5nkeL44fNcyP5ejwLvY9WODyT61s+H9I1vTriV9U1/+14mTCRfYkg2nPXKnn6UA +aMv/ACGLX/rhL/6FHXPfELWv7Gt7Jv8AhI/+Ed8xmG/7D9q83AHGMHbj+tdJJC7alBKB+7WG +RSc9CWQj+Rql4h03VdRjhGl6z/Y7ISZG+ypPvHYYY8YoA81j8cqsilviVvUEEr/YOMj0ztr0 +ifVJtZ8NPfeHpYp5pYy1s86sEYg9CDgjoRzWN/wjHi7/AKHb/wApMP8AjXW2ySRW8SSy+dKq +APLt27zjk4HTPpQByPhbxXrfifVlDaUdM0+1Qx3ZuQd7T/3U9ge/p+FdlRRQB538LNWmj8Ca +bb2enz3c6ea0jMpijx5rnh2GGOOMLnnglayfiTcJLpGvXR1a6JnigjTSZ4mVbZ1ljyc9AxAY +j1BYgsBx0dn4D1vRYPsmj+KnsNORmMVtJYRzGMEkkbicnkmi78B63rMP2TWPFT3+nOytLbJY +RxGQBgwG4HI5AoAveMPEeqeFrm3vY7D+0NG2FJ0gH76OQn5W/wB3oP8AIrS8LXGrXmkrcaxB +FbXUrs6wR5zGh+6rf7XrWvRQBzvjZRPb6XaSc2t3qEUNwOzJhm2n2LKo/Go7rW0ih1pV16yt +XhbZEJYgptcKMhlJBbPUH34zW1q+lQa3p01nchvKkA+ZDhkIOQynsQQCD6iudl0LXPPiaSDQ +9Umh4j1C8iZZ1HYkBSCfoV/CgCewZI/G5Nsf3d7pq3E+FK5dXCoxB6EqzD/gI9Kxv+Er8Vf2 +l/YX9lRf2r5u/wC3YP2X7Pn7/rntjP68V1ehaE2ltc3Nzcm91G6IM9wV2jA+6ir/AAqMnA56 +kk81q0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF +FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUj/dpaR/u0AcB8 +G7j+zfg94Isbu1vPPg0KxhmUWUsi7lt0DDcFIYZB5BINdNjSf+gTN/4Kpf8A43V34bf8k68L +f9gq1/8ARK10dVOTnJyfUmMVCKiuhx+NJ/6BM3/gql/+N0Y0n/oEzf8Agql/+N12FFSUcfjS +f+gTN/4Kpf8A43RjSf8AoEzf+CqX/wCN12FFAHH40n/oEzf+CqX/AON0Y0n/AKBM3/gql/8A +jddhRQBx+NJ/6BM3/gql/wDjdGNJ/wCgTN/4Kpf/AI3XYUUAcfjSf+gTN/4Kpf8A43RjSf8A +oEzf+CqX/wCN12FFAHH40n/oEzf+CqX/AON0Y0n/AKBM3/gql/8AjddhRQBzMWp20Eaxx2l7 +Gi8BV06cAfhsqqf7KYknSZiTySdKl/8AjddhRQBx+NJ/6BM3/gql/wDjdGNJ/wCgTN/4Kpf/ +AI3XYUUAcfjSf+gTN/4Kpf8A43RjSf8AoEzf+CqX/wCN12FFAHH40n/oEzf+CqX/AON0Y0n/ +AKBM3/gql/8AjddhRQBx+NJ/6BM3/gql/wDjdGNJ/wCgTN/4Kpf/AI3XYUUAcfjSf+gTN/4K +pf8A43RjSf8AoEzf+CqX/wCN12FFAHH40n/oEzf+CqX/AON0Y0n/AKBM3/gql/8AjddhRQBx ++NJ/6BM3/gql/wDjdGNJ/wCgTN/4Kpf/AI3XYUUAcfjSf+gTN/4Kpf8A43RjSf8AoEzf+CqX +/wCN12FFAHH40n/oEzf+CqX/AON0Y0n/AKBM3/gql/8AjddhRQBx+NJ/6BM3/gql/wDjdGNJ +/wCgTN/4Kpf/AI3XYUUAcfjSf+gTN/4Kpf8A43RjSf8AoEzf+CqX/wCN12FFAHH40n/oEzf+ +CqX/AON0D+ylII0mYEcgjSpf/jddhRQBzf8AbEP/AD73/wD4AT//ABFH9sQ/8+9//wCAE/8A +8RXSUUAc3/bEP/Pvf/8AgBP/APEUf2xD/wA+9/8A+AE//wARXSUUAc3/AGxD/wA+9/8A+AE/ +/wARR/bEP/Pvf/8AgBP/APEV0lFAHN/2xD/z73//AIAT/wDxFH9sQ/8APvf/APgBP/8AEV0l +FAHN/wBsQ/8APvf/APgBP/8AEUf2xD/z73//AIAT/wDxFdJRQBzf9sQ/8+9//wCAE/8A8RR/ +bEP/AD73/wD4AT//ABFdJRQBzf8AbEP/AD73/wD4AT//ABFH9sQ/8+9//wCAE/8A8RXSUUAc +3/bEP/Pvf/8AgBP/APEUf2xD/wA+9/8A+AE//wARXSUUAc3/AGxD/wA+9/8A+AE//wARR/bE +P/Pvf/8AgBP/APEV0lFAHN/2xD/z73//AIAT/wDxFH9sQ/8APvf/APgBP/8AEV0lFAHN/wBs +Q/8APvf/APgBP/8AEUf2xD/z73//AIAT/wDxFdJRQBzf9sQ/8+9//wCAE/8A8RR/bEP/AD73 +/wD4AT//ABFdJRQBzf8AbEP/AD73/wD4AT//ABFH9sQ/8+9//wCAE/8A8RXSUUAc3/bEP/Pv +f/8AgBP/APEUf2xD/wA+9/8A+AE//wARXSUUAc3/AGxD/wA+9/8A+AE//wARR/bEP/Pvf/8A +gBP/APEV0lFAHN/2xD/z73//AIAT/wDxFH9sQ/8APvf/APgBP/8AEV0lFAHN/wBsQ/8APvf/ +APgBP/8AEUf2xD/z73//AIAT/wDxFdJRQBzf9sQ/8+9//wCAE/8A8RR/bEP/AD73/wD4AT// +ABFdJRQBzf8AbEP/AD73/wD4AT//ABFH9sQ/8+9//wCAE/8A8RXSUUAc3/bEP/Pvf/8AgBP/ +APEUf2xD/wA+9/8A+AE//wARXSUUAc3/AGxD/wA+9/8A+AE//wARR/bEP/Pvf/8AgBP/APEV +0lFAHN/2xD/z73//AIAT/wDxFH9sQ/8APvf/APgBP/8AEV0lFAHN/wBsQ/8APvf/APgBP/8A +EUf2xD/z73//AIAT/wDxFdJRQBzf9sQ/8+9//wCAE/8A8RR/bEP/AD73/wD4AT//ABFdJRQB +zf8AbEP/AD73/wD4AT//ABFH9sQ/8+9//wCAE/8A8RXSUUAc3/bEP/Pvf/8AgBP/APEUf2xD +/wA+9/8A+AE//wARXSUUAc3/AGxD/wA+9/8A+AE//wARR/bEP/Pvf/8AgBP/APEV0lFAHN/2 +xD/z73//AIAT/wDxFH9sQ/8APvf/APgBP/8AEV0lFAHN/wBsQ/8APvf/APgBP/8AEUf2xD/z +73//AIAT/wDxFdJRQBzf9sQ/8+9//wCAE/8A8RR/bEP/AD73/wD4AT//ABFdJRQBzf8AbEP/ +AD73/wD4AT//ABFH9sQ/8+9//wCAE/8A8RXSUUAc3/bEP/Pvf/8AgBP/APEUf2xD/wA+9/8A ++AE//wARXSUUAc3/AGxD/wA+9/8A+AE//wARR/bEP/Pvf/8AgBP/APEV0lFAHN/2xD/z73// +AIAT/wDxFH9sQ/8APvf/APgBP/8AEV0lFAHN/wBsQ/8APvf/APgBP/8AEUf2xD/z73//AIAT +/wDxFdJRQBzf9sQ/8+9//wCAE/8A8RR/bEP/AD73/wD4AT//ABFdJRQBzf8AbEP/AD73/wD4 +AT//ABFH9sQ/8+9//wCAE/8A8RXSUUAc3/bEP/Pvf/8AgBP/APEUf2xD/wA+9/8A+AE//wAR +XSUUAc3/AGxD/wA+9/8A+AE//wARR/bEP/Pvf/8AgBP/APEV0lFAHN/2xD/z73//AIAT/wDx +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 +RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU +AFFFFABRRRQAUUUUAFFFFABRRRQBznw2/wCSdeFv+wVa/wDola6Oua+GUiTfDbwnJGyvG+k2 +jKynIIMKYINdLQAUUUUAFFFFABRRRQAUUUUAYnizwP4c8e2VvZ+JvD+l+IrO3nW6ht9Wso7q +OKZQQsirIpAcAnDDkZPrV3WND03xFpF1pWq6fa6npd3EYLixvIVlgmjIwUdGBVlI4wRir1FH +SwdbjIokt4kiiRY40UKqIMBQOgA7Cn0UUBtogooooAKKKKACiiigBCAwIIyD1BrkvC3wf8B+ +BtXuNW8N+CfDvh/VLkFZr7StJgtp5QTkhnRAxyfU111FGzug3VgooooAKKKKAILextrSW4lg +t4oZLh/MmeNApkbAXcxHU4AGT2AqeiigAooooAKKKKACiiigAooooAgtLG2sI3jtbeK2R3aV +lhQIGdjlmIHckkk9yanoooAKpa1omneJNJu9L1awtdU0y8jaG5sr2FZoZ4yMFHRgQykdQRir +tFAbaoZFElvEkUSLHGihVRBgKB0AHYU+iigNtEFFFFABRRRQAUUUUAUNe0DS/FOj3ek61ptp +q+lXkZiubG/gWeCdD1V0YFWHsRTtG0XTvDmlWumaTYWul6baxiK3s7KFYYYUHRURQAoHoBV2 +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooA4T4C2FxpfwM+HVldp5d1beHNOhmTcG2utrGGGRwe +QeRXd1znw2/5J14W/wCwVa/+iVro6qT5m2yYxUIqK6BRRRUlBRRRQAUUUUAFFFFABRRRQAUU +UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA +BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU +UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA +BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU +UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHNfDN1k+G/hR0YOj +aTaEMpyCPJTmulrivgjaTWHwY8A2twuy4g8P6fHIuQcMLaMEZHXkV2tXNKMmk7kwblFNqwUU +UVBQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU +AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR +RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU +AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR +RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU +AFFFFABRRRQBznw2/wCSdeFv+wVa/wDola6Oub+GjBvhz4VIIIOlWhBHf9ytdJQAUUUUAFFF +FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA +UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF +FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA +UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF +FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA +UUUUAcJ8BCT8C/h0Tyf+Ec07/wBJY67uuV+FNnFp3wu8HWsC7YINGs4o1znCrAgA/IV1VaVJ +Kc5SXVszpxcIKL6IKKKKzNAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo +oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo +oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo +oooAKKKKACiiigAooooAKKKKACiiigDnPht/yTrwt/2CrX/0StdHXOfDb/knXhb/ALBVr/6J +WujoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKAOc+G3/ACTrwt/2CrX/ANErXR1znw2/5J14W/7BVr/6JWujoAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKAOc+G3/JOvC3/YKtf/AEStdHXOfDb/AJJ14W/7BVr/AOiVro6ACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo +ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo +ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDnP +ht/yTrwt/wBgq1/9ErXR1znw2/5J14W/7BVr/wCiVro6ACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDnPht/yTrwt/2C +rX/0StdHXOfDb/knXhb/ALBVr/6JWujoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi +iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo +AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi +iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo +AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi +iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOc+G3/ACTrwt/2CrX/ANErXR1z +nw2/5J14W/7BVr/6JWujoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK +KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig +AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK +KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig +AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK +KKACiiigAooooAKKKKACiiigAooooAKKKKAOc+G3/JOvC3/YKtf/AEStdHXOfDb/AJJ14W/7 +BVr/AOiVro6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK +KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii +gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK +KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii +gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK +KKKACiiigAooooAKKKKACiiigDnPht/yTrwt/wBgq1/9ErXR1znw2/5J14W/7BVr/wCiVro6 +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo +oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo +oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo +oooAKKKKACiiigDnPht/yTrwt/2CrX/0StdHXOfDb/knXhb/ALBVr/6JWujoAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KAOc+G3/ACTrwt/2CrX/ANErXR1znw2/5J14W/7BVr/6JWujoAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOc+G3/JOv +C3/YKtf/AEStdHXOfDb/AJJ14W/7BVr/AOiVro6ACiiigAooooAKKKKACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo +ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo +ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDnPht/yTrwt/wBgq1/9 +ErXR1znw2/5J14W/7BVr/wCiVro6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDnPht/yTrwt/2CrX/0StdHXOfDb/kn +Xhb/ALBVr/6JWujoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi +iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo +AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi +iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo +AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi +iigAooooAKKKKACiiigAooooAKKKKAOc+G3/ACTrwt/2CrX/ANErXR1znw2/5J14W/7BVr/6 +JWujoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK +KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig +AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK +KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig +AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK +KKACiiigAooooAKKKKAOc+G3/JOvC3/YKtf/AEStdHXOfDb/AJJ14W/7BVr/AOiVro6ACiii +gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK +KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii +gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK +KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii +gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK +KKKACiiigDnPht/yTrwt/wBgq1/9ErXR1znw2/5J14W/7BVr/wCiVro6ACiiigAooooAKKKK +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo +oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo +oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDn +Pht/yTrwt/2CrX/0StdHXOfDb/knXhb/ALBVr/6JWujoAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOc+G3/ACTrwt/2 +CrX/ANErXR1znw2/5J14W/7BVr/6JWujoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOc+G3/JOvC3/YKtf/AEStdHXO +fDb/AJJ14W/7BVr/AOiVro6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo +ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo +ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigDnPht/yTrwt/wBgq1/9ErXR1znw2/5J14W/ +7BVr/wCiVro6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigDnPht/yTrwt/2CrX/0StdHXOfDb/knXhb/ALBVr/6JWuh3 +r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/ +Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/ +vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKb +vX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AO +opu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fn +QA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3 +h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3 +r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/ +Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/ +vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKb +vX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AO +opu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fn +QA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3 +h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3 +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 +--------------Q0wl9yuhuMswW8HomAAI95af +Content-Type: application/pgp-keys; name="OpenPGP_0xC32089CD6AF8D6CE.asc" +Content-Disposition: attachment; filename="OpenPGP_0xC32089CD6AF8D6CE.asc" +Content-Description: OpenPGP public key +Content-Transfer-Encoding: quoted-printable + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +xjMEYIucWBYJKwYBBAHaRw8BAQdAew+8mzMWyf3+Pfy49qa60uKV6e5os7de4TdZ +ceAWUq/NF2RlbmJvbmQ3QGZsb3djcnlwdC50ZXN0wngEExYKACAFAmCLnFgCGwMF +FgIDAQAECwkIBwUVCgkICwIeAQIZAQAKCRDDIInNavjWzm3JAQCgFgCEyD58iEa/ +Rw/DYNoQNoZC1lhw1bxBiOcIbtkdBgEAsDFZu3TBavOMKI7KW+vfMBHtRVbkMNpv +unaAldoabgPOOARgi5xYEgorBgEEAZdVAQUBAQdAB1/Mrq5JGYim4KqGTSK4OESQ +UwPgK56q0yrkiU9WgyYDAQgHwnUEGBYKAB0FAmCLnFgCGwwFFgIDAQAECwkIBwUV +CgkICwIeAQAKCRDDIInNavjWzjMgAQCU+R1fItqdY6lt9jXUqipmXuqVaEFPwNA8 +YJ1rIwDwVQEAyUc8162KWzA2iQB5akwLwNr/pLDDtOWwhLUkrBb3mAc=3D +=3DyJxA +-----END PGP PUBLIC KEY BLOCK----- + +--------------Q0wl9yuhuMswW8HomAAI95af-- + +--------------jTmWmaxlglctxEbGvmwkCZ4k-- + +--------------01PuQLLMlZcv9xhr9Cd7idcr +Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" +Content-Description: OpenPGP digital signature +Content-Disposition: attachment; filename="OpenPGP_signature" + +-----BEGIN PGP SIGNATURE----- + +wnsEABYIACMWIQTBZCjWAcs5N4nPYdTDIInNavjWzgUCYg4bjgUDAAAAAAAKCRDDIInNavjWzpSP +AQCfhHi0T27lsVrkkuSl7PXVzQN2jLqIKEucfNJZz9wC1gEAyI7EyYUma71KW2THD6dpfkezwe1U +AzYLR8yE1RptBgs= +=xjtm +-----END PGP SIGNATURE----- + +--------------01PuQLLMlZcv9xhr9Cd7idcr-- + + +R620e1b8f +V1f01e +Gf1d960168f1b0e629908000073f46975 + diff --git a/docker-mailserver/maildata_source/flowcrypt.test/default/mailboxes/Junk/dbox-Mails/dovecot.index.log b/docker-mailserver/maildata_source/flowcrypt.test/default/mailboxes/Junk/dbox-Mails/dovecot.index.log index 404aead4c5..0a4e763257 100644 Binary files a/docker-mailserver/maildata_source/flowcrypt.test/default/mailboxes/Junk/dbox-Mails/dovecot.index.log and b/docker-mailserver/maildata_source/flowcrypt.test/default/mailboxes/Junk/dbox-Mails/dovecot.index.log differ diff --git a/docker-mailserver/maildata_source/flowcrypt.test/default/mailboxes/Sent/dbox-Mails/dovecot.index.cache b/docker-mailserver/maildata_source/flowcrypt.test/default/mailboxes/Sent/dbox-Mails/dovecot.index.cache index 6ebc74e488..2d62b8fee1 100644 Binary files a/docker-mailserver/maildata_source/flowcrypt.test/default/mailboxes/Sent/dbox-Mails/dovecot.index.cache and b/docker-mailserver/maildata_source/flowcrypt.test/default/mailboxes/Sent/dbox-Mails/dovecot.index.cache differ diff --git a/docker-mailserver/maildata_source/flowcrypt.test/default/mailboxes/Sent/dbox-Mails/dovecot.index.log b/docker-mailserver/maildata_source/flowcrypt.test/default/mailboxes/Sent/dbox-Mails/dovecot.index.log index 619e6f01f9..53f03840e3 100644 Binary files a/docker-mailserver/maildata_source/flowcrypt.test/default/mailboxes/Sent/dbox-Mails/dovecot.index.log and b/docker-mailserver/maildata_source/flowcrypt.test/default/mailboxes/Sent/dbox-Mails/dovecot.index.log differ diff --git a/docker-mailserver/maildata_source/flowcrypt.test/default/mailboxes/Trash/dbox-Mails/dovecot.index.log b/docker-mailserver/maildata_source/flowcrypt.test/default/mailboxes/Trash/dbox-Mails/dovecot.index.log index e43bd9211e..574905153c 100644 Binary files a/docker-mailserver/maildata_source/flowcrypt.test/default/mailboxes/Trash/dbox-Mails/dovecot.index.log and b/docker-mailserver/maildata_source/flowcrypt.test/default/mailboxes/Trash/dbox-Mails/dovecot.index.log differ diff --git a/docker-mailserver/maildata_source/flowcrypt.test/denbond7/dovecot.list.index.log b/docker-mailserver/maildata_source/flowcrypt.test/denbond7/dovecot.list.index.log index 0f76d1ce28..ca3324e976 100644 Binary files a/docker-mailserver/maildata_source/flowcrypt.test/denbond7/dovecot.list.index.log and b/docker-mailserver/maildata_source/flowcrypt.test/denbond7/dovecot.list.index.log differ diff --git a/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Drafts/dbox-Mails/dovecot.index.log b/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Drafts/dbox-Mails/dovecot.index.log index fe6782230a..a75727978d 100644 Binary files a/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Drafts/dbox-Mails/dovecot.index.log and b/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Drafts/dbox-Mails/dovecot.index.log differ diff --git a/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/INBOX/dbox-Mails/dovecot.index.log b/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/INBOX/dbox-Mails/dovecot.index.log index 0e1d690f2b..ab535d239c 100644 Binary files a/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/INBOX/dbox-Mails/dovecot.index.log and b/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/INBOX/dbox-Mails/dovecot.index.log differ diff --git a/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Junk/dbox-Mails/dovecot.index.log b/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Junk/dbox-Mails/dovecot.index.log index cc2712859c..5f829a1bd0 100644 Binary files a/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Junk/dbox-Mails/dovecot.index.log and b/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Junk/dbox-Mails/dovecot.index.log differ diff --git a/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Sent/dbox-Mails/dovecot.index.cache b/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Sent/dbox-Mails/dovecot.index.cache index 3d8918a167..9d2b546023 100644 Binary files a/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Sent/dbox-Mails/dovecot.index.cache and b/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Sent/dbox-Mails/dovecot.index.cache differ diff --git a/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Sent/dbox-Mails/dovecot.index.log b/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Sent/dbox-Mails/dovecot.index.log index cb81ee2572..a1bdfabcf4 100644 Binary files a/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Sent/dbox-Mails/dovecot.index.log and b/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Sent/dbox-Mails/dovecot.index.log differ diff --git a/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Sent/dbox-Mails/u.40 b/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Sent/dbox-Mails/u.40 new file mode 100644 index 0000000000..e85bcaae76 --- /dev/null +++ b/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Sent/dbox-Mails/u.40 @@ -0,0 +1,57 @@ +2 M1e C62028fcc +N 000000000000075A +To: default@flowcrypt.test +From: Den +Subject: NOT encrypted + signed(detached) +Autocrypt: addr=denbond7@flowcrypt.test; keydata= + mDMEYIucWBYJKwYBBAHaRw8BAQdAew+8mzMWyf3+Pfy49qa60uKV6e5os7de4TdZceAWUq+0 + F2RlbmJvbmQ3QGZsb3djcnlwdC50ZXN0iHgEExYKACAFAmCLnFgCGwMFFgIDAQAECwkIBwUV + CgkICwIeAQIZAQAKCRDDIInNavjWzm3JAQCgFgCEyD58iEa/Rw/DYNoQNoZC1lhw1bxBiOcI + btkdBgEAsDFZu3TBavOMKI7KW+vfMBHtRVbkMNpvunaAldoabgO4OARgi5xYEgorBgEEAZdV + AQUBAQdAB1/Mrq5JGYim4KqGTSK4OESQUwPgK56q0yrkiU9WgyYDAQgHiHUEGBYKAB0FAmCL + nFgCGwwFFgIDAQAECwkIBwUVCgkICwIeAQAKCRDDIInNavjWzjMgAQCU+R1fItqdY6lt9jXU + qipmXuqVaEFPwNA8YJ1rIwDwVQEAyUc8162KWzA2iQB5akwLwNr/pLDDtOWwhLUkrBb3mAc= +Message-ID: <3fe297ba-3e53-7073-ee00-d0e516831264@flowcrypt.test> +Date: Tue, 8 Feb 2022 17:44:12 +0200 +User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 + Thunderbird/68.7.0 +MIME-Version: 1.0 +Content-Type: multipart/signed; micalg=pgp-sha256; + protocol="application/pgp-signature"; + boundary="4S1LR18a3JU2YiTxqubmlY1fr2BkmX171" + +This is an OpenPGP/MIME signed message (RFC 4880 and 3156) +--4S1LR18a3JU2YiTxqubmlY1fr2BkmX171 +Content-Type: multipart/mixed; boundary="OSR6TONWKJD9dgyc2XH5AQPNnAs7pdg1t" + +--OSR6TONWKJD9dgyc2XH5AQPNnAs7pdg1t +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: quoted-printable +Content-Language: en-US + +NOT encrypted + signed(detached) + + + +--OSR6TONWKJD9dgyc2XH5AQPNnAs7pdg1t-- + +--4S1LR18a3JU2YiTxqubmlY1fr2BkmX171 +Content-Type: application/pgp-signature; name="signature.asc" +Content-Description: OpenPGP digital signature +Content-Disposition: attachment; filename="signature.asc" + +-----BEGIN PGP SIGNATURE----- + +iHUEARYIAB0WIQTBZCjWAcs5N4nPYdTDIInNavjWzgUCYgKPzAAKCRDDIInNavjW +zmdoAP0TdFt1OWqosHhXxt2hNYqZQMc6bgQRpJNL029nRyzkPAD/SoYJ4T+aYEhw +11qrbXloqkr0G3QaA6/zk31RPMI/bgI= +=o5Ze +-----END PGP SIGNATURE----- + +--4S1LR18a3JU2YiTxqubmlY1fr2BkmX171-- + + +R62028fcc +V78b +Ga881e63acc8f0262eb03000073f46975 + diff --git a/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Sent/dbox-Mails/u.41 b/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Sent/dbox-Mails/u.41 new file mode 100644 index 0000000000..8d14b73896 --- /dev/null +++ b/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Sent/dbox-Mails/u.41 @@ -0,0 +1,83 @@ +2 M1e C620e1b0d +N 0000000000000C92 +Message-ID: <46444d4f-7de7-ba21-4c1a-9425240935f8@flowcrypt.test> +Date: Thu, 17 Feb 2022 11:53:16 +0200 +MIME-Version: 1.0 +User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 + Thunderbird/91.5.0 +Content-Language: en-US +To: default@flowcrypt.test +From: Denys +Subject: NOT encrypted + signed(detached) + public key +Autocrypt: addr=denbond7@flowcrypt.test; keydata= + xjMEYIucWBYJKwYBBAHaRw8BAQdAew+8mzMWyf3+Pfy49qa60uKV6e5os7de4TdZceAWUq/N + F2RlbmJvbmQ3QGZsb3djcnlwdC50ZXN0wngEExYKACAFAmCLnFgCGwMFFgIDAQAECwkIBwUV + CgkICwIeAQIZAQAKCRDDIInNavjWzm3JAQCgFgCEyD58iEa/Rw/DYNoQNoZC1lhw1bxBiOcI + btkdBgEAsDFZu3TBavOMKI7KW+vfMBHtRVbkMNpvunaAldoabgPOOARgi5xYEgorBgEEAZdV + AQUBAQdAB1/Mrq5JGYim4KqGTSK4OESQUwPgK56q0yrkiU9WgyYDAQgHwnUEGBYKAB0FAmCL + nFgCGwwFFgIDAQAECwkIBwUVCgkICwIeAQAKCRDDIInNavjWzjMgAQCU+R1fItqdY6lt9jXU + qipmXuqVaEFPwNA8YJ1rIwDwVQEAyUc8162KWzA2iQB5akwLwNr/pLDDtOWwhLUkrBb3mAc= +Content-Type: multipart/signed; micalg=pgp-sha256; + protocol="application/pgp-signature"; + boundary="------------chrtd7EqgP4Fh03MyBfSGtS4" + +This is an OpenPGP/MIME signed message (RFC 4880 and 3156) +--------------chrtd7EqgP4Fh03MyBfSGtS4 +Content-Type: multipart/mixed; boundary="------------j03O76hcVZ8gqZnN5amJtWWf"; + protected-headers="v1" +From: Denys +To: default@flowcrypt.test +Message-ID: <46444d4f-7de7-ba21-4c1a-9425240935f8@flowcrypt.test> +Subject: NOT encrypted + signed(detached) + public key + +--------------j03O76hcVZ8gqZnN5amJtWWf +Content-Type: multipart/mixed; boundary="------------cYP1XRBmv0zCxms3fDpI5Xqq" + +--------------cYP1XRBmv0zCxms3fDpI5Xqq +Content-Type: text/plain; charset=UTF-8; format=flowed +Content-Transfer-Encoding: base64 + +Tk9UIGVuY3J5cHRlZCArIHNpZ25lZChkZXRhY2hlZCkgKyBwdWJsaWMga2V5DQoNCg== +--------------cYP1XRBmv0zCxms3fDpI5Xqq +Content-Type: application/pgp-keys; name="OpenPGP_0xC32089CD6AF8D6CE.asc" +Content-Disposition: attachment; filename="OpenPGP_0xC32089CD6AF8D6CE.asc" +Content-Description: OpenPGP public key +Content-Transfer-Encoding: quoted-printable + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +xjMEYIucWBYJKwYBBAHaRw8BAQdAew+8mzMWyf3+Pfy49qa60uKV6e5os7de4TdZ +ceAWUq/NF2RlbmJvbmQ3QGZsb3djcnlwdC50ZXN0wngEExYKACAFAmCLnFgCGwMF +FgIDAQAECwkIBwUVCgkICwIeAQIZAQAKCRDDIInNavjWzm3JAQCgFgCEyD58iEa/ +Rw/DYNoQNoZC1lhw1bxBiOcIbtkdBgEAsDFZu3TBavOMKI7KW+vfMBHtRVbkMNpv +unaAldoabgPOOARgi5xYEgorBgEEAZdVAQUBAQdAB1/Mrq5JGYim4KqGTSK4OESQ +UwPgK56q0yrkiU9WgyYDAQgHwnUEGBYKAB0FAmCLnFgCGwwFFgIDAQAECwkIBwUV +CgkICwIeAQAKCRDDIInNavjWzjMgAQCU+R1fItqdY6lt9jXUqipmXuqVaEFPwNA8 +YJ1rIwDwVQEAyUc8162KWzA2iQB5akwLwNr/pLDDtOWwhLUkrBb3mAc=3D +=3DyJxA +-----END PGP PUBLIC KEY BLOCK----- + +--------------cYP1XRBmv0zCxms3fDpI5Xqq-- + +--------------j03O76hcVZ8gqZnN5amJtWWf-- + +--------------chrtd7EqgP4Fh03MyBfSGtS4 +Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" +Content-Description: OpenPGP digital signature +Content-Disposition: attachment; filename="OpenPGP_signature" + +-----BEGIN PGP SIGNATURE----- + +wnsEABYIACMWIQTBZCjWAcs5N4nPYdTDIInNavjWzgUCYg4bDAUDAAAAAAAKCRDDIInNavjWzqcL +AQD4dpiZqtqHtLFGgjQNBtFWQbI6AMkW+4e+8XwG3U91jAEA1un53wGLXknEud/Lkpo9lrf2rIne +3EPy13Qc3YmcUgU= +=NX8c +-----END PGP SIGNATURE----- + +--------------chrtd7EqgP4Fh03MyBfSGtS4-- + + +R620e1b0d +Vcdd +Gf27457020d1b0e622a05000073f46975 + diff --git a/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Sent/dbox-Mails/u.42 b/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Sent/dbox-Mails/u.42 new file mode 100644 index 0000000000..44991bd44c --- /dev/null +++ b/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Sent/dbox-Mails/u.42 @@ -0,0 +1,1753 @@ +2 M1e C620e1b8f +N 000000000001E7D6 +Message-ID: <15b637c3-dd6f-d768-8f01-e1f82eca43e3@flowcrypt.test> +Date: Thu, 17 Feb 2022 11:55:26 +0200 +MIME-Version: 1.0 +User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 + Thunderbird/91.5.0 +Content-Language: en-US +To: default@flowcrypt.test +From: Denys +Subject: NOT encrypted + signed(detached) + public key + attachment +Autocrypt: addr=denbond7@flowcrypt.test; keydata= + xjMEYIucWBYJKwYBBAHaRw8BAQdAew+8mzMWyf3+Pfy49qa60uKV6e5os7de4TdZceAWUq/N + F2RlbmJvbmQ3QGZsb3djcnlwdC50ZXN0wngEExYKACAFAmCLnFgCGwMFFgIDAQAECwkIBwUV + CgkICwIeAQIZAQAKCRDDIInNavjWzm3JAQCgFgCEyD58iEa/Rw/DYNoQNoZC1lhw1bxBiOcI + btkdBgEAsDFZu3TBavOMKI7KW+vfMBHtRVbkMNpvunaAldoabgPOOARgi5xYEgorBgEEAZdV + AQUBAQdAB1/Mrq5JGYim4KqGTSK4OESQUwPgK56q0yrkiU9WgyYDAQgHwnUEGBYKAB0FAmCL + nFgCGwwFFgIDAQAECwkIBwUVCgkICwIeAQAKCRDDIInNavjWzjMgAQCU+R1fItqdY6lt9jXU + qipmXuqVaEFPwNA8YJ1rIwDwVQEAyUc8162KWzA2iQB5akwLwNr/pLDDtOWwhLUkrBb3mAc= +Content-Type: multipart/signed; micalg=pgp-sha256; + protocol="application/pgp-signature"; + boundary="------------01PuQLLMlZcv9xhr9Cd7idcr" + +This is an OpenPGP/MIME signed message (RFC 4880 and 3156) +--------------01PuQLLMlZcv9xhr9Cd7idcr +Content-Type: multipart/mixed; boundary="------------jTmWmaxlglctxEbGvmwkCZ4k"; + protected-headers="v1" +From: Denys +To: default@flowcrypt.test +Message-ID: <15b637c3-dd6f-d768-8f01-e1f82eca43e3@flowcrypt.test> +Subject: NOT encrypted + signed(detached) + public key + attachment + +--------------jTmWmaxlglctxEbGvmwkCZ4k +Content-Type: multipart/mixed; boundary="------------Q0wl9yuhuMswW8HomAAI95af" + +--------------Q0wl9yuhuMswW8HomAAI95af +Content-Type: text/plain; charset=UTF-8; format=flowed +Content-Transfer-Encoding: base64 + +Tk9UIGVuY3J5cHRlZCArIHNpZ25lZChkZXRhY2hlZCkgKyBwdWJsaWMga2V5ICsgYXR0YWNo +bWVudA0KDQo= +--------------Q0wl9yuhuMswW8HomAAI95af +Content-Type: image/jpeg; name="attachment.jpg" +Content-Disposition: attachment; filename="attachment.jpg" +Content-Transfer-Encoding: base64 + +/9j/4AAQSkZJRgABAQAAAQABAAD/4QBiRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAEAAAEa +AAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAEAAAITAAMAAAABAAEAAAAAAAAAAAAB +AAAAAQAAAAEAAAAB/9sAQwADAgIDAgIDAwMDBAMDBAUIBQUEBAUKBwcGCAwKDAwLCgsLDQ4S +EA0OEQ4LCxAWEBETFBUVFQwPFxgWFBgSFBUU/9sAQwEDBAQFBAUJBQUJFA0LDRQUFBQUFBQU +FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgC6QRvAwEi +AAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMF +BQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn +KCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SV +lpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz +9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQH +BQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBka +JicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKT +lJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz +9PX29/j5+v/aAAwDAQACEQMRAD8A+W/jBqdxq/xV8XXV1K80rarcjc5ycCVgB+AAFchV/Xmd +9c1FpJZJpDcyFpZWLO53HJYnkk9yaoUFBRRRQMKKKKACiiigAooooAKKKKACiiigAooooAKK +KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK9U/Zk+Gvh34v/GPR/CHiW8vr +Gx1NJo4p9PkRJBMsbOgy6MMErjGM8jmumb9kfXx8HLzx19tHn2+vHRv7H+z/ALxkE4tzPv3d +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 +f+ZJ9ceIPjxf+BPHXjGx13T/AB58O7fxNZ6XcQXlvbGy1a3e1g8nf5UjoJIXZZR98fdBzkEV +5hefGXTdTi+JVhq+r+J/EcPiLT7a3sNX1URveiW3kWSMTKZSBGSGX5XYqMYBrxbLeg/OjLeg +/Oh+87v+un4BH3VZeX4H1h8ZPHXg34c/EjxPqdomuX3je98Ow6WtvNFCmnQefp8UTzCQOZHI +jY4QoBuOd2K+UKTLeg/OjLeg/Oh6vm/rq/zbBaRUf62S/RC0UmW9B+dGW9B+dAxaKTLeg/Oj +Leg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBa +KTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/Oj +Leg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBa +KTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/Oj +Leg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBa +KTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/Oj +Leg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBa +KTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/Oj +Leg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgBaKTLeg/OjLeg/OgDo +fiF/yP3iX/sJ3P8A6NaufroPiF/yP3iX/sJ3P/o1q5+gQUV9V/s9/suoP7B8S+PLHJ1e7jg0 +Lw9OPmuyR5j3Eyf88kiV32HG7bg4BAbxb46+F7Xwv8cPGGjWscWn2MWrSiGNV2xwRO+5QAAM +KqsMAdAKaTbsgvY89or2/wCOPwp8JfC2STQ7HTPF9xrBMQsddu3g/svVFO0tJAix7ihBO0iR ++2cc1z/in9n7XfCuh6vfS6tol/e6J5X9s6PY3bSXmm72CDzQUCHDsqN5bvtYgHFSnfYfY8wo +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 +/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RP +PCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf ++GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+ +Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJb +b/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0 +Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+F +n/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqK +APJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCC +W2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/ +AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWf +hZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4 +ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4i +vWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr +/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RP +PCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf ++GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+ +Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJb +b/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0 +Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+F +n/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqK +APJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCC +W2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/ +AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWf +hZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4 +ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4i +vWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr +/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RP +PCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf ++GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+ +Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJb +b/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0 +Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+F +n/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqK +APJf+GWfhZ/0Tzwr/wCCW2/+Io/4ZZ+Fn/RPPCv/AIJbb/4ivWqKAPJf+GWfhZ/0Tzwr/wCC +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 +/wCNeHa/4o+IGj6x4T8Npd+Gn1vWWvHkvm0+4+zJHCiMAIvP3bjuIJL49qp658X/ABBoEPjH +S57bTpfE2nX1ha6VGsUghukuzGkTsu/ccP5wOGHEdC1dv63t+Y/M99/4Sy7/AOecH/fJ/wAa +P+Esu/8AnnB/3yf8a+c9Y+LXjbTYfGniGG30K48M+FtSktLmwaGZL2aGNY2kkSXzCgYByQpT +nbjPNaPgq98Tar8afHbWerWY8OwXFgZLO8tpZZtrWaNiFxKqxAk5IKNk5oj71vNX++1vzB6X +Xr+G573/AMJZd/8APOD/AL5P+NH/AAll3/zzg/75P+NeEeOJ/E8vx28O2Xh3VbOw3aBeTTR6 +lby3MDgXEAyI0ljw/PDEnAyMc1zeqftEa8fE+qx6RpP27TdL1b+y5LCLRdQnuboI6pNKlzGp +gj2ksQjZyF5K5FEfe5bbu/4O35hL3b36W/FX/I+m/wDhLLv/AJ5wf98n/Gj/AISy7/55wf8A +fJ/xrw7SPiZrd/8AFPUfD2pXGk6DbQzyRWmmXtpOt7qEKx5E8E5cROCTyiqxUKckGo/2aJ/F +F98MtGvdc1Wy1Gxnti1sEtpVulPmNkzSvKwkP0VaFqr+n43/AMv8weja/r+v6R9G6Hqz6okv +mIqvGRyvQg5/wrUrnPCH/L3/AMA/9mro6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigDH8V/8glP+vu1/wDSiOlf7tJ4r/5BCf8AX3a/+lEdK/3aAOf+HX/JP/DX/YMtv/RS +10Nc98Ov+Sf+Gv8AsGW3/opa6GgAooooAKKKKACiiigAooooAKKKKACiiigAqG9tUvrOe2kL +COaNo2K9QCMHH51NRSaUlZjTad0efTfBHQ5fAHhvwrHeanap4cEP9l6rbzql7bPGhRZA4XaS +VLAgqVIYgrWx4C+Hen+AINQNvd32qahqVx9qv9U1OUSXN1IFCqWKqqgKqhQqqFAHArqaKq7b +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 +Un+NH/CWaH/0GdP/APApP8aANaisn/hLND/6DOn/APgUn+NH/CWaH/0GdP8A/ApP8aANaisn +/hLND/6DOn/+BSf40f8ACWaH/wBBnT//AAKT/GgDWorJ/wCEs0P/AKDOn/8AgUn+NH/CWaH/ +ANBnT/8AwKT/ABoA1qKyf+Es0P8A6DOn/wDgUn+NH/CWaH/0GdP/APApP8aANaisn/hLND/6 +DOn/APgUn+NH/CWaH/0GdP8A/ApP8aANaisn/hLND/6DOn/+BSf40f8ACWaH/wBBnT//AAKT +/GgDWorJ/wCEs0P/AKDOn/8AgUn+NH/CWaH/ANBnT/8AwKT/ABoA1qKyf+Es0P8A6DOn/wDg +Un+NH/CWaH/0GdP/APApP8aANaisn/hLND/6DOn/APgUn+NH/CWaH/0GdP8A/ApP8aANaisn +/hLND/6DOn/+BSf40f8ACWaH/wBBnT//AAKT/GgDWorJ/wCEs0P/AKDOn/8AgUn+NH/CWaH/ +ANBnT/8AwKT/ABoA1qKyf+Es0P8A6DOn/wDgUn+NH/CWaH/0GdP/APApP8aANaisn/hLND/6 +DOn/APgUn+NH/CWaH/0GdP8A/ApP8aANaisn/hLND/6DOn/+BSf40f8ACWaH/wBBnT//AAKT +/GgDWorJ/wCEs0P/AKDOn/8AgUn+NH/CWaH/ANBnT/8AwKT/ABoA1qKyf+Es0P8A6DOn/wDg +Un+NH/CWaH/0GdP/APApP8aANaisn/hLND/6DOn/APgUn+NH/CWaH/0GdP8A/ApP8aANaisn +/hLND/6DOn/+BSf40f8ACWaH/wBBnT//AAKT/GgDWorJ/wCEs0P/AKDOn/8AgUn+NH/CWaH/ +ANBnT/8AwKT/ABoA1qKyf+Es0P8A6DOn/wDgUn+NH/CWaH/0GdP/APApP8aANaisn/hLND/6 +DOn/APgUn+NH/CWaH/0GdP8A/ApP8aANaisn/hLND/6DOn/+BSf40f8ACWaH/wBBnT//AAKT +/GgDWorJ/wCEs0P/AKDOn/8AgUn+NH/CWaH/ANBnT/8AwKT/ABoA1qKyf+Es0P8A6DOn/wDg +Un+NH/CWaH/0GdP/APApP8aANaisn/hLND/6DOn/APgUn+NH/CWaH/0GdP8A/ApP8aANaisn +/hLND/6DOn/+BSf40f8ACWaH/wBBnT//AAKT/GgDWorJ/wCEs0P/AKDOn/8AgUn+NH/CWaH/ +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 +f/8AgBP/APEUf2xD/wA+9/8A+AE//wARXSUUAc3/AGxD/wA+9/8A+AE//wARR/bEP/Pvf/8A +gBP/APEV0lFAHN/2xD/z73//AIAT/wDxFH9sQ/8APvf/APgBP/8AEV0lFAHN/wBsQ/8APvf/ +APgBP/8AEUf2xD/z73//AIAT/wDxFdJRQBzf9sQ/8+9//wCAE/8A8RR/bEP/AD73/wD4AT// +ABFdJRQBzf8AbEP/AD73/wD4AT//ABFH9sQ/8+9//wCAE/8A8RXSUUAc3/bEP/Pvf/8AgBP/ +APEUf2xD/wA+9/8A+AE//wARXSUUAc3/AGxD/wA+9/8A+AE//wARR/bEP/Pvf/8AgBP/APEV +0lFAHN/2xD/z73//AIAT/wDxFH9sQ/8APvf/APgBP/8AEV0lFAHN/wBsQ/8APvf/APgBP/8A +EUf2xD/z73//AIAT/wDxFdJRQBzf9sQ/8+9//wCAE/8A8RR/bEP/AD73/wD4AT//ABFdJRQB +zf8AbEP/AD73/wD4AT//ABFH9sQ/8+9//wCAE/8A8RXSUUAc3/bEP/Pvf/8AgBP/APEUf2xD +/wA+9/8A+AE//wARXSUUAc3/AGxD/wA+9/8A+AE//wARR/bEP/Pvf/8AgBP/APEV0lFAHN/2 +xD/z73//AIAT/wDxFH9sQ/8APvf/APgBP/8AEV0lFAHN/wBsQ/8APvf/APgBP/8AEUf2xD/z +73//AIAT/wDxFdJRQBzf9sQ/8+9//wCAE/8A8RR/bEP/AD73/wD4AT//ABFdJRQBzf8AbEP/ +AD73/wD4AT//ABFH9sQ/8+9//wCAE/8A8RXSUUAc3/bEP/Pvf/8AgBP/APEUf2xD/wA+9/8A ++AE//wARXSUUAc3/AGxD/wA+9/8A+AE//wARR/bEP/Pvf/8AgBP/APEV0lFAHN/2xD/z73// +AIAT/wDxFH9sQ/8APvf/APgBP/8AEV0lFAHN/wBsQ/8APvf/APgBP/8AEUf2xD/z73//AIAT +/wDxFdJRQBzf9sQ/8+9//wCAE/8A8RR/bEP/AD73/wD4AT//ABFdJRQBzf8AbEP/AD73/wD4 +AT//ABFH9sQ/8+9//wCAE/8A8RXSUUAc3/bEP/Pvf/8AgBP/APEUf2xD/wA+9/8A+AE//wAR +XSUUAc3/AGxD/wA+9/8A+AE//wARR/bEP/Pvf/8AgBP/APEV0lFAHN/2xD/z73//AIAT/wDx +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 +RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU +AFFFFABRRRQAUUUUAFFFFABRRRQBznw2/wCSdeFv+wVa/wDola6Oua+GUiTfDbwnJGyvG+k2 +jKynIIMKYINdLQAUUUUAFFFFABRRRQAUUUUAYnizwP4c8e2VvZ+JvD+l+IrO3nW6ht9Wso7q +OKZQQsirIpAcAnDDkZPrV3WND03xFpF1pWq6fa6npd3EYLixvIVlgmjIwUdGBVlI4wRir1FH +SwdbjIokt4kiiRY40UKqIMBQOgA7Cn0UUBtogooooAKKKKACiiigBCAwIIyD1BrkvC3wf8B+ +BtXuNW8N+CfDvh/VLkFZr7StJgtp5QTkhnRAxyfU111FGzug3VgooooAKKKKAILextrSW4lg +t4oZLh/MmeNApkbAXcxHU4AGT2AqeiigAooooAKKKKACiiigAooooAgtLG2sI3jtbeK2R3aV +lhQIGdjlmIHckkk9yanoooAKpa1omneJNJu9L1awtdU0y8jaG5sr2FZoZ4yMFHRgQykdQRir +tFAbaoZFElvEkUSLHGihVRBgKB0AHYU+iigNtEFFFFABRRRQAUUUUAUNe0DS/FOj3ek61ptp +q+lXkZiubG/gWeCdD1V0YFWHsRTtG0XTvDmlWumaTYWul6baxiK3s7KFYYYUHRURQAoHoBV2 +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooA4T4C2FxpfwM+HVldp5d1beHNOhmTcG2utrGGGRwe +QeRXd1znw2/5J14W/wCwVa/+iVro6qT5m2yYxUIqK6BRRRUlBRRRQAUUUUAFFFFABRRRQAUU +UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA +BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU +UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA +BRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUU +UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHNfDN1k+G/hR0YOj +aTaEMpyCPJTmulrivgjaTWHwY8A2twuy4g8P6fHIuQcMLaMEZHXkV2tXNKMmk7kwblFNqwUU +UVBQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU +AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR +RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU +AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR +RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU +AFFFFABRRRQBznw2/wCSdeFv+wVa/wDola6Oub+GjBvhz4VIIIOlWhBHf9ytdJQAUUUUAFFF +FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA +UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF +FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA +UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF +FABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQA +UUUUAcJ8BCT8C/h0Tyf+Ec07/wBJY67uuV+FNnFp3wu8HWsC7YINGs4o1znCrAgA/IV1VaVJ +Kc5SXVszpxcIKL6IKKKKzNAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo +oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo +oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo +oooAKKKKACiiigAooooAKKKKACiiigDnPht/yTrwt/2CrX/0StdHXOfDb/knXhb/ALBVr/6J +WujoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKAOc+G3/ACTrwt/2CrX/ANErXR1znw2/5J14W/7BVr/6JWujoAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKAOc+G3/JOvC3/YKtf/AEStdHXOfDb/AJJ14W/7BVr/AOiVro6ACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo +ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo +ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDnP +ht/yTrwt/wBgq1/9ErXR1znw2/5J14W/7BVr/wCiVro6ACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDnPht/yTrwt/2C +rX/0StdHXOfDb/knXhb/ALBVr/6JWujoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi +iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo +AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi +iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo +AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi +iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOc+G3/ACTrwt/2CrX/ANErXR1z +nw2/5J14W/7BVr/6JWujoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK +KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig +AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK +KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig +AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK +KKACiiigAooooAKKKKACiiigAooooAKKKKAOc+G3/JOvC3/YKtf/AEStdHXOfDb/AJJ14W/7 +BVr/AOiVro6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK +KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii +gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK +KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii +gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK +KKKACiiigAooooAKKKKACiiigDnPht/yTrwt/wBgq1/9ErXR1znw2/5J14W/7BVr/wCiVro6 +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo +oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo +oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo +oooAKKKKACiiigDnPht/yTrwt/2CrX/0StdHXOfDb/knXhb/ALBVr/6JWujoAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KAOc+G3/ACTrwt/2CrX/ANErXR1znw2/5J14W/7BVr/6JWujoAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOc+G3/JOv +C3/YKtf/AEStdHXOfDb/AJJ14W/7BVr/AOiVro6ACiiigAooooAKKKKACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo +ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo +ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDnPht/yTrwt/wBgq1/9 +ErXR1znw2/5J14W/7BVr/wCiVro6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDnPht/yTrwt/2CrX/0StdHXOfDb/kn +Xhb/ALBVr/6JWujoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi +iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo +AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi +iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo +AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi +iigAooooAKKKKACiiigAooooAKKKKAOc+G3/ACTrwt/2CrX/ANErXR1znw2/5J14W/7BVr/6 +JWujoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK +KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig +AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK +KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig +AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK +KKACiiigAooooAKKKKAOc+G3/JOvC3/YKtf/AEStdHXOfDb/AJJ14W/7BVr/AOiVro6ACiii +gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK +KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii +gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK +KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii +gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK +KKKACiiigDnPht/yTrwt/wBgq1/9ErXR1znw2/5J14W/7BVr/wCiVro6ACiiigAooooAKKKK +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo +oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo +oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK +ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDn +Pht/yTrwt/2CrX/0StdHXOfDb/knXhb/ALBVr/6JWujoAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOc+G3/ACTrwt/2 +CrX/ANErXR1znw2/5J14W/7BVr/6JWujoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo +oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC +iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOc+G3/JOvC3/YKtf/AEStdHXO +fDb/AJJ14W/7BVr/AOiVro6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo +ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo +ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA +CiiigAooooAKKKKACiiigAooooAKKKKACiiigDnPht/yTrwt/wBgq1/9ErXR1znw2/5J14W/ +7BVr/wCiVro6ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii +igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA +KKKKACiiigAooooAKKKKACiiigDnPht/yTrwt/2CrX/0StdHXOfDb/knXhb/ALBVr/6JWuh3 +r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/ +Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/ +vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKb +vX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AO +opu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fn +QA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3 +h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3 +r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/ +Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/ +vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKb +vX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AO +opu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fn +QA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3 +h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3 +r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/ +Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/ +vD86N6/3h+dADqKbvX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKb +vX+8Pzo3r/eH50AOopu9f7w/Ojev94fnQA6im71/vD86N6/3h+dADqKbvX+8Pzo3r/eH50AO +opu9f7w/OnUAcB4fuXh+GXhKNGKh9Ltckf8AXFagpdE/5Jx4O/7Bdt/6JSkr+eOOZylmzi3o +oxsfRYFfufmFFeH/ALV2vaXoPh7wjJ4jhnvfCP8Aa91da5p0A3fbbS00bUr7yWUkBwZLSJtj +EK20A8E1m/B/xHJ4S+N/ij4Y6ZbQweFbW71K5srf5ibJYrLw/MIYecLEZNVum2YwPlC7QMH5 +KGBlOh7VPWzltpZOz1vv5W269DsdS0rH0FRRXi+r/GfxzefFPxX4P8H+AtH12Pw7FZyXN/qn +iV9PLm4jZ1CxrZy9NpBO70rjo4epiG1Ttoru7SVrpbtpbtFuSjqz2iivNfE/7RHgXwHrEei+ +J9dh0vWkhhkvYYYZ7mCw8z7vnzpHshUno0pTI5roLn4o+GLS48VQS6oBJ4XtI7/VwIJGFtA8 +byI+QuHykbnCbjx0yRTlha8YqTg7PrZ2ey0fVXa+9dwUk3yrft1+46qivL/FP7TPw58GTWUe +q65cxtd6dFq6fZtJvLkJZyZ2TymKFhEh2tzJtxg5xWn4v+O3gbwNbaLNqmuhxrUJuNOi061n +v5bqEAMZUjt0djGAykvjaMjJ5q/qeJ0/dS120ett7d7EqpB7Nd/l/TR3tFeYfs5fEe++KHwY +0jxZqs0c9xeSXjGWCLYpjjupkjwvX7iL71Pon7RXgDXoNekg1qe1Oh2Lanfxanpl3YyxWq5z +OI54kd4xtPzIGGeO4ong68KlSlytuDs7Ju2tvzHGcZJST32PSKK4H4efHbwT8U9TudN8O6tN +PqMFut21nfadc2MzQMcCVEuI0LpnjeoIyRzzU3xC+NXhD4V3NvD4ov7vTUmj837Uul3c9tEm +7bulniiaOIZ7yMvr0qXhcQqnsXTlz9rO/wB24KcWnJPRHcUV5JY/tC6Y/wAbNe+H15ZXqyWk +entY3tjp91eRXBuUdj5ssUTRwAbVwZHUHJOeDVL4RftO6H8SPBV7rN7Y6ppd3pwuZL2GLRr+ +WFY4rh4h5U3kbLhiFU7YizZJGODW0svxUYc/s3bR/KSuv66PR6i9pFu1/wCv62PaKK4DR/j3 +4D1vwnrniWHxAlrpGhuY9Tk1G2mspbNsAhZYZkSRSQy7QV+bIxnNeeePf2pdI0y4+Hmq6Nda +gPDWpeIJdM1Uz+H75blkFjPMojgeETNl1iO5EORn3op4DFVJuCptNd0+17bbtbLroDqRUea/ +f8Nz6Corzib9on4fQ+BrXxf/AG80uhXN7/ZsTwWFzLObvJHkG3WMzCTKnKFARjpWRpn7Wvwq +1e9tLW38TSiS4ulsd0+lXsMcFwzbVhnd4QsEhYgBJSrHI45FSsBi5X5aUnZ2fuvR9ttwdSCV +3Jf1/wAMevUV574l/aA8AeEPFJ8Pat4gW11NJIYZ9trPJBavLjyknnRDFAz5GBI6k5HqKqeJ +v2lfhz4O8V3fh3WNfkstRs5YYLtzpt29ravKqtGs1ysRhj3B1PzuOoqY4PEztyUpO6utHqtN +V5ar713G5xje72PTaK8mtP2gdOX44eIPh3f2F9FPZJYGyu7PTru7jna4R2bzpIomjgC7VAMj +qDknPBp3jb4ozeDfjfoOk6hqdtpvhJvC+qaxqElwFVUa3mtFWQueVCrLJxnnPsKpYKvzqDjZ +uLkvNKPNp8vx0Yc6s2ulvxaS/Fnq9Fea+IP2jfh/4X07SrzU9ZuLdNTsv7St4V0q8kuFtf8A +nvLCsRkhj5+/Iqj3rcsvi14R1G51iG21uGZtJ02DWLt0R/LWzmR3inV9u2RGWNzlC2NvOKzl +hcRGPPKm0u9n0dn+OnqCnGTST3/X/h0ddRXm8H7Rnw7uPB2teKh4hEWhaKLY391PZXERgFxH +FJATG0Ych0niIwp+9jqCBq+IvjJ4M8JXetW2sa7DYSaLYwajfmWN9kMEzukJ3hdrM7RsFRSW +JA45GR4TEJ8rpyv6Py/zX3rugU4yV0/62/M7OivOtL/aF+H+r+FNf8Rw6/5OmaAA2qfbLO4t +rizBGVMlvLGsoDD7vyfN2zVW6/aV+H1j4fsdYudVv7a3v7l7S0tptEv0vbmRFDP5doYPPdQr +AlghUA9ar6lir8vspX22e+9tu2oueFr3/pbnp9FeH/BH9ofT/Gnh6yutd1WMXeveJtV0nQlS +zkT7RHbzSmNSNvyEQx5JfbyPXiui+Lf7S/w2+BepafYeOfEq6FdX8Zmt0ayuJwyBtpYtFGwU +Z4yxFaSwGJjW+rqm3Psk23be2mtuoKpFpu+i/wA7fdc9Oor5y+KX7bfg74S/FTwj4f1p418K +eINEbWYvE1sZrpcFiIkSGGJ2YMBnfnAz0qfw/wDtm+F739onxP8ACfWYTo2o2VzZ2mjzqk9x +/ajzReY2dkO2DbuUfO3Oc57DdZRjpQ9oqTa5XL5KXK/mm1dbpatW1IlWpxveXb8VdfK3Xb5n +0NRXk3gf9q74U/Efx3L4M8P+L4LzxNGZV/s+W1uLdnMed4RpY1Vyu05Ck8AntVU/tX/DXW/E +2u+D/Dfi201fxlp1pdTfYre3mkiDwxszAzBPKO3byA+e3WuZ4DFxbUqUlZcz916R77beexqp +Rb5bre3zfT1PY6K+YP2Pv20PDHx38I+H9I1vxLYf8LPuIJp73SIbWW3X5ZHIERZdj4jCkhWY +4yT0NbT/APBQL9n+Oa8ib4i2qyWmfMB0+8+Yg4IT9z+8OeyZNddbJ8fRrzw/sZOUd7Rb0u0m +tNnZ2fUxhXpzgpp6f1p6n0LRXmb/ALS/wwT4VxfEhvGNgvguV/KTUyH+aTJHliPb5hkyD8m3 +dx0rOX9rb4Rv8NJfiAvjS0bwnFdixlvlt5y0dweRE0OzzVYjnBUcc1yLA4t3tSlo+X4X8X8u +2/luaKpB2s1qeu0V89eN/wBtTwRafADxX8UPAd3b+Obbw/JDDPYh5LJ1kklSMBxJHvT7+4ZT +naQPUem/B74y+F/jl4QXxF4Tv21CwWX7NM7Ws1v5cwVWZMSojHG8fMBg9jVVMvxdGk61Sm1F +Pld1azsnZrdaNWvv0EqsG0k972+W53FFFFeeahRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR +RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA +FFFFABRRRQAUUUUAFFFFABRRRQAVBeXRtljCp5kkjbEUnAJwTye3ANT1S1L/AF9h/wBdz/6L +evbyTC0sbmNDD1leMpWa20MK83CnKUdxPtV9/wA+tv8A+BDf/EUfar7/AJ9bf/wIb/4ipq8r ++Nvx6tvg1c6HC2jT64bx2uNQ+zyhP7O06NkWe8cbTuVDJH8vGcnniv3v/U/I7pew3/vT/wDk +v+GWp4H1yv8Azfgv8j077Vff8+tv/wCBDf8AxFH2q+/59bf/AMCG/wDiK5Xx18XPCfw4XTf7 +e1RoJdS3fY7a0tZrye4CgFmSKBHcqAQS2MDIyea8/wDhp+0bpE/wf07xh4x1eOEalq1/ZWX2 +azlkluVju5khSOCNWkdvLjBICk8EnFH+p+R/8+P/ACaf/wAkH1yvZPm38l2b+7Q9q+1X3/Pr +b/8AgQ3/AMRR9qvv+fW3/wDAhv8A4ivM/gD8U5vizYeMdSM4uLCy8R3On6e32ZoGFuiRFQ6O +AwbLNncAfao7z4/Wln8cLfwAdImawkC2sniDzh5MeotE06WRTb94wqX3bu6rjJp/6nZJ7q+r +7pP4p9Vf+bzt66b2F9dr+8+ba/RdHb+vLXY9Q+1X3/Prb/8AgQ3/AMRR9qvv+fW3/wDAhv8A +4ivLbP8AaAsG+K3i7wPeafexXmkPbpaT21hdXENx5lsJiZZkiMUGM4G9xnGe9RfCj9pDQ/iL +8MYvFdzZ6pprw2UN1f266NfOkZk4CwMYB9p57w7+x6EUlwfkbV1Q00fxT6/9vf8ADdRvGV07 +c34L/I9X+1X3/Prb/wDgQ3/xFH2q+/59bf8A8CG/+Irh7P48+BL3wbqPildfSDRtOuPsl493 +bTW80E/y4iaCRFlEh3rhNm5twwDmuH8b/tKaZo2tfDq/sbi/XwvrF9fWuoCTQrz7Wxiti6Bb +cw+d9/byE5Htmj/U/I/+gf8A8mn12+0H1yv/ADd+i6bnuH2q+/59bf8A8CG/+Io+1X3/AD62 +/wD4EN/8RXAXn7QvgCz8J6R4kOuPc6Vq1w9nZGysLm5nmnQMXi8iONpQ6hHypUEbTnFUtA/a +e+GnifVdO0/TvEbTT6hOLS3eTTrqKFrjn9w0rxBEl4I8tmD54xmn/qdkjfL9X1/xT/8AkhPG +10ruX4I9M+1X3/Prb/8AgQ3/AMRR9qvv+fW3/wDAhv8A4iuH1f47+BdC8W/8I3fa8sOqi4it +JMW0z28M8mPLiluFQxRu25cI7gncOORVXV/2i/h9oPiu48O3+uyW2pW11HY3Dvp119lgnkCl +I5LkReSjEOmAzj7w9aS4PyOVrYff+9P/AOS81943jK6veW3kv66HoX2q+/59bf8A8CG/+Io+ +1X3/AD62/wD4EN/8RXmfhb472GufFfxV4FurC9tr/Sb+O0tZ7fT7qeCdWtY5y0k6xGGE/OQF +dwTgeor1Kj/U/I2lL6vo9fin/wDJB9crptc23kiH7Vff8+tv/wCBDf8AxFH2q+/59bf/AMCG +/wDiKmoo/wBT8j/6B/8Ayaf/AMkH1yv/ADfgh1pci7gEgUoclSp7EEgj8waZd3bwyRxRRrJK +4LAO20YGM84PqO1M0j/j0b/rtN/6Mam3X/IVtf8ArjL/AOhR1+P5dlmFr8RPL6kb0lOorXe0 +VK2u/RHsVKso4b2i3sv0D7Vff8+tv/4EN/8AEUfar7/n1t//AAIb/wCIqavAP+GmtftdE1bx +VfeAoU8DaZq8+l3Op2utiW8RYrk27TG2aBBt3DOBITj1r9gXB2Rt8qw//k0/JfzeZ47xldK/ +N+C8/wDJnvP2q+/59bf/AMCG/wDiKPtV9/z62/8A4EN/8RXE+J/jp4H8G6//AGNq+ura3yeV +5222mlitfMOI/PlRDHBu4x5jLnIqp4u/aI+H/gTXrzR9c1ySyvLLyvtb/wBn3UlvbeYAY/Nn +SIxR7gRjcw60f6n5H/0D/wDk0/8A5IPrlf8Am/BHoP2q+/59bf8A8CG/+Io+1X3/AD62/wD4 +EN/8RXl2q/tB+GtU8EeL9T8M67aw6joFibyb+3NOvIUgQglJXhMayvEdp+aMHOODV/xN+0J4 +F8D6o2la/rT2uoQQQz3bQ6bdywWySDKPLKkTJEpwcF2HA5p/6nZJt9X/APJp/wDyQfXK/wDN ++C8v80ehfar7/n1t/wDwIb/4ij7Vff8APrb/APgQ3/xFcT49+NnhD4fSQWmqauV1G6tWu7e2 +s7Se8cxDjzWWFHKR543thfesv4dfE+81H9nPSvH+tCO6vToJ1a6WICJZGWIuQODtBx6HFS+E +MjUZTdDRb+9Pz/veTGsXiJSUVLV7beX+Z6V9qvv+fW3/APAhv/iKPtV9/wA+tv8A+BDf/EV5 +HpP7Suk6l8An+Jb6ZcQTRxmKTQN+64F9uCLaA7RlmdlAO3kMGxitWw/aC8Lx/D/wh4m1ud9K +k8SWEd9b6ZbQTX1xgxq7hUhjZ2VNwDPsAHGcZq3wbkkW08Pta/vT63t9ry/q6JWNrySalvfo +um/T+vkej/ar7/n1t/8AwIb/AOIo+1X3/Prb/wDgQ3/xFc7e/EHTG+G974z0eaLW9Li02XUr +d4JNqXCJGz4DYO3O3HTIPUcYqx4Y8Xxa94A0rxTPA1lBe6ZFqUkCbpmiV4hIVG1cuQDjhcnH +TtUvg7JFe+H2396fW/8Ae8mP65XdrS320XS3+aNr7Vff8+tv/wCBDf8AxFH2q+/59bf/AMCG +/wDiK8p8S/tI+HLf4c+NPEfh15dUv/DNl9ruNKv7S4sJwCCULRzRq4VsHDBSDg4rbHx48HRe +F7fXbu81CxtLi5+xww3ejXsN1PNt3FIrZ4RNLxk5RCMA88Gn/qdkn/QP/wCTT67faD65X097 +v0XTc7v7Vff8+tv/AOBDf/EUfar7/n1t/wDwIb/4iuCvf2gvAVj4d0jW21uS4sNWmkt7IWdh +c3M8ssefMj8iONpFZMHcGUFcHOK7zT76LU7G2vLcuYLiNZYzJG0bbWGRlWAZTg9CAR3FH+p2 +Sf8AQP8A+TT/APkhfXa/834IY2o3i3CQ/ZYNzqzg/aGxgEA/wf7QqT7Vff8APrb/APgQ3/xF +Ryf8hW3/AOuMv/oUdc14o+K3h7wX4y8OeG9anm0+78QmSPT7qaEi1lnXGIDL91ZWBJVT97ac +c4BX+p+R/wDQP/5NP/5If1yv/N+COp+1X3/Prb/+BDf/ABFPtryR7jyJ4VicqXUo+8EAgHqB +jqK5jw/8TNC8VeMvEHhrSZ5b690ERrqFxDETbQzPn9x5v3TKoALIOVDLnngdGP8AkL2//XCX +/wBCjrws94XynCZbWr0KPLOKunzSf5to3oYqtOrGMno/Qv0UUV+DHvhRXi3xJ/aCl+CHxCWL +x9p8Wl/DbUYVGneLrbfIlrdqpL294oBKb8ZjdRg42nnOOh+CHxG8RfFbRdQ8S6n4bPhnw7eX +Abw9Ddki+ubPbxcXEfSPzD8yp1C4z2J7p4KtCj9YkvcdrO6s79F5rqt11M1OLly9T0iuq8LX +LzW8kbsWCHgmuVrpPCP3Lj6ivs+Bpyjmyino4yucWOS9ic5on/JOPB3/AGC7b/0SlJT9DQn4 +beD27DS7Uf8AkFKZRxzCUc2cmtHGNgwL/c/M8F/bH8KP4p+HWlrJJLbaVDeXsOpX0Nu1wbG3 +u9H1HT/tLRr8zJHJexO+OiBmOACa5n4DtL40+Pur+Mre80vVoJbPUJtRvPD1w93pkFxcx6Lb +w20N06R+c4j0d5X2r8nnKp7FvqCivlaeYOnhvYcutmk79Jb6W/Xt5363TvLmuFfP6fs2aD41 ++PnxG8UeOvA+ka9pt7DpaaNeanBDcn91C6zhFJLJhtnUDPGM4r6Aoriw+Kq4XmdJ2cla/Vap +6W9PuuXKKkrM+YvGXw9+IGg3Xxg0DQPBtv4p034hu01trMmowQRac0tnHaul1HIRIyR+XvXy +lfIbGFPNZvif4U+P/h8PHGleHvC0/jvT/Fng+x0Fb+21C1tpbS6trWW23zJcSJuRxIr5QsRh +hjpX1fRXoRzWrGKg4Rask99eVJK+vTlW1vO5Ps0pc6eqba8m2m/va/yseCeBvhV4j0XxxcXd +9pqiwb4d6boHmieNle8iefzYsbs4AdfmI2nPB61x/wAPPhr8Qvg8nw28SQ+D38U3ln4GtvC2 +raHbajaxXdjNE4kEkTyyLDIpJZWAkH3UI3V9V0Uv7VrNy5opqVrrXopLvf7T/D55qhFRUe36 +cn/yC/E8T+EXgXxr4R/Zifw9HHF4f8dG11N7RZpUmS1uZp55INzJuU7TIhOMjr1rxC1+B3xG +10eLLm68LeKLfULv4d6loDS+JvFFvqZvdRmMZUQH7Q4ijYq3URKMjgV9t0U6ea1aVSrUjGN5 +tt76Xvotdtet/vNPZq0Vf4dfWzT1+a/PueN6f8Ptet/jF8N9dbT9um6T4QvNKv7gTR/u7h3s +2jj27tzZ8qU5UEDb1GRnzr9p34cfEnxzrXi6ysdK8R+JPDmqeHvsOi23h/xHFplvZ3jJKsrX +sTzRGdGLRn/loNoI2ev1TRWdPMqtOrGrypuKaW/WTl0ad7vo1pp3FCkoKyfb8El+SVz5+8C+ +FfG3wz+Ld9dr4Rl13RPEek6LaXGpWmoW0Y0yW1ieKXzY5HV3XDBgYw+cEYFcpovhD4v+GPgj +qvw70bw1d6XqOmXs01t4gstYtY11S1fUTM8Vu28yQTPBI6hpEUKw69CPqyireaTlLmlTi3eL +1vq46K6vbbS2zW6vqTCioRUYt6afhb8d/Xax8a6d8APHGraR8RL2Dw9qukXN3rGg6zpWl+MN +fj1G4v2sGDyQzXCTT7VcrtXcxxleABx6trFn41+Jvi74W61e+A73wrH4f8RT3V9DfajZzssD +adcxCUGGVgQZJVXA+bnJUDOPdKKdTNatV3lCN+nxaXioP7Wt1Fb31BUUla+6a6bO/wCV3+tz +5jn+DXi869dTpo/+jP8AFiHxMhFzCB/Z4tUR58b/AO+GGz7567aTxr8GfF+reCvjpp9no4lu +fEnimy1TSIvtMK/aIUjsA8mS4CENBLw+0nbwORn6doohm1eEoySXu27/AGXBrr/cX3v5OdKM +22+rv9/P/wDJv8Pn8h67+ztqo+Ivjq11rwj4m8Z+FfFmsjU1utE8ZyadaQxyJEskd3Zm5iDl +DGSGRJCy7QcYxXVeN/g74p1jwv8AtJ2NppHny+Loo10NDcxD7WV02KHqX+TEiEfPt6Z6c19J +UU/7XxHu3t7qS69HBrS9k/cSdkrr5WpU4qftOt7/AD1v+f8AkeFeHvD/AIz8A/HTXNVi8JTa +9oHimx0iCbUrW/to/wCzZLZJI5fOjkdXcYcMDGHzyMCsP9pL9nzX/jN8UfCup6bL9gtdG0a9 +eG9laOS1N+Lq0mtobm3Y5mhfyXLDaQNoOQwWvpGisYZlWp14YmCSnFWvr/Lyq6btovl3TJVG +Kpul9l2/Bp/jbX8LHyL4s+F3jrxF4/j8e6v4G8SXh17w/a6bqWgeGPGf9lXGnXUDy7gWS5ii +uIHEpIy5Zf7oLEVT+Onwxk8Np8OvDvgWGLSrjxJpI+H2oaNJe+dcW2nOomMobJLm3RJwWyeJ +etfY1Y0Hgvw9a+J7nxJDoOmQ+IrmIQT6vHZxrdyxgABGmA3sowOCccCu2lnFSM4ylFWjeyV7 +PRpJptqyT3tfzvqS6OjaerW/pbX/AMlT7No+evit+zTqfjD4q2+m2NjAPhh4isLWPxKvmopi +lsElFoqxk5bf5kQJAIAtxnGRWBoHwA+JF58MLjWvEFlZ3PxGg8RaVqY02S7Tyb610sRxQxGU +blUyhJZhnhXlAbGDj69orKGc4mEIwVtLa9XZ31162in5Rj21cqEJPXtb5NWa+e/rqfJ/xC+F +XxA+LGmfFfxJN4SPhzU9c8O2egaX4em1C2luLgwzvM000kbmFf8AWbVG88Kc4yBXpPxP8LeK +tH+Kvg/4h+G/D/8Awl66Zpd5o17osV5DbXCpO8MizwNMyxlgYdrKzLkNweMV7PRWLzKo3H3V +aN0lra0oqLW99l3vd77FeyTvd3vb8LW+6y+7W+p4b8DNM8c+A/DdlZ6j4KaJ9e8T6tqOoq+q +W+/SLaeaWeJ2CFlmYkohWNuN2c4FfNv7dGvazffFfVtGXxnpt54ck8ONp48MwfESy8PS2F/I +CwnvIJpozPGY3QhDwVb06/oJXDeJfgR8NPGetXOseIPh54U13V7nb5+oaloltcXEu1Qi7pHQ +s2FVVGTwAB2rrwWaU6OMeLrU1s9Ffd+srqy2aaf4ilCXK4xe7v8Ajf8AP5WPgyw8ZW/wl1v4 +G+MvD/iT4e+NNS8M+Dj4a1fQh4+0uyeGQjIdZpJSjKCcfLn7vvmuy8P/ABntPhr+038QvEOj ++JPh7rXhr4gjTnk1n/hPNMhbRJIoDG5khaTdPtZicJ1AHPOB9Xf8MwfBv/okvgb/AMJuz/8A +jVH/AAzB8G/+iS+Bv/Cbs/8A41XsVM6wNbm9pTk+ZSi/NSnz20l0lqrejujljh5wioxe3L98 +Uknt2Vu3kfnl8MNQvbz40fDfWvHnxD0Ga48P3WpPq/inUPilp2oW1ys0TpG1paefutwMqNoU +Z4zjGB6X+zd8YLf4M+Brr4Q6pqXw3uvD0Kal5fjiy+IGlgXRlEjxFrUyCTezMqFiQAMelfYX +/DMHwb/6JL4G/wDCbs//AI1R/wAMwfBv/okvgb/wm7P/AONVpic+wWLg6VSm+VpKy0Sacmmv +e3Tk7L4enLoVChUhNVE9U7/13v56+Z8L/C240Dw1Z/srfb/GvgW2uPBT6yPEDDxjpTGzSct5 +IytyfMDZ6R7sZ5xWZ8KotF8NaH+z3HqPjLwJbXfhTxbqmo6x/wAVlpLG1tJnyjZW5O8Nx8qb +iO4Ffff/AAzB8G/+iS+Bv/Cbs/8A41R/wzB8G/8Aokvgb/wm7P8A+NVpLiLDScm4y1bey6uo +31/6eS+VvO+f1SXIoX2Vvwa/J/kfndqXhbS7z4KG0s/iN4Hsdf0X4j3viey0aLx5p9o97ZPt +CGG5inIgk4ypJBXnocZ0NRi8Kaz8GdRSx1fw7ofi3VPGmmatf2etfFTS9ZnuLe3zuuWuWmRd +3zsCuSxCjrX6A/8ADMHwb/6JL4G/8Juz/wDjVH/DMHwb/wCiS+Bv/Cbs/wD41VLiXDq3uy0k +pfc07aSs1eKet32aHPDSne9tVJf+Bc1/u5nb8bnxB8TLXwv44vP2pbay+I3w/srbxr/Y8+gT +zeLtNEd7JbAPKCFnLRksu3Lhcls9Mmvs39l74sX/AMXvhouo6hpekaVPp8400poviK01uFzH +FGSxmtiURjv/ANWSWA2k/eFaX/DMHwb/AOiS+Bv/AAm7P/41XYeD/Afhr4eaZLp3hXw7pXhn +T5ZjcSWmj2MVpE8pVVLlI1ALEKozjOFA7CvEx+Z4bFYVUIRd1y2b6csYw6Pqoq909drG8aUv +ae0b6t/f/wAE3KKKK+WOsKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK +KACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA +ooooAKKKKACqWpf6+w/67n/0W9XagvLU3KxlX8uSNt6MRkA4I5HfgmvbyTFUsFmNDEVnaMZX +b30MK8HOnKMdxK+f9X+B/iv4k/ETx3r2q+JtU8HafewL4fsbKxg0+7F3pqpud386GbZ5kssv +ygqcKu4cDHvX2W+/5+rf/wAB2/8Ai6Pst9/z9W//AIDt/wDF1+8vi/InvX7/AGZ9f+3e116N +ngrCYhbR/FdP+DZ+qR8x+CvA/wATvh1qPg/xHdeF5PF17oejXXhK5sotRtorqa2S5V7W+iaR +xGd8cah0ZkYHHHGKZ4U+Ffj3wfofw78UJ4YXUNb0DU9duLzwwb+BZvI1C4kdWjmLeSZUBTgu +AQzDcK+n/st9/wA/Vv8A+A7f/F0fZb7/AJ+rf/wHb/4ur/1yyV6vEa6/Zn1bb+z1bf36WJ+p +VtuXT1XRWXXotPlrc8r+A+g+I/D+jeONT17w/No1/rXiG71e20qS6gmmETxxhFZ43aMMShH3 +sD1ryeb9mv4h6j8K77U5PGGpWvja6v28WDw0IdPa0TVhIJYoftHkmXA2pFuE2MDGdvFfVn2W ++/5+rf8A8B2/+Lo+y33/AD9W/wD4Dt/8XS/1wyNWaxFmkkvdnpa1vs+Set9Uh/U6+t43u23q +tb38/Nr0Z4j4Z0jxroPxW8W3s/g2efR/GsenzyX8OoWuNJkS1EMscyGQM+0qCDEHBz1rk9E8 +NfFrS/2ftM8CWXhm+0TVfD32O1lvbHWbWNtXtI5cTLaShy0DtGAQ0gjIyRkda+mvst9/z9W/ +/gO3/wAXR9lvv+fq3/8AAdv/AIuj/XDI/wDn/wBvsz6bL4dlt5re4LB119n8V8/v/DpY+SNH ++CHjhINd1+18N6lbXdt4v03xHp+h+Jtdjvbu/it7RYZI5LkSzANksyF3IBVM4HT1e+07xZ4+ +8ffC/wAR3ng+78NwaLf6i19bXt7ayyQxyWbRxv8AuZXDBnbGFJIxkgCvYPst9/z9W/8A4Dt/ +8XR9lvv+fq3/APAdv/i6a4xyRK3t+32Z9El/L2iiXgq7+z5bra7f5tnzpoHwh8WWHjnQ7+TS +fLsbX4iaxrsji5hISyns5o4pcB8/NI4G0DcM5IAyaS6+EHix/BWt2CaQDdzfEyLxDbx/aIf+ +PEX8MzTA78D5Fdtv3u2MnFfRn2W+/wCfq3/8B2/+Lo+y33/P1b/+A7f/ABdKPGGRwcWsR8KS ++Gf2eVr7P9xfj8qng6873jvfquvP/wDJv8Pn8qn9nzUrbx34p07XfCniTxV4c1/xE+sR6hpf +jCSzsYo5ZEkIubI3EYZomXIKI+4KvQiui8Y/CLxVq3gD496bbaSJr3xNrC3ejxG4hH2lBbWi +Bsl8Jh4XHzlT8ue4z9EfZb7/AJ+rf/wHb/4uj7Lff8/Vv/4Dt/8AF0R4wyOKUViNlb4Z7e7/ +AHf7qG8JXcubl633W+vn5s8f8FaN4t8DfGTxpu8LTan4c8UX1tqCa7b31uqWey0jhdJYncSE +7ohgorAhuoxXYL4r8ZHw5FeHwJjVW1X7I+mf2xD8ln5xT7X5uNp/d4k8r73O3rXYfZb7/n6t +/wDwHb/4uj7Lff8AP1b/APgO3/xdNcY5Hovb7W+zPZW/u9lb089SfqVfpH8V5/8AD+q7XRla +fq2s3PirV7C60L7HottFA9lq/wBsR/tjsG8xPJA3R7MLy33t3HStuofst9/z9W//AIDt/wDF +0fZb7/n6t/8AwHb/AOLpf64ZH/0Ef+Sz/wDkR/U6/wDL+KHaR/x6N/12m/8ARjU26/5Ctr/1 +xl/9CjqxaWwtIBGGLnJYse5JJJ/MmmXdo88kcsUgilQFQWXcpBxkEZHoO9fj+XZnhaHETzCp +K1JzqO9ntJStpv1R7FSlKWG9mt7L9Ba+SR+zN4htvC02uC11DUPENl4svNaHhK+1lpNL1S1a +8kdE8gymCOQoyyKxAw4G/vj6w+y33/P1b/8AgO3/AMXR9lvv+fq3/wDAdv8A4uv2BcY5JGSk +sRr/AIZ90/5fI8d4Ou48rjp6rs138z5d8T/AvVp/iB41fU/CfiTxX4b8XXcV4f7H8Wtp0MCt +DHFJDd232iNJAvl5DIJMqQOwroPHnwi8S6ro/wAfLTT9K8//AISXTrS30VTcxA3Lx2flkZZ/ +kw4Ay+3196+gvst9/wA/Vv8A+A7f/F0fZb7/AJ+rf/wHb/4un/rjkfLyKvpa3wz20t9npb/M +awmIU+fl133Xz+8+evjR8JvFfi2/8aTaVpX2sal8PjokDfaIk82989nEXzOMcNnccLz1rZ1H +4aeIbrUvjK/9mh4fEPhuz0/TszR4uJktZ43TG75cM6jLYHPXGa9s+y33/P1b/wDgO3/xdH2W ++/5+rf8A8B2/+LpS4wyOcHB19Hf7M+rb/l82KGDrwcZKO1uq6KK7/wB1fifPeleDvHPwz1uH +W7HwlJ4uXVfCmm6PeWlrqFtDdafc2qODzM6o8beaclXyCvQg1tWXw58Tad+x4/ghbAP4rHhW +TTBZJPHg3DQMmwSFgnU4znHvXtX2W+/5+rf/AMB2/wDi6Pst9/z9W/8A4Dt/8XVVOMcjqKal +X+Lf3Z+b/l/vMKeDr03Fxj8Nuq6JL9EeJ6f+zrNF8RdI1x9QSPw3DbQXt14f2ZEmrw2/2eO4 +yOMCI8j+9Gjdq8zsfgN400LSPhpqlzoWtanPo/h6XQdQ0bQPEv8AZV7AfPDxypNHPHHIpC4Z +DIP4TyRgfXH2W+/5+rf/AMB2/wDi6Pst9/z9W/8A4Dt/8XQ+Mskcub6x1v8ADPzX8vZ29Ldi +Y4KvGPLy9Et10s+/dX9b92ebWHw+Gkfs/aj4W0PQ7nSZ7jSbyOHSby/F1NHPMsjFHnZ2DEu5 +y24jnriuL0S9+Kk/wYXwbp/gPVPB/iKy8PJZWmt3mpafJALiOJUwoinkcFsHaxTAOCcV7pqW +hvrOnXVhf/Yb6wuonguLW5s/MimjYFWR1LkMpBIIPBBrlPD3wK8FeEdYt9W0LwZ4R0XVbfd5 +N9p/h+CCeLcpVtrphhlWYHB5BI70nxhkb5r4j4rfZn0vb7Pmylg665fd2v262v8AkfP8PwN8 +ZeKbX4mKdB13RG1vwjFpFqfFfiCPU5prxJZnOJFnlKRneuM7QCSQorp/iP4N8bfEz/hB/FE3 +gvWtKvPDk9zb3Xh+y8Sx2V7cxTQopmgurecKCrLjY7ruUtnGcV9G/Zb7/n6t/wDwHb/4uj7L +ff8AP1b/APgO3/xdN8Y5I7fv9v7s+7f8vm16bWEsFXTvy/iuyXfyXzPBPCvwjvNJ8Q/DTUtM +8L6lodraarqupaxBq+sLf3UMk9s0aySSmaQyF2CkhGbGee5r6BqH7Lff8/Vv/wCA7f8AxdH2 +W+/5+rf/AMB2/wDi6Hxjkj/5f/8Aks//AJEPqVf+X8V6/qRyf8hW3/64y/8AoUdY/wAQfh7o +HxS8J33hvxLp6ajpN4uHjYkMjDlXRhyjqcEMOQRWw2nXjXCTfaoNyKyAfZ2xgkE/x/7IqT7L +ff8AP1b/APgO3/xdT/rhkf8A0Ef+Sz/+RH9Tr/y/ijE8A+AdD+GXhaz8PeHbFbDTLUHauSzy +OTl5JHPLuxyWYkkk1tD/AJC9v/1wl/8AQo6X7Lff8/Vv/wCA7f8AxdPtrORLjz55llcKUUIm +wAEgnqTnoK8LPeKMpxeW1qFCtzTkrJcsl+aSN6GFrQqxlJaL0LdFFFfgx754t8Sf2fJfjf8A +EJZfH2oRap8NtOhU6d4Rtt8aXV2ykPcXjAgvsziNFOBncec56H4IfDnxF8KdF1Dw1qfiQ+Jv +DtnOF8PTXYJvraz28W9xJ0k2H5VfqVAz2A9Iorunja06P1eT9xWsrKyt1Xm+r3fUzUIqXN1C +uk8I/cuPqK5uum8JIRFO3YkCvs+BoSlmyklooyucWOa9iZ/gCWOb4c+GIpYRIn9l2oIJ6/ul +rQOi6UT/AMg+L/P4Vk/Dz/kQPDP/AGDLb/0UtdBX9DnzpV/sTSv+gfF/n8KP7E0r/oHxf5/C +rVFAFX+xNK/6B8X+fwo/sTSv+gfF/n8KtUUAVf7E0r/oHxf5/Cj+xNK/6B8X+fwq1RQBV/sT +Sv8AoHxf5/Cj+xNK/wCgfF/n8KtUUAVf7E0r/oHxf5/Cj+xNK/6B8X+fwq1RQBV/sTSv+gfF +/n8KP7E0r/oHxf5/CrVFAFX+xNK/6B8X+fwo/sTSv+gfF/n8KtUUAVf7E0r/AKB8X+fwo/sT +Sv8AoHxf5/CrVFAFX+xNK/6B8X+fwo/sTSv+gfF/n8KtUUAVf7E0r/oHxf5/Cj+xNK/6B8X+ +fwq1RQBV/sTSv+gfF/n8KP7E0r/oHxf5/CrVFAFX+xNK/wCgfF/n8KP7E0r/AKB8X+fwq1RQ +BV/sTSv+gfF/n8KP7E0r/oHxf5/CrVFAFX+xNK/6B8X+fwo/sTSv+gfF/n8KtUUAVf7E0r/o +Hxf5/Cj+xNK/6B8X+fwq1RQBV/sTSv8AoHxf5/Cj+xNK/wCgfF/n8KtUUAVf7E0r/oHxf5/C +j+xNK/6B8X+fwq1RQBV/sTSv+gfF/n8KP7E0r/oHxf5/CrVFAFX+xNK/6B8X+fwo/sTSv+gf +F/n8KtUUAVf7E0r/AKB8X+fwo/sTSv8AoHxf5/CrVFAFX+xNK/6B8X+fwo/sTSv+gfF/n8Kt +UUAVf7E0r/oHxf5/Cj+xNK/6B8X+fwq1RQBV/sTSv+gfF/n8KP7E0r/oHxf5/CrVFAFX+xNK +/wCgfF/n8KP7E0r/AKB8X+fwq1RQBV/sTSv+gfF/n8KP7E0r/oHxf5/CrVFAFX+xNK/6B8X+ +fwo/sTSv+gfF/n8KtUUAVf7E0r/oHxf5/Cj+xNK/6B8X+fwq1RQBV/sTSv8AoHxf5/Cj+xNK +/wCgfF/n8KtUUAVf7E0r/oHxf5/Cj+xNK/6B8X+fwq1RQBV/sTSv+gfF/n8KP7E0r/oHxf5/ +CrVFAFX+xNK/6B8X+fwo/sTSv+gfF/n8KtUUAVf7E0r/AKB8X+fwo/sTSv8AoHxf5/CrVFAF +X+xNK/6B8X+fwo/sTSv+gfF/n8KtUUAVf7E0r/oHxf5/Cj+xNK/6B8X+fwq1RQBV/sTSv+gf +F/n8KP7E0r/oHxf5/CrVFAFX+xNK/wCgfF/n8KP7E0r/AKB8X+fwq1RQBV/sTSv+gfF/n8KP +7E0r/oHxf5/CrVFAFX+xNK/6B8X+fwo/sTSv+gfF/n8KtUUAVf7E0r/oHxf5/Cj+xNK/6B8X ++fwq1RQBV/sTSv8AoHxf5/Cj+xNK/wCgfF/n8KtUUAVf7E0r/oHxf5/Cj+xNK/6B8X+fwq1R +QBV/sTSv+gfF/n8KP7E0r/oHxf5/CrVFAFX+xNK/6B8X+fwo/sTSv+gfF/n8KtUUAVf7E0r/ +AKB8X+fwo/sTSv8AoHxf5/CrVFAFX+xNK/6B8X+fwo/sTSv+gfF/n8KtUUAVf7E0r/oHxf5/ +Cj+xNK/6B8X+fwq1RQBV/sTSv+gfF/n8KP7E0r/oHxf5/CrVFAFX+xNK/wCgfF/n8KP7E0r/ +AKB8X+fwq1RQBV/sTSv+gfF/n8KP7E0r/oHxf5/CrVFAFX+xNK/6B8X+fwo/sTSv+gfF/n8K +tUUAVf7E0r/oHxf5/Cj+xNK/6B8X+fwq1RQBV/sTSv8AoHxf5/Cj+xNK/wCgfF/n8KtUUAVf +7E0r/oHxf5/Cj+xNK/6B8X+fwq1RQBV/sTSv+gfF/n8KP7E0r/oHxf5/Cprm4js7aWeZgkUS +F3Y9lAyTXiOl/Ej4o+L/AAefHWgaR4bTw5LE95Y6JfGf+0Ly2XJVjOreXE7qMquxgMgFutJy +Su3st/L+v0Gk3a3U9o/sTSv+gfF/n8KP7E0r/oHxf5/CvMj+0TpV1a+G5NI8OeIPEc+t6QNa +ittJghd4bfKqS/mSpyGYDC5OegrSm+O3h+bQvD+oaRa6n4iuNeEpsNL023X7W/lcTb1kZFj8 +s/K29hgkDkmqaa39P0/R/cSmn/Xz/I7v+xNK/wCgfF/n8KP7E0r/AKB8X+fwrzi4/aD0U6Po +F5p2ia7rN5rN1c2UOk2dvEt3FPbhvPjlWWVFUptbPzHpxnisbxH8cNS17S/BzeCFtNPvdc12 +bRbpPEtjI7WEkUUzyI8UcqHeGixw5GDkZpeS8vxt+Gq1H0u/P8L/AOT08j2D+xNK/wCgfF/n +8KP7E0r/AKB8X+fwrw8/tDax4dtvF+maxp2ma54l0a+sdOs20OR47W/uLziGM7yxhZTneCzY +HPtXaabefErRbLU9R8Tz+Fbm0gsJrhIdJtrmOSOZV3KpaSRg68HJwh6ceiclGLk9l/lf8hpN +tR6v/hjvP7E0r/oHxf5/Cj+xNK/6B8X+fwrwjwp8afG1vb/DbUfEreGdRsPGr28UdnpEE9te +WjTQmUPiSWQSouMMRtxnPtX0DVuLje/R2+aIUk7W6q/y/pFX+xNK/wCgfF/n8KP7E0r/AKB8 +X+fwrwz9rn4uN4E8OeHvD2leLLHwvrniPWbPTp72S4jW40+wlZxLeBWI2ouzaZDgDJ5BwRyP +wV+KNh4P+Pd78P1+LUXxA8L6lo0Wo6bqOq6tBdzx3xn8k2azqcO7D5xH1xjA6lpKPqH+xNK/ +6B8X+fwo/sTSv+gfF/n8KtVxfxp8a33w5+FXibxLpsdtLf6ZZtcQpeKzQlgR98KykjnsRSb5 +VdlRTk0kdV/Ymlf9A+L/AD+FH9iaV/0D4v8AP4V5H4M+MEzaN4i17V/HXgnxfpOjac97c2/g +2FjcwBQWy+buUYIVgAQuT34rc8OfHrRdXury31XSdY8Iy2+mNrIGuwxIs1muN8yNFJIpC5XI +JDDcOKb03/rf/Jv0RCd1df1t/mvvPQP7E0r/AKB8X+fwo/sTSv8AoHxf5/CvMNP+PVl4mnGm +Q+H/ABFoc+o6Xdahpd7qdtFFFdRRIpLoBKzr99CA6Keelc/8P/itJpvhr4fXniDXr94pfA0m +u6gj2qSpN5S25kneXPmBx5hwqghtxJIIGTa99Lf5Sf4crHva2t/84r/25Ht/9iaV/wBA+L/P +4Uf2JpX/AED4v8/hXi3xL+MOqXnwfu/EOlaF4h8OSR32mG3a7SBZbyGW7iBEQjlf7yErhip+ +YdK9C8B/E6z8dX+rab/ZWq6BrOl+UbrTNYhSOZUkBMcgMbujK21sEMeVIOKdnr5f5J/qK6sm +dP8A2JpX/QPi/wA/hR/Ymlf9A+L/AD+FeIeO/ipr+i3vxR8R6ZPG2n+DbSDT7XT7hS0FxdyC +OaaWQKQx2pJEigEY+f1r0Dx146v/AAx4i8AWFrDbSQ+INVaxummViyILaWXKYYYO6NRzkYJ4 +70lql52/Hb79xvS/lf8ABXf3bHX/ANiaV/0D4v8AP4Uf2JpX/QPi/wA/hXmvhv8AaJ0XxFq2 +l2x0HX9N0/VbyXT9P1m9tohZ3NxGXBjVklZ1JMb43qoO2uWuPjbrWkT+HRYQ6j4vS/8AFOq6 +TcWqWdtBd+XAsxWOEGZI9qNGPndgzKCSATihO/8AXml+qB6Xv/Wjf6M9z/sTSv8AoHxf5/Cj ++xNK/wCgfF/n8K898R/HnTPDU1zFL4e8QXsun2cV9q62NtFL/ZMbqWAnPm4LBQSViMhwM4xg +nN+I/wAd7LTtM12w8O6brXiDULfRzfS3ui26PDYLLEzQySO7ryQN4VAzYGcVMpcsXLt/X6FR +jzSUe/8AwP8ANfeeqf2JpX/QPi/z+FH9iaV/0D4v8/hXm7/EHVfC/wCzdY+MFtJNf1iDQLa9 +aJiczSNEhZ3KgnAJLNgZwDXM6v8AFXxnonwZ8R+NP7a8IeJUgt4pdPm8OQymPe0iq6PvmYNg +MMHK89QK0muSUov7P9foZxfNGMl1/wCB/me3f2JpX/QPi/z+FH9iaV/0D4v8/hXIXHxL1K28 +OQ6o/wAPvFTzyStG2mRrZNcxqoz5jYudm09Bhy2R92uO1P4/XFx4m8ByeGtD1DxNoXiLSry+ +a1sYoUvFaJ4VUnzpY1UKXcMMk5xjpS3dv62b/Qrpf+t7HsH9iaV/0D4v8/hR/Ymlf9A+L/P4 +V57r/wAftD8PanfwS6VrVzp2lzx2uqaza2yPZ6fK4U7JW3hiVDpuMauF3ckVo2fxTtfEXi/U +vDWl6Lrd5HZTmxvNbto4VtLWfyw5Us0gkJAZeVjIyRzS1e39f1da+aDbf+v67HYjRdKB/wCQ +fF/n8K0YJ47aMJFCEQdADXm/wS8Sajrfha+07Wblr3WfD+pXGjXV2wAa4MTfu5SB3eNo2PuT +XoNN9Gtnr8nqg7rtp92hg+ABjwJ4bHpptt/6KWt6sPwH/wAiP4d/7B1v/wCilrcpAFFFFABR +RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU +AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR +RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUU +AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBHc28d5bSwTLv +ilQo6nupGCK8R0r4b/FHwh4OPgXQNW8Nv4diiezsdbvvP/tCztWyFUwKvlyuinCtvUHaCV61 +7lRUtJ3T2e/mNNq1uh84zeFtd+Hvxg8IeHvAdvpV22l+CZLQLrtxLCjRLcxDfujRzuzgkbcH +J5FGrfst3T6F4QmMXh3xXrekS3819Y+ILdhp9415L50pTCu0RR8bDtbjII5r6OoqrtpX3119 +W3+orJPTbTT0SX6HkmjfCG707Ufh1d2uk+HvDcOgXN9c32m6KXW3zPC0a+T+7XcclSxYL3+l +c/qf7OVz4iurWHW4tH1TRh40vPEVzZXO6RJbWWB0RCpTBcMykg8ccMa97op/a5v63T/RB05f +62a/9uZ5v4z+COjap8Px4c8L21j4QktLyHU9Ol0+zRIoLuFw6O0a4DAlcN3IJ5rm7n4ffEXx +l4t07VvEw8M2MenaTqNhGNJvLmU3ElyiKHZZIV8tQY84Bc8969soqGuZNPrf8Vb8tBp8rTXT +/O/5nmfwY+BXhr4VeGdCWLw5odt4otdPitr3VbC0QSTShAJGEpUOQxBPOM9xXplFFaSk5O7I +jFRVkfnl/wAFEfhZ4z8a/GjQ9Q8O+Etc1+xTw/DA9zpenTXMayC5uWKEopAOHU4PqK8S+Bnw +M+JGmfGzwBe3vgDxRZWVr4gsJ57m50e4iiijS4RmdmZAFAAJJJ7V+vVFSUFcX8Z/Bl98RPhZ +4m8N6ZJbQ6hqVm0EL3bMsQYkY3FVYgcdga7Sik1dWGnytNHj2p+FPiH4t8D+KfDWqaL4P0aP +U9GuLKC50zU7iZvOeMom9WtUwnJJIJI7A1F8Qfg5L4lNrNqWoW1lo1t4P1DQr6dWYyRtKID5 +qDbgqohYnJB6ccnHs1FEle/n/lJflJhH3bW6f5p/+2o+Vvh5r2rfFH4qeGrVtS8O65Y6H4d1 +Cyn1XwzNNPErSiCNDLvRVjdthIiDMRtbnGK7fwX8G/FXhuPwg922hXs3h/wpeeHvJMsphuXZ +4PIZgY/uFIfnHOC2AGHNe5UVTd9euv483/yTJSsrdOn4f/Io+dLT9n7xW2g6/YqdD8PWN9e6 +Xc2nh/Tb+5uLC1NvdLNNIhkiXyzIqgCNEC5UepNer6R4KvtP+LniTxTJLbnT9S0uxsoo1ZvN +V4XnZywxjBEq4wSeDwO/aUUX/r5W/ILb+f6O54Vqfw/fXfEnxZ8CXjT2Vn4xt49XsNRSIuiP +5McEoJ6bkeKJtpIyH+ta2meAvH/ifxf4S1Hxtc+Hrew8MySXMEehvPJJfXDQtCHk8xFEShXc +7QX5I5wK9fopLS3lb8NvuX+Y3rfzv+O/3ni+k/BbW7DwH4G0SS6083eheJv7ZuXWR9jw+fPJ +tQ7Ml8SqMEAZB59aR+C3ivR7TStQ0i50afXdK8ValrsFveTSpbT290Zl8t5FjLI4WYHhWGRj +kc17rRSWm39fD/8AIoH72/8AXxf/ACTPnjxT+z3qms+OdQ8VT+F/Aniq71u2thf2niFZSLK4 +ijEbG3lELl42AHysqHK5zzW34j+E3i3RtS8Vv4JXw82l+KNPhs7qw1OWa2FlJHAbdXgaONwy +eXtGwhcFeDzivbKKTinHl6fp2Gm01Lqv6/Q5LRtB1zwn8L9I0XSX0+413TdOt7SNr0yLbSPG +iqxJUbgCAcHHpx2ryLVP2ffFHjKTxrfal/wjfhW71zSEsEstAaaa3nuEmEqXNyzRx7mBUJwm +drHk8Cvoqirk3KTm93f8dyYpRiorZW/Db8jwjxx8LvHXxCn8Palr+k+D9XfTluIZvDl3f3R0 +6XeI9lxv8gkyrscANGQA/BzzVfw38E/GXgLR/h3caHJoF1rXhuyvtPurO8nmitJI7mRZMxyL +EzZQoowUGRnpXv8ARSWm39b/AOb/AE6DPni5/Zvli8fazqz+E/A3iqw1u/XUZ7jXon+22TsF +EqREQuJUypZQxTBYg1v+Ifhj4hu/itZeKbW10Hw3ZWV2s91rGm3lwL7UbREINvcW4jWN88Dc +zsVAG0V7RRQvdty9Nv0/L59bg9b367/r/X3HmnwE066/4RnWfEF5byWcvifWLnWY7eZSskcD +kJAGB6ExRoxHYtivS6KKemiWySXySsg6tvrd/fqf/9k= +--------------Q0wl9yuhuMswW8HomAAI95af +Content-Type: application/pgp-keys; name="OpenPGP_0xC32089CD6AF8D6CE.asc" +Content-Disposition: attachment; filename="OpenPGP_0xC32089CD6AF8D6CE.asc" +Content-Description: OpenPGP public key +Content-Transfer-Encoding: quoted-printable + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +xjMEYIucWBYJKwYBBAHaRw8BAQdAew+8mzMWyf3+Pfy49qa60uKV6e5os7de4TdZ +ceAWUq/NF2RlbmJvbmQ3QGZsb3djcnlwdC50ZXN0wngEExYKACAFAmCLnFgCGwMF +FgIDAQAECwkIBwUVCgkICwIeAQIZAQAKCRDDIInNavjWzm3JAQCgFgCEyD58iEa/ +Rw/DYNoQNoZC1lhw1bxBiOcIbtkdBgEAsDFZu3TBavOMKI7KW+vfMBHtRVbkMNpv +unaAldoabgPOOARgi5xYEgorBgEEAZdVAQUBAQdAB1/Mrq5JGYim4KqGTSK4OESQ +UwPgK56q0yrkiU9WgyYDAQgHwnUEGBYKAB0FAmCLnFgCGwwFFgIDAQAECwkIBwUV +CgkICwIeAQAKCRDDIInNavjWzjMgAQCU+R1fItqdY6lt9jXUqipmXuqVaEFPwNA8 +YJ1rIwDwVQEAyUc8162KWzA2iQB5akwLwNr/pLDDtOWwhLUkrBb3mAc=3D +=3DyJxA +-----END PGP PUBLIC KEY BLOCK----- + +--------------Q0wl9yuhuMswW8HomAAI95af-- + +--------------jTmWmaxlglctxEbGvmwkCZ4k-- + +--------------01PuQLLMlZcv9xhr9Cd7idcr +Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" +Content-Description: OpenPGP digital signature +Content-Disposition: attachment; filename="OpenPGP_signature" + +-----BEGIN PGP SIGNATURE----- + +wnsEABYIACMWIQTBZCjWAcs5N4nPYdTDIInNavjWzgUCYg4bjgUDAAAAAAAKCRDDIInNavjWzpSP +AQCfhHi0T27lsVrkkuSl7PXVzQN2jLqIKEucfNJZz9wC1gEAyI7EyYUma71KW2THD6dpfkezwe1U +AzYLR8yE1RptBgs= +=xjtm +-----END PGP SIGNATURE----- + +--------------01PuQLLMlZcv9xhr9Cd7idcr-- + + +R620e1b8f +V1eea7 +Gbaec90138f1b0e629408000073f46975 + diff --git a/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Trash/dbox-Mails/dovecot.index.log b/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Trash/dbox-Mails/dovecot.index.log index 225d95de78..9338bb4474 100644 Binary files a/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Trash/dbox-Mails/dovecot.index.log and b/docker-mailserver/maildata_source/flowcrypt.test/denbond7/mailboxes/Trash/dbox-Mails/dovecot.index.log differ diff --git a/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/dovecot-uidvalidity b/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/dovecot-uidvalidity index 4c2474f005..df3de7d356 100644 --- a/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/dovecot-uidvalidity +++ b/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/dovecot-uidvalidity @@ -1 +1 @@ -6120a119 \ No newline at end of file +6120a11b \ No newline at end of file diff --git a/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/dovecot-uidvalidity.6120a11b b/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/dovecot-uidvalidity.6120a11b new file mode 100644 index 0000000000..e69de29bb2 diff --git a/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/dovecot.list.index.log b/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/dovecot.list.index.log index 4c5bab4cc6..7ac8534f7b 100644 Binary files a/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/dovecot.list.index.log and b/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/dovecot.list.index.log differ diff --git a/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/dovecot.mailbox.log b/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/dovecot.mailbox.log new file mode 100644 index 0000000000..b80f55b915 Binary files /dev/null and b/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/dovecot.mailbox.log differ diff --git a/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/mailboxes/Drafts/dbox-Mails/dovecot.index.cache b/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/mailboxes/Drafts/dbox-Mails/dovecot.index.cache new file mode 100644 index 0000000000..b8160dddc2 Binary files /dev/null and b/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/mailboxes/Drafts/dbox-Mails/dovecot.index.cache differ diff --git a/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/mailboxes/Drafts/dbox-Mails/dovecot.index.log b/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/mailboxes/Drafts/dbox-Mails/dovecot.index.log new file mode 100644 index 0000000000..89a55fcd59 Binary files /dev/null and b/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/mailboxes/Drafts/dbox-Mails/dovecot.index.log differ diff --git a/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/mailboxes/INBOX/dbox-Mails/dovecot.index.log b/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/mailboxes/INBOX/dbox-Mails/dovecot.index.log index ea42553a6b..fc4bc406c4 100644 Binary files a/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/mailboxes/INBOX/dbox-Mails/dovecot.index.log and b/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/mailboxes/INBOX/dbox-Mails/dovecot.index.log differ diff --git a/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/mailboxes/Sent/dbox-Mails/dovecot.index.cache b/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/mailboxes/Sent/dbox-Mails/dovecot.index.cache new file mode 100644 index 0000000000..c1ea7b45e9 Binary files /dev/null and b/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/mailboxes/Sent/dbox-Mails/dovecot.index.cache differ diff --git a/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/mailboxes/Sent/dbox-Mails/dovecot.index.log b/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/mailboxes/Sent/dbox-Mails/dovecot.index.log new file mode 100644 index 0000000000..31257395dd Binary files /dev/null and b/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/mailboxes/Sent/dbox-Mails/dovecot.index.log differ diff --git a/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/subscriptions b/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/subscriptions new file mode 100644 index 0000000000..6ae5c9919e --- /dev/null +++ b/docker-mailserver/maildata_source/flowcrypt.test/has_msgs_no_backups/subscriptions @@ -0,0 +1,4 @@ +V 2 + +Sent +Drafts diff --git a/docker-mailserver/maildata_source/flowcrypt.test/user_with_more_than_21_letters/dovecot.list.index.log b/docker-mailserver/maildata_source/flowcrypt.test/user_with_more_than_21_letters/dovecot.list.index.log index 25116447c8..0af8eda247 100644 Binary files a/docker-mailserver/maildata_source/flowcrypt.test/user_with_more_than_21_letters/dovecot.list.index.log and b/docker-mailserver/maildata_source/flowcrypt.test/user_with_more_than_21_letters/dovecot.list.index.log differ diff --git a/docker-mailserver/maildata_source/flowcrypt.test/user_with_more_than_21_letters/mailboxes/Drafts/dbox-Mails/dovecot.index.log b/docker-mailserver/maildata_source/flowcrypt.test/user_with_more_than_21_letters/mailboxes/Drafts/dbox-Mails/dovecot.index.log index a3b14cc0e2..d9f1566616 100644 Binary files a/docker-mailserver/maildata_source/flowcrypt.test/user_with_more_than_21_letters/mailboxes/Drafts/dbox-Mails/dovecot.index.log and b/docker-mailserver/maildata_source/flowcrypt.test/user_with_more_than_21_letters/mailboxes/Drafts/dbox-Mails/dovecot.index.log differ diff --git a/docker-mailserver/maildata_source/flowcrypt.test/user_with_more_than_21_letters/mailboxes/INBOX/dbox-Mails/dovecot.index.log b/docker-mailserver/maildata_source/flowcrypt.test/user_with_more_than_21_letters/mailboxes/INBOX/dbox-Mails/dovecot.index.log index 2707134549..27ce37e001 100644 Binary files a/docker-mailserver/maildata_source/flowcrypt.test/user_with_more_than_21_letters/mailboxes/INBOX/dbox-Mails/dovecot.index.log and b/docker-mailserver/maildata_source/flowcrypt.test/user_with_more_than_21_letters/mailboxes/INBOX/dbox-Mails/dovecot.index.log differ diff --git a/docker-mailserver/maildata_source/flowcrypt.test/user_with_more_than_21_letters/mailboxes/Junk/dbox-Mails/dovecot.index.log b/docker-mailserver/maildata_source/flowcrypt.test/user_with_more_than_21_letters/mailboxes/Junk/dbox-Mails/dovecot.index.log index 088e142c26..71c479c2b8 100644 Binary files a/docker-mailserver/maildata_source/flowcrypt.test/user_with_more_than_21_letters/mailboxes/Junk/dbox-Mails/dovecot.index.log and b/docker-mailserver/maildata_source/flowcrypt.test/user_with_more_than_21_letters/mailboxes/Junk/dbox-Mails/dovecot.index.log differ diff --git a/docker-mailserver/maildata_source/flowcrypt.test/user_with_more_than_21_letters/mailboxes/Sent/dbox-Mails/dovecot.index.log b/docker-mailserver/maildata_source/flowcrypt.test/user_with_more_than_21_letters/mailboxes/Sent/dbox-Mails/dovecot.index.log index ba89917e7c..6ce5d41cf6 100644 Binary files a/docker-mailserver/maildata_source/flowcrypt.test/user_with_more_than_21_letters/mailboxes/Sent/dbox-Mails/dovecot.index.log and b/docker-mailserver/maildata_source/flowcrypt.test/user_with_more_than_21_letters/mailboxes/Sent/dbox-Mails/dovecot.index.log differ diff --git a/docker-mailserver/maildata_source/flowcrypt.test/user_with_more_than_21_letters/mailboxes/Trash/dbox-Mails/dovecot.index.log b/docker-mailserver/maildata_source/flowcrypt.test/user_with_more_than_21_letters/mailboxes/Trash/dbox-Mails/dovecot.index.log index 25ae90f1dd..aeecca160f 100644 Binary files a/docker-mailserver/maildata_source/flowcrypt.test/user_with_more_than_21_letters/mailboxes/Trash/dbox-Mails/dovecot.index.log and b/docker-mailserver/maildata_source/flowcrypt.test/user_with_more_than_21_letters/mailboxes/Trash/dbox-Mails/dovecot.index.log differ