;---------------------------------------------------------------------------- ;-------- This sequece of HYPHEN-MINUS is 76 bytes long. -------------------- ;---------------------------------------------------------------------------- ;;; options: ;;encode-sticked-comment-as-atom ; violate the policy preserving structures ;;ignore-75bytes-limit ; violate RFC2047 ;;ignore-76bytes-limit ; violate RFC2047 ;;permit-sticked-comment ; violate RFC2047 ;;permit-sticked-special ; violate RFC2047 ;;separate-sticked-comment ; violate the policy preserving absence of space ;;separate-sticked-special ; violate the policy preserving absence of space ;;zero-characters-encoded-word-hack ; violate common sense (very tricky) ;;quoted-encoded-word ; violate character sequence semantics ;;separate-sticked-tokens-for-fold ; violate the policy preserving absence of space ;;encode-long-ascii-string-for-fold ; violate the policy preserving US-ASCII string ;;divide-atom-for-fold ; violate tne policy preserving absence of space ;;; test driver (setq decode-test 'decode-flam) (setq encode-test 'encode-flam) (setq decode-succ-count 0) (setq decode-all-count 0) (defun decode (src dsts &rest opts) (if (stringp dsts) (setq dsts (list dsts))) (setq decode-all-count (1+ decode-all-count)) (let ((res (condition-case nil (apply decode-test src dsts opts) (error nil)))) (if (eq res t) (progn (setq decode-succ-count (1+ decode-succ-count)) (insert "\n'dsucc")) (insert (format "\n%S\n'dfail" res))) res)) (setq encode-succ-count 0) (setq encode-all-count 0) (defun encode (src dsts &rest opts) (if (stringp dsts) (setq dsts (list dsts))) (setq encode-all-count (1+ encode-all-count)) (let ((res (condition-case nil (apply encode-test src dsts opts) (error nil)))) (if (eq res t) (progn (setq encode-succ-count (1+ encode-succ-count)) (insert "\n'esucc")) (insert (format "\n%S\n'efail" res))) res)) (defun report () (insert (format "\n\"Decode: %d/%d Encode: %d/%d Total: %d/%d\"" decode-succ-count decode-all-count encode-succ-count encode-all-count (+ decode-succ-count encode-succ-count) (+ decode-all-count encode-all-count)))) ;;; FLAM specific part (FLIM is OK) (if (< max-specpdl-size 1000) (setq max-specpdl-size 1000)) (defun decode-flam (src dsts &rest opts) (setq eword-lexical-analyze-cache nil) (setq eword-decode-sticked-encoded-word (or (memq 'permit-sticked-comment opts) (memq 'permit-sticked-special opts))) (setq eword-decode-quoted-encoded-word nil) (with-temp-buffer (insert src "\n" mail-header-separator) (eword-decode-header 'us-ascii mail-header-separator) (goto-char (point-min)) (std11-narrow-to-header mail-header-separator) (std11-field-end) (let ((result (buffer-substring (point-min) (point)))) (if (member result dsts) t result)))) (defun encode-flam (src dsts &rest opts) (setq eword-lexical-analyze-cache nil) (setq eword-decode-sticked-encoded-word nil) (setq eword-decode-quoted-encoded-word nil) (with-temp-buffer (insert src "\n" mail-header-separator) (goto-char (point-min)) (eword-encode-header 'us-ascii) (goto-char (point-min)) (std11-narrow-to-header mail-header-separator) (std11-field-end) (let ((result (buffer-substring (point-min) (point)))) (if (member result dsts) t result)))) ;;;start-test ;;; Section 1: Decoding examples from RFC2047 (decode "From: =?US-ASCII?Q?Keith_Moore?= " "From: Keith Moore ") (decode "To: =?ISO-8859-1?Q?Keld_J=F8rn_Simonsen?= " "To: Keld J.ANxrn Simonsen ")*B (decode "CC: =?ISO-8859-1?Q?Andr=E9?= Pirard " "CC: Andr.ANi Pirard ")*B (decode "Subject: =?ISO-8859-1?B?SWYgeW91IGNhbiByZWFkIHRoaXMgeW8=?= =?ISO-8859-2?B?dSB1bmRlcnN0YW5kIHRoZSBleGFtcGxlLg==?=" "Subject: If you can read this you understand the example.") (decode "From: =?ISO-8859-1?Q?Olle_J=E4rnefors?= " "From: Olle J.ANdrnefors ")*B (decode "From: =?ISO-8859-1?Q?Patrik_F=E4ltstr=F6m?= " "From: Patrik F.ANdltstrNvm ")*B (decode "From: Nathaniel Borenstein (=?iso-8859-8?b?7eXs+SDv4SDp7Oj08A==?=)" "From: Nathaniel Borenstein (.HNmNeNlNy NoNa NiNlNhNtNp)")*B (decode "From: foo@bar.baz (=?ISO-8859-1?Q?a?=)" "From: foo@bar.baz (a)") (decode "From: foo@bar.baz (=?ISO-8859-1?Q?a?= b)" "From: foo@bar.baz (a b)") (decode "From: foo@bar.baz (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)" "From: foo@bar.baz (ab)") (decode "From: foo@bar.baz (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)" "From: foo@bar.baz (ab)") (decode "From: foo@bar.baz (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)" "From: foo@bar.baz (ab)") (decode "From: foo@bar.baz (=?ISO-8859-1?Q?a_b?=)" "From: foo@bar.baz (a b)") (decode "From: foo@bar.baz (=?ISO-8859-1?Q?a?= =?ISO-8859-2?Q?_b?=)" "From: foo@bar.baz (a b)") (decode "Subject: (=?ISO-8859-1?Q?a?=)" "Subject: (=?ISO-8859-1?Q?a?=)") (decode "Subject: (=?ISO-8859-1?Q?a?= b)" "Subject: (=?ISO-8859-1?Q?a?= b)") (decode "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)" "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)") (decode "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)" "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)") (decode "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)" "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-1?Q?b?=)") (decode "Subject: (=?ISO-8859-1?Q?a_b?=)" "Subject: (=?ISO-8859-1?Q?a_b?=)") (decode "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-2?Q?_b?=)" "Subject: (=?ISO-8859-1?Q?a?= =?ISO-8859-2?Q?_b?=)") ;;; Section 2: Decoding proper inputs. (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= " "From: $B$"(B ") (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyRCJCQbKEI=?= " "From: $B$"$$(B ") (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyRCJCQbKEI=?= " "From: $B$"$$(B ") (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyRCJCQbKEI=?= " "From: $B$"$$(B ") (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= \"ja \\\"a\\\"\" " "From: $B$"(B \"ja \\\"a\\\"\" ") (decode "From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyhC?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?= =?ISO-2022-JP?B?GyhC?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)" "From: akr@jaist.ac.jp ($B$"(B($B$$(B)$B$&(B)") (decode "From: a=?ISO-2022-JP?B?GyRCJCIbKEI=?= " "From: a=?ISO-2022-JP?B?GyRCJCIbKEI=?= ") (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=b " "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=b ") (decode "From: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=b " "From: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=b ") (decode "From: \"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\" " "From: \"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\" ") (decode "From: \"\\\"\\\\\" =?ISO-2022-JP?B?GyRCJCIbKEI=?= \"\\\"\\\\\" " "From: \"\\\"\\\\\" $B$"(B \"\\\"\\\\\" ") (decode "From: < =?ISO-2022-JP?B?GyRCJCIbKEI=?= @jaist.ac.jp>" "From: < =?ISO-2022-JP?B?GyRCJCIbKEI=?= @jaist.ac.jp>") (decode "From: =?ISO-2022-JP?Q?=1B=24BAA=1B=28B?= " "From: $BAA(B ") (decode "From: =?ISO-2022-JP?Q?=1B$BAA=1B(B?= ) " "From: =?ISO-2022-JP?Q?=1B$BAA=1B(B?= ) ") (decode "From: (=?US-ASCII?Q?(?=)foo@bar.baz(=?US-ASCII?Q?))baz@bar.foo(?=)" "From: (=?US-ASCII?Q?(?=)foo@bar.baz(=?US-ASCII?Q?))baz@bar.foo(?=)") (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEIoGyRCJCIbKEIp?= " "From: \"$B$"(B($B$"(B)\" ") (decode "From: =?US-ASCII?Q?=28?= , =?US-ASCII?Q?=29?= " "From: \"(\" , \")\" ") (decode "From: =?ISO-2022-JP?B?YSJiGyRCJCIbKEJjXA==?= " "From: \"a\\\"b$B$"(Bc\\\\\" ") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: $B$"(B") (decode "Subject: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=b" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=b") (decode "Subject: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=b" "Subject: a=?ISO-2022-JP?B?GyRCJCIbKEI=?=b") (decode "Subject: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b)" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b)") (decode "Subject: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b)" "Subject: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b)") (decode "Subject: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\"" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\"") (decode "Subject: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\"" "Subject: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\"") (decode "Subject: (Re: =?ISO-2022-JP?B?GyRCJCIbKEI=?=)" "Subject: (Re: =?ISO-2022-JP?B?GyRCJCIbKEI=?=)") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:") (decode "Subject: =?ISO-2022-JP?B??=" "Subject: =?ISO-2022-JP?B??=") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= a =?ISO-2022-JP?B?GyRCJCQbKEI=?=" "Subject: $B$"(B a $B$$(B") (decode "Subject: =?ISO-2022-JP?B?GyRCMCQbKEIgICAgICAgICAgICAgICAgICAgICAgICAgICAg?= =?US-ASCII?Q?____________________________________________________________?= =?ISO-2022-JP?B?ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBskQlJfGyhC?=" "Subject: $B0$(B $BR_(B") (decode "From: =?ISO-8859-1?Q?abcdefghijklmnopqrst=A1=28=29=22=5C?= " "From: \"abcdefghijklmnopqrst.AN!()\\\"\\\\\" ")*B (decode "Subject: ?= =?" "Subject: ?= =?") (decode "Subject: \" =?ISO-2022-JP?B?GyRCJCIbKEI=?= \"" "Subject: \" $B$"(B \"") (decode "From: \"\\\\\" =?ISO-2022-JP?B?GyRCJCIbKEI=?= \"\" " "From: \"\\\\\" $B$"(B \"\" ") (decode "Subject: =?ISO-2022-JP?Q?=1B$B$\"=1B(B_=1B$B$\"=1B(B?=" "Subject: $B$"(B $B$"(B") (decode "Subject: =?ISO-2022-JP?Q?=1B$B$\"=1B(B =1B$B$\"=1B(B?=" "Subject: =?ISO-2022-JP?Q?=1B$B$\"=1B(B =1B$B$\"=1B(B?=") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= a =?ISO-8859-8?Q?=E0?=" "Subject: $B$"(B a .HN`")*B (decode "Subject: =?ISO-8859-8?Q?=E0?= =?ISO-2022-JP?B?GyRCTm0bKEI=?=" "Subject: .HN`$BNm(B")*B (decode "Subject: =?ISO-8859-8?Q?=E0_?= =?ISO-2022-JP?B?GyRCTm0bKEI=?=" "Subject: .HN` $BNm(B")*B (decode "Subject: =?ISO-2022-JP-2?B?Gy5GG05DGyRCNFg/dBsoQg==?=" "Subject: .FNC$B4X?t(B")*B (decode "Subject: =?ISO-8859-7?Q?=C3?= =?ISO-2022-JP?B?GyRCNFg/dBsoQg==?=" "Subject: .FNC$B4X?t(B")*B (decode "Subject: =?Shift_JIS?B?gqA=?=" "Subject: $B$"(B" 'quoted-encoded-word) (decode "Subject: =?EUC-JP?B?pKI=?=" "Subject: $B$"(B" 'quoted-encoded-word) (decode "Subject: = =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: = $B$"(B") (decode "Subject: =? =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =? $B$"(B") (decode "Subject: =?ISO-2022-JP =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP $B$"(B") (decode "Subject: =?ISO-2022-JP? =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP? $B$"(B") (decode "Subject: =?ISO-2022-JP?B =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP?B $B$"(B") (decode "Subject: =?ISO-2022-JP?B? =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP?B? $B$"(B") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI $B$"(B") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI= =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI= $B$"(B") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=? =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=? $B$"(B") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: $B$"$"(B") (decode "Subject: ==?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: ==?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?==" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?==") (decode "From: akr@jaist.ac.jp (\\=?ISO-2022-JP?B?GyRCJCIbKEI=?=)" "From: akr@jaist.ac.jp (\\=?ISO-2022-JP?B?GyRCJCIbKEI=?=)") (decode "=?ISO-2022-JP?B?GyRCJCIbKEI=?=: test" "=?ISO-2022-JP?B?GyRCJCIbKEI=?=: test") (decode "=?ISO-2022-JP?B?GyRCJCIbKEI=?=: test" "=?ISO-2022-JP?B?GyRCJCIbKEI=?=: test" 'permit-sticked-special) ;;; Section 3: Decoding melancholic inputs. (decode "From:=?ISO-2022-JP?B?GyRCJCIbKEI=?= " "From:=?ISO-2022-JP?B?GyRCJCIbKEI=?= ") (decode "From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=\\a=?ISO-2022-JP?B?GyRCJCQbKEI=?=)" "From: akr@jaist.ac.jp ($B$"(B\\a$B$$(B)") (decode "From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?= " "From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?= ") (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) " "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) ") (decode "From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) " "From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) ") (decode "From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?= " "From: (a)$B$"(B " 'permit-sticked-comment) (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) " "From: $B$"(B(b) " 'permit-sticked-comment) (decode "From: (a)=?ISO-2022-JP?B?GyRCJCIbKEI=?=(b) " "From: (a)$B$"(B(b) " 'permit-sticked-comment) (decode "From: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?= " "From: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?= ") (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\" " "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\" ") (decode "From: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\" " "From: \"a\"=?ISO-2022-JP?B?GyRCJCIbKEI=?=\"b\" ") (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=) " "From: $B$"(B($B$"(B) " 'permit-sticked-comment) (decode "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=" "To: $B$"(B" 'permit-sticked-special) (decode "To: ,=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "To: ,=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "To: ,=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "To: ,$B$"(B" 'permit-sticked-special) (decode "To: akr@jaist.ac.jp,=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "To: akr@jaist.ac.jp,=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "To: akr@jaist.ac.jp,=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "To: akr@jaist.ac.jp,$B$"(B" 'permit-sticked-special) (decode "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:akr@jaist.ac.jp;" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:akr@jaist.ac.jp;") (decode "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:akr@jaist.ac.jp;" "To: $B$"(B:akr@jaist.ac.jp;" 'permit-sticked-special) (decode "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=;" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=;") (decode "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=;" "To: $B$"(B:$B$$(B;" 'ignore-76bytes-limit 'permit-sticked-special) (decode "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=,=?ISO-2022-JP?B?GyRCJCYbKEI=?=;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=,=?ISO-2022-JP?B?GyRCJCYbKEI=?=;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=") (decode "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=,=?ISO-2022-JP?B?GyRCJCYbKEI=?=;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=" "To: $B$"(B:$B$$(B,$B$&(B;,$B$((B" 'ignore-76bytes-limit 'permit-sticked-special) (decode "Subject:=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject:=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject:=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject:$B$"(B" 'permit-sticked-special) ;;; Section 4: Decoding invalid inputs. (decode "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?==?ISO-2022-JP?B?GyRCJCQbKEI=?= " "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?==?ISO-2022-JP?B?GyRCJCQbKEI=?= ") (decode "From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=a=?ISO-2022-JP?B?GyRCJCQbKEI=?=)" "From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=a=?ISO-2022-JP?B?GyRCJCQbKEI=?=)") (decode "From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)" "From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)") (decode "From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)" "From: akr@jaist.ac.jp ($B$"(B($B$$(B)$B$&(B)" 'ignore-76bytes-limit) (decode "Subject: =?=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP?=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP?=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP?B=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP?B=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP?B?=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP?B?=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI==?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI==?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?=?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?==?ISO-2022-JP?B?GyRCJCIbKEI=?=" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?==?ISO-2022-JP?B?GyRCJCIbKEI=?=") (decode "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI?=" "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI?=") (decode "Subject: =?ISO-2022-JP?B?GyRCNFg-dBsoQg==?=" "Subject: =?ISO-2022-JP?B?GyRCNFg-dBsoQg==?=") ;;; Section 5: Encoding proper inputs. (encode "From: $B$"(B " "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= ") (encode "From: $B$"$$(B " "From: =?ISO-2022-JP?B?GyRCJCIkJBsoQg==?= ") (encode "From: $B$"(B $B$$(B " "From: =?ISO-2022-JP?B?GyRCJCIbKEIgGyRCJCQbKEI=?= ") (encode "From: .AN! N! "*B "From: =?ISO-8859-1?Q?=A1_=A1?= ") (encode "From: \"$B$"(B($B$"(B)\" " "From: =?ISO-2022-JP?B?GyRCJCIbKEIoGyRCJCIbKEIp?= ") (encode "From: \"a\\\"b$B$"(Bc\\\\\" " "From: =?ISO-2022-JP?B?YSJiGyRCJCIbKEJjXA==?= ") (encode "Subject: $B0$(B $BR_(B" "Subject: =?ISO-2022-JP?B?GyRCMCQbKEIgICAgICAgICAgICAgICAgICAgICAgICAgICAg?= =?US-ASCII?Q?____________________________________________________________?= =?ISO-2022-JP?B?ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBskQlJfGyhC?=") (encode "Subject: $B0$(B $BR_(B" "Subject: =?ISO-2022-JP?B?GyQpQrCkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDS3w==" 'ignore-76bytes-limit 'ignore-75bytes-limit) (encode "From: .AN! "*B "From: =?ISO-8859-1?Q?=A1?= ") (encode "From: \"abcdefghijklmnopqrst.AN!()\\\"\\\\\" "*B "From: =?ISO-8859-1?Q?abcdefghijklmnopqrst=A1=28=29=22=5C?= ") (encode "From: akr@jaist.ac.jp (abcdefghijklmnopqrst.AN!\\(\\)\"\\\\)"*B "From: akr@jaist.ac.jp (=?ISO-8859-1?Q?abcdefghijklmnopqrst=A1=28=29\"=5C?=)") (encode "Subject: $B$"(B a .HN`"*B "Subject: =?ISO-2022-JP?B?GyRCJCIbKEI=?= a =?ISO-8859-8?Q?=E0?=") (encode "Subject: .HN`$BNm(B"*B "Subject: =?ISO-8859-8?Q?=E0?= =?ISO-2022-JP?B?GyRCTm0bKEI=?=") (encode "Subject: .HN` $BNm(B"*B '("Subject: =?ISO-8859-8?Q?=E0_?= =?ISO-2022-JP?B?GyRCTm0bKEI=?=" "Subject: =?ISO-8859-8?Q?=E0?= =?ISO-2022-JP?B?IBskQk5tGyhC?=")) (encode "Subject: .FNC$B4X?t(B"*B '("Subject: =?ISO-8859-7?Q?=C3?= =?ISO-2022-JP?B?GyRCNFg/dBsoQg==?=" "Subject: =?ISO-2022-JP-2?B?Gy5GG05DGyRCNFg/dBsoQg==?=")) (encode "From: aaaaaaaaaaaaaaaaaaaaa($B$"$$(B)aaaaaaaaaaaaaaaaaaaa " "From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyRCJCQbKEI=?=)aaaaaaaaaaaaaaaaaaaa ") (encode "From: aaaaaaaaaaaaaaaaaaaaa ($B$"$$(B)aaaaaaaaaaaaaaaaaaaa " '("From: aaaaaaaaaaaaaaaaaaaaa (=?ISO-2022-JP?B?GyRCJCIkJBsoQg==?=)aaaaaaaaaaaaaaaaaaaa " "From: aaaaaaaaaaaaaaaaaaaaa (=?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyRCJCQbKEI=?=)aaaaaaaaaaaaaaaaaaaa ")) (encode "From: aaaaaaaaaaaaaaaaaaaaa( $B$"$$(B)aaaaaaaaaaaaaaaaaaaa " '("From: aaaaaaaaaaaaaaaaaaaaa( =?ISO-2022-JP?B?GyRCJCIkJBsoQg==?=)aaaaaaaaaaaaaaaaaaaa " "From: aaaaaaaaaaaaaaaaaaaaa( =?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyRCJCQbKEI=?=)aaaaaaaaaaaaaaaaaaaa ")) (encode "From: aaaaaaaaaaaaaaaaaaaaa($B$"$$(B )aaaaaaaaaaaaaaaaaaaa " '("From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIkJBsoQg==?= )aaaaaaaaaaaaaaaaaaaa " "From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyRCJCQbKEI=?= )aaaaaaaaaaaaaaaaaaaa ")) (encode "From: aaaaaaaaaaaaaaaaaaaaa($B$"$$(B) aaaaaaaaaaaaaaaaaaaa " "From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIkJBsoQg==?=) aaaaaaaaaaaaaaaaaaaa ") (encode "From: aaaaaaaaaaaaaaaaaaaaa($B$"(B $B$$(B)aaaaaaaaaaaaaaaaaaaa " "From: aaaaaaaaaaaaaaaaaaaaa(=?ISO-2022-JP?B?GyRCJCIbKEIgCg==?= =?ISO-2022-JP?B?GyRCJCQbKEI=?=)aaaaaaaaaaaaaaaaaaaa ") (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaa " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaa ") (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaa " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaa ") (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ") (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ") (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ") (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyhC?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " 'zero-characters-encoded-word-hack) (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyhC?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " 'zero-characters-encoded-word-hack) (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=) aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " 'separate-sticked-tokens-for-fold) (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)=?US-ASCII?Q?aaaaaaaaaaaaaaaaaaaaaaa?= =?US-ASCII?Q?aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?= " 'encode-long-ascii-string-for-fold 'permit-sticked-special) (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaa " 'divide-atom-for-fold) (encode "From: ($B$"(B)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " '("From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ") 'ignore-76bytes-limit) (encode "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa($B$"(B)aa " "From: =?US-ASCII?Q?aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?= =?US-ASCII?Q?a?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aa " 'encode-long-ascii-string-for-fold) (encode "From: $B$"(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa($B$"(B)aa " "From: =?ISO-2022-JP?B?GyRCJCIbKEIgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYQ==?= =?US-ASCII?Q?aaaaaaaaaaaaaaa?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)aa" 'encode-long-ascii-string-for-fold) (encode "From: ($B$"(B) " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=) ") (encode "From: (((((((((((((((((((((((((((((((((((((((($B$"(B)))))))))))))))))))))))))))))))))))))))) " "From: ((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyhC?=)))))))))))))))))))))))))))))))))))))))) " 'zero-characters-encoded-word-hack) (encode "From: ((((((((((((((((((((((((((((((((((((((((($B$"(B))))))))))))))))))))))))))))))))))))))))) " "From: (((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?= =?ISO-2022-JP?B?GyRCJCIbKEI=?=))))))))))))))))))))))))))))))))))))))))) " 'zero-characters-encoded-word-hack) (encode "From: (((((((((((((((((((((((((((((((((((((((((((((($B$"(B)))))))))))))))))))))))))))))))))))))))))))))) " "From: ((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?= =?ISO-2022-JP?B?GyRCJCIbKEI=?=)))))))))))))))))))))))))))))))))))))))))))))) " 'zero-characters-encoded-word-hack) (encode "From: ((((((((((((((((((((((((((((((((((((((((((((((($B$"(B))))))))))))))))))))))))))))))))))))))))))))))) " "From: (((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?= =?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))))))))))))))))) " 'zero-characters-encoded-word-hack) (encode "From: (((((((((((((((((((((((((((((((((((((((((((((((($B$"(B)))))))))))))))))))))))))))))))))))))))))))))))) " "From: ((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?= =?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyhC?=)))))))))))))))))))))))))))))))))))))))))))))))) " 'zero-characters-encoded-word-hack) (encode "From: (((((((((((((((((((((((((((((((((((((((((((((((((((((($B$"(B)))))))))))))))))))))))))))))))))))))))))))))))))))))) " "From: ((((((((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?= =?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyhC?=)))))))))))))))))))))))))))))))))))))))))))))))))))))) " 'zero-characters-encoded-word-hack) (encode "From: ((((((((((((((((((((((((((((((((((((((((((($B$"(B))))))))))))))))))))))))))))))))))))))))))) " "From: ((((((((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?= =?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyhC?=)))))))))))))))))))))))))))))))))))))))))))))))))))))) " 'zero-characters-encoded-word-hack) (encode "From: ((((((((((((((((((((((((((((((((((((((((((((((((((((((($B$"(B))))))))))))))))))))))))))))))))))))))))))))))))))))))) " "From: ((((((((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?= =?ISO-2022-JP?B?GyhC?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)=?ISO-2022-JP?B?GyhC?= =?ISO-2022-JP?B?GyhC?=)))))))))))))))))))))))))))))))))))))))))))))))))))))) " 'zero-characters-encoded-word-hack) (encode "From: (((((((((((((((((((((((((((((((((((((((((((((((((((((((($B$"(B)))))))))))))))))))))))))))))))))))))))))))))))))))))))) " "From: ((((((((((((((((((((((((((((((((((((((((((((((((((((((=?ISO-2022-JP?B?GyhC?= =?ISO-2022-JP?B?GyhC?=((=?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyhC?=))))))))))))))))))))))))))))))))=?ISO-2022-JP?B?GyhC?= =?ISO-2022-JP?B?GyhC?=)))))))))))))))))))))))) " 'zero-characters-encoded-word-hack) (encode "From: ()($B$"(B)() " "From: ()(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)() ") (encode "From: ($B$"(B)()()()()()()()()()()()()()()()()()()() " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)()()()()()()()()()()()()()()()()()()() ") (encode "From: ($B$"(B)()()()()()()()()()()()()()()()()()()()()()() " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?=)()()()()()()()()()()()()()()()()()()()()()() ") (encode "From: ($B$"(B)()()()()()()()()()()()()()()()()()()()()()()() " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyhC?=)()()()()()()()()()()()()()()()()()()()()()()() " 'zero-characters-encoded-word-hack) (encode "From: ($B$"(B)()()()()()()()()()()()()()()()()()()()()()()()()()()() " "From: (=?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyhC?=)()()()()()()()()()()()()()()()(=?ISO-2022-JP?B?GyhC?= =?ISO-2022-JP?B?GyhC?=)()()()()()()()()()()() " 'zero-characters-encoded-word-hack) (encode "To: l@d ($B$"(B aaa)($B$"(B)" "To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?= aaa)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)") (encode "To: l@d ($B$"(B aaaa)($B$"(B)" "To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?= aaaa)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)") (encode "To: l@d ($B$"(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)($B$"(B)" "To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?= aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)") (encode "To: l@d ($B$"(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)($B$"(B)" "To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEIgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE=?= =?US-ASCII?Q?aaaaaaaaaaaaaaaaaa?=)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)" 'encode-long-ascii-string-for-fold) (encode "To: l@d ($B$"(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()$B$"(B)" "To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEIgYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWE=?= =?US-ASCII?Q?aaaaaaaaaaaaaaaaaa?=()=?ISO-2022-JP?B?GyRCJCIbKEI=?=)" 'encode-long-ascii-string-for-fold) (encode "To: l@d ($B$"(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa $B$"(B)($B$"(B)" "To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?= aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa =?ISO-2022-JP?B?GyRCJCIbKEI=?=)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)") (encode "To: l@d ($B$"(B aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa $B$"(B)($B$"(B)" "To: l@d (=?ISO-2022-JP?B?GyRCJCIbKEI=?= aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa =?ISO-2022-JP?B?GyRCJCIbKEI=?=)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)") ;---------------------------------------------------------------------------- ;;; Section 6: Encoding melancholic inputs. (encode "From: akr@jaist.ac.jp ($B$"(B($B$$(B)$B$&(B)" "From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)" 'ignore-76bytes-limit) (encode "From: akr@jaist.ac.jp ($B$"(B($B$$(B)$B$&(B)" "From: akr@jaist.ac.jp (=?ISO-2022-JP?B?GyRCJCIbKEI=?= =?ISO-2022-JP?B?GyhC?=(=?ISO-2022-JP?B?GyRCJCQbKEI=?= =?ISO-2022-JP?B?GyhC?=)=?ISO-2022-JP?B?GyRCJCYbKEI=?=)" 'zero-characters-encoded-word-hack) (encode "From: $B$"(B($B$"(B) " "From: =?ISO-2022-JP?B?GyRCJCIbKEIoGyRCJCIbKEIp?= " 'encode-sticked-comment-as-atom) (encode "From: $B$"(B($B$"(B) " "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?=(=?ISO-2022-JP?B?GyRCJCIbKEI=?=) " 'permit-sticked-comment) (encode "From: $B$"(B($B$"(B) " "From: =?ISO-2022-JP?B?GyRCJCIbKEI=?= (=?ISO-2022-JP?B?GyRCJCIbKEI=?=) " 'separate-sticked-comment) (encode "To: $B$"(B" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=" 'permit-sticked-special) (encode "To: $B$"(B" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?= " 'separate-sticked-special) (encode "To: ,$B$"(B" "To: ,=?ISO-2022-JP?B?GyRCJCIbKEI=?=" 'permit-sticked-special) (encode "To: ,$B$"(B" "To: , =?ISO-2022-JP?B?GyRCJCIbKEI=?= " 'separate-sticked-special) (encode "To: akr@jaist.ac.jp,$B$"(B" "To: akr@jaist.ac.jp,=?ISO-2022-JP?B?GyRCJCIbKEI=?=" 'permit-sticked-special) (encode "To: akr@jaist.ac.jp,$B$"(B" "To: akr@jaist.ac.jp, =?ISO-2022-JP?B?GyRCJCIbKEI=?= " 'separate-sticked-special) (encode "To: $B$"(B:akr@jaist.ac.jp;" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:akr@jaist.ac.jp;" 'permit-sticked-special) (encode "To: $B$"(B:akr@jaist.ac.jp;" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?= :akr@jaist.ac.jp;" 'separate-sticked-special) (encode "To: $B$"(B:$B$$(B;" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=;" 'ignore-76bytes-limit 'permit-sticked-special) (encode "To: $B$"(B:$B$$(B;" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?= =?ISO-2022-JP?B?GyhC?=;" 'zero-characters-encoded-word-hack 'permit-sticked-special) (encode "To: $B$"(B:$B$$(B;" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?= : =?ISO-2022-JP?B?GyRCJCQbKEI=?= ;" 'separate-sticked-special) (encode "To: $B$"(B:$B$$(B,$B$&(B;,$B$((B" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?=,=?ISO-2022-JP?B?GyRCJCYbKEI=?=;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=" 'ignore-76bytes-limit 'permit-sticked-special) (encode "To: $B$"(B:$B$$(B,$B$&(B;,$B$((B" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?=:=?ISO-2022-JP?B?GyRCJCQbKEI=?= =?ISO-2022-JP?B?GyhC?=,=?ISO-2022-JP?B?GyRCJCYbKEI=?= =?ISO-2022-JP?B?GyhC?=;,=?ISO-2022-JP?B?GyRCJCgbKEI=?=" 'zero-characters-encoded-word-hack 'permit-sticked-special) (encode "To: $B$"(B:$B$$(B,$B$&(B;,$B$((B" "To: =?ISO-2022-JP?B?GyRCJCIbKEI=?= : =?ISO-2022-JP?B?GyRCJCQbKEI=?= , =?ISO-2022-JP?B?GyRCJCYbKEI=?= ;, =?ISO-2022-JP?B?GyRCJCgbKEI=?= " 'separate-sticked-special) ;;; Section 7: Using quoted-encoded-words. ;; ;; quoted-encoded-word $BI=8=(B ;; ;; RFC2047 $B$N%G%3!<%@$O@x:_E*$K(B($B%G%3!<%I7k2L$G$J$/(B) encoded-word $B$=$N$b$N$r(B ;; $B=PNO$7$J$1$l$P$J$i$J$$$3$H$,$"$k!#(B ;; ;; 1. $BCN$i$J$$(B charset $B$b$7$/$O(B encoding $B$,;XDj$5$l$F$$$?$H$-!#(B ;; =?unknown-charset?known-encoding?some-encoded-text?= ;; =?known-charset?unknown-encoding?some-encoded-text?= ;; =?unknown-charset?unknown-encoding?some-encoded-text?= ;; ;; 2. $B%G%3!<%I$G$-$F$bFbMF$,7uF]$9$.$k$H$-!#(B ;; Non ASCII $B3HD%(B RFC822 $B$NCf$K(B =?US-ASCII?Q?=0D=0A=0D=0A?= $B$N%G%3!<%I(B ;; $B7k2L$rKd$a9~$`$N$O4m81$9$.$k!#(B ;; ;; $B$^$?!"%G%3!<%@$O(B encoded-word $B$N$h$&$K$_$($k%G%3!<%I7k2L$r=PNO$7$J$1(B ;; $B$l$P$J$i$J$$$3$H$b$"$k!#(B ;; ;; =?US-ASCII?Q?=3D=3FUS-ASCII=3FQ=3Ftext=3F=3D?= ;; ;; $B%G%3!<%@$,C1$J$kJ8;zNs$r=PNO$9$k>l9g!"C1=c$K$d$k$H(B encoded-word $B$=$N$b$N$H(B ;; encoded-word $B$N$h$&$K$_$($kJ8;zNs$r6hJL$G$-$J$$!#(B ;; $B$3$3$G$OJ8;zNsCf$G$=$l$i$r3Nl9g(B(0, 2, 4, ...): charset $B$N@hF,$N(B + $B$N?t$rH>J,$K$7$?J8;zNs(B ;; $B4q?t$N>l9g(B(1, 3, 5, ...): charset $B$N@hF,$N(B + $B$N?t$rH>J,(B($B>.?tE@0J2<(B ;; $B@Z$l$=$NJ8;zNs$=$N$b$N$rI=8=$9$k$,!"$=$l$i$rO"7k$7$?J8;zNs(B ;; =?+US-ASCII?Q?abcd?= $B$O(B abcd $B$H$$$&J8;zNs$rI=8=$9$k$3$H$K$J$j!"(B ;; $B$=$l$>$l$NFbMF$NO"7k$H$O$J$i$J$$!#(B ;; ;; $B$3$l$O$H$/$K(B Non ASCII $B3HD%(B RFC822 $B$NCf$K(B quoted-encoded-word $BI=8=$r(B ;; $BKd$a9~$`$H$-$K5$$rIU$1$J$1$l$P$J$i$J$$!#(B($BKd$a9~$s$@7k2L$O@5$7$$(B ;; quoted-encoded-word $BI=8=$H$O$J$i$J$$$+$bCN$l$J$$!#(B) (decode "Subject: =?Unknown-Charset?B?gqA=?=" "Subject: =?+Unknown-Charset?B?gqA=?=" 'quoted-encoded-word) (decode "Subject: =?US-ASCII?G?H4sIACqUszUAA8tIzcnJBwCGphA2BQAAAA==?=" "Subject: =?+US-ASCII?G?H4sIACqUszUAA8tIzcnJBwCGphA2BQAAAA==?=" 'quoted-encoded-word) (decode "Subject: =?US-ASCII?Unknown-Encoding?H4sIAGOUszUAAwtyczYyMDEHAEpvqpIHAAAA?=" "Subject: =?+US-ASCII?Unknown-Encoding?H4sIAGOUszUAAwtyczYyMDEHAEpvqpIHAAAA?=" 'quoted-encoded-word) (decode "Subject: =?ISO-2022-JP?G?H4sIAGiTszUAA5NWcVIBAhMtaQ0nAGLSaeEMAAAA?= =?ISO-2022-JP?G?H4sIAH6TszUAA5NWcVIxV3FTyVbxldZwAgAuIikKDgAAAA==?=" "Subject: =?+ISO-2022-JP?G?H4sIAGiTszUAA5NWcVIBAhMtaQ0nAGLSaeEMAAAA?==?+ISO-2022-JP?G?H4sIAH6TszUAA5NWcVIxV3FTyVbxldZwAgAuIikKDgAAAA==?=" 'quoted-encoded-word) (decode "Subject: =?Unknown-Charset?B?gqA=?= =?Unknown-Charset?B?gqA=?=" "Subject: =?+Unknown-Charset?B?gqA=?==?+Unknown-Charset?B?gqA=?=" 'quoted-encoded-word) (decode "Subject: =?Unknown-Charset?B?gqA=?= =?Unknown-Charset?B?gqA=?=" "Subject: =?+Unknown-Charset?B?gqA=?==?+Unknown-Charset?B?gqA=?=" 'quoted-encoded-word) (decode "Subject: =?Unknown-Charset?B?gqA=?= =?Unknown-Charset?B?gqA=?=" "Subject: =?+Unknown-Charset?B?gqA=?==?+Unknown-Charset?B?gqA=?=" 'quoted-encoded-word) (decode "Subject: =?Unknown-Charset?B?gqA=?= =?Unknown-Charset?B?gqA=?=" "Subject: =?+Unknown-Charset?B?gqA=?==?+Unknown-Charset?B?gqA=?=" 'quoted-encoded-word) (decode "Subject: a=?Unknown-Charset?B?gqA=?=" "Subject: a=?Unknown-Charset?B?gqA=?=" 'quoted-encoded-word) (decode "Subject: =?Unknown-Charset?B?gqA=?=b" "Subject: =?Unknown-Charset?B?gqA=?=b" 'quoted-encoded-word) (decode "Subject: a=?Unknown-Charset?B?gqA=?=b" "Subject: a=?Unknown-Charset?B?gqA=?=b" 'quoted-encoded-word) (decode "Subject: a =?Unknown-Charset?B?gqA=?= b" "Subject: a =?+Unknown-Charset?B?gqA=?= b" 'quoted-encoded-word) (decode "Subject: =?ISO-2022-JP?B?DQoNCg==?=" "Subject: =?+US-ASCII?Q?=0D=0A=0D=0A?=" 'quoted-encoded-word) (decode "Subject: =?US-ASCII?Q?a=0D=0A_b?=" "Subject: a=?+US-ASCII?Q?=0D=0A?= b" 'quoted-encoded-word) (decode "Subject: =?US-ASCII?Q?a=0D=0Ab?=" "Subject: a=?+US-ASCII?Q?=0D=0A?=b" 'quoted-encoded-word) ;;;end-test (report) ;----------------------------------------------------------------------------