1%%
2%% %CopyrightBegin%
3%%
4%% Copyright Ericsson AB 2008-2019. All Rights Reserved.
5%%
6%% Licensed under the Apache License, Version 2.0 (the "License");
7%% you may not use this file except in compliance with the License.
8%% You may obtain a copy of the License at
9%%
10%%     http://www.apache.org/licenses/LICENSE-2.0
11%%
12%% Unless required by applicable law or agreed to in writing, software
13%% distributed under the License is distributed on an "AS IS" BASIS,
14%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15%% See the License for the specific language governing permissions and
16%% limitations under the License.
17%%
18%% %CopyrightEnd%
19%%
20-module(re_testoutput1_replacement_test).
21-export([run/0]).
22-compile(no_native).
23%% This file is generated by running run_pcre_tests:gen_repl_test("re_SUITE_data/testoutput1")
24run() ->
25    run0(),
26    run1(),
27    run2(),
28    run3(),
29    run4(),
30    run5(),
31    run6(),
32    run7(),
33    run8(),
34    run9(),
35    run10(),
36    run11(),
37    run12(),
38    run13(),
39    run14(),
40    run15(),
41    run16(),
42    run17(),
43    run18(),
44    run19(),
45    run20(),
46    run21(),
47    run22(),
48    run23(),
49    run24(),
50    run25(),
51    run26(),
52    run27(),
53    run28(),
54    run29(),
55    run30(),
56    run31(),
57    run32(),
58    run33(),
59    run34(),
60    run35(),
61    run36(),
62    run37(),
63    run38(),
64    run39(),
65    run40(),
66    run41(),
67    run42(),
68    run43(),
69    run44(),
70    run45(),
71    run46(),
72    run47(),
73    run48(),
74    run49(),
75    run50(),
76    run51(),
77    run52(),
78    run53(),
79    run54(),
80    run55(),
81    run56(),
82    ok.
83run0() ->
84    <<"SSxHvfHfMHTdP">> = iolist_to_binary(re:replace("the quick brown fox","the quick brown fox","SSx\\1HvfHfMHTdP",[])),
85    <<"SSxHvfHfMHTdP">> = iolist_to_binary(re:replace("the quick brown fox","the quick brown fox","SSx\\1HvfHfMHTdP",[global])),
86    <<"The quick brown FOX">> = iolist_to_binary(re:replace("The quick brown FOX","the quick brown fox","sSrOvIDlw&sr",[])),
87    <<"The quick brown FOX">> = iolist_to_binary(re:replace("The quick brown FOX","the quick brown fox","sSrOvIDlw&sr",[global])),
88    <<"What do you know about HAthe quick brown foxExLcRRqeQthe quick brown foxe?">> = iolist_to_binary(re:replace("What do you know about the quick brown fox?","the quick brown fox","HA&ExLcRRqeQ&e",[])),
89    <<"What do you know about HAthe quick brown foxExLcRRqeQthe quick brown foxe?">> = iolist_to_binary(re:replace("What do you know about the quick brown fox?","the quick brown fox","HA&ExLcRRqeQ&e",[global])),
90    <<"What do you know about THE QUICK BROWN FOX?">> = iolist_to_binary(re:replace("What do you know about THE QUICK BROWN FOX?","the quick brown fox","l",[])),
91    <<"What do you know about THE QUICK BROWN FOX?">> = iolist_to_binary(re:replace("What do you know about THE QUICK BROWN FOX?","the quick brown fox","l",[global])),
92    <<"x">> = iolist_to_binary(re:replace("the quick brown fox","The quick brown fox","x",[caseless])),
93    <<"x">> = iolist_to_binary(re:replace("the quick brown fox","The quick brown fox","x",[caseless,
94                                                                                                                                                                                                                       global])),
95    <<"SODNIyIgxThe quick brown FOXBThe quick brown FOXbBb">> = iolist_to_binary(re:replace("The quick brown FOX","The quick brown fox","SOD\\1NIy\\1Igx&B&b\\1Bb",[caseless])),
96    <<"SODNIyIgxThe quick brown FOXBThe quick brown FOXbBb">> = iolist_to_binary(re:replace("The quick brown FOX","The quick brown fox","SOD\\1NIy\\1Igx&B&b\\1Bb",[caseless,
97                                                                                                                                                                                                                                                                          global])),
98    <<"What do you know about TI?">> = iolist_to_binary(re:replace("What do you know about the quick brown fox?","The quick brown fox","TI",[caseless])),
99    <<"What do you know about TI?">> = iolist_to_binary(re:replace("What do you know about the quick brown fox?","The quick brown fox","TI",[caseless,
100                                                                                                                                                                                                                                                                         global])),
101    <<"What do you know about miTHE QUICK BROWN FOX?">> = iolist_to_binary(re:replace("What do you know about THE QUICK BROWN FOX?","The quick brown fox","mi&",[caseless])),
102    <<"What do you know about miTHE QUICK BROWN FOX?">> = iolist_to_binary(re:replace("What do you know about THE QUICK BROWN FOX?","The quick brown fox","mi&",[caseless,
103                                                                                                                                                                                                                                                                            global])),
104    <<"LhLxqabcd
105
1069;$\\?caxyzBxFJ">> = iolist_to_binary(re:replace("abcd
107
1089;$\\?caxyz","abcd\\t\\n\\r\\f\\a\\e\\071\\x3b\\$\\\\\\?caxyz","LhLxq&\\1Bx\\1FJ",[])),
109    <<"LhLxqabcd
110
1119;$\\?caxyzBxFJ">> = iolist_to_binary(re:replace("abcd
112
1139;$\\?caxyz","abcd\\t\\n\\r\\f\\a\\e\\071\\x3b\\$\\\\\\?caxyz","LhLxq&\\1Bx\\1FJ",[global])),
114    <<"wqqHkXDku">> = iolist_to_binary(re:replace("abxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","wqqHkXDku",[])),
115    <<"wqqHkXDku">> = iolist_to_binary(re:replace("abxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","wqqHkXDku",[global])),
116    <<"jL">> = iolist_to_binary(re:replace("abxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","jL",[])),
117    <<"jL">> = iolist_to_binary(re:replace("abxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","jL",[global])),
118    <<"IIBgfOPaabxyzpqrrrabbxyyyypqAzzaabxyzpqrrrabbxyyyypqAzzUE">> = iolist_to_binary(re:replace("aabxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","IIBgfOP&&UE",[])),
119    <<"IIBgfOPaabxyzpqrrrabbxyyyypqAzzaabxyzpqrrrabbxyyyypqAzzUE">> = iolist_to_binary(re:replace("aabxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","IIBgfOP&&UE",[global])),
120    <<"asmnbaRlhmj">> = iolist_to_binary(re:replace("aaabxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","as\\1mnbaRlhmj",[])),
121    <<"asmnbaRlhmj">> = iolist_to_binary(re:replace("aaabxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","as\\1mnbaRlhmj",[global])),
122    <<"PPkDpiQNRoIwOISn">> = iolist_to_binary(re:replace("aaaabxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","PPkDpiQNRoIwOISn",[])),
123    <<"PPkDpiQNRoIwOISn">> = iolist_to_binary(re:replace("aaaabxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","PPkDpiQNRoIwOISn",[global])),
124    <<"WA">> = iolist_to_binary(re:replace("abcxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","WA",[])),
125    <<"WA">> = iolist_to_binary(re:replace("abcxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","WA",[global])),
126    <<"MmDiT">> = iolist_to_binary(re:replace("aabcxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","MmDiT\\1",[])),
127    <<"MmDiT">> = iolist_to_binary(re:replace("aabcxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","MmDiT\\1",[global])),
128    <<"rvMxRG">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","r\\1vMxRG",[])),
129    <<"rvMxRG">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","r\\1vMxRG",[global])),
130    <<"PNbQpnwvNqPbU">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","PNbQpnwvNqPb\\1U",[])),
131    <<"PNbQpnwvNqPbU">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","PNbQpnwvNqPb\\1U",[global])),
132    <<"aaabcxyzpqrrrabbxyyyypqqAzzYVt">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","&YVt",[])),
133    <<"aaabcxyzpqrrrabbxyyyypqqAzzYVt">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","&YVt",[global])),
134    <<"gMA">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","gMA",[])),
135    <<"gMA">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","gMA",[global])),
136    <<"PkGaaabcxyzpqrrrabbxyyyypqqqqAzzHIbA">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","PkG&HIbA",[])),
137    <<"PkGaaabcxyzpqrrrabbxyyyypqqqqAzzHIbA">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","PkG&HIbA",[global])),
138    <<"NAVDRk">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqqqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","N\\1AVDRk\\1",[])),
139    <<"NAVDRk">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqqqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","N\\1AVDRk\\1",[global])),
140    <<"l">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqqqqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","l",[])),
141    <<"l">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqqqqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","l",[global])),
142    <<"i">> = iolist_to_binary(re:replace("aaaabcxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","i",[])),
143    <<"i">> = iolist_to_binary(re:replace("aaaabcxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","i",[global])),
144    <<"gsLSabxyzzpqrrrabbxyyyypqAzzmSnQdb">> = iolist_to_binary(re:replace("abxyzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","gsLS&mSnQdb",[])),
145    <<"gsLSabxyzzpqrrrabbxyyyypqAzzmSnQdb">> = iolist_to_binary(re:replace("abxyzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","gsLS&mSnQdb",[global])),
146    <<"kaabxyzzzpqrrrabbxyyyypqAzzKdaabxyzzzpqrrrabbxyyyypqAzzaabxyzzzpqrrrabbxyyyypqAzzoPf">> = iolist_to_binary(re:replace("aabxyzzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","k\\1&Kd&&oPf",[])),
147    <<"kaabxyzzzpqrrrabbxyyyypqAzzKdaabxyzzzpqrrrabbxyyyypqAzzaabxyzzzpqrrrabbxyyyypqAzzoPf">> = iolist_to_binary(re:replace("aabxyzzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","k\\1&Kd&&oPf",[global])),
148    <<"dgKHkAqsVS">> = iolist_to_binary(re:replace("aaabxyzzzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","dgKH\\1kAqsVS",[])),
149    <<"dgKHkAqsVS">> = iolist_to_binary(re:replace("aaabxyzzzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","dgKH\\1kAqsVS",[global])),
150    <<"meKaaaabxyzzzzpqrrrabbxyyyypqAzzPvFP">> = iolist_to_binary(re:replace("aaaabxyzzzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","\\1meK&\\1\\1PvFP",[])),
151    <<"meKaaaabxyzzzzpqrrrabbxyyyypqAzzPvFP">> = iolist_to_binary(re:replace("aaaabxyzzzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","\\1meK&\\1\\1PvFP",[global])),
152    <<"YNabcxyzzpqrrrabbxyyyypqAzzTEpGJfWxCPabcxyzzpqrrrabbxyyyypqAzz">> = iolist_to_binary(re:replace("abcxyzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","YN&TEpGJfWxCP&",[])),
153    <<"YNabcxyzzpqrrrabbxyyyypqAzzTEpGJfWxCPabcxyzzpqrrrabbxyyyypqAzz">> = iolist_to_binary(re:replace("abcxyzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","YN&TEpGJfWxCP&",[global])),
154    <<"SaabcxyzzzpqrrrabbxyyyypqAzzwJjqEgHHwYYq">> = iolist_to_binary(re:replace("aabcxyzzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","S&w\\1JjqE\\1gHHwYYq",[])),
155    <<"SaabcxyzzzpqrrrabbxyyyypqAzzwJjqEgHHwYYq">> = iolist_to_binary(re:replace("aabcxyzzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","S&w\\1JjqE\\1gHHwYYq",[global])),
156    <<"aaabcxyzzzzpqrrrabbxyyyypqAzzGwVGaaabcxyzzzzpqrrrabbxyyyypqAzzlvXk">> = iolist_to_binary(re:replace("aaabcxyzzzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","&GwVG&lvXk\\1\\1",[])),
157    <<"aaabcxyzzzzpqrrrabbxyyyypqAzzGwVGaaabcxyzzzzpqrrrabbxyyyypqAzzlvXk">> = iolist_to_binary(re:replace("aaabcxyzzzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","&GwVG&lvXk\\1\\1",[global])),
158    <<"aaaabcxyzzzzpqrrrabbxyyyypqAzznNjmmVWTBVTADm">> = iolist_to_binary(re:replace("aaaabcxyzzzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","&nN\\1jmmVWTBVTADm",[])),
159    <<"aaaabcxyzzzzpqrrrabbxyyyypqAzznNjmmVWTBVTADm">> = iolist_to_binary(re:replace("aaaabcxyzzzzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","&nN\\1jmmVWTBVTADm",[global])),
160    <<"PoqkwiYVqDWATAJwKaaaabcxyzzzzpqrrrabbbxyyyypqAzz">> = iolist_to_binary(re:replace("aaaabcxyzzzzpqrrrabbbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","Po\\1qkwiYVqDWATAJw\\1K&",[])),
161    <<"PoqkwiYVqDWATAJwKaaaabcxyzzzzpqrrrabbbxyyyypqAzz">> = iolist_to_binary(re:replace("aaaabcxyzzzzpqrrrabbbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","Po\\1qkwiYVqDWATAJw\\1K&",[global])),
162    <<"JNUVqARhXKto">> = iolist_to_binary(re:replace("aaaabcxyzzzzpqrrrabbbxyyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","JNUVqARh\\1\\1XKto",[])),
163    <<"JNUVqARhXKto">> = iolist_to_binary(re:replace("aaaabcxyzzzzpqrrrabbbxyyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","JNUVqARh\\1\\1XKto",[global])),
164    <<"ssvjVvyXuCJeoj">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypABzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","ss\\1vjVvyXuCJ\\1eoj\\1",[])),
165    <<"ssvjVvyXuCJeoj">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypABzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","ss\\1vjVvyXuCJ\\1eoj\\1",[global])),
166    <<"IKBpn">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypABBzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","IK\\1Bpn",[])),
167    <<"IKBpn">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypABBzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","IK\\1Bpn",[global])),
168    <<">>>GGeaaabxyzpqrrrabbxyyyypqAzzrpKAckaaabxyzpqrrrabbxyyyypqAzzaGC">> = iolist_to_binary(re:replace(">>>aaabxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","GGe&rpKAc\\1k&aGC",[])),
169    <<">>>GGeaaabxyzpqrrrabbxyyyypqAzzrpKAckaaabxyzpqrrrabbxyyyypqAzzaGC">> = iolist_to_binary(re:replace(">>>aaabxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","GGe&rpKAc\\1k&aGC",[global])),
170    <<">P">> = iolist_to_binary(re:replace(">aaaabxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","P",[])),
171    <<">P">> = iolist_to_binary(re:replace(">aaaabxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","P",[global])),
172    <<">>>>abcxyzpqrrrabbxyyyypqAzzqKSkoXQtabcxyzpqrrrabbxyyyypqAzzabcxyzpqrrrabbxyyyypqAzzGFnXukr">> = iolist_to_binary(re:replace(">>>>abcxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","&qKSkoXQt&&GFnXukr",[])),
173    <<">>>>abcxyzpqrrrabbxyyyypqAzzqKSkoXQtabcxyzpqrrrabbxyyyypqAzzabcxyzpqrrrabbxyyyypqAzzGFnXukr">> = iolist_to_binary(re:replace(">>>>abcxyzpqrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","&qKSkoXQt&&GFnXukr",[global])),
174    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","th\\1ha",[])),
175    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","th\\1ha",[global])),
176    <<"abxyzpqrrabbxyyyypqAzz">> = iolist_to_binary(re:replace("abxyzpqrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","&h&ni&NOS&oHE&M&DW",[])),
177    <<"abxyzpqrrabbxyyyypqAzz">> = iolist_to_binary(re:replace("abxyzpqrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","&h&ni&NOS&oHE&M&DW",[global])),
178    <<"abxyzpqrrrrabbxyyyypqAzz">> = iolist_to_binary(re:replace("abxyzpqrrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","DyO",[])),
179    <<"abxyzpqrrrrabbxyyyypqAzz">> = iolist_to_binary(re:replace("abxyzpqrrrrabbxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","DyO",[global])),
180    <<"abxyzpqrrrabxyyyypqAzz">> = iolist_to_binary(re:replace("abxyzpqrrrabxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","nRi\\1FPGQknWL",[])),
181    <<"abxyzpqrrrabxyyyypqAzz">> = iolist_to_binary(re:replace("abxyzpqrrrabxyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","nRi\\1FPGQknWL",[global])),
182    <<"aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz">> = iolist_to_binary(re:replace("aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","Gx\\1lJTyU\\1&dN\\1lmHTg",[])),
183    <<"aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz">> = iolist_to_binary(re:replace("aaaabcxyzzzzpqrrrabbbxyyyyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","Gx\\1lJTyU\\1&dN\\1lmHTg",[global])),
184    <<"aaaabcxyzzzzpqrrrabbbxyyypqAzz">> = iolist_to_binary(re:replace("aaaabcxyzzzzpqrrrabbbxyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","uX",[])),
185    <<"aaaabcxyzzzzpqrrrabbbxyyypqAzz">> = iolist_to_binary(re:replace("aaaabcxyzzzzpqrrrabbbxyyypqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","uX",[global])),
186    <<"aaabcxyzpqrrrabbxyyyypqqqqqqqAzz">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqqqqqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","uP\\1\\1P",[])),
187    <<"aaabcxyzpqrrrabbxyyyypqqqqqqqAzz">> = iolist_to_binary(re:replace("aaabcxyzpqrrrabbxyyyypqqqqqqqAzz","a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz","uP\\1\\1P",[global])),
188    <<"AabczzNnWikVeHlabcthmw">> = iolist_to_binary(re:replace("abczz","^(abc){1,2}zz","A&NnWikVeHl\\1thmw",[])),
189    <<"AabczzNnWikVeHlabcthmw">> = iolist_to_binary(re:replace("abczz","^(abc){1,2}zz","A&NnWikVeHl\\1thmw",[global])),
190    <<"ljC">> = iolist_to_binary(re:replace("abcabczz","^(abc){1,2}zz","ljC",[])),
191    <<"ljC">> = iolist_to_binary(re:replace("abcabczz","^(abc){1,2}zz","ljC",[global])),
192    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(abc){1,2}zz","H&dW",[])),
193    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(abc){1,2}zz","H&dW",[global])),
194    <<"zz">> = iolist_to_binary(re:replace("zz","^(abc){1,2}zz","NaUG",[])),
195    <<"zz">> = iolist_to_binary(re:replace("zz","^(abc){1,2}zz","NaUG",[global])),
196    <<"abcabcabczz">> = iolist_to_binary(re:replace("abcabcabczz","^(abc){1,2}zz","jed",[])),
197    <<"abcabcabczz">> = iolist_to_binary(re:replace("abcabcabczz","^(abc){1,2}zz","jed",[global])),
198    <<">>abczz">> = iolist_to_binary(re:replace(">>abczz","^(abc){1,2}zz","IfDMCUaBC\\1UiUD",[])),
199    <<">>abczz">> = iolist_to_binary(re:replace(">>abczz","^(abc){1,2}zz","IfDMCUaBC\\1UiUD",[global])),
200    <<"bcaiQbcWXgAtsqFbbcb">> = iolist_to_binary(re:replace("bc","^(b+?|a){1,2}?c","&aiQ&WXgAtsqF\\1&b",[])),
201    <<"bcaiQbcWXgAtsqFbbcb">> = iolist_to_binary(re:replace("bc","^(b+?|a){1,2}?c","&aiQ&WXgAtsqF\\1&b",[global])),
202    <<"SOnbIUtbbcSM">> = iolist_to_binary(re:replace("bbc","^(b+?|a){1,2}?c","SOn\\1IUt&SM",[])),
203    <<"SOnbIUtbbcSM">> = iolist_to_binary(re:replace("bbc","^(b+?|a){1,2}?c","SOn\\1IUt&SM",[global])),
204    <<"Obrubbk">> = iolist_to_binary(re:replace("bbbc","^(b+?|a){1,2}?c","Obru\\1k",[])),
205    <<"Obrubbk">> = iolist_to_binary(re:replace("bbbc","^(b+?|a){1,2}?c","Obru\\1k",[global])),
206    <<"YJSoHCQdPaswf">> = iolist_to_binary(re:replace("bac","^(b+?|a){1,2}?c","YJSoHCQdP\\1swf",[])),
207    <<"YJSoHCQdPaswf">> = iolist_to_binary(re:replace("bac","^(b+?|a){1,2}?c","YJSoHCQdP\\1swf",[global])),
208    <<"bbacc">> = iolist_to_binary(re:replace("bbac","^(b+?|a){1,2}?c","&c",[])),
209    <<"bbacc">> = iolist_to_binary(re:replace("bbac","^(b+?|a){1,2}?c","&c",[global])),
210    <<"jcBr">> = iolist_to_binary(re:replace("aac","^(b+?|a){1,2}?c","jcBr",[])),
211    <<"jcBr">> = iolist_to_binary(re:replace("aac","^(b+?|a){1,2}?c","jcBr",[global])),
212    <<"ubbbbbbbbbbboLR">> = iolist_to_binary(re:replace("abbbbbbbbbbbc","^(b+?|a){1,2}?c","u\\1oLR",[])),
213    <<"ubbbbbbbbbbboLR">> = iolist_to_binary(re:replace("abbbbbbbbbbbc","^(b+?|a){1,2}?c","u\\1oLR",[global])),
214    <<"qVSagCR">> = iolist_to_binary(re:replace("bbbbbbbbbbbac","^(b+?|a){1,2}?c","qVS\\1gCR",[])),
215    <<"qVSagCR">> = iolist_to_binary(re:replace("bbbbbbbbbbbac","^(b+?|a){1,2}?c","qVS\\1gCR",[global])),
216    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(b+?|a){1,2}?c","e&&lu\\1vX&EjbrQGRD&lv",[])),
217    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(b+?|a){1,2}?c","e&&lu\\1vX&EjbrQGRD&lv",[global])),
218    <<"aaac">> = iolist_to_binary(re:replace("aaac","^(b+?|a){1,2}?c","&ofSdXa",[])),
219    <<"aaac">> = iolist_to_binary(re:replace("aaac","^(b+?|a){1,2}?c","&ofSdXa",[global])),
220    <<"abbbbbbbbbbbac">> = iolist_to_binary(re:replace("abbbbbbbbbbbac","^(b+?|a){1,2}?c","yeCWNqemq",[])),
221    <<"abbbbbbbbbbbac">> = iolist_to_binary(re:replace("abbbbbbbbbbbac","^(b+?|a){1,2}?c","yeCWNqemq",[global])),
222    <<"HvbccsbJrdMbc">> = iolist_to_binary(re:replace("bc","^(b+|a){1,2}c","Hv&cs\\1JrdM&",[])),
223    <<"HvbccsbJrdMbc">> = iolist_to_binary(re:replace("bc","^(b+|a){1,2}c","Hv&cs\\1JrdM&",[global])),
224    <<"qRubbcFTMebbWdERwX">> = iolist_to_binary(re:replace("bbc","^(b+|a){1,2}c","qRu&FTMe\\1WdERwX",[])),
225    <<"qRubbcFTMebbWdERwX">> = iolist_to_binary(re:replace("bbc","^(b+|a){1,2}c","qRu&FTMe\\1WdERwX",[global])),
226    <<"bbbcdbbbbcbbbWigSlFD">> = iolist_to_binary(re:replace("bbbc","^(b+|a){1,2}c","&db&\\1WigSlFD",[])),
227    <<"bbbcdbbbbcbbbWigSlFD">> = iolist_to_binary(re:replace("bbbc","^(b+|a){1,2}c","&db&\\1WigSlFD",[global])),
228    <<"jaGWX">> = iolist_to_binary(re:replace("bac","^(b+|a){1,2}c","j\\1GWX",[])),
229    <<"jaGWX">> = iolist_to_binary(re:replace("bac","^(b+|a){1,2}c","j\\1GWX",[global])),
230    <<"tRXTQuVicYa">> = iolist_to_binary(re:replace("bbac","^(b+|a){1,2}c","tRXTQuVicY\\1",[])),
231    <<"tRXTQuVicYa">> = iolist_to_binary(re:replace("bbac","^(b+|a){1,2}c","tRXTQuVicY\\1",[global])),
232    <<"aaacWSaacSaacauTERLsT">> = iolist_to_binary(re:replace("aac","^(b+|a){1,2}c","\\1&WS&S&\\1uTERLsT",[])),
233    <<"aaacWSaacSaacauTERLsT">> = iolist_to_binary(re:replace("aac","^(b+|a){1,2}c","\\1&WS&S&\\1uTERLsT",[global])),
234    <<"DBabbbbbbbbbbbcabbbbbbbbbbbcKcnVC">> = iolist_to_binary(re:replace("abbbbbbbbbbbc","^(b+|a){1,2}c","DB&&KcnVC",[])),
235    <<"DBabbbbbbbbbbbcabbbbbbbbbbbcKcnVC">> = iolist_to_binary(re:replace("abbbbbbbbbbbc","^(b+|a){1,2}c","DB&&KcnVC",[global])),
236    <<"EeIDBbbbbbbbbbbbaciagibbbbbbbbbbbacaa">> = iolist_to_binary(re:replace("bbbbbbbbbbbac","^(b+|a){1,2}c","EeIDB&i\\1gi&\\1\\1",[])),
237    <<"EeIDBbbbbbbbbbbbaciagibbbbbbbbbbbacaa">> = iolist_to_binary(re:replace("bbbbbbbbbbbac","^(b+|a){1,2}c","EeIDB&i\\1gi&\\1\\1",[global])),
238    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(b+|a){1,2}c","a&o&Hxqiw&jogpDTgJ",[])),
239    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(b+|a){1,2}c","a&o&Hxqiw&jogpDTgJ",[global])),
240    <<"aaac">> = iolist_to_binary(re:replace("aaac","^(b+|a){1,2}c","&G&\\1h\\1wNk&Ywpciljc",[])),
241    <<"aaac">> = iolist_to_binary(re:replace("aaac","^(b+|a){1,2}c","&G&\\1h\\1wNk&Ywpciljc",[global])),
242    <<"abbbbbbbbbbbac">> = iolist_to_binary(re:replace("abbbbbbbbbbbac","^(b+|a){1,2}c","HEjJIPg\\1n\\1&kTh",[])),
243    <<"abbbbbbbbbbbac">> = iolist_to_binary(re:replace("abbbbbbbbbbbac","^(b+|a){1,2}c","HEjJIPg\\1n\\1&kTh",[global])),
244    <<"bbcP">> = iolist_to_binary(re:replace("bbc","^(b+|a){1,2}?bc","&P",[])),
245    <<"bbcP">> = iolist_to_binary(re:replace("bbc","^(b+|a){1,2}?bc","&P",[global])),
246    <<"kGDMabaIlbabcKSq">> = iolist_to_binary(re:replace("babc","^(b*|ba){1,2}?bc","kGDMa\\1Il&KSq",[])),
247    <<"kGDMabaIlbabcKSq">> = iolist_to_binary(re:replace("babc","^(b*|ba){1,2}?bc","kGDMa\\1Il&KSq",[global])),
248    <<"babayLobbabcOLYmIGfTNbbabci">> = iolist_to_binary(re:replace("bbabc","^(b*|ba){1,2}?bc","\\1\\1yLo&OLYmIGfTN&i",[])),
249    <<"babayLobbabcOLYmIGfTNbbabci">> = iolist_to_binary(re:replace("bbabc","^(b*|ba){1,2}?bc","\\1\\1yLo&OLYmIGfTN&i",[global])),
250    <<"pMjVc">> = iolist_to_binary(re:replace("bababc","^(b*|ba){1,2}?bc","pMjVc",[])),
251    <<"pMjVc">> = iolist_to_binary(re:replace("bababc","^(b*|ba){1,2}?bc","pMjVc",[global])),
252    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(b*|ba){1,2}?bc","wT",[])),
253    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(b*|ba){1,2}?bc","wT",[global])),
254    <<"bababbc">> = iolist_to_binary(re:replace("bababbc","^(b*|ba){1,2}?bc","g&dFfWePhsR&XN\\1Vq",[])),
255    <<"bababbc">> = iolist_to_binary(re:replace("bababbc","^(b*|ba){1,2}?bc","g&dFfWePhsR&XN\\1Vq",[global])),
256    <<"babababc">> = iolist_to_binary(re:replace("babababc","^(b*|ba){1,2}?bc","\\1",[])),
257    <<"babababc">> = iolist_to_binary(re:replace("babababc","^(b*|ba){1,2}?bc","\\1",[global])),
258    <<"HQbatSN">> = iolist_to_binary(re:replace("babc","^(ba|b*){1,2}?bc","HQ\\1tSN",[])),
259    <<"HQbatSN">> = iolist_to_binary(re:replace("babc","^(ba|b*){1,2}?bc","HQ\\1tSN",[global])),
260    <<"Wba">> = iolist_to_binary(re:replace("bbabc","^(ba|b*){1,2}?bc","W\\1",[])),
261    <<"Wba">> = iolist_to_binary(re:replace("bbabc","^(ba|b*){1,2}?bc","W\\1",[global])),
262    <<"NsH">> = iolist_to_binary(re:replace("bababc","^(ba|b*){1,2}?bc","NsH",[])),
263    <<"NsH">> = iolist_to_binary(re:replace("bababc","^(ba|b*){1,2}?bc","NsH",[global])),
264    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(ba|b*){1,2}?bc","n\\1QUxH&c\\1vARRpu\\1",[])),
265    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(ba|b*){1,2}?bc","n\\1QUxH&c\\1vARRpu\\1",[global])),
266    <<"bababbc">> = iolist_to_binary(re:replace("bababbc","^(ba|b*){1,2}?bc","X&pfoImgghpuaCj\\1h\\1T&",[])),
267    <<"bababbc">> = iolist_to_binary(re:replace("bababbc","^(ba|b*){1,2}?bc","X&pfoImgghpuaCj\\1h\\1T&",[global])),
268    <<"babababc">> = iolist_to_binary(re:replace("babababc","^(ba|b*){1,2}?bc","O\\1dyBuNmjs&QHb&",[])),
269    <<"babababc">> = iolist_to_binary(re:replace("babababc","^(ba|b*){1,2}?bc","O\\1dyBuNmjs&QHb&",[global])),
270    <<"MjwccSIya;z;zXkruR">> = iolist_to_binary(re:replace(";z","^\\ca\\cA\\c[;\\c:","MjwccSIy\\1a&&XkruR",[])),
271    <<"MjwccSIya;z;zXkruR">> = iolist_to_binary(re:replace(";z","^\\ca\\cA\\c[;\\c:","MjwccSIy\\1a&&XkruR",[global])),
272    <<"KmseihnaDthing">> = iolist_to_binary(re:replace("athing","^[ab\\]cde]","Kms\\1eihn&D",[])),
273    <<"KmseihnaDthing">> = iolist_to_binary(re:replace("athing","^[ab\\]cde]","Kms\\1eihn&D",[global])),
274    <<"VtYything">> = iolist_to_binary(re:replace("bthing","^[ab\\]cde]","V\\1\\1tYy\\1",[])),
275    <<"VtYything">> = iolist_to_binary(re:replace("bthing","^[ab\\]cde]","V\\1\\1tYy\\1",[global])),
276    <<"BUicE]cTfPthing">> = iolist_to_binary(re:replace("]thing","^[ab\\]cde]","B\\1UicE\\1&cTfP",[])),
277    <<"BUicE]cTfPthing">> = iolist_to_binary(re:replace("]thing","^[ab\\]cde]","B\\1UicE\\1&cTfP",[global])),
278    <<"Jthing">> = iolist_to_binary(re:replace("cthing","^[ab\\]cde]","J",[])),
279    <<"Jthing">> = iolist_to_binary(re:replace("cthing","^[ab\\]cde]","J",[global])),
280    <<"ecfIHwcPLwCQVmthing">> = iolist_to_binary(re:replace("dthing","^[ab\\]cde]","ecfIHwcPLwCQVm",[])),
281    <<"ecfIHwcPLwCQVmthing">> = iolist_to_binary(re:replace("dthing","^[ab\\]cde]","ecfIHwcPLwCQVm",[global])),
282    <<"jthing">> = iolist_to_binary(re:replace("ething","^[ab\\]cde]","j\\1",[])),
283    <<"jthing">> = iolist_to_binary(re:replace("ething","^[ab\\]cde]","j\\1",[global])),
284    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[ab\\]cde]","XitEhS",[])),
285    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[ab\\]cde]","XitEhS",[global])),
286    <<"fthing">> = iolist_to_binary(re:replace("fthing","^[ab\\]cde]","jftUvqtHSk&",[])),
287    <<"fthing">> = iolist_to_binary(re:replace("fthing","^[ab\\]cde]","jftUvqtHSk&",[global])),
288    <<"[thing">> = iolist_to_binary(re:replace("[thing","^[ab\\]cde]","BVEV&n",[])),
289    <<"[thing">> = iolist_to_binary(re:replace("[thing","^[ab\\]cde]","BVEV&n",[global])),
290    <<"\\thing">> = iolist_to_binary(re:replace("\\thing","^[ab\\]cde]","&",[])),
291    <<"\\thing">> = iolist_to_binary(re:replace("\\thing","^[ab\\]cde]","&",[global])),
292    <<"CLkR]]rBddXHyi]Hrjthing">> = iolist_to_binary(re:replace("]thing","^[]cde]","CLkR&&rBddXHyi&H\\1\\1rj",[])),
293    <<"CLkR]]rBddXHyi]Hrjthing">> = iolist_to_binary(re:replace("]thing","^[]cde]","CLkR&&rBddXHyi&H\\1\\1rj",[global])),
294    <<"sHqJwDKDjCAxIofXvVthing">> = iolist_to_binary(re:replace("cthing","^[]cde]","s\\1HqJwD\\1KDjCAxIofXvV",[])),
295    <<"sHqJwDKDjCAxIofXvVthing">> = iolist_to_binary(re:replace("cthing","^[]cde]","s\\1HqJwD\\1KDjCAxIofXvV",[global])),
296    <<"hcfONJPTXdthing">> = iolist_to_binary(re:replace("dthing","^[]cde]","hcfONJPTX&",[])),
297    <<"hcfONJPTXdthing">> = iolist_to_binary(re:replace("dthing","^[]cde]","hcfONJPTX&",[global])),
298    <<"eEbyOxFupOoOReKucqkthing">> = iolist_to_binary(re:replace("ething","^[]cde]","&EbyOxFupOoO\\1R&Kucqk",[])),
299    <<"eEbyOxFupOoOReKucqkthing">> = iolist_to_binary(re:replace("ething","^[]cde]","&EbyOxFupOoO\\1R&Kucqk",[global])),
300    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[]cde]","ViA&j\\1r&&eE",[])),
301    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[]cde]","ViA&j\\1r&&eE",[global])),
302    <<"athing">> = iolist_to_binary(re:replace("athing","^[]cde]","l\\1m",[])),
303    <<"athing">> = iolist_to_binary(re:replace("athing","^[]cde]","l\\1m",[global])),
304    <<"fthing">> = iolist_to_binary(re:replace("fthing","^[]cde]","&X",[])),
305    <<"fthing">> = iolist_to_binary(re:replace("fthing","^[]cde]","&X",[global])),
306    <<"iexifgnSthing">> = iolist_to_binary(re:replace("fthing","^[^ab\\]cde]","iexi&gnS",[])),
307    <<"iexifgnSthing">> = iolist_to_binary(re:replace("fthing","^[^ab\\]cde]","iexi&gnS",[global])),
308    <<"KbDPthing">> = iolist_to_binary(re:replace("[thing","^[^ab\\]cde]","Kb\\1DP",[])),
309    <<"KbDPthing">> = iolist_to_binary(re:replace("[thing","^[^ab\\]cde]","Kb\\1DP",[global])),
310    <<"qsMjdRastMthing">> = iolist_to_binary(re:replace("\\thing","^[^ab\\]cde]","qsMjd\\1RastM",[])),
311    <<"qsMjdRastMthing">> = iolist_to_binary(re:replace("\\thing","^[^ab\\]cde]","qsMjd\\1RastM",[global])),
312    <<"OMrBm** Failers">> = iolist_to_binary(re:replace("*** Failers","^[^ab\\]cde]","OMrBm",[])),
313    <<"OMrBm** Failers">> = iolist_to_binary(re:replace("*** Failers","^[^ab\\]cde]","OMrBm",[global])),
314    <<"athing">> = iolist_to_binary(re:replace("athing","^[^ab\\]cde]","blc",[])),
315    <<"athing">> = iolist_to_binary(re:replace("athing","^[^ab\\]cde]","blc",[global])),
316    <<"bthing">> = iolist_to_binary(re:replace("bthing","^[^ab\\]cde]","rkdVhImX&Sci\\1srkpB",[])),
317    <<"bthing">> = iolist_to_binary(re:replace("bthing","^[^ab\\]cde]","rkdVhImX&Sci\\1srkpB",[global])),
318    <<"]thing">> = iolist_to_binary(re:replace("]thing","^[^ab\\]cde]","R",[])),
319    <<"]thing">> = iolist_to_binary(re:replace("]thing","^[^ab\\]cde]","R",[global])),
320    <<"cthing">> = iolist_to_binary(re:replace("cthing","^[^ab\\]cde]","MTBI&N\\1Hu&G&vMV&",[])),
321    <<"cthing">> = iolist_to_binary(re:replace("cthing","^[^ab\\]cde]","MTBI&N\\1Hu&G&vMV&",[global])),
322    <<"dthing">> = iolist_to_binary(re:replace("dthing","^[^ab\\]cde]","L&iy\\1&&rL",[])),
323    <<"dthing">> = iolist_to_binary(re:replace("dthing","^[^ab\\]cde]","L&iy\\1&&rL",[global])),
324    <<"ething">> = iolist_to_binary(re:replace("ething","^[^ab\\]cde]","fAG\\1TYq\\1LAa\\1amIUKu",[])),
325    <<"ething">> = iolist_to_binary(re:replace("ething","^[^ab\\]cde]","fAG\\1TYq\\1LAa\\1amIUKu",[global])),
326    <<"gathing">> = iolist_to_binary(re:replace("athing","^[^]cde]","\\1\\1g&\\1",[])),
327    <<"gathing">> = iolist_to_binary(re:replace("athing","^[^]cde]","\\1\\1g&\\1",[global])),
328    <<"XGfAfLNiMaKLathing">> = iolist_to_binary(re:replace("fthing","^[^]cde]","XG&A&LNiMa\\1KLa",[])),
329    <<"XGfAfLNiMaKLathing">> = iolist_to_binary(re:replace("fthing","^[^]cde]","XG&A&LNiMa\\1KLa",[global])),
330    <<"pCXwvleUk*NHE*wG*wiU** Failers">> = iolist_to_binary(re:replace("*** Failers","^[^]cde]","pCXwvleUk&NHE&wG&wiU",[])),
331    <<"pCXwvleUk*NHE*wG*wiU** Failers">> = iolist_to_binary(re:replace("*** Failers","^[^]cde]","pCXwvleUk&NHE&wG&wiU",[global])),
332    <<"]thing">> = iolist_to_binary(re:replace("]thing","^[^]cde]","D\\1mYIuXYOFQyO&Yx&",[])),
333    <<"]thing">> = iolist_to_binary(re:replace("]thing","^[^]cde]","D\\1mYIuXYOFQyO&Yx&",[global])),
334    <<"cthing">> = iolist_to_binary(re:replace("cthing","^[^]cde]","iJI\\1fdd&",[])),
335    <<"cthing">> = iolist_to_binary(re:replace("cthing","^[^]cde]","iJI\\1fdd&",[global])),
336    <<"dthing">> = iolist_to_binary(re:replace("dthing","^[^]cde]","BqndYPF\\1lxs\\1\\1hPxSdgK",[])),
337    <<"dthing">> = iolist_to_binary(re:replace("dthing","^[^]cde]","BqndYPF\\1lxs\\1\\1hPxSdgK",[global])),
338    <<"ething">> = iolist_to_binary(re:replace("ething","^[^]cde]","E",[])),
339    <<"ething">> = iolist_to_binary(re:replace("ething","^[^]cde]","E",[global])),
340    <<"0AMd">> = iolist_to_binary(re:replace("0","^[0-9]+$","&AM\\1\\1d",[])),
341    <<"0AMd">> = iolist_to_binary(re:replace("0","^[0-9]+$","&AM\\1\\1d",[global])),
342    <<"LUfQMm1n">> = iolist_to_binary(re:replace("1","^[0-9]+$","L\\1\\1Uf\\1Q\\1Mm&n",[])),
343    <<"LUfQMm1n">> = iolist_to_binary(re:replace("1","^[0-9]+$","L\\1\\1Uf\\1Q\\1Mm&n",[global])),
344    <<"yty2aJl22M">> = iolist_to_binary(re:replace("2","^[0-9]+$","yty\\1&aJl&\\1&M",[])),
345    <<"yty2aJl22M">> = iolist_to_binary(re:replace("2","^[0-9]+$","yty\\1&aJl&\\1&M",[global])),
346    <<"eX3">> = iolist_to_binary(re:replace("3","^[0-9]+$","eX&",[])),
347    <<"eX3">> = iolist_to_binary(re:replace("3","^[0-9]+$","eX&",[global])),
348    <<"ypukToFRSissUH">> = iolist_to_binary(re:replace("4","^[0-9]+$","ypukToFRSissUH",[])),
349    <<"ypukToFRSissUH">> = iolist_to_binary(re:replace("4","^[0-9]+$","ypukToFRSissUH",[global])),
350    <<"e55dU5aoURF5N">> = iolist_to_binary(re:replace("5","^[0-9]+$","e&&dU&a\\1oURF&N",[])),
351    <<"e55dU5aoURF5N">> = iolist_to_binary(re:replace("5","^[0-9]+$","e&&dU&a\\1oURF&N",[global])),
352    <<"nrnSg6E">> = iolist_to_binary(re:replace("6","^[0-9]+$","nrnSg&\\1\\1E",[])),
353    <<"nrnSg6E">> = iolist_to_binary(re:replace("6","^[0-9]+$","nrnSg&\\1\\1E",[global])),
354    <<"uBv">> = iolist_to_binary(re:replace("7","^[0-9]+$","uBv",[])),
355    <<"uBv">> = iolist_to_binary(re:replace("7","^[0-9]+$","uBv",[global])),
356    <<"R">> = iolist_to_binary(re:replace("8","^[0-9]+$","R",[])),
357    <<"R">> = iolist_to_binary(re:replace("8","^[0-9]+$","R",[global])),
358    <<"t9gys9DIukLiJU9Qb9">> = iolist_to_binary(re:replace("9","^[0-9]+$","t&gys\\1&DIukLiJU&Qb&",[])),
359    <<"t9gys9DIukLiJU9Qb9">> = iolist_to_binary(re:replace("9","^[0-9]+$","t&gys\\1&DIukLiJU&Qb&",[global])),
360    <<"tIOqKYBcuX10">> = iolist_to_binary(re:replace("10","^[0-9]+$","tIOqKYBcuX&",[])),
361    <<"tIOqKYBcuX10">> = iolist_to_binary(re:replace("10","^[0-9]+$","tIOqKYBcuX&",[global])),
362    <<"QfE">> = iolist_to_binary(re:replace("100","^[0-9]+$","QfE",[])),
363    <<"QfE">> = iolist_to_binary(re:replace("100","^[0-9]+$","QfE",[global])),
364    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[0-9]+$","UDbN\\1jnxythM\\1\\1sdH&",[])),
365    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[0-9]+$","UDbN\\1jnxythM\\1\\1sdH&",[global])),
366    <<"abc">> = iolist_to_binary(re:replace("abc","^[0-9]+$","cUQQDAc",[])),
367    <<"abc">> = iolist_to_binary(re:replace("abc","^[0-9]+$","cUQQDAc",[global])),
368    <<"CVuenterheUenterWenter">> = iolist_to_binary(re:replace("enter","^.*nter","C\\1Vu&heU&\\1W&",[])),
369    <<"CVuenterheUenterWenter">> = iolist_to_binary(re:replace("enter","^.*nter","C\\1Vu&heU&\\1W&",[global])),
370    <<"IEc">> = iolist_to_binary(re:replace("inter","^.*nter","IEc",[])),
371    <<"IEc">> = iolist_to_binary(re:replace("inter","^.*nter","IEc",[global])),
372    <<"EJPILFHXKDCNvaTC">> = iolist_to_binary(re:replace("uponter","^.*nter","EJPIL\\1FHXKDCNvaTC",[])),
373    <<"EJPILFHXKDCNvaTC">> = iolist_to_binary(re:replace("uponter","^.*nter","EJPIL\\1FHXKDCNvaTC",[global])),
374    ok.
375run1() ->
376    <<"P">> = iolist_to_binary(re:replace("xxx0","^xxx[0-9]+$","P",[])),
377    <<"P">> = iolist_to_binary(re:replace("xxx0","^xxx[0-9]+$","P",[global])),
378    <<"eSFOJJrLwTwUxxx1234xxx1234Mqmxxx1234P">> = iolist_to_binary(re:replace("xxx1234","^xxx[0-9]+$","eSFOJJrLwTwU&&Mqm&P",[])),
379    <<"eSFOJJrLwTwUxxx1234xxx1234Mqmxxx1234P">> = iolist_to_binary(re:replace("xxx1234","^xxx[0-9]+$","eSFOJJrLwTwU&&Mqm&P",[global])),
380    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^xxx[0-9]+$","rqtBg",[])),
381    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^xxx[0-9]+$","rqtBg",[global])),
382    <<"xxx">> = iolist_to_binary(re:replace("xxx","^xxx[0-9]+$","BC&WMPvffc&kTc",[])),
383    <<"xxx">> = iolist_to_binary(re:replace("xxx","^xxx[0-9]+$","BC&WMPvffc&kTc",[global])),
384    <<"x123lx123x123x123UnCsPMYYkPx123mE">> = iolist_to_binary(re:replace("x123","^.+[0-9][0-9][0-9]$","&l&&&Un\\1CsPMYYkP\\1&mE",[])),
385    <<"x123lx123x123x123UnCsPMYYkPx123mE">> = iolist_to_binary(re:replace("x123","^.+[0-9][0-9][0-9]$","&l&&&Un\\1CsPMYYkP\\1&mE",[global])),
386    <<"IdKDxx123rQnxx123gDqdon">> = iolist_to_binary(re:replace("xx123","^.+[0-9][0-9][0-9]$","IdKD&rQ\\1\\1n&gD\\1qdo\\1n",[])),
387    <<"IdKDxx123rQnxx123gDqdon">> = iolist_to_binary(re:replace("xx123","^.+[0-9][0-9][0-9]$","IdKD&rQ\\1\\1n&gD\\1qdo\\1n",[global])),
388    <<"RkaqCHlxR">> = iolist_to_binary(re:replace("123456","^.+[0-9][0-9][0-9]$","Rk\\1aqCHlxR",[])),
389    <<"RkaqCHlxR">> = iolist_to_binary(re:replace("123456","^.+[0-9][0-9][0-9]$","Rk\\1aqCHlxR",[global])),
390    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^.+[0-9][0-9][0-9]$","cgy\\1xVdgl&",[])),
391    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^.+[0-9][0-9][0-9]$","cgy\\1xVdgl&",[global])),
392    <<"123">> = iolist_to_binary(re:replace("123","^.+[0-9][0-9][0-9]$","CGIYKCWyECIvTQ",[])),
393    <<"123">> = iolist_to_binary(re:replace("123","^.+[0-9][0-9][0-9]$","CGIYKCWyECIvTQ",[global])),
394    <<"FtyEkgTx1234aW">> = iolist_to_binary(re:replace("x1234","^.+[0-9][0-9][0-9]$","FtyEkg\\1T&aW",[])),
395    <<"FtyEkgTx1234aW">> = iolist_to_binary(re:replace("x1234","^.+[0-9][0-9][0-9]$","FtyEkg\\1T&aW",[global])),
396    <<"KeT">> = iolist_to_binary(re:replace("x123","^.+?[0-9][0-9][0-9]$","KeT",[])),
397    <<"KeT">> = iolist_to_binary(re:replace("x123","^.+?[0-9][0-9][0-9]$","KeT",[global])),
398    <<"Lxx123ikqEJxx123xx123">> = iolist_to_binary(re:replace("xx123","^.+?[0-9][0-9][0-9]$","L&ikqEJ\\1&&\\1\\1",[])),
399    <<"Lxx123ikqEJxx123xx123">> = iolist_to_binary(re:replace("xx123","^.+?[0-9][0-9][0-9]$","L&ikqEJ\\1&&\\1\\1",[global])),
400    <<"X123456R">> = iolist_to_binary(re:replace("123456","^.+?[0-9][0-9][0-9]$","X&R",[])),
401    <<"X123456R">> = iolist_to_binary(re:replace("123456","^.+?[0-9][0-9][0-9]$","X&R",[global])),
402    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^.+?[0-9][0-9][0-9]$","tKJBvn",[])),
403    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^.+?[0-9][0-9][0-9]$","tKJBvn",[global])),
404    <<"123">> = iolist_to_binary(re:replace("123","^.+?[0-9][0-9][0-9]$","hVg\\1P\\1\\1",[])),
405    <<"123">> = iolist_to_binary(re:replace("123","^.+?[0-9][0-9][0-9]$","hVg\\1P\\1\\1",[global])),
406    <<"Tx1234amxVpJx1234egSsUBIV">> = iolist_to_binary(re:replace("x1234","^.+?[0-9][0-9][0-9]$","T&a\\1mxVpJ\\1&egSsUBIV",[])),
407    <<"Tx1234amxVpJx1234egSsUBIV">> = iolist_to_binary(re:replace("x1234","^.+?[0-9][0-9][0-9]$","T&a\\1mxVpJ\\1&egSsUBIV",[global])),
408    <<"YWynbrCtabcabc">> = iolist_to_binary(re:replace("abc!pqr=apquxz.ixr.zzz.ac.uk","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","YWynbrCt\\1\\1",[])),
409    <<"YWynbrCtabcabc">> = iolist_to_binary(re:replace("abc!pqr=apquxz.ixr.zzz.ac.uk","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","YWynbrCt\\1\\1",[global])),
410    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","gXiCw\\1HR&",[])),
411    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","gXiCw\\1HR&",[global])),
412    <<"!pqr=apquxz.ixr.zzz.ac.uk">> = iolist_to_binary(re:replace("!pqr=apquxz.ixr.zzz.ac.uk","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","p&jt\\1a",[])),
413    <<"!pqr=apquxz.ixr.zzz.ac.uk">> = iolist_to_binary(re:replace("!pqr=apquxz.ixr.zzz.ac.uk","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","p&jt\\1a",[global])),
414    <<"abc!=apquxz.ixr.zzz.ac.uk">> = iolist_to_binary(re:replace("abc!=apquxz.ixr.zzz.ac.uk","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","\\1RDbvMJ&",[])),
415    <<"abc!=apquxz.ixr.zzz.ac.uk">> = iolist_to_binary(re:replace("abc!=apquxz.ixr.zzz.ac.uk","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","\\1RDbvMJ&",[global])),
416    <<"abc!pqr=apquxz:ixr.zzz.ac.uk">> = iolist_to_binary(re:replace("abc!pqr=apquxz:ixr.zzz.ac.uk","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","I\\1\\1c\\1&\\1AnFPifD&C",[])),
417    <<"abc!pqr=apquxz:ixr.zzz.ac.uk">> = iolist_to_binary(re:replace("abc!pqr=apquxz:ixr.zzz.ac.uk","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","I\\1\\1c\\1&\\1AnFPifD&C",[global])),
418    <<"abc!pqr=apquxz.ixr.zzz.ac.ukk">> = iolist_to_binary(re:replace("abc!pqr=apquxz.ixr.zzz.ac.ukk","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","byM\\1qyusNtwD",[])),
419    <<"abc!pqr=apquxz.ixr.zzz.ac.ukk">> = iolist_to_binary(re:replace("abc!pqr=apquxz.ixr.zzz.ac.ukk","^([^!]+)!(.+)=apquxz\\.ixr\\.zzz\\.ac\\.uk$","byM\\1qyusNtwD",[global])),
420    <<"Well, we need a colonwOsWUYkpQEYQO somewhere">> = iolist_to_binary(re:replace("Well, we need a colon: somewhere",":","wOsWUYkpQEYQO",[])),
421    <<"Well, we need a colonwOsWUYkpQEYQO somewhere">> = iolist_to_binary(re:replace("Well, we need a colon: somewhere",":","wOsWUYkpQEYQO",[global])),
422    <<"*** Fail if we don't">> = iolist_to_binary(re:replace("*** Fail if we don't",":","ehPt&NEI\\1P\\1ceGP",[])),
423    <<"*** Fail if we don't">> = iolist_to_binary(re:replace("*** Fail if we don't",":","ehPt&NEI\\1P\\1ceGP",[global])),
424    <<"u0abcPr0abcfewT0abcqIyT0abcD">> = iolist_to_binary(re:replace("0abc","([\\da-f:]+)$","u\\1Pr&fewT&qIyT\\1D",[caseless])),
425    <<"u0abcPr0abcfewT0abcqIyT0abcD">> = iolist_to_binary(re:replace("0abc","([\\da-f:]+)$","u\\1Pr&fewT&qIyT\\1D",[caseless,
426                                                                                                                                                                                                                         global])),
427    <<"rTODdabcvabcKUabc">> = iolist_to_binary(re:replace("abc","([\\da-f:]+)$","rTODd\\1v&KU&",[caseless])),
428    <<"rTODdabcvabcKUabc">> = iolist_to_binary(re:replace("abc","([\\da-f:]+)$","rTODd\\1v&KU&",[caseless,
429                                                                                                                                                                                                        global])),
430    <<"UhjfwcfedwPfedMkfedSM">> = iolist_to_binary(re:replace("fed","([\\da-f:]+)$","Uhjfwc&wP&Mk\\1SM",[caseless])),
431    <<"UhjfwcfedwPfedMkfedSM">> = iolist_to_binary(re:replace("fed","([\\da-f:]+)$","Uhjfwc&wP&Mk\\1SM",[caseless,
432                                                                                                                                                                                                                global])),
433    <<"tsEwEtEEnWpuswMEEv">> = iolist_to_binary(re:replace("E","([\\da-f:]+)$","ts\\1w&t\\1&nWpuswM\\1&v",[caseless])),
434    <<"tsEwEtEEnWpuswMEEv">> = iolist_to_binary(re:replace("E","([\\da-f:]+)$","ts\\1w&t\\1&nWpuswM\\1&v",[caseless,
435                                                                                                                                                                                                                             global])),
436    <<"fXlt::X::::f::iL::tsbvQOv">> = iolist_to_binary(re:replace("::","([\\da-f:]+)$","fXlt&X&&f\\1iL&tsbvQOv",[caseless])),
437    <<"fXlt::X::::f::iL::tsbvQOv">> = iolist_to_binary(re:replace("::","([\\da-f:]+)$","fXlt&X&&f\\1iL&tsbvQOv",[caseless,
438                                                                                                                                                                                                                          global])),
439    <<"AAW5f03:12C0::932exM">> = iolist_to_binary(re:replace("5f03:12C0::932e","([\\da-f:]+)$","AAW&xM",[caseless])),
440    <<"AAW5f03:12C0::932exM">> = iolist_to_binary(re:replace("5f03:12C0::932e","([\\da-f:]+)$","AAW&xM",[caseless,
441                                                                                                                                                                                                                global])),
442    <<"fed defSdefndefHJy">> = iolist_to_binary(re:replace("fed def","([\\da-f:]+)$","\\1S\\1n&HJy",[caseless])),
443    <<"fed defSdefndefHJy">> = iolist_to_binary(re:replace("fed def","([\\da-f:]+)$","\\1S\\1n&HJy",[caseless,
444                                                                                                                                                                                                              global])),
445    <<"Any old stuPffte">> = iolist_to_binary(re:replace("Any old stuff","([\\da-f:]+)$","P&te",[caseless])),
446    <<"Any old stuPffte">> = iolist_to_binary(re:replace("Any old stuff","([\\da-f:]+)$","P&te",[caseless,
447                                                                                                                                                                                                        global])),
448    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","([\\da-f:]+)$","\\1RRODRx\\1gQSrTrwC",[caseless])),
449    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","([\\da-f:]+)$","\\1RRODRx\\1gQSrTrwC",[caseless,
450                                                                                                                                                                                                                                     global])),
451    <<"0zzz">> = iolist_to_binary(re:replace("0zzz","([\\da-f:]+)$","C\\1",[caseless])),
452    <<"0zzz">> = iolist_to_binary(re:replace("0zzz","([\\da-f:]+)$","C\\1",[caseless,
453                                                                                                                                                                                      global])),
454    <<"gzzz">> = iolist_to_binary(re:replace("gzzz","([\\da-f:]+)$","MtJG&NF\\1PgL&gg\\1",[caseless])),
455    <<"gzzz">> = iolist_to_binary(re:replace("gzzz","([\\da-f:]+)$","MtJG&NF\\1PgL&gg\\1",[caseless,
456                                                                                                                                                                                                                       global])),
457    <<"fed ">> = iolist_to_binary(re:replace("fed ","([\\da-f:]+)$","yL&WjLe&\\1NC&GCG\\1xD",[caseless])),
458    <<"fed ">> = iolist_to_binary(re:replace("fed ","([\\da-f:]+)$","yL&WjLe&\\1NC&GCG\\1xD",[caseless,
459                                                                                                                                                                                                                              global])),
460    <<"Any old rubbish">> = iolist_to_binary(re:replace("Any old rubbish","([\\da-f:]+)$","bJbtPIaR",[caseless])),
461    <<"Any old rubbish">> = iolist_to_binary(re:replace("Any old rubbish","([\\da-f:]+)$","bJbtPIaR",[caseless,
462                                                                                                                                                                                                                   global])),
463    <<"T1">> = iolist_to_binary(re:replace(".1.2.3","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","T\\1",[])),
464    <<"T1">> = iolist_to_binary(re:replace(".1.2.3","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","T\\1",[global])),
465    <<"dOdvJFA.12.123.012">> = iolist_to_binary(re:replace("A.12.123.0","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","dOdvJF&\\1",[])),
466    <<"dOdvJFA.12.123.012">> = iolist_to_binary(re:replace("A.12.123.0","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","dOdvJF&\\1",[global])),
467    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","hLnol",[])),
468    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","hLnol",[global])),
469    <<".1.2.3333">> = iolist_to_binary(re:replace(".1.2.3333","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","fFUsmk\\1Ltx",[])),
470    <<".1.2.3333">> = iolist_to_binary(re:replace(".1.2.3333","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","fFUsmk\\1Ltx",[global])),
471    <<"1.2.3">> = iolist_to_binary(re:replace("1.2.3","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","v",[])),
472    <<"1.2.3">> = iolist_to_binary(re:replace("1.2.3","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","v",[global])),
473    <<"1234.2.3">> = iolist_to_binary(re:replace("1234.2.3","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","tcSnhlApa",[])),
474    <<"1234.2.3">> = iolist_to_binary(re:replace("1234.2.3","^.*\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$","tcSnhlApa",[global])),
475    <<"rdN">> = iolist_to_binary(re:replace("1 IN SOA non-sp1 non-sp2(","^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$","rdN",[])),
476    <<"rdN">> = iolist_to_binary(re:replace("1 IN SOA non-sp1 non-sp2(","^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$","rdN",[global])),
477    <<"1    IN    SOA    non-sp1    non-sp2   (nPIbyKLvCyOobyW1RC1    IN    SOA    non-sp1    non-sp2   (">> = iolist_to_binary(re:replace("1    IN    SOA    non-sp1    non-sp2   (","^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$","&nPIbyKLvCyOobyW\\1RC&",[])),
478    <<"1    IN    SOA    non-sp1    non-sp2   (nPIbyKLvCyOobyW1RC1    IN    SOA    non-sp1    non-sp2   (">> = iolist_to_binary(re:replace("1    IN    SOA    non-sp1    non-sp2   (","^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$","&nPIbyKLvCyOobyW\\1RC&",[global])),
479    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$","YYlMHXKMT&K\\1w&sJ",[])),
480    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$","YYlMHXKMT&K\\1w&sJ",[global])),
481    <<"1IN SOA non-sp1 non-sp2(">> = iolist_to_binary(re:replace("1IN SOA non-sp1 non-sp2(","^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$","L\\1nyk",[])),
482    <<"1IN SOA non-sp1 non-sp2(">> = iolist_to_binary(re:replace("1IN SOA non-sp1 non-sp2(","^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$","L\\1nyk",[global])),
483    <<"rnRluS">> = iolist_to_binary(re:replace("a.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","rnRluS",[])),
484    <<"rnRluS">> = iolist_to_binary(re:replace("a.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","rnRluS",[global])),
485    <<"IfUFYgPEDZ.g">> = iolist_to_binary(re:replace("Z.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","IfUFYg\\1P\\1ED&g",[])),
486    <<"IfUFYgPEDZ.g">> = iolist_to_binary(re:replace("Z.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","IfUFYg\\1P\\1ED&g",[global])),
487    <<"hB">> = iolist_to_binary(re:replace("2.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","\\1hB",[])),
488    <<"hB">> = iolist_to_binary(re:replace("2.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","\\1hB",[global])),
489    <<"Lu">> = iolist_to_binary(re:replace("ab-c.pq-r.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","Lu",[])),
490    <<"Lu">> = iolist_to_binary(re:replace("ab-c.pq-r.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","Lu",[global])),
491    <<"XY">> = iolist_to_binary(re:replace("sxk.zzz.ac.uk.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","XY",[])),
492    <<"XY">> = iolist_to_binary(re:replace("sxk.zzz.ac.uk.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","XY",[global])),
493    <<"AxgSFCHEmS">> = iolist_to_binary(re:replace("x-.y-.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","AxgSFCHEmS",[])),
494    <<"AxgSFCHEmS">> = iolist_to_binary(re:replace("x-.y-.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","AxgSFCHEmS",[global])),
495    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","jAGN",[])),
496    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","jAGN",[global])),
497    <<"-abc.peq.">> = iolist_to_binary(re:replace("-abc.peq.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","OL",[])),
498    <<"-abc.peq.">> = iolist_to_binary(re:replace("-abc.peq.","^[a-zA-Z\\d][a-zA-Z\\d\\-]*(\\.[a-zA-Z\\d][a-zA-z\\d\\-]*)*\\.$","OL",[global])),
499    <<"utUWVifAF">> = iolist_to_binary(re:replace("*.a","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","\\1u\\1t\\1UWVifAF",[])),
500    <<"utUWVifAF">> = iolist_to_binary(re:replace("*.a","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","\\1u\\1t\\1UWVifAF",[global])),
501    <<"IG*.b0-a*.b0-aBgtmNURrKatUh*.b0-aGc">> = iolist_to_binary(re:replace("*.b0-a","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","IG&&BgtmNURrKatUh&Gc",[])),
502    <<"IG*.b0-a*.b0-aBgtmNURrKatUh*.b0-aGc">> = iolist_to_binary(re:replace("*.b0-a","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","IG&&BgtmNURrKatUh&Gc",[global])),
503    <<"Du3-bV*.c3-b.c3-beGytl3-bhNPYv*.c3-b.c3-bM">> = iolist_to_binary(re:replace("*.c3-b.c","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","Du\\1V&\\1eGytl\\1hNPYv&\\1M",[])),
504    <<"Du3-bV*.c3-b.c3-beGytl3-bhNPYv*.c3-b.c3-bM">> = iolist_to_binary(re:replace("*.c3-b.c","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","Du\\1V&\\1eGytl\\1hNPYv&\\1M",[global])),
505    <<"gImvCJR-a*.c-a.b-cvbRP">> = iolist_to_binary(re:replace("*.c-a.b-c","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","gImvCJR\\1&vbRP",[])),
506    <<"gImvCJR-a*.c-a.b-cvbRP">> = iolist_to_binary(re:replace("*.c-a.b-c","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","gImvCJR\\1&vbRP",[global])),
507    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","pRl\\1&\\1j&h&ENE&",[])),
508    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","pRl\\1&\\1j&h&ENE&",[global])),
509    <<"*.0">> = iolist_to_binary(re:replace("*.0","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","k\\1\\1LrQNL&",[])),
510    <<"*.0">> = iolist_to_binary(re:replace("*.0","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","k\\1\\1LrQNL&",[global])),
511    <<"*.a-">> = iolist_to_binary(re:replace("*.a-","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","&IphIN",[])),
512    <<"*.a-">> = iolist_to_binary(re:replace("*.a-","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","&IphIN",[global])),
513    <<"*.a-b.c-">> = iolist_to_binary(re:replace("*.a-b.c-","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","tUY",[])),
514    <<"*.a-b.c-">> = iolist_to_binary(re:replace("*.a-b.c-","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","tUY",[global])),
515    <<"*.c-a.0-c">> = iolist_to_binary(re:replace("*.c-a.0-c","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","tspwqyti\\1maFJR\\1Vhlja",[])),
516    <<"*.c-a.0-c">> = iolist_to_binary(re:replace("*.c-a.0-c","^\\*\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?(\\.[a-z]([a-z\\-\\d]*[a-z\\d]+)?)*$","tspwqyti\\1maFJR\\1Vhlja",[global])),
517    <<"deabdedeYddeBOpd">> = iolist_to_binary(re:replace("abde","^(?=ab(de))(abd)(e)","\\1&\\1Yd\\1BOpd",[])),
518    <<"deabdedeYddeBOpd">> = iolist_to_binary(re:replace("abde","^(?=ab(de))(abd)(e)","\\1&\\1Yd\\1BOpd",[global])),
519    <<"fP">> = iolist_to_binary(re:replace("abdf","^(?!(ab)de|x)(abd)(f)","fP",[])),
520    <<"fP">> = iolist_to_binary(re:replace("abdf","^(?!(ab)de|x)(abd)(f)","fP",[global])),
521    <<"sAabcdabLioGabcdwHabcdgMvvDIcd">> = iolist_to_binary(re:replace("abcd","^(?=(ab(cd)))(ab)","sA\\1&LioG\\1wH\\1gMvvDI",[])),
522    <<"sAabcdabLioGabcdwHabcdgMvvDIcd">> = iolist_to_binary(re:replace("abcd","^(?=(ab(cd)))(ab)","sA\\1&LioG\\1wH\\1gMvvDI",[global])),
523    <<"D">> = iolist_to_binary(re:replace("a.b.c.d","^[\\da-f](\\.[\\da-f])*$","D",[caseless])),
524    <<"D">> = iolist_to_binary(re:replace("a.b.c.d","^[\\da-f](\\.[\\da-f])*$","D",[caseless,
525                                                                                                                                                                                                             global])),
526    <<"ma.Dy.D">> = iolist_to_binary(re:replace("A.B.C.D","^[\\da-f](\\.[\\da-f])*$","ma\\1y\\1",[caseless])),
527    <<"ma.Dy.D">> = iolist_to_binary(re:replace("A.B.C.D","^[\\da-f](\\.[\\da-f])*$","ma\\1y\\1",[caseless,
528                                                                                                                                                                                                                               global])),
529    <<"N.CfP.CXXa.b.c.1.2.3.CYyl">> = iolist_to_binary(re:replace("a.b.c.1.2.3.C","^[\\da-f](\\.[\\da-f])*$","N\\1fP\\1XX&Yyl",[caseless])),
530    <<"N.CfP.CXXa.b.c.1.2.3.CYyl">> = iolist_to_binary(re:replace("a.b.c.1.2.3.C","^[\\da-f](\\.[\\da-f])*$","N\\1fP\\1XX&Yyl",[caseless,
531                                                                                                                                                                                                                                                        global])),
532    <<"hoN">> = iolist_to_binary(re:replace("\"1234\"","^\\\".*\\\"\\s*(;.*)?$","hoN",[])),
533    <<"hoN">> = iolist_to_binary(re:replace("\"1234\"","^\\\".*\\\"\\s*(;.*)?$","hoN",[global])),
534    <<"mAGoxP\"abcd\" ;LTrowOqTtkrS">> = iolist_to_binary(re:replace("\"abcd\" ;","^\\\".*\\\"\\s*(;.*)?$","mAGoxP&LTrowOqTtkrS",[])),
535    <<"mAGoxP\"abcd\" ;LTrowOqTtkrS">> = iolist_to_binary(re:replace("\"abcd\" ;","^\\\".*\\\"\\s*(;.*)?$","mAGoxP&LTrowOqTtkrS",[global])),
536    <<"; rhubarb\"\" ; rhubarbACq; rhubarbJhxa; rhubarb">> = iolist_to_binary(re:replace("\"\" ; rhubarb","^\\\".*\\\"\\s*(;.*)?$","\\1&ACq\\1Jhxa\\1",[])),
537    <<"; rhubarb\"\" ; rhubarbACq; rhubarbJhxa; rhubarb">> = iolist_to_binary(re:replace("\"\" ; rhubarb","^\\\".*\\\"\\s*(;.*)?$","\\1&ACq\\1Jhxa\\1",[global])),
538    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\\".*\\\"\\s*(;.*)?$","uuJoIhaVnwJ",[])),
539    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\\".*\\\"\\s*(;.*)?$","uuJoIhaVnwJ",[global])),
540    <<"\"1234\" : things">> = iolist_to_binary(re:replace("\"1234\" : things","^\\\".*\\\"\\s*(;.*)?$","&",[])),
541    <<"\"1234\" : things">> = iolist_to_binary(re:replace("\"1234\" : things","^\\\".*\\\"\\s*(;.*)?$","&",[global])),
542    <<"IHpbwDeDoVJ">> = iolist_to_binary(re:replace("","^$","IHpbw\\1DeDoV\\1J",[])),
543    <<"IHpbwDeDoVJ">> = iolist_to_binary(re:replace("","^$","IHpbw\\1DeDoV\\1J",[global])),
544    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^$","uhGdgAUnWJEF",[])),
545    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^$","uhGdgAUnWJEF",[global])),
546    <<"ab cab cWr">> = iolist_to_binary(re:replace("ab c","   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","&&Wr",[extended])),
547    <<"ab cab cWr">> = iolist_to_binary(re:replace("ab c","   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","&&Wr",[extended,
548                                                                                                                                                                                                                                                                                                   global])),
549    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","GGresSs\\1Q&yX",[extended])),
550    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","GGresSs\\1Q&yX",[extended,
551                                                                                                                                                                                                                                                                                                                                     global])),
552    <<"abc">> = iolist_to_binary(re:replace("abc","   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","li\\1Qy\\1XfY",[extended])),
553    <<"abc">> = iolist_to_binary(re:replace("abc","   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","li\\1Qy\\1XfY",[extended,
554                                                                                                                                                                                                                                                                                                                   global])),
555    <<"ab cde">> = iolist_to_binary(re:replace("ab cde","   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","c\\1H&",[extended])),
556    <<"ab cde">> = iolist_to_binary(re:replace("ab cde","   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","c\\1H&",[extended,
557                                                                                                                                                                                                                                                                                                           global])),
558    <<"fGTimsjSab cRab clKbab cn">> = iolist_to_binary(re:replace("ab c","(?x)   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","\\1fGTimsjS&R&lK\\1b&\\1n",[])),
559    <<"fGTimsjSab cRab clKbab cn">> = iolist_to_binary(re:replace("ab c","(?x)   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","\\1fGTimsjS&R&lK\\1b&\\1n",[global])),
560    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?x)   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","BiO\\1OITSCrXtQNI\\1Wkc",[])),
561    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?x)   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","BiO\\1OITSCrXtQNI\\1Wkc",[global])),
562    <<"abc">> = iolist_to_binary(re:replace("abc","(?x)   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","myYnx\\1OS\\1DTaa",[])),
563    <<"abc">> = iolist_to_binary(re:replace("abc","(?x)   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","myYnx\\1OS\\1DTaa",[global])),
564    <<"ab cde">> = iolist_to_binary(re:replace("ab cde","(?x)   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","nJCbPkJnDbYu&SNbC",[])),
565    <<"ab cde">> = iolist_to_binary(re:replace("ab cde","(?x)   ^    a   (?# begins with a)  b\\sc (?# then b c) $ (?# then end)","nJCbPkJnDbYu&SNbC",[global])),
566    <<"NkFMbyd">> = iolist_to_binary(re:replace("a bcd","^   a\\ b[c ]d       $","NkFMbyd",[extended])),
567    <<"NkFMbyd">> = iolist_to_binary(re:replace("a bcd","^   a\\ b[c ]d       $","NkFMbyd",[extended,
568                                                                                                                                                                                                               global])),
569    <<"VEOn">> = iolist_to_binary(re:replace("a b d","^   a\\ b[c ]d       $","VEOn",[extended])),
570    <<"VEOn">> = iolist_to_binary(re:replace("a b d","^   a\\ b[c ]d       $","VEOn",[extended,
571                                                                                                                                                                                                         global])),
572    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^   a\\ b[c ]d       $","aiLS",[extended])),
573    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^   a\\ b[c ]d       $","aiLS",[extended,
574                                                                                                                                                                                                                     global])),
575    <<"abcd">> = iolist_to_binary(re:replace("abcd","^   a\\ b[c ]d       $","&TlY\\1\\1J&VFir",[extended])),
576    <<"abcd">> = iolist_to_binary(re:replace("abcd","^   a\\ b[c ]d       $","&TlY\\1\\1J&VFir",[extended,
577                                                                                                                                                                                                                                   global])),
578    <<"ab d">> = iolist_to_binary(re:replace("ab d","^   a\\ b[c ]d       $","EPKW",[extended])),
579    <<"ab d">> = iolist_to_binary(re:replace("ab d","^   a\\ b[c ]d       $","EPKW",[extended,
580                                                                                                                                                                                                       global])),
581    <<"JabcdefhijklmSJtCtOhgCabcbabce">> = iolist_to_binary(re:replace("abcdefhijklm","^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$","J&SJtCtOhgC\\1b\\1e",[])),
582    <<"JabcdefhijklmSJtCtOhgCabcbabce">> = iolist_to_binary(re:replace("abcdefhijklm","^(a(b(c)))(d(e(f)))(h(i(j)))(k(l(m)))$","J&SJtCtOhgC\\1b\\1e",[global])),
583    ok.
584run2() ->
585    <<"vbcbcFLoswabcdefhijklmAEBTabcdefhijklmLxgR">> = iolist_to_binary(re:replace("abcdefhijklm","^(?:a(b(c)))(?:d(e(f)))(?:h(i(j)))(?:k(l(m)))$","v\\1\\1FLosw&AEBT&LxgR",[])),
586    <<"vbcbcFLoswabcdefhijklmAEBTabcdefhijklmLxgR">> = iolist_to_binary(re:replace("abcdefhijklm","^(?:a(b(c)))(?:d(e(f)))(?:h(i(j)))(?:k(l(m)))$","v\\1\\1FLosw&AEBT&LxgR",[global])),
587    <<"rfhXDTtoGIitUa+ Z0+
588aq">> = iolist_to_binary(re:replace("a+ Z0+
589","^[\\w][\\W][\\s][\\S][\\d][\\D][\\b][\\n][\\c]][\\022]","rf\\1hXDT\\1toGIitU&aq",[])),
590    <<"rfhXDTtoGIitUa+ Z0+
591aq">> = iolist_to_binary(re:replace("a+ Z0+
592","^[\\w][\\W][\\s][\\S][\\d][\\D][\\b][\\n][\\c]][\\022]","rf\\1hXDT\\1toGIitU&aq",[global])),
593    <<"CU.^$(*+)|{?,?}">> = iolist_to_binary(re:replace(".^$(*+)|{?,?}","^[.^$|()*+?{,}]+","CU\\1&",[])),
594    <<"CU.^$(*+)|{?,?}">> = iolist_to_binary(re:replace(".^$(*+)|{?,?}","^[.^$|()*+?{,}]+","CU\\1&",[global])),
595    <<"YBmuTIAl">> = iolist_to_binary(re:replace("z","^a*\\w","YBmuTIAl",[])),
596    <<"YBmuTIAl">> = iolist_to_binary(re:replace("z","^a*\\w","YBmuTIAl",[global])),
597    <<"oQyLlPbDtbyg">> = iolist_to_binary(re:replace("az","^a*\\w","oQyLlP\\1\\1bDt\\1by\\1g",[])),
598    <<"oQyLlPbDtbyg">> = iolist_to_binary(re:replace("az","^a*\\w","oQyLlP\\1\\1bDt\\1by\\1g",[global])),
599    <<"mWdReExiMyALqM">> = iolist_to_binary(re:replace("aaaz","^a*\\w","mWdReExiMyALqM",[])),
600    <<"mWdReExiMyALqM">> = iolist_to_binary(re:replace("aaaz","^a*\\w","mWdReExiMyALqM",[global])),
601    <<"YxwJd">> = iolist_to_binary(re:replace("a","^a*\\w","Yx\\1wJd",[])),
602    <<"YxwJd">> = iolist_to_binary(re:replace("a","^a*\\w","Yx\\1wJd",[global])),
603    <<"WrOXRQ">> = iolist_to_binary(re:replace("aa","^a*\\w","WrOXRQ\\1",[])),
604    <<"WrOXRQ">> = iolist_to_binary(re:replace("aa","^a*\\w","WrOXRQ\\1",[global])),
605    <<"IUtgwPFjpaaaaax">> = iolist_to_binary(re:replace("aaaa","^a*\\w","IUtgwPFjp&ax",[])),
606    <<"IUtgwPFjpaaaaax">> = iolist_to_binary(re:replace("aaaa","^a*\\w","IUtgwPFjp&ax",[global])),
607    <<"CmcxaBmvbENiCdje+">> = iolist_to_binary(re:replace("a+","^a*\\w","Cmcx&BmvbENiCdje\\1",[])),
608    <<"CmcxaBmvbENiCdje+">> = iolist_to_binary(re:replace("a+","^a*\\w","Cmcx&BmvbENiCdje\\1",[global])),
609    <<"ppr+">> = iolist_to_binary(re:replace("aa+","^a*\\w","ppr",[])),
610    <<"ppr+">> = iolist_to_binary(re:replace("aa+","^a*\\w","ppr",[global])),
611    <<"PzqITvYUDMzBNhfmHb">> = iolist_to_binary(re:replace("z","^a*?\\w","P&qITvYUDM\\1&BNhfm\\1Hb",[])),
612    <<"PzqITvYUDMzBNhfmHb">> = iolist_to_binary(re:replace("z","^a*?\\w","P&qITvYUDM\\1&BNhfm\\1Hb",[global])),
613    <<"xjz">> = iolist_to_binary(re:replace("az","^a*?\\w","\\1xj",[])),
614    <<"xjz">> = iolist_to_binary(re:replace("az","^a*?\\w","\\1xj",[global])),
615    <<"nSGvgEaaz">> = iolist_to_binary(re:replace("aaaz","^a*?\\w","nSGvgE",[])),
616    <<"nSGvgEaaz">> = iolist_to_binary(re:replace("aaaz","^a*?\\w","nSGvgE",[global])),
617    <<"akBYqdpnDpF">> = iolist_to_binary(re:replace("a","^a*?\\w","\\1&\\1kBYqdpnDpF",[])),
618    <<"akBYqdpnDpF">> = iolist_to_binary(re:replace("a","^a*?\\w","\\1&\\1kBYqdpnDpF",[global])),
619    <<"aWWhBaca">> = iolist_to_binary(re:replace("aa","^a*?\\w","aWWhB&c",[])),
620    <<"aWWhBaca">> = iolist_to_binary(re:replace("aa","^a*?\\w","aWWhB&c",[global])),
621    <<"EVKLmPxhaadNVCaaa">> = iolist_to_binary(re:replace("aaaa","^a*?\\w","EVKLmPxh&&dNVC\\1",[])),
622    <<"EVKLmPxhaadNVCaaa">> = iolist_to_binary(re:replace("aaaa","^a*?\\w","EVKLmPxh&&dNVC\\1",[global])),
623    <<"ue+">> = iolist_to_binary(re:replace("a+","^a*?\\w","u\\1e",[])),
624    <<"ue+">> = iolist_to_binary(re:replace("a+","^a*?\\w","u\\1e",[global])),
625    <<"xa+">> = iolist_to_binary(re:replace("aa+","^a*?\\w","x",[])),
626    <<"xa+">> = iolist_to_binary(re:replace("aa+","^a*?\\w","x",[global])),
627    <<"mtSazhiAQKFcLgcy">> = iolist_to_binary(re:replace("az","^a+\\w","mtS&hiAQK\\1FcLgcy",[])),
628    <<"mtSazhiAQKFcLgcy">> = iolist_to_binary(re:replace("az","^a+\\w","mtS&hiAQK\\1FcLgcy",[global])),
629    <<"aaazLYLsP">> = iolist_to_binary(re:replace("aaaz","^a+\\w","&LY\\1LsP",[])),
630    <<"aaazLYLsP">> = iolist_to_binary(re:replace("aaaz","^a+\\w","&LY\\1LsP",[global])),
631    <<"JWV">> = iolist_to_binary(re:replace("aa","^a+\\w","JWV",[])),
632    <<"JWV">> = iolist_to_binary(re:replace("aa","^a+\\w","JWV",[global])),
633    <<"GHYCIRYhTaaaaYk">> = iolist_to_binary(re:replace("aaaa","^a+\\w","GHYC\\1IR\\1YhT&Yk",[])),
634    <<"GHYCIRYhTaaaaYk">> = iolist_to_binary(re:replace("aaaa","^a+\\w","GHYC\\1IR\\1YhT&Yk",[global])),
635    <<"qWLubkoR+">> = iolist_to_binary(re:replace("aa+","^a+\\w","qWLubkoR",[])),
636    <<"qWLubkoR+">> = iolist_to_binary(re:replace("aa+","^a+\\w","qWLubkoR",[global])),
637    <<"QgHtshICxVl">> = iolist_to_binary(re:replace("az","^a+?\\w","QgHt\\1shI\\1CxVl",[])),
638    <<"QgHtshICxVl">> = iolist_to_binary(re:replace("az","^a+?\\w","QgHt\\1shI\\1CxVl",[global])),
639    <<"QAUTaz">> = iolist_to_binary(re:replace("aaaz","^a+?\\w","QAUT",[])),
640    <<"QAUTaz">> = iolist_to_binary(re:replace("aaaz","^a+?\\w","QAUT",[global])),
641    <<"aaNKKDqaaXXJvkgaathj">> = iolist_to_binary(re:replace("aa","^a+?\\w","&NKKDq&XXJvkg&thj",[])),
642    <<"aaNKKDqaaXXJvkgaathj">> = iolist_to_binary(re:replace("aa","^a+?\\w","&NKKDq&XXJvkg&thj",[global])),
643    <<"paajyaNtcaa">> = iolist_to_binary(re:replace("aaaa","^a+?\\w","p\\1&jyaNtc",[])),
644    <<"paajyaNtcaa">> = iolist_to_binary(re:replace("aaaa","^a+?\\w","p\\1&jyaNtc",[global])),
645    <<"eKfjhSmMfKaaaap+">> = iolist_to_binary(re:replace("aa+","^a+?\\w","eKfjhSmMfK&&p",[])),
646    <<"eKfjhSmMfKaaaap+">> = iolist_to_binary(re:replace("aa+","^a+?\\w","eKfjhSmMfK&&p",[global])),
647    <<"fqmX1234567890KYJD1234567890dLdQYNvF12345678901234567890">> = iolist_to_binary(re:replace("1234567890","^\\d{8}\\w{2,}","fqmX&KYJD&dLdQYNvF&&",[])),
648    <<"fqmX1234567890KYJD1234567890dLdQYNvF12345678901234567890">> = iolist_to_binary(re:replace("1234567890","^\\d{8}\\w{2,}","fqmX&KYJD&dLdQYNvF&&",[global])),
649    <<"GNln">> = iolist_to_binary(re:replace("12345678ab","^\\d{8}\\w{2,}","G\\1Nln",[])),
650    <<"GNln">> = iolist_to_binary(re:replace("12345678ab","^\\d{8}\\w{2,}","G\\1Nln",[global])),
651    <<"F12345678__LL12345678__JU12345678__IbAQiv12345678__D">> = iolist_to_binary(re:replace("12345678__","^\\d{8}\\w{2,}","F&LL&JU&IbAQi\\1v&D",[])),
652    <<"F12345678__LL12345678__JU12345678__IbAQiv12345678__D">> = iolist_to_binary(re:replace("12345678__","^\\d{8}\\w{2,}","F&LL&JU&IbAQi\\1v&D",[global])),
653    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\d{8}\\w{2,}","iStSHxD&bBUiQjj",[])),
654    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\d{8}\\w{2,}","iStSHxD&bBUiQjj",[global])),
655    <<"1234567">> = iolist_to_binary(re:replace("1234567","^\\d{8}\\w{2,}","EEa",[])),
656    <<"1234567">> = iolist_to_binary(re:replace("1234567","^\\d{8}\\w{2,}","EEa",[global])),
657    <<"uoieprPRCuoie">> = iolist_to_binary(re:replace("uoie","^[aeiou\\d]{4,5}$","&pr\\1PRC&",[])),
658    <<"uoieprPRCuoie">> = iolist_to_binary(re:replace("uoie","^[aeiou\\d]{4,5}$","&pr\\1PRC&",[global])),
659    <<"a1234xXJ1234G1234">> = iolist_to_binary(re:replace("1234","^[aeiou\\d]{4,5}$","a&xXJ&G&",[])),
660    <<"a1234xXJ1234G1234">> = iolist_to_binary(re:replace("1234","^[aeiou\\d]{4,5}$","a&xXJ&G&",[global])),
661    <<"GtEhJ12345l">> = iolist_to_binary(re:replace("12345","^[aeiou\\d]{4,5}$","GtEhJ&l",[])),
662    <<"GtEhJ12345l">> = iolist_to_binary(re:replace("12345","^[aeiou\\d]{4,5}$","GtEhJ&l",[global])),
663    <<"bJBYcRNEc">> = iolist_to_binary(re:replace("aaaaa","^[aeiou\\d]{4,5}$","bJBYc\\1RNEc",[])),
664    <<"bJBYcRNEc">> = iolist_to_binary(re:replace("aaaaa","^[aeiou\\d]{4,5}$","bJBYc\\1RNEc",[global])),
665    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[aeiou\\d]{4,5}$","\\1CbAy&Gejrv&",[])),
666    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[aeiou\\d]{4,5}$","\\1CbAy&Gejrv&",[global])),
667    <<"123456">> = iolist_to_binary(re:replace("123456","^[aeiou\\d]{4,5}$","&ftepSatEwgqIL",[])),
668    <<"123456">> = iolist_to_binary(re:replace("123456","^[aeiou\\d]{4,5}$","&ftepSatEwgqIL",[global])),
669    <<"kJipvPhUNA">> = iolist_to_binary(re:replace("uoie","^[aeiou\\d]{4,5}?","k\\1\\1JipvPhUNA",[])),
670    <<"kJipvPhUNA">> = iolist_to_binary(re:replace("uoie","^[aeiou\\d]{4,5}?","k\\1\\1JipvPhUNA",[global])),
671    <<"yXeJ1234spOtaDGQEa">> = iolist_to_binary(re:replace("1234","^[aeiou\\d]{4,5}?","yXeJ\\1&spOtaDGQ\\1E\\1a",[])),
672    <<"yXeJ1234spOtaDGQEa">> = iolist_to_binary(re:replace("1234","^[aeiou\\d]{4,5}?","yXeJ\\1&spOtaDGQ\\1E\\1a",[global])),
673    <<"otWuaaL12341234F1234Ej5">> = iolist_to_binary(re:replace("12345","^[aeiou\\d]{4,5}?","otWuaaL&&F&E\\1\\1j",[])),
674    <<"otWuaaL12341234F1234Ej5">> = iolist_to_binary(re:replace("12345","^[aeiou\\d]{4,5}?","otWuaaL&&F&E\\1\\1j",[global])),
675    <<"OjJFYaaaafaaaaaaaajmxxNEiDa">> = iolist_to_binary(re:replace("aaaaa","^[aeiou\\d]{4,5}?","\\1OjJFY&f&&jmxxNEiD",[])),
676    <<"OjJFYaaaafaaaaaaaajmxxNEiDa">> = iolist_to_binary(re:replace("aaaaa","^[aeiou\\d]{4,5}?","\\1OjJFY&f&&jmxxNEiD",[global])),
677    <<"xvM1234Anq1234UpiOggGI56">> = iolist_to_binary(re:replace("123456","^[aeiou\\d]{4,5}?","xv\\1M&Anq&Up\\1iOggGI",[])),
678    <<"xvM1234Anq1234UpiOggGI56">> = iolist_to_binary(re:replace("123456","^[aeiou\\d]{4,5}?","xv\\1M&Anq&Up\\1iOggGI",[global])),
679    <<"Cqabc=abcabcabc=abcabcybabcvabcrabcAgJK">> = iolist_to_binary(re:replace("abc=abcabc","\\A(abc|def)=(\\1){2,3}\\Z","Cq&&yb\\1v\\1r\\1AgJK",[])),
680    <<"Cqabc=abcabcabc=abcabcybabcvabcrabcAgJK">> = iolist_to_binary(re:replace("abc=abcabc","\\A(abc|def)=(\\1){2,3}\\Z","Cq&&yb\\1v\\1r\\1AgJK",[global])),
681    <<"e">> = iolist_to_binary(re:replace("def=defdefdef","\\A(abc|def)=(\\1){2,3}\\Z","e",[])),
682    <<"e">> = iolist_to_binary(re:replace("def=defdefdef","\\A(abc|def)=(\\1){2,3}\\Z","e",[global])),
683    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\A(abc|def)=(\\1){2,3}\\Z","LC\\1\\1cX&r\\1",[])),
684    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\A(abc|def)=(\\1){2,3}\\Z","LC\\1\\1cX&r\\1",[global])),
685    <<"abc=defdef">> = iolist_to_binary(re:replace("abc=defdef","\\A(abc|def)=(\\1){2,3}\\Z","W&Oq&\\1",[])),
686    <<"abc=defdef">> = iolist_to_binary(re:replace("abc=defdef","\\A(abc|def)=(\\1){2,3}\\Z","W&Oq&\\1",[global])),
687    <<"RbEDawyPg">> = iolist_to_binary(re:replace("abcdefghijkcda2","^(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\\11*(\\3\\4)\\1(?#)2$","RbED\\1wyPg",[])),
688    <<"RbEDawyPg">> = iolist_to_binary(re:replace("abcdefghijkcda2","^(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\\11*(\\3\\4)\\1(?#)2$","RbED\\1wyPg",[global])),
689    <<"SglXayyabcdefghijkkkkcda2cXHhsvvXdoa">> = iolist_to_binary(re:replace("abcdefghijkkkkcda2","^(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\\11*(\\3\\4)\\1(?#)2$","SglX\\1yy&cXHhsvvXdo\\1",[])),
690    <<"SglXayyabcdefghijkkkkcda2cXHhsvvXdoa">> = iolist_to_binary(re:replace("abcdefghijkkkkcda2","^(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\\11*(\\3\\4)\\1(?#)2$","SglX\\1yy&cXHhsvvXdo\\1",[global])),
691    <<"v">> = iolist_to_binary(re:replace("cataract cataract23","(cat(a(ract|tonic)|erpillar)) \\1()2(3)","v",[])),
692    <<"v">> = iolist_to_binary(re:replace("cataract cataract23","(cat(a(ract|tonic)|erpillar)) \\1()2(3)","v",[global])),
693    <<"acatatonicurmvcatatonic">> = iolist_to_binary(re:replace("catatonic catatonic23","(cat(a(ract|tonic)|erpillar)) \\1()2(3)","a\\1urmv\\1",[])),
694    <<"acatatonicurmvcatatonic">> = iolist_to_binary(re:replace("catatonic catatonic23","(cat(a(ract|tonic)|erpillar)) \\1()2(3)","a\\1urmv\\1",[global])),
695    <<"XVEjcaterpillar caterpillar23YcaterpillarAnxyWcaterpillarTvYyY">> = iolist_to_binary(re:replace("caterpillar caterpillar23","(cat(a(ract|tonic)|erpillar)) \\1()2(3)","XVEj&Y\\1AnxyW\\1TvYyY",[])),
696    <<"XVEjcaterpillar caterpillar23YcaterpillarAnxyWcaterpillarTvYyY">> = iolist_to_binary(re:replace("caterpillar caterpillar23","(cat(a(ract|tonic)|erpillar)) \\1()2(3)","XVEj&Y\\1AnxyW\\1TvYyY",[global])),
697    <<"W:02 1997">> = iolist_to_binary(re:replace("From abcd  Mon Sep 01 12:33:02 1997","^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]","W",[])),
698    <<"W:02 1997">> = iolist_to_binary(re:replace("From abcd  Mon Sep 01 12:33:02 1997","^From +([^ ]+) +[a-zA-Z][a-zA-Z][a-zA-Z] +[a-zA-Z][a-zA-Z][a-zA-Z] +[0-9]?[0-9] +[0-9][0-9]:[0-9][0-9]","W",[global])),
699    <<"IywFrom abcd  Mon Sep 01 12:33From abcd  Mon Sep 01 12:33Agja:02 1997">> = iolist_to_binary(re:replace("From abcd  Mon Sep 01 12:33:02 1997","^From\\s+\\S+\\s+([a-zA-Z]{3}\\s+){2}\\d{1,2}\\s+\\d\\d:\\d\\d","Iyw&&Agja",[])),
700    <<"IywFrom abcd  Mon Sep 01 12:33From abcd  Mon Sep 01 12:33Agja:02 1997">> = iolist_to_binary(re:replace("From abcd  Mon Sep 01 12:33:02 1997","^From\\s+\\S+\\s+([a-zA-Z]{3}\\s+){2}\\d{1,2}\\s+\\d\\d:\\d\\d","Iyw&&Agja",[global])),
701    <<"TFrom abcd  Mon Sep  1 12:33KLniu:02 1997">> = iolist_to_binary(re:replace("From abcd  Mon Sep  1 12:33:02 1997","^From\\s+\\S+\\s+([a-zA-Z]{3}\\s+){2}\\d{1,2}\\s+\\d\\d:\\d\\d","T&KLniu",[])),
702    <<"TFrom abcd  Mon Sep  1 12:33KLniu:02 1997">> = iolist_to_binary(re:replace("From abcd  Mon Sep  1 12:33:02 1997","^From\\s+\\S+\\s+([a-zA-Z]{3}\\s+){2}\\d{1,2}\\s+\\d\\d:\\d\\d","T&KLniu",[global])),
703    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^From\\s+\\S+\\s+([a-zA-Z]{3}\\s+){2}\\d{1,2}\\s+\\d\\d:\\d\\d","vYiLq&doiJVeyAm",[])),
704    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^From\\s+\\S+\\s+([a-zA-Z]{3}\\s+){2}\\d{1,2}\\s+\\d\\d:\\d\\d","vYiLq&doiJVeyAm",[global])),
705    <<"From abcd  Sep 01 12:33:02 1997">> = iolist_to_binary(re:replace("From abcd  Sep 01 12:33:02 1997","^From\\s+\\S+\\s+([a-zA-Z]{3}\\s+){2}\\d{1,2}\\s+\\d\\d:\\d\\d","hfXkAD\\1eyf&\\1T&AE",[])),
706    <<"From abcd  Sep 01 12:33:02 1997">> = iolist_to_binary(re:replace("From abcd  Sep 01 12:33:02 1997","^From\\s+\\S+\\s+([a-zA-Z]{3}\\s+){2}\\d{1,2}\\s+\\d\\d:\\d\\d","hfXkAD\\1eyf&\\1T&AE",[global])),
707    <<"wgMRV12
70834dXcgTVheaqJ12
70934uR">> = iolist_to_binary(re:replace("12
71034","^12.34","wgMRV&dXcgTVheaqJ&uR",[dotall])),
711    <<"wgMRV12
71234dXcgTVheaqJ12
71334uR">> = iolist_to_binary(re:replace("12
71434","^12.34","wgMRV&dXcgTVheaqJ&uR",[dotall,global])),
715    <<"Nx12
71634XXami">> = iolist_to_binary(re:replace("12
71734","^12.34","Nx&XXami",[dotall])),
718    <<"Nx12
71934XXami">> = iolist_to_binary(re:replace("12
72034","^12.34","Nx&XXami",[dotall,
721                                                                                                                                                                                global])),
722    <<"the quick IYgNNy	 fox">> = iolist_to_binary(re:replace("the quick brown	 fox","\\w+(?=\\t)","IYgNNy",[])),
723    <<"the quick IYgNNy	 fox">> = iolist_to_binary(re:replace("the quick brown	 fox","\\w+(?=\\t)","IYgNNy",[global])),
724    <<"foobar is lish see?VpOwivKT">> = iolist_to_binary(re:replace("foobar is foolish see?","foo(?!bar)(.*)","\\1VpOwivKT",[])),
725    <<"foobar is lish see?VpOwivKT">> = iolist_to_binary(re:replace("foobar is foolish see?","foo(?!bar)(.*)","\\1VpOwivKT",[global])),
726    <<"foobar ctmTbrowbar etcUVS etc etc etcVu">> = iolist_to_binary(re:replace("foobar crowbar etc","(?:(?!foo)...|^.{0,2})bar(.*)","tmTb&UVS\\1\\1\\1Vu",[])),
727    <<"foobar ctmTbrowbar etcUVS etc etc etcVu">> = iolist_to_binary(re:replace("foobar crowbar etc","(?:(?!foo)...|^.{0,2})bar(.*)","tmTb&UVS\\1\\1\\1Vu",[global])),
728    <<"relJSQucc">> = iolist_to_binary(re:replace("barrel","(?:(?!foo)...|^.{0,2})bar(.*)","\\1JSQucc",[])),
729    <<"relJSQucc">> = iolist_to_binary(re:replace("barrel","(?:(?!foo)...|^.{0,2})bar(.*)","\\1JSQucc",[global])),
730    <<"rdrSoV">> = iolist_to_binary(re:replace("2barrel","(?:(?!foo)...|^.{0,2})bar(.*)","rdrSoV",[])),
731    <<"rdrSoV">> = iolist_to_binary(re:replace("2barrel","(?:(?!foo)...|^.{0,2})bar(.*)","rdrSoV",[global])),
732    <<"eXfWy">> = iolist_to_binary(re:replace("A barrel","(?:(?!foo)...|^.{0,2})bar(.*)","eXfWy",[])),
733    <<"eXfWy">> = iolist_to_binary(re:replace("A barrel","(?:(?!foo)...|^.{0,2})bar(.*)","eXfWy",[global])),
734    <<"w456">> = iolist_to_binary(re:replace("abc456","^(\\D*)(?=\\d)(?!123)","w",[])),
735    <<"w456">> = iolist_to_binary(re:replace("abc456","^(\\D*)(?=\\d)(?!123)","w",[global])),
736    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\D*)(?=\\d)(?!123)","K\\1\\1AqfXA&w\\1u",[])),
737    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\D*)(?=\\d)(?!123)","K\\1\\1AqfXA&w\\1u",[global])),
738    <<"abc123">> = iolist_to_binary(re:replace("abc123","^(\\D*)(?=\\d)(?!123)","JdWVKM&yVT",[])),
739    <<"abc123">> = iolist_to_binary(re:replace("abc123","^(\\D*)(?=\\d)(?!123)","JdWVKM&yVT",[global])),
740    ok.
741run3() ->
742    <<"iuO1234wOcoFuHtrEJy">> = iolist_to_binary(re:replace("1234","^1234(?# test newlines
743  inside)","iuO&wOcoFuHtrE\\1Jy",[])),
744    <<"iuO1234wOcoFuHtrEJy">> = iolist_to_binary(re:replace("1234","^1234(?# test newlines
745  inside)","iuO&wOcoFuHtrE\\1Jy",[global])),
746    <<"gJCrEQqo1234JrkS">> = iolist_to_binary(re:replace("1234","^1234 #comment in extended re
747  ","gJC\\1rE\\1Qq\\1o&JrkS",[extended])),
748    <<"gJCrEQqo1234JrkS">> = iolist_to_binary(re:replace("1234","^1234 #comment in extended re
749  ","gJC\\1rE\\1Qq\\1o&JrkS",[extended,global])),
750    <<"MTEpBuVJ">> = iolist_to_binary(re:replace("abcd","#rhubarb
751  abcd","MTEpBuVJ",[extended])),
752    <<"MTEpBuVJ">> = iolist_to_binary(re:replace("abcd","#rhubarb
753  abcd","MTEpBuVJ",[extended,global])),
754    <<"abcdjMyabcdxPHwTRWabcdgliA">> = iolist_to_binary(re:replace("abcd","^abcd#rhubarb","&jMy&xPHwTRW&g\\1liA",[extended])),
755    <<"abcdjMyabcdxPHwTRWabcdgliA">> = iolist_to_binary(re:replace("abcd","^abcd#rhubarb","&jMy&xPHwTRW&g\\1liA",[extended,
756                                                                                                                                                                                                                       global])),
757    <<"OaE">> = iolist_to_binary(re:replace("aaab","^(a)\\1{2,3}(.)","O\\1E",[])),
758    <<"OaE">> = iolist_to_binary(re:replace("aaab","^(a)\\1{2,3}(.)","O\\1E",[global])),
759    <<"CapFaBaaaabGaaaabg">> = iolist_to_binary(re:replace("aaaab","^(a)\\1{2,3}(.)","C\\1pF\\1B&G&g",[])),
760    <<"CapFaBaaaabGaaaabg">> = iolist_to_binary(re:replace("aaaab","^(a)\\1{2,3}(.)","C\\1pF\\1B&G&g",[global])),
761    <<"Faaaaab">> = iolist_to_binary(re:replace("aaaaab","^(a)\\1{2,3}(.)","F&",[])),
762    <<"Faaaaab">> = iolist_to_binary(re:replace("aaaaab","^(a)\\1{2,3}(.)","F&",[global])),
763    <<"caaaaaHRiaaaaaCFuIab">> = iolist_to_binary(re:replace("aaaaaab","^(a)\\1{2,3}(.)","c&HRi&CFuI",[])),
764    <<"caaaaaHRiaaaaaCFuIab">> = iolist_to_binary(re:replace("aaaaaab","^(a)\\1{2,3}(.)","c&HRi&CFuI",[global])),
765    <<"the gjabcPpEkyabcIiyEk">> = iolist_to_binary(re:replace("the abc","(?!^)abc","gj&PpEky&Ii\\1yEk",[])),
766    <<"the gjabcPpEkyabcIiyEk">> = iolist_to_binary(re:replace("the abc","(?!^)abc","gj&PpEky&Ii\\1yEk",[global])),
767    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?!^)abc","tRf&&sbxQaC",[])),
768    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?!^)abc","tRf&&sbxQaC",[global])),
769    <<"abc">> = iolist_to_binary(re:replace("abc","(?!^)abc","H\\1BG&fg&PqEB&VP\\1",[])),
770    <<"abc">> = iolist_to_binary(re:replace("abc","(?!^)abc","H\\1BG&fg&PqEB&VP\\1",[global])),
771    <<"ybQFSlI">> = iolist_to_binary(re:replace("abc","(?=^)abc","\\1yb\\1QFSlI",[])),
772    <<"ybQFSlI">> = iolist_to_binary(re:replace("abc","(?=^)abc","\\1yb\\1QFSlI",[global])),
773    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?=^)abc","J",[])),
774    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?=^)abc","J",[global])),
775    <<"the abc">> = iolist_to_binary(re:replace("the abc","(?=^)abc","x&",[])),
776    <<"the abc">> = iolist_to_binary(re:replace("the abc","(?=^)abc","x&",[global])),
777    <<"hfsXbvuonxbbb">> = iolist_to_binary(re:replace("aabbbbb","^[ab]{1,3}(ab*|b)","hfsX\\1vuonx",[])),
778    <<"hfsXbvuonxbbb">> = iolist_to_binary(re:replace("aabbbbb","^[ab]{1,3}(ab*|b)","hfsX\\1vuonx",[global])),
779    <<"ddI">> = iolist_to_binary(re:replace("aabbbbb","^[ab]{1,3}?(ab*|b)","ddI",[])),
780    <<"ddI">> = iolist_to_binary(re:replace("aabbbbb","^[ab]{1,3}?(ab*|b)","ddI",[global])),
781    <<"abbbbb">> = iolist_to_binary(re:replace("aabbbbb","^[ab]{1,3}?(ab*?|b)","\\1",[])),
782    <<"abbbbb">> = iolist_to_binary(re:replace("aabbbbb","^[ab]{1,3}?(ab*?|b)","\\1",[global])),
783    <<"bRgwsOaabbaabbKBhbbbb">> = iolist_to_binary(re:replace("aabbbbb","^[ab]{1,3}(ab*?|b)","\\1RgwsO&&KBh\\1",[])),
784    <<"bRgwsOaabbaabbKBhbbbb">> = iolist_to_binary(re:replace("aabbbbb","^[ab]{1,3}(ab*?|b)","\\1RgwsO&&KBh\\1",[global])),
785    <<"Alan Other <user.ain>">> = iolist_to_binary(re:replace("Alan Other <user.ain>","  (?: [\\040\\t] |  \\(
786(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
787\\)  )*                          # optional leading comment
788(?:    (?:
789[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
790(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
791|
792\" (?:                      # opening quote...
793[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
794|                     #    or
795\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
796)* \"  # closing quote
797)                    # initial word
798(?:  (?: [\\040\\t] |  \\(
799(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
800\\)  )*  \\.  (?: [\\040\\t] |  \\(
801(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
802\\)  )*   (?:
803[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
804(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
805|
806\" (?:                      # opening quote...
807[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
808|                     #    or
809\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
810)* \"  # closing quote
811)  )* # further okay, if led by a period
812(?: [\\040\\t] |  \\(
813(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
814\\)  )*  @  (?: [\\040\\t] |  \\(
815(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
816\\)  )*    (?:
817[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
818(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
819|   \\[                         # [
820(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
821\\]                        #           ]
822)                           # initial subdomain
823(?:                                  #
824(?: [\\040\\t] |  \\(
825(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
826\\)  )*  \\.                        # if led by a period...
827(?: [\\040\\t] |  \\(
828(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
829\\)  )*   (?:
830[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
831(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
832|   \\[                         # [
833(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
834\\]                        #           ]
835)                     #   ...further okay
836)*
837# address
838|                     #  or
839(?:
840[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
841(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
842|
843\" (?:                      # opening quote...
844[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
845|                     #    or
846\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
847)* \"  # closing quote
848)             # one word, optionally followed by....
849(?:
850[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
851\\(
852(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
853\\)       |  # comments, or...
854
855\" (?:                      # opening quote...
856[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
857|                     #    or
858\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
859)* \"  # closing quote
860# quoted strings
861)*
862<  (?: [\\040\\t] |  \\(
863(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
864\\)  )*                     # leading <
865(?:  @  (?: [\\040\\t] |  \\(
866(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
867\\)  )*    (?:
868[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
869(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
870|   \\[                         # [
871(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
872\\]                        #           ]
873)                           # initial subdomain
874(?:                                  #
875(?: [\\040\\t] |  \\(
876(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
877\\)  )*  \\.                        # if led by a period...
878(?: [\\040\\t] |  \\(
879(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
880\\)  )*   (?:
881[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
882(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
883|   \\[                         # [
884(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
885\\]                        #           ]
886)                     #   ...further okay
887)*
888
889(?:  (?: [\\040\\t] |  \\(
890(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
891\\)  )*  ,  (?: [\\040\\t] |  \\(
892(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
893\\)  )*  @  (?: [\\040\\t] |  \\(
894(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
895\\)  )*    (?:
896[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
897(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
898|   \\[                         # [
899(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
900\\]                        #           ]
901)                           # initial subdomain
902(?:                                  #
903(?: [\\040\\t] |  \\(
904(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
905\\)  )*  \\.                        # if led by a period...
906(?: [\\040\\t] |  \\(
907(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
908\\)  )*   (?:
909[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
910(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
911|   \\[                         # [
912(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
913\\]                        #           ]
914)                     #   ...further okay
915)*
916)* # further okay, if led by comma
917:                                # closing colon
918(?: [\\040\\t] |  \\(
919(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
920\\)  )*  )? #       optional route
921(?:
922[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
923(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
924|
925\" (?:                      # opening quote...
926[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
927|                     #    or
928\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
929)* \"  # closing quote
930)                    # initial word
931(?:  (?: [\\040\\t] |  \\(
932(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
933\\)  )*  \\.  (?: [\\040\\t] |  \\(
934(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
935\\)  )*   (?:
936[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
937(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
938|
939\" (?:                      # opening quote...
940[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
941|                     #    or
942\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
943)* \"  # closing quote
944)  )* # further okay, if led by a period
945(?: [\\040\\t] |  \\(
946(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
947\\)  )*  @  (?: [\\040\\t] |  \\(
948(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
949\\)  )*    (?:
950[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
951(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
952|   \\[                         # [
953(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
954\\]                        #           ]
955)                           # initial subdomain
956(?:                                  #
957(?: [\\040\\t] |  \\(
958(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
959\\)  )*  \\.                        # if led by a period...
960(?: [\\040\\t] |  \\(
961(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
962\\)  )*   (?:
963[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
964(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
965|   \\[                         # [
966(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
967\\]                        #           ]
968)                     #   ...further okay
969)*
970#       address spec
971(?: [\\040\\t] |  \\(
972(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
973\\)  )*  > #                  trailing >
974# name and address
975)  (?: [\\040\\t] |  \\(
976(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
977\\)  )*                       # optional trailing comment","KOt\\1Sm",[extended])),
978    <<"Alan Other <user.ain>">> = iolist_to_binary(re:replace("Alan Other <user.ain>","  (?: [\\040\\t] |  \\(
979(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
980\\)  )*                          # optional leading comment
981(?:    (?:
982[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
983(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
984|
985\" (?:                      # opening quote...
986[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
987|                     #    or
988\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
989)* \"  # closing quote
990)                    # initial word
991(?:  (?: [\\040\\t] |  \\(
992(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
993\\)  )*  \\.  (?: [\\040\\t] |  \\(
994(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
995\\)  )*   (?:
996[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
997(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
998|
999\" (?:                      # opening quote...
1000[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1001|                     #    or
1002\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1003)* \"  # closing quote
1004)  )* # further okay, if led by a period
1005(?: [\\040\\t] |  \\(
1006(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1007\\)  )*  @  (?: [\\040\\t] |  \\(
1008(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1009\\)  )*    (?:
1010[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1011(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1012|   \\[                         # [
1013(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1014\\]                        #           ]
1015)                           # initial subdomain
1016(?:                                  #
1017(?: [\\040\\t] |  \\(
1018(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1019\\)  )*  \\.                        # if led by a period...
1020(?: [\\040\\t] |  \\(
1021(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1022\\)  )*   (?:
1023[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1024(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1025|   \\[                         # [
1026(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1027\\]                        #           ]
1028)                     #   ...further okay
1029)*
1030# address
1031|                     #  or
1032(?:
1033[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1034(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1035|
1036\" (?:                      # opening quote...
1037[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1038|                     #    or
1039\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1040)* \"  # closing quote
1041)             # one word, optionally followed by....
1042(?:
1043[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
1044\\(
1045(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1046\\)       |  # comments, or...
1047
1048\" (?:                      # opening quote...
1049[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1050|                     #    or
1051\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1052)* \"  # closing quote
1053# quoted strings
1054)*
1055<  (?: [\\040\\t] |  \\(
1056(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1057\\)  )*                     # leading <
1058(?:  @  (?: [\\040\\t] |  \\(
1059(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1060\\)  )*    (?:
1061[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1062(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1063|   \\[                         # [
1064(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1065\\]                        #           ]
1066)                           # initial subdomain
1067(?:                                  #
1068(?: [\\040\\t] |  \\(
1069(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1070\\)  )*  \\.                        # if led by a period...
1071(?: [\\040\\t] |  \\(
1072(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1073\\)  )*   (?:
1074[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1075(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1076|   \\[                         # [
1077(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1078\\]                        #           ]
1079)                     #   ...further okay
1080)*
1081
1082(?:  (?: [\\040\\t] |  \\(
1083(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1084\\)  )*  ,  (?: [\\040\\t] |  \\(
1085(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1086\\)  )*  @  (?: [\\040\\t] |  \\(
1087(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1088\\)  )*    (?:
1089[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1090(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1091|   \\[                         # [
1092(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1093\\]                        #           ]
1094)                           # initial subdomain
1095(?:                                  #
1096(?: [\\040\\t] |  \\(
1097(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1098\\)  )*  \\.                        # if led by a period...
1099(?: [\\040\\t] |  \\(
1100(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1101\\)  )*   (?:
1102[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1103(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1104|   \\[                         # [
1105(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1106\\]                        #           ]
1107)                     #   ...further okay
1108)*
1109)* # further okay, if led by comma
1110:                                # closing colon
1111(?: [\\040\\t] |  \\(
1112(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1113\\)  )*  )? #       optional route
1114(?:
1115[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1116(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1117|
1118\" (?:                      # opening quote...
1119[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1120|                     #    or
1121\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1122)* \"  # closing quote
1123)                    # initial word
1124(?:  (?: [\\040\\t] |  \\(
1125(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1126\\)  )*  \\.  (?: [\\040\\t] |  \\(
1127(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1128\\)  )*   (?:
1129[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1130(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1131|
1132\" (?:                      # opening quote...
1133[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1134|                     #    or
1135\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1136)* \"  # closing quote
1137)  )* # further okay, if led by a period
1138(?: [\\040\\t] |  \\(
1139(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1140\\)  )*  @  (?: [\\040\\t] |  \\(
1141(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1142\\)  )*    (?:
1143[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1144(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1145|   \\[                         # [
1146(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1147\\]                        #           ]
1148)                           # initial subdomain
1149(?:                                  #
1150(?: [\\040\\t] |  \\(
1151(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1152\\)  )*  \\.                        # if led by a period...
1153(?: [\\040\\t] |  \\(
1154(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1155\\)  )*   (?:
1156[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1157(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1158|   \\[                         # [
1159(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1160\\]                        #           ]
1161)                     #   ...further okay
1162)*
1163#       address spec
1164(?: [\\040\\t] |  \\(
1165(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1166\\)  )*  > #                  trailing >
1167# name and address
1168)  (?: [\\040\\t] |  \\(
1169(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1170\\)  )*                       # optional trailing comment","KOt\\1Sm",[extended,
1171                                                                              global])),
1172    <<"<user.ain>">> = iolist_to_binary(re:replace("<user.ain>","  (?: [\\040\\t] |  \\(
1173(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1174\\)  )*                          # optional leading comment
1175(?:    (?:
1176[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1177(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1178|
1179\" (?:                      # opening quote...
1180[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1181|                     #    or
1182\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1183)* \"  # closing quote
1184)                    # initial word
1185(?:  (?: [\\040\\t] |  \\(
1186(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1187\\)  )*  \\.  (?: [\\040\\t] |  \\(
1188(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1189\\)  )*   (?:
1190[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1191(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1192|
1193\" (?:                      # opening quote...
1194[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1195|                     #    or
1196\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1197)* \"  # closing quote
1198)  )* # further okay, if led by a period
1199(?: [\\040\\t] |  \\(
1200(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1201\\)  )*  @  (?: [\\040\\t] |  \\(
1202(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1203\\)  )*    (?:
1204[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1205(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1206|   \\[                         # [
1207(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1208\\]                        #           ]
1209)                           # initial subdomain
1210(?:                                  #
1211(?: [\\040\\t] |  \\(
1212(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1213\\)  )*  \\.                        # if led by a period...
1214(?: [\\040\\t] |  \\(
1215(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1216\\)  )*   (?:
1217[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1218(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1219|   \\[                         # [
1220(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1221\\]                        #           ]
1222)                     #   ...further okay
1223)*
1224# address
1225|                     #  or
1226(?:
1227[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1228(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1229|
1230\" (?:                      # opening quote...
1231[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1232|                     #    or
1233\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1234)* \"  # closing quote
1235)             # one word, optionally followed by....
1236(?:
1237[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
1238\\(
1239(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1240\\)       |  # comments, or...
1241
1242\" (?:                      # opening quote...
1243[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1244|                     #    or
1245\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1246)* \"  # closing quote
1247# quoted strings
1248)*
1249<  (?: [\\040\\t] |  \\(
1250(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1251\\)  )*                     # leading <
1252(?:  @  (?: [\\040\\t] |  \\(
1253(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1254\\)  )*    (?:
1255[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1256(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1257|   \\[                         # [
1258(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1259\\]                        #           ]
1260)                           # initial subdomain
1261(?:                                  #
1262(?: [\\040\\t] |  \\(
1263(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1264\\)  )*  \\.                        # if led by a period...
1265(?: [\\040\\t] |  \\(
1266(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1267\\)  )*   (?:
1268[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1269(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1270|   \\[                         # [
1271(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1272\\]                        #           ]
1273)                     #   ...further okay
1274)*
1275
1276(?:  (?: [\\040\\t] |  \\(
1277(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1278\\)  )*  ,  (?: [\\040\\t] |  \\(
1279(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1280\\)  )*  @  (?: [\\040\\t] |  \\(
1281(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1282\\)  )*    (?:
1283[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1284(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1285|   \\[                         # [
1286(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1287\\]                        #           ]
1288)                           # initial subdomain
1289(?:                                  #
1290(?: [\\040\\t] |  \\(
1291(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1292\\)  )*  \\.                        # if led by a period...
1293(?: [\\040\\t] |  \\(
1294(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1295\\)  )*   (?:
1296[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1297(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1298|   \\[                         # [
1299(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1300\\]                        #           ]
1301)                     #   ...further okay
1302)*
1303)* # further okay, if led by comma
1304:                                # closing colon
1305(?: [\\040\\t] |  \\(
1306(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1307\\)  )*  )? #       optional route
1308(?:
1309[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1310(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1311|
1312\" (?:                      # opening quote...
1313[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1314|                     #    or
1315\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1316)* \"  # closing quote
1317)                    # initial word
1318(?:  (?: [\\040\\t] |  \\(
1319(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1320\\)  )*  \\.  (?: [\\040\\t] |  \\(
1321(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1322\\)  )*   (?:
1323[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1324(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1325|
1326\" (?:                      # opening quote...
1327[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1328|                     #    or
1329\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1330)* \"  # closing quote
1331)  )* # further okay, if led by a period
1332(?: [\\040\\t] |  \\(
1333(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1334\\)  )*  @  (?: [\\040\\t] |  \\(
1335(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1336\\)  )*    (?:
1337[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1338(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1339|   \\[                         # [
1340(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1341\\]                        #           ]
1342)                           # initial subdomain
1343(?:                                  #
1344(?: [\\040\\t] |  \\(
1345(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1346\\)  )*  \\.                        # if led by a period...
1347(?: [\\040\\t] |  \\(
1348(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1349\\)  )*   (?:
1350[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1351(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1352|   \\[                         # [
1353(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1354\\]                        #           ]
1355)                     #   ...further okay
1356)*
1357#       address spec
1358(?: [\\040\\t] |  \\(
1359(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1360\\)  )*  > #                  trailing >
1361# name and address
1362)  (?: [\\040\\t] |  \\(
1363(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1364\\)  )*                       # optional trailing comment","\\1",[extended])),
1365    <<"<user.ain>">> = iolist_to_binary(re:replace("<user.ain>","  (?: [\\040\\t] |  \\(
1366(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1367\\)  )*                          # optional leading comment
1368(?:    (?:
1369[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1370(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1371|
1372\" (?:                      # opening quote...
1373[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1374|                     #    or
1375\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1376)* \"  # closing quote
1377)                    # initial word
1378(?:  (?: [\\040\\t] |  \\(
1379(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1380\\)  )*  \\.  (?: [\\040\\t] |  \\(
1381(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1382\\)  )*   (?:
1383[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1384(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1385|
1386\" (?:                      # opening quote...
1387[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1388|                     #    or
1389\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1390)* \"  # closing quote
1391)  )* # further okay, if led by a period
1392(?: [\\040\\t] |  \\(
1393(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1394\\)  )*  @  (?: [\\040\\t] |  \\(
1395(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1396\\)  )*    (?:
1397[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1398(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1399|   \\[                         # [
1400(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1401\\]                        #           ]
1402)                           # initial subdomain
1403(?:                                  #
1404(?: [\\040\\t] |  \\(
1405(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1406\\)  )*  \\.                        # if led by a period...
1407(?: [\\040\\t] |  \\(
1408(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1409\\)  )*   (?:
1410[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1411(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1412|   \\[                         # [
1413(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1414\\]                        #           ]
1415)                     #   ...further okay
1416)*
1417# address
1418|                     #  or
1419(?:
1420[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1421(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1422|
1423\" (?:                      # opening quote...
1424[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1425|                     #    or
1426\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1427)* \"  # closing quote
1428)             # one word, optionally followed by....
1429(?:
1430[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
1431\\(
1432(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1433\\)       |  # comments, or...
1434
1435\" (?:                      # opening quote...
1436[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1437|                     #    or
1438\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1439)* \"  # closing quote
1440# quoted strings
1441)*
1442<  (?: [\\040\\t] |  \\(
1443(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1444\\)  )*                     # leading <
1445(?:  @  (?: [\\040\\t] |  \\(
1446(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1447\\)  )*    (?:
1448[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1449(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1450|   \\[                         # [
1451(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1452\\]                        #           ]
1453)                           # initial subdomain
1454(?:                                  #
1455(?: [\\040\\t] |  \\(
1456(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1457\\)  )*  \\.                        # if led by a period...
1458(?: [\\040\\t] |  \\(
1459(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1460\\)  )*   (?:
1461[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1462(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1463|   \\[                         # [
1464(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1465\\]                        #           ]
1466)                     #   ...further okay
1467)*
1468
1469(?:  (?: [\\040\\t] |  \\(
1470(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1471\\)  )*  ,  (?: [\\040\\t] |  \\(
1472(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1473\\)  )*  @  (?: [\\040\\t] |  \\(
1474(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1475\\)  )*    (?:
1476[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1477(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1478|   \\[                         # [
1479(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1480\\]                        #           ]
1481)                           # initial subdomain
1482(?:                                  #
1483(?: [\\040\\t] |  \\(
1484(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1485\\)  )*  \\.                        # if led by a period...
1486(?: [\\040\\t] |  \\(
1487(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1488\\)  )*   (?:
1489[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1490(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1491|   \\[                         # [
1492(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1493\\]                        #           ]
1494)                     #   ...further okay
1495)*
1496)* # further okay, if led by comma
1497:                                # closing colon
1498(?: [\\040\\t] |  \\(
1499(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1500\\)  )*  )? #       optional route
1501(?:
1502[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1503(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1504|
1505\" (?:                      # opening quote...
1506[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1507|                     #    or
1508\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1509)* \"  # closing quote
1510)                    # initial word
1511(?:  (?: [\\040\\t] |  \\(
1512(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1513\\)  )*  \\.  (?: [\\040\\t] |  \\(
1514(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1515\\)  )*   (?:
1516[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1517(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1518|
1519\" (?:                      # opening quote...
1520[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1521|                     #    or
1522\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1523)* \"  # closing quote
1524)  )* # further okay, if led by a period
1525(?: [\\040\\t] |  \\(
1526(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1527\\)  )*  @  (?: [\\040\\t] |  \\(
1528(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1529\\)  )*    (?:
1530[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1531(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1532|   \\[                         # [
1533(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1534\\]                        #           ]
1535)                           # initial subdomain
1536(?:                                  #
1537(?: [\\040\\t] |  \\(
1538(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1539\\)  )*  \\.                        # if led by a period...
1540(?: [\\040\\t] |  \\(
1541(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1542\\)  )*   (?:
1543[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1544(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1545|   \\[                         # [
1546(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1547\\]                        #           ]
1548)                     #   ...further okay
1549)*
1550#       address spec
1551(?: [\\040\\t] |  \\(
1552(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1553\\)  )*  > #                  trailing >
1554# name and address
1555)  (?: [\\040\\t] |  \\(
1556(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1557\\)  )*                       # optional trailing comment","\\1",[extended,
1558                                                                         global])),
1559    <<"user.ain">> = iolist_to_binary(re:replace("user.ain","  (?: [\\040\\t] |  \\(
1560(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1561\\)  )*                          # optional leading comment
1562(?:    (?:
1563[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1564(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1565|
1566\" (?:                      # opening quote...
1567[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1568|                     #    or
1569\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1570)* \"  # closing quote
1571)                    # initial word
1572(?:  (?: [\\040\\t] |  \\(
1573(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1574\\)  )*  \\.  (?: [\\040\\t] |  \\(
1575(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1576\\)  )*   (?:
1577[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1578(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1579|
1580\" (?:                      # opening quote...
1581[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1582|                     #    or
1583\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1584)* \"  # closing quote
1585)  )* # further okay, if led by a period
1586(?: [\\040\\t] |  \\(
1587(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1588\\)  )*  @  (?: [\\040\\t] |  \\(
1589(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1590\\)  )*    (?:
1591[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1592(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1593|   \\[                         # [
1594(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1595\\]                        #           ]
1596)                           # initial subdomain
1597(?:                                  #
1598(?: [\\040\\t] |  \\(
1599(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1600\\)  )*  \\.                        # if led by a period...
1601(?: [\\040\\t] |  \\(
1602(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1603\\)  )*   (?:
1604[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1605(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1606|   \\[                         # [
1607(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1608\\]                        #           ]
1609)                     #   ...further okay
1610)*
1611# address
1612|                     #  or
1613(?:
1614[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1615(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1616|
1617\" (?:                      # opening quote...
1618[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1619|                     #    or
1620\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1621)* \"  # closing quote
1622)             # one word, optionally followed by....
1623(?:
1624[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
1625\\(
1626(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1627\\)       |  # comments, or...
1628
1629\" (?:                      # opening quote...
1630[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1631|                     #    or
1632\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1633)* \"  # closing quote
1634# quoted strings
1635)*
1636<  (?: [\\040\\t] |  \\(
1637(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1638\\)  )*                     # leading <
1639(?:  @  (?: [\\040\\t] |  \\(
1640(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1641\\)  )*    (?:
1642[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1643(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1644|   \\[                         # [
1645(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1646\\]                        #           ]
1647)                           # initial subdomain
1648(?:                                  #
1649(?: [\\040\\t] |  \\(
1650(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1651\\)  )*  \\.                        # if led by a period...
1652(?: [\\040\\t] |  \\(
1653(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1654\\)  )*   (?:
1655[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1656(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1657|   \\[                         # [
1658(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1659\\]                        #           ]
1660)                     #   ...further okay
1661)*
1662
1663(?:  (?: [\\040\\t] |  \\(
1664(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1665\\)  )*  ,  (?: [\\040\\t] |  \\(
1666(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1667\\)  )*  @  (?: [\\040\\t] |  \\(
1668(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1669\\)  )*    (?:
1670[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1671(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1672|   \\[                         # [
1673(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1674\\]                        #           ]
1675)                           # initial subdomain
1676(?:                                  #
1677(?: [\\040\\t] |  \\(
1678(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1679\\)  )*  \\.                        # if led by a period...
1680(?: [\\040\\t] |  \\(
1681(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1682\\)  )*   (?:
1683[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1684(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1685|   \\[                         # [
1686(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1687\\]                        #           ]
1688)                     #   ...further okay
1689)*
1690)* # further okay, if led by comma
1691:                                # closing colon
1692(?: [\\040\\t] |  \\(
1693(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1694\\)  )*  )? #       optional route
1695(?:
1696[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1697(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1698|
1699\" (?:                      # opening quote...
1700[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1701|                     #    or
1702\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1703)* \"  # closing quote
1704)                    # initial word
1705(?:  (?: [\\040\\t] |  \\(
1706(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1707\\)  )*  \\.  (?: [\\040\\t] |  \\(
1708(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1709\\)  )*   (?:
1710[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1711(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1712|
1713\" (?:                      # opening quote...
1714[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1715|                     #    or
1716\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1717)* \"  # closing quote
1718)  )* # further okay, if led by a period
1719(?: [\\040\\t] |  \\(
1720(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1721\\)  )*  @  (?: [\\040\\t] |  \\(
1722(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1723\\)  )*    (?:
1724[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1725(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1726|   \\[                         # [
1727(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1728\\]                        #           ]
1729)                           # initial subdomain
1730(?:                                  #
1731(?: [\\040\\t] |  \\(
1732(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1733\\)  )*  \\.                        # if led by a period...
1734(?: [\\040\\t] |  \\(
1735(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1736\\)  )*   (?:
1737[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1738(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1739|   \\[                         # [
1740(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1741\\]                        #           ]
1742)                     #   ...further okay
1743)*
1744#       address spec
1745(?: [\\040\\t] |  \\(
1746(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1747\\)  )*  > #                  trailing >
1748# name and address
1749)  (?: [\\040\\t] |  \\(
1750(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1751\\)  )*                       # optional trailing comment","B&N\\1mWiqND\\1Ye",[extended])),
1752    <<"user.ain">> = iolist_to_binary(re:replace("user.ain","  (?: [\\040\\t] |  \\(
1753(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1754\\)  )*                          # optional leading comment
1755(?:    (?:
1756[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1757(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1758|
1759\" (?:                      # opening quote...
1760[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1761|                     #    or
1762\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1763)* \"  # closing quote
1764)                    # initial word
1765(?:  (?: [\\040\\t] |  \\(
1766(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1767\\)  )*  \\.  (?: [\\040\\t] |  \\(
1768(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1769\\)  )*   (?:
1770[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1771(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1772|
1773\" (?:                      # opening quote...
1774[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1775|                     #    or
1776\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1777)* \"  # closing quote
1778)  )* # further okay, if led by a period
1779(?: [\\040\\t] |  \\(
1780(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1781\\)  )*  @  (?: [\\040\\t] |  \\(
1782(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1783\\)  )*    (?:
1784[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1785(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1786|   \\[                         # [
1787(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1788\\]                        #           ]
1789)                           # initial subdomain
1790(?:                                  #
1791(?: [\\040\\t] |  \\(
1792(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1793\\)  )*  \\.                        # if led by a period...
1794(?: [\\040\\t] |  \\(
1795(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1796\\)  )*   (?:
1797[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1798(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1799|   \\[                         # [
1800(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1801\\]                        #           ]
1802)                     #   ...further okay
1803)*
1804# address
1805|                     #  or
1806(?:
1807[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1808(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1809|
1810\" (?:                      # opening quote...
1811[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1812|                     #    or
1813\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1814)* \"  # closing quote
1815)             # one word, optionally followed by....
1816(?:
1817[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
1818\\(
1819(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1820\\)       |  # comments, or...
1821
1822\" (?:                      # opening quote...
1823[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1824|                     #    or
1825\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1826)* \"  # closing quote
1827# quoted strings
1828)*
1829<  (?: [\\040\\t] |  \\(
1830(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1831\\)  )*                     # leading <
1832(?:  @  (?: [\\040\\t] |  \\(
1833(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1834\\)  )*    (?:
1835[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1836(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1837|   \\[                         # [
1838(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1839\\]                        #           ]
1840)                           # initial subdomain
1841(?:                                  #
1842(?: [\\040\\t] |  \\(
1843(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1844\\)  )*  \\.                        # if led by a period...
1845(?: [\\040\\t] |  \\(
1846(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1847\\)  )*   (?:
1848[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1849(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1850|   \\[                         # [
1851(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1852\\]                        #           ]
1853)                     #   ...further okay
1854)*
1855
1856(?:  (?: [\\040\\t] |  \\(
1857(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1858\\)  )*  ,  (?: [\\040\\t] |  \\(
1859(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1860\\)  )*  @  (?: [\\040\\t] |  \\(
1861(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1862\\)  )*    (?:
1863[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1864(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1865|   \\[                         # [
1866(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1867\\]                        #           ]
1868)                           # initial subdomain
1869(?:                                  #
1870(?: [\\040\\t] |  \\(
1871(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1872\\)  )*  \\.                        # if led by a period...
1873(?: [\\040\\t] |  \\(
1874(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1875\\)  )*   (?:
1876[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1877(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1878|   \\[                         # [
1879(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1880\\]                        #           ]
1881)                     #   ...further okay
1882)*
1883)* # further okay, if led by comma
1884:                                # closing colon
1885(?: [\\040\\t] |  \\(
1886(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1887\\)  )*  )? #       optional route
1888(?:
1889[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1890(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1891|
1892\" (?:                      # opening quote...
1893[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1894|                     #    or
1895\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1896)* \"  # closing quote
1897)                    # initial word
1898(?:  (?: [\\040\\t] |  \\(
1899(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1900\\)  )*  \\.  (?: [\\040\\t] |  \\(
1901(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1902\\)  )*   (?:
1903[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1904(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1905|
1906\" (?:                      # opening quote...
1907[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1908|                     #    or
1909\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1910)* \"  # closing quote
1911)  )* # further okay, if led by a period
1912(?: [\\040\\t] |  \\(
1913(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1914\\)  )*  @  (?: [\\040\\t] |  \\(
1915(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1916\\)  )*    (?:
1917[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1918(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1919|   \\[                         # [
1920(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1921\\]                        #           ]
1922)                           # initial subdomain
1923(?:                                  #
1924(?: [\\040\\t] |  \\(
1925(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1926\\)  )*  \\.                        # if led by a period...
1927(?: [\\040\\t] |  \\(
1928(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1929\\)  )*   (?:
1930[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1931(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1932|   \\[                         # [
1933(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1934\\]                        #           ]
1935)                     #   ...further okay
1936)*
1937#       address spec
1938(?: [\\040\\t] |  \\(
1939(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1940\\)  )*  > #                  trailing >
1941# name and address
1942)  (?: [\\040\\t] |  \\(
1943(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1944\\)  )*                       # optional trailing comment","B&N\\1mWiqND\\1Ye",[extended,
1945                                                                                         global])),
1946    <<"\"A. Other\" <user.1234.ain> (a comment)">> = iolist_to_binary(re:replace("\"A. Other\" <user.1234.ain> (a comment)","  (?: [\\040\\t] |  \\(
1947(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1948\\)  )*                          # optional leading comment
1949(?:    (?:
1950[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1951(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1952|
1953\" (?:                      # opening quote...
1954[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1955|                     #    or
1956\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1957)* \"  # closing quote
1958)                    # initial word
1959(?:  (?: [\\040\\t] |  \\(
1960(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1961\\)  )*  \\.  (?: [\\040\\t] |  \\(
1962(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1963\\)  )*   (?:
1964[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1965(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1966|
1967\" (?:                      # opening quote...
1968[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
1969|                     #    or
1970\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
1971)* \"  # closing quote
1972)  )* # further okay, if led by a period
1973(?: [\\040\\t] |  \\(
1974(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1975\\)  )*  @  (?: [\\040\\t] |  \\(
1976(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1977\\)  )*    (?:
1978[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1979(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1980|   \\[                         # [
1981(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1982\\]                        #           ]
1983)                           # initial subdomain
1984(?:                                  #
1985(?: [\\040\\t] |  \\(
1986(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1987\\)  )*  \\.                        # if led by a period...
1988(?: [\\040\\t] |  \\(
1989(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
1990\\)  )*   (?:
1991[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
1992(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
1993|   \\[                         # [
1994(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
1995\\]                        #           ]
1996)                     #   ...further okay
1997)*
1998# address
1999|                     #  or
2000(?:
2001[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2002(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2003|
2004\" (?:                      # opening quote...
2005[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2006|                     #    or
2007\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2008)* \"  # closing quote
2009)             # one word, optionally followed by....
2010(?:
2011[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
2012\\(
2013(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2014\\)       |  # comments, or...
2015
2016\" (?:                      # opening quote...
2017[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2018|                     #    or
2019\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2020)* \"  # closing quote
2021# quoted strings
2022)*
2023<  (?: [\\040\\t] |  \\(
2024(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2025\\)  )*                     # leading <
2026(?:  @  (?: [\\040\\t] |  \\(
2027(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2028\\)  )*    (?:
2029[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2030(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2031|   \\[                         # [
2032(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2033\\]                        #           ]
2034)                           # initial subdomain
2035(?:                                  #
2036(?: [\\040\\t] |  \\(
2037(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2038\\)  )*  \\.                        # if led by a period...
2039(?: [\\040\\t] |  \\(
2040(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2041\\)  )*   (?:
2042[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2043(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2044|   \\[                         # [
2045(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2046\\]                        #           ]
2047)                     #   ...further okay
2048)*
2049
2050(?:  (?: [\\040\\t] |  \\(
2051(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2052\\)  )*  ,  (?: [\\040\\t] |  \\(
2053(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2054\\)  )*  @  (?: [\\040\\t] |  \\(
2055(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2056\\)  )*    (?:
2057[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2058(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2059|   \\[                         # [
2060(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2061\\]                        #           ]
2062)                           # initial subdomain
2063(?:                                  #
2064(?: [\\040\\t] |  \\(
2065(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2066\\)  )*  \\.                        # if led by a period...
2067(?: [\\040\\t] |  \\(
2068(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2069\\)  )*   (?:
2070[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2071(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2072|   \\[                         # [
2073(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2074\\]                        #           ]
2075)                     #   ...further okay
2076)*
2077)* # further okay, if led by comma
2078:                                # closing colon
2079(?: [\\040\\t] |  \\(
2080(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2081\\)  )*  )? #       optional route
2082(?:
2083[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2084(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2085|
2086\" (?:                      # opening quote...
2087[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2088|                     #    or
2089\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2090)* \"  # closing quote
2091)                    # initial word
2092(?:  (?: [\\040\\t] |  \\(
2093(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2094\\)  )*  \\.  (?: [\\040\\t] |  \\(
2095(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2096\\)  )*   (?:
2097[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2098(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2099|
2100\" (?:                      # opening quote...
2101[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2102|                     #    or
2103\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2104)* \"  # closing quote
2105)  )* # further okay, if led by a period
2106(?: [\\040\\t] |  \\(
2107(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2108\\)  )*  @  (?: [\\040\\t] |  \\(
2109(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2110\\)  )*    (?:
2111[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2112(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2113|   \\[                         # [
2114(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2115\\]                        #           ]
2116)                           # initial subdomain
2117(?:                                  #
2118(?: [\\040\\t] |  \\(
2119(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2120\\)  )*  \\.                        # if led by a period...
2121(?: [\\040\\t] |  \\(
2122(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2123\\)  )*   (?:
2124[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2125(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2126|   \\[                         # [
2127(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2128\\]                        #           ]
2129)                     #   ...further okay
2130)*
2131#       address spec
2132(?: [\\040\\t] |  \\(
2133(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2134\\)  )*  > #                  trailing >
2135# name and address
2136)  (?: [\\040\\t] |  \\(
2137(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2138\\)  )*                       # optional trailing comment","k&&P&fhieC&HuV\\1&",[extended])),
2139    <<"\"A. Other\" <user.1234.ain> (a comment)">> = iolist_to_binary(re:replace("\"A. Other\" <user.1234.ain> (a comment)","  (?: [\\040\\t] |  \\(
2140(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2141\\)  )*                          # optional leading comment
2142(?:    (?:
2143[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2144(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2145|
2146\" (?:                      # opening quote...
2147[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2148|                     #    or
2149\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2150)* \"  # closing quote
2151)                    # initial word
2152(?:  (?: [\\040\\t] |  \\(
2153(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2154\\)  )*  \\.  (?: [\\040\\t] |  \\(
2155(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2156\\)  )*   (?:
2157[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2158(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2159|
2160\" (?:                      # opening quote...
2161[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2162|                     #    or
2163\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2164)* \"  # closing quote
2165)  )* # further okay, if led by a period
2166(?: [\\040\\t] |  \\(
2167(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2168\\)  )*  @  (?: [\\040\\t] |  \\(
2169(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2170\\)  )*    (?:
2171[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2172(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2173|   \\[                         # [
2174(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2175\\]                        #           ]
2176)                           # initial subdomain
2177(?:                                  #
2178(?: [\\040\\t] |  \\(
2179(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2180\\)  )*  \\.                        # if led by a period...
2181(?: [\\040\\t] |  \\(
2182(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2183\\)  )*   (?:
2184[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2185(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2186|   \\[                         # [
2187(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2188\\]                        #           ]
2189)                     #   ...further okay
2190)*
2191# address
2192|                     #  or
2193(?:
2194[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2195(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2196|
2197\" (?:                      # opening quote...
2198[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2199|                     #    or
2200\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2201)* \"  # closing quote
2202)             # one word, optionally followed by....
2203(?:
2204[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
2205\\(
2206(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2207\\)       |  # comments, or...
2208
2209\" (?:                      # opening quote...
2210[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2211|                     #    or
2212\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2213)* \"  # closing quote
2214# quoted strings
2215)*
2216<  (?: [\\040\\t] |  \\(
2217(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2218\\)  )*                     # leading <
2219(?:  @  (?: [\\040\\t] |  \\(
2220(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2221\\)  )*    (?:
2222[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2223(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2224|   \\[                         # [
2225(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2226\\]                        #           ]
2227)                           # initial subdomain
2228(?:                                  #
2229(?: [\\040\\t] |  \\(
2230(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2231\\)  )*  \\.                        # if led by a period...
2232(?: [\\040\\t] |  \\(
2233(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2234\\)  )*   (?:
2235[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2236(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2237|   \\[                         # [
2238(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2239\\]                        #           ]
2240)                     #   ...further okay
2241)*
2242
2243(?:  (?: [\\040\\t] |  \\(
2244(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2245\\)  )*  ,  (?: [\\040\\t] |  \\(
2246(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2247\\)  )*  @  (?: [\\040\\t] |  \\(
2248(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2249\\)  )*    (?:
2250[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2251(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2252|   \\[                         # [
2253(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2254\\]                        #           ]
2255)                           # initial subdomain
2256(?:                                  #
2257(?: [\\040\\t] |  \\(
2258(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2259\\)  )*  \\.                        # if led by a period...
2260(?: [\\040\\t] |  \\(
2261(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2262\\)  )*   (?:
2263[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2264(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2265|   \\[                         # [
2266(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2267\\]                        #           ]
2268)                     #   ...further okay
2269)*
2270)* # further okay, if led by comma
2271:                                # closing colon
2272(?: [\\040\\t] |  \\(
2273(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2274\\)  )*  )? #       optional route
2275(?:
2276[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2277(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2278|
2279\" (?:                      # opening quote...
2280[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2281|                     #    or
2282\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2283)* \"  # closing quote
2284)                    # initial word
2285(?:  (?: [\\040\\t] |  \\(
2286(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2287\\)  )*  \\.  (?: [\\040\\t] |  \\(
2288(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2289\\)  )*   (?:
2290[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2291(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2292|
2293\" (?:                      # opening quote...
2294[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2295|                     #    or
2296\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2297)* \"  # closing quote
2298)  )* # further okay, if led by a period
2299(?: [\\040\\t] |  \\(
2300(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2301\\)  )*  @  (?: [\\040\\t] |  \\(
2302(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2303\\)  )*    (?:
2304[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2305(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2306|   \\[                         # [
2307(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2308\\]                        #           ]
2309)                           # initial subdomain
2310(?:                                  #
2311(?: [\\040\\t] |  \\(
2312(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2313\\)  )*  \\.                        # if led by a period...
2314(?: [\\040\\t] |  \\(
2315(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2316\\)  )*   (?:
2317[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2318(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2319|   \\[                         # [
2320(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2321\\]                        #           ]
2322)                     #   ...further okay
2323)*
2324#       address spec
2325(?: [\\040\\t] |  \\(
2326(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2327\\)  )*  > #                  trailing >
2328# name and address
2329)  (?: [\\040\\t] |  \\(
2330(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2331\\)  )*                       # optional trailing comment","k&&P&fhieC&HuV\\1&",[extended,
2332                                                                                        global])),
2333    <<"A. Other <user.1234.ain> (a comment)">> = iolist_to_binary(re:replace("A. Other <user.1234.ain> (a comment)","  (?: [\\040\\t] |  \\(
2334(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2335\\)  )*                          # optional leading comment
2336(?:    (?:
2337[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2338(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2339|
2340\" (?:                      # opening quote...
2341[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2342|                     #    or
2343\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2344)* \"  # closing quote
2345)                    # initial word
2346(?:  (?: [\\040\\t] |  \\(
2347(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2348\\)  )*  \\.  (?: [\\040\\t] |  \\(
2349(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2350\\)  )*   (?:
2351[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2352(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2353|
2354\" (?:                      # opening quote...
2355[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2356|                     #    or
2357\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2358)* \"  # closing quote
2359)  )* # further okay, if led by a period
2360(?: [\\040\\t] |  \\(
2361(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2362\\)  )*  @  (?: [\\040\\t] |  \\(
2363(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2364\\)  )*    (?:
2365[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2366(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2367|   \\[                         # [
2368(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2369\\]                        #           ]
2370)                           # initial subdomain
2371(?:                                  #
2372(?: [\\040\\t] |  \\(
2373(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2374\\)  )*  \\.                        # if led by a period...
2375(?: [\\040\\t] |  \\(
2376(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2377\\)  )*   (?:
2378[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2379(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2380|   \\[                         # [
2381(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2382\\]                        #           ]
2383)                     #   ...further okay
2384)*
2385# address
2386|                     #  or
2387(?:
2388[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2389(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2390|
2391\" (?:                      # opening quote...
2392[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2393|                     #    or
2394\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2395)* \"  # closing quote
2396)             # one word, optionally followed by....
2397(?:
2398[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
2399\\(
2400(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2401\\)       |  # comments, or...
2402
2403\" (?:                      # opening quote...
2404[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2405|                     #    or
2406\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2407)* \"  # closing quote
2408# quoted strings
2409)*
2410<  (?: [\\040\\t] |  \\(
2411(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2412\\)  )*                     # leading <
2413(?:  @  (?: [\\040\\t] |  \\(
2414(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2415\\)  )*    (?:
2416[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2417(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2418|   \\[                         # [
2419(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2420\\]                        #           ]
2421)                           # initial subdomain
2422(?:                                  #
2423(?: [\\040\\t] |  \\(
2424(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2425\\)  )*  \\.                        # if led by a period...
2426(?: [\\040\\t] |  \\(
2427(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2428\\)  )*   (?:
2429[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2430(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2431|   \\[                         # [
2432(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2433\\]                        #           ]
2434)                     #   ...further okay
2435)*
2436
2437(?:  (?: [\\040\\t] |  \\(
2438(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2439\\)  )*  ,  (?: [\\040\\t] |  \\(
2440(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2441\\)  )*  @  (?: [\\040\\t] |  \\(
2442(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2443\\)  )*    (?:
2444[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2445(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2446|   \\[                         # [
2447(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2448\\]                        #           ]
2449)                           # initial subdomain
2450(?:                                  #
2451(?: [\\040\\t] |  \\(
2452(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2453\\)  )*  \\.                        # if led by a period...
2454(?: [\\040\\t] |  \\(
2455(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2456\\)  )*   (?:
2457[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2458(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2459|   \\[                         # [
2460(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2461\\]                        #           ]
2462)                     #   ...further okay
2463)*
2464)* # further okay, if led by comma
2465:                                # closing colon
2466(?: [\\040\\t] |  \\(
2467(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2468\\)  )*  )? #       optional route
2469(?:
2470[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2471(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2472|
2473\" (?:                      # opening quote...
2474[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2475|                     #    or
2476\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2477)* \"  # closing quote
2478)                    # initial word
2479(?:  (?: [\\040\\t] |  \\(
2480(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2481\\)  )*  \\.  (?: [\\040\\t] |  \\(
2482(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2483\\)  )*   (?:
2484[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2485(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2486|
2487\" (?:                      # opening quote...
2488[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2489|                     #    or
2490\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2491)* \"  # closing quote
2492)  )* # further okay, if led by a period
2493(?: [\\040\\t] |  \\(
2494(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2495\\)  )*  @  (?: [\\040\\t] |  \\(
2496(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2497\\)  )*    (?:
2498[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2499(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2500|   \\[                         # [
2501(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2502\\]                        #           ]
2503)                           # initial subdomain
2504(?:                                  #
2505(?: [\\040\\t] |  \\(
2506(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2507\\)  )*  \\.                        # if led by a period...
2508(?: [\\040\\t] |  \\(
2509(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2510\\)  )*   (?:
2511[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2512(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2513|   \\[                         # [
2514(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2515\\]                        #           ]
2516)                     #   ...further okay
2517)*
2518#       address spec
2519(?: [\\040\\t] |  \\(
2520(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2521\\)  )*  > #                  trailing >
2522# name and address
2523)  (?: [\\040\\t] |  \\(
2524(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2525\\)  )*                       # optional trailing comment","FM",[extended])),
2526    <<"A. Other <user.1234.ain> (a comment)">> = iolist_to_binary(re:replace("A. Other <user.1234.ain> (a comment)","  (?: [\\040\\t] |  \\(
2527(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2528\\)  )*                          # optional leading comment
2529(?:    (?:
2530[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2531(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2532|
2533\" (?:                      # opening quote...
2534[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2535|                     #    or
2536\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2537)* \"  # closing quote
2538)                    # initial word
2539(?:  (?: [\\040\\t] |  \\(
2540(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2541\\)  )*  \\.  (?: [\\040\\t] |  \\(
2542(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2543\\)  )*   (?:
2544[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2545(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2546|
2547\" (?:                      # opening quote...
2548[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2549|                     #    or
2550\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2551)* \"  # closing quote
2552)  )* # further okay, if led by a period
2553(?: [\\040\\t] |  \\(
2554(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2555\\)  )*  @  (?: [\\040\\t] |  \\(
2556(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2557\\)  )*    (?:
2558[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2559(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2560|   \\[                         # [
2561(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2562\\]                        #           ]
2563)                           # initial subdomain
2564(?:                                  #
2565(?: [\\040\\t] |  \\(
2566(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2567\\)  )*  \\.                        # if led by a period...
2568(?: [\\040\\t] |  \\(
2569(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2570\\)  )*   (?:
2571[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2572(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2573|   \\[                         # [
2574(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2575\\]                        #           ]
2576)                     #   ...further okay
2577)*
2578# address
2579|                     #  or
2580(?:
2581[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2582(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2583|
2584\" (?:                      # opening quote...
2585[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2586|                     #    or
2587\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2588)* \"  # closing quote
2589)             # one word, optionally followed by....
2590(?:
2591[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
2592\\(
2593(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2594\\)       |  # comments, or...
2595
2596\" (?:                      # opening quote...
2597[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2598|                     #    or
2599\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2600)* \"  # closing quote
2601# quoted strings
2602)*
2603<  (?: [\\040\\t] |  \\(
2604(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2605\\)  )*                     # leading <
2606(?:  @  (?: [\\040\\t] |  \\(
2607(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2608\\)  )*    (?:
2609[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2610(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2611|   \\[                         # [
2612(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2613\\]                        #           ]
2614)                           # initial subdomain
2615(?:                                  #
2616(?: [\\040\\t] |  \\(
2617(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2618\\)  )*  \\.                        # if led by a period...
2619(?: [\\040\\t] |  \\(
2620(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2621\\)  )*   (?:
2622[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2623(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2624|   \\[                         # [
2625(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2626\\]                        #           ]
2627)                     #   ...further okay
2628)*
2629
2630(?:  (?: [\\040\\t] |  \\(
2631(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2632\\)  )*  ,  (?: [\\040\\t] |  \\(
2633(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2634\\)  )*  @  (?: [\\040\\t] |  \\(
2635(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2636\\)  )*    (?:
2637[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2638(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2639|   \\[                         # [
2640(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2641\\]                        #           ]
2642)                           # initial subdomain
2643(?:                                  #
2644(?: [\\040\\t] |  \\(
2645(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2646\\)  )*  \\.                        # if led by a period...
2647(?: [\\040\\t] |  \\(
2648(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2649\\)  )*   (?:
2650[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2651(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2652|   \\[                         # [
2653(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2654\\]                        #           ]
2655)                     #   ...further okay
2656)*
2657)* # further okay, if led by comma
2658:                                # closing colon
2659(?: [\\040\\t] |  \\(
2660(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2661\\)  )*  )? #       optional route
2662(?:
2663[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2664(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2665|
2666\" (?:                      # opening quote...
2667[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2668|                     #    or
2669\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2670)* \"  # closing quote
2671)                    # initial word
2672(?:  (?: [\\040\\t] |  \\(
2673(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2674\\)  )*  \\.  (?: [\\040\\t] |  \\(
2675(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2676\\)  )*   (?:
2677[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2678(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2679|
2680\" (?:                      # opening quote...
2681[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2682|                     #    or
2683\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2684)* \"  # closing quote
2685)  )* # further okay, if led by a period
2686(?: [\\040\\t] |  \\(
2687(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2688\\)  )*  @  (?: [\\040\\t] |  \\(
2689(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2690\\)  )*    (?:
2691[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2692(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2693|   \\[                         # [
2694(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2695\\]                        #           ]
2696)                           # initial subdomain
2697(?:                                  #
2698(?: [\\040\\t] |  \\(
2699(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2700\\)  )*  \\.                        # if led by a period...
2701(?: [\\040\\t] |  \\(
2702(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2703\\)  )*   (?:
2704[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2705(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2706|   \\[                         # [
2707(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2708\\]                        #           ]
2709)                     #   ...further okay
2710)*
2711#       address spec
2712(?: [\\040\\t] |  \\(
2713(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2714\\)  )*  > #                  trailing >
2715# name and address
2716)  (?: [\\040\\t] |  \\(
2717(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2718\\)  )*                       # optional trailing comment","FM",[extended,
2719                                                                      global])),
2720    <<"\"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"-re.lay">> = iolist_to_binary(re:replace("\"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"-re.lay","  (?: [\\040\\t] |  \\(
2721(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2722\\)  )*                          # optional leading comment
2723(?:    (?:
2724[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2725(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2726|
2727\" (?:                      # opening quote...
2728[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2729|                     #    or
2730\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2731)* \"  # closing quote
2732)                    # initial word
2733(?:  (?: [\\040\\t] |  \\(
2734(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2735\\)  )*  \\.  (?: [\\040\\t] |  \\(
2736(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2737\\)  )*   (?:
2738[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2739(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2740|
2741\" (?:                      # opening quote...
2742[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2743|                     #    or
2744\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2745)* \"  # closing quote
2746)  )* # further okay, if led by a period
2747(?: [\\040\\t] |  \\(
2748(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2749\\)  )*  @  (?: [\\040\\t] |  \\(
2750(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2751\\)  )*    (?:
2752[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2753(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2754|   \\[                         # [
2755(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2756\\]                        #           ]
2757)                           # initial subdomain
2758(?:                                  #
2759(?: [\\040\\t] |  \\(
2760(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2761\\)  )*  \\.                        # if led by a period...
2762(?: [\\040\\t] |  \\(
2763(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2764\\)  )*   (?:
2765[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2766(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2767|   \\[                         # [
2768(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2769\\]                        #           ]
2770)                     #   ...further okay
2771)*
2772# address
2773|                     #  or
2774(?:
2775[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2776(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2777|
2778\" (?:                      # opening quote...
2779[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2780|                     #    or
2781\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2782)* \"  # closing quote
2783)             # one word, optionally followed by....
2784(?:
2785[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
2786\\(
2787(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2788\\)       |  # comments, or...
2789
2790\" (?:                      # opening quote...
2791[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2792|                     #    or
2793\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2794)* \"  # closing quote
2795# quoted strings
2796)*
2797<  (?: [\\040\\t] |  \\(
2798(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2799\\)  )*                     # leading <
2800(?:  @  (?: [\\040\\t] |  \\(
2801(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2802\\)  )*    (?:
2803[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2804(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2805|   \\[                         # [
2806(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2807\\]                        #           ]
2808)                           # initial subdomain
2809(?:                                  #
2810(?: [\\040\\t] |  \\(
2811(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2812\\)  )*  \\.                        # if led by a period...
2813(?: [\\040\\t] |  \\(
2814(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2815\\)  )*   (?:
2816[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2817(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2818|   \\[                         # [
2819(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2820\\]                        #           ]
2821)                     #   ...further okay
2822)*
2823
2824(?:  (?: [\\040\\t] |  \\(
2825(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2826\\)  )*  ,  (?: [\\040\\t] |  \\(
2827(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2828\\)  )*  @  (?: [\\040\\t] |  \\(
2829(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2830\\)  )*    (?:
2831[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2832(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2833|   \\[                         # [
2834(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2835\\]                        #           ]
2836)                           # initial subdomain
2837(?:                                  #
2838(?: [\\040\\t] |  \\(
2839(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2840\\)  )*  \\.                        # if led by a period...
2841(?: [\\040\\t] |  \\(
2842(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2843\\)  )*   (?:
2844[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2845(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2846|   \\[                         # [
2847(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2848\\]                        #           ]
2849)                     #   ...further okay
2850)*
2851)* # further okay, if led by comma
2852:                                # closing colon
2853(?: [\\040\\t] |  \\(
2854(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2855\\)  )*  )? #       optional route
2856(?:
2857[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2858(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2859|
2860\" (?:                      # opening quote...
2861[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2862|                     #    or
2863\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2864)* \"  # closing quote
2865)                    # initial word
2866(?:  (?: [\\040\\t] |  \\(
2867(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2868\\)  )*  \\.  (?: [\\040\\t] |  \\(
2869(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2870\\)  )*   (?:
2871[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2872(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2873|
2874\" (?:                      # opening quote...
2875[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2876|                     #    or
2877\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2878)* \"  # closing quote
2879)  )* # further okay, if led by a period
2880(?: [\\040\\t] |  \\(
2881(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2882\\)  )*  @  (?: [\\040\\t] |  \\(
2883(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2884\\)  )*    (?:
2885[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2886(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2887|   \\[                         # [
2888(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2889\\]                        #           ]
2890)                           # initial subdomain
2891(?:                                  #
2892(?: [\\040\\t] |  \\(
2893(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2894\\)  )*  \\.                        # if led by a period...
2895(?: [\\040\\t] |  \\(
2896(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2897\\)  )*   (?:
2898[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2899(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2900|   \\[                         # [
2901(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2902\\]                        #           ]
2903)                     #   ...further okay
2904)*
2905#       address spec
2906(?: [\\040\\t] |  \\(
2907(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2908\\)  )*  > #                  trailing >
2909# name and address
2910)  (?: [\\040\\t] |  \\(
2911(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2912\\)  )*                       # optional trailing comment","aIlGG",[extended])),
2913    <<"\"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"-re.lay">> = iolist_to_binary(re:replace("\"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"-re.lay","  (?: [\\040\\t] |  \\(
2914(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2915\\)  )*                          # optional leading comment
2916(?:    (?:
2917[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2918(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2919|
2920\" (?:                      # opening quote...
2921[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2922|                     #    or
2923\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2924)* \"  # closing quote
2925)                    # initial word
2926(?:  (?: [\\040\\t] |  \\(
2927(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2928\\)  )*  \\.  (?: [\\040\\t] |  \\(
2929(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2930\\)  )*   (?:
2931[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2932(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2933|
2934\" (?:                      # opening quote...
2935[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2936|                     #    or
2937\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2938)* \"  # closing quote
2939)  )* # further okay, if led by a period
2940(?: [\\040\\t] |  \\(
2941(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2942\\)  )*  @  (?: [\\040\\t] |  \\(
2943(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2944\\)  )*    (?:
2945[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2946(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2947|   \\[                         # [
2948(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2949\\]                        #           ]
2950)                           # initial subdomain
2951(?:                                  #
2952(?: [\\040\\t] |  \\(
2953(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2954\\)  )*  \\.                        # if led by a period...
2955(?: [\\040\\t] |  \\(
2956(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2957\\)  )*   (?:
2958[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2959(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2960|   \\[                         # [
2961(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
2962\\]                        #           ]
2963)                     #   ...further okay
2964)*
2965# address
2966|                     #  or
2967(?:
2968[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2969(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2970|
2971\" (?:                      # opening quote...
2972[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2973|                     #    or
2974\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2975)* \"  # closing quote
2976)             # one word, optionally followed by....
2977(?:
2978[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
2979\\(
2980(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2981\\)       |  # comments, or...
2982
2983\" (?:                      # opening quote...
2984[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
2985|                     #    or
2986\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
2987)* \"  # closing quote
2988# quoted strings
2989)*
2990<  (?: [\\040\\t] |  \\(
2991(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2992\\)  )*                     # leading <
2993(?:  @  (?: [\\040\\t] |  \\(
2994(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
2995\\)  )*    (?:
2996[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
2997(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
2998|   \\[                         # [
2999(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3000\\]                        #           ]
3001)                           # initial subdomain
3002(?:                                  #
3003(?: [\\040\\t] |  \\(
3004(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3005\\)  )*  \\.                        # if led by a period...
3006(?: [\\040\\t] |  \\(
3007(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3008\\)  )*   (?:
3009[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3010(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3011|   \\[                         # [
3012(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3013\\]                        #           ]
3014)                     #   ...further okay
3015)*
3016
3017(?:  (?: [\\040\\t] |  \\(
3018(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3019\\)  )*  ,  (?: [\\040\\t] |  \\(
3020(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3021\\)  )*  @  (?: [\\040\\t] |  \\(
3022(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3023\\)  )*    (?:
3024[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3025(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3026|   \\[                         # [
3027(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3028\\]                        #           ]
3029)                           # initial subdomain
3030(?:                                  #
3031(?: [\\040\\t] |  \\(
3032(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3033\\)  )*  \\.                        # if led by a period...
3034(?: [\\040\\t] |  \\(
3035(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3036\\)  )*   (?:
3037[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3038(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3039|   \\[                         # [
3040(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3041\\]                        #           ]
3042)                     #   ...further okay
3043)*
3044)* # further okay, if led by comma
3045:                                # closing colon
3046(?: [\\040\\t] |  \\(
3047(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3048\\)  )*  )? #       optional route
3049(?:
3050[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3051(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3052|
3053\" (?:                      # opening quote...
3054[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3055|                     #    or
3056\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3057)* \"  # closing quote
3058)                    # initial word
3059(?:  (?: [\\040\\t] |  \\(
3060(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3061\\)  )*  \\.  (?: [\\040\\t] |  \\(
3062(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3063\\)  )*   (?:
3064[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3065(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3066|
3067\" (?:                      # opening quote...
3068[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3069|                     #    or
3070\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3071)* \"  # closing quote
3072)  )* # further okay, if led by a period
3073(?: [\\040\\t] |  \\(
3074(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3075\\)  )*  @  (?: [\\040\\t] |  \\(
3076(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3077\\)  )*    (?:
3078[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3079(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3080|   \\[                         # [
3081(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3082\\]                        #           ]
3083)                           # initial subdomain
3084(?:                                  #
3085(?: [\\040\\t] |  \\(
3086(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3087\\)  )*  \\.                        # if led by a period...
3088(?: [\\040\\t] |  \\(
3089(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3090\\)  )*   (?:
3091[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3092(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3093|   \\[                         # [
3094(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3095\\]                        #           ]
3096)                     #   ...further okay
3097)*
3098#       address spec
3099(?: [\\040\\t] |  \\(
3100(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3101\\)  )*  > #                  trailing >
3102# name and address
3103)  (?: [\\040\\t] |  \\(
3104(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3105\\)  )*                       # optional trailing comment","aIlGG",[extended,
3106                                                                         global])),
3107    <<"A missing angle <user.where">> = iolist_to_binary(re:replace("A missing angle <user.where","  (?: [\\040\\t] |  \\(
3108(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3109\\)  )*                          # optional leading comment
3110(?:    (?:
3111[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3112(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3113|
3114\" (?:                      # opening quote...
3115[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3116|                     #    or
3117\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3118)* \"  # closing quote
3119)                    # initial word
3120(?:  (?: [\\040\\t] |  \\(
3121(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3122\\)  )*  \\.  (?: [\\040\\t] |  \\(
3123(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3124\\)  )*   (?:
3125[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3126(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3127|
3128\" (?:                      # opening quote...
3129[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3130|                     #    or
3131\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3132)* \"  # closing quote
3133)  )* # further okay, if led by a period
3134(?: [\\040\\t] |  \\(
3135(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3136\\)  )*  @  (?: [\\040\\t] |  \\(
3137(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3138\\)  )*    (?:
3139[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3140(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3141|   \\[                         # [
3142(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3143\\]                        #           ]
3144)                           # initial subdomain
3145(?:                                  #
3146(?: [\\040\\t] |  \\(
3147(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3148\\)  )*  \\.                        # if led by a period...
3149(?: [\\040\\t] |  \\(
3150(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3151\\)  )*   (?:
3152[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3153(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3154|   \\[                         # [
3155(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3156\\]                        #           ]
3157)                     #   ...further okay
3158)*
3159# address
3160|                     #  or
3161(?:
3162[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3163(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3164|
3165\" (?:                      # opening quote...
3166[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3167|                     #    or
3168\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3169)* \"  # closing quote
3170)             # one word, optionally followed by....
3171(?:
3172[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
3173\\(
3174(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3175\\)       |  # comments, or...
3176
3177\" (?:                      # opening quote...
3178[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3179|                     #    or
3180\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3181)* \"  # closing quote
3182# quoted strings
3183)*
3184<  (?: [\\040\\t] |  \\(
3185(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3186\\)  )*                     # leading <
3187(?:  @  (?: [\\040\\t] |  \\(
3188(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3189\\)  )*    (?:
3190[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3191(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3192|   \\[                         # [
3193(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3194\\]                        #           ]
3195)                           # initial subdomain
3196(?:                                  #
3197(?: [\\040\\t] |  \\(
3198(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3199\\)  )*  \\.                        # if led by a period...
3200(?: [\\040\\t] |  \\(
3201(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3202\\)  )*   (?:
3203[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3204(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3205|   \\[                         # [
3206(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3207\\]                        #           ]
3208)                     #   ...further okay
3209)*
3210
3211(?:  (?: [\\040\\t] |  \\(
3212(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3213\\)  )*  ,  (?: [\\040\\t] |  \\(
3214(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3215\\)  )*  @  (?: [\\040\\t] |  \\(
3216(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3217\\)  )*    (?:
3218[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3219(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3220|   \\[                         # [
3221(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3222\\]                        #           ]
3223)                           # initial subdomain
3224(?:                                  #
3225(?: [\\040\\t] |  \\(
3226(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3227\\)  )*  \\.                        # if led by a period...
3228(?: [\\040\\t] |  \\(
3229(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3230\\)  )*   (?:
3231[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3232(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3233|   \\[                         # [
3234(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3235\\]                        #           ]
3236)                     #   ...further okay
3237)*
3238)* # further okay, if led by comma
3239:                                # closing colon
3240(?: [\\040\\t] |  \\(
3241(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3242\\)  )*  )? #       optional route
3243(?:
3244[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3245(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3246|
3247\" (?:                      # opening quote...
3248[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3249|                     #    or
3250\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3251)* \"  # closing quote
3252)                    # initial word
3253(?:  (?: [\\040\\t] |  \\(
3254(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3255\\)  )*  \\.  (?: [\\040\\t] |  \\(
3256(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3257\\)  )*   (?:
3258[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3259(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3260|
3261\" (?:                      # opening quote...
3262[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3263|                     #    or
3264\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3265)* \"  # closing quote
3266)  )* # further okay, if led by a period
3267(?: [\\040\\t] |  \\(
3268(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3269\\)  )*  @  (?: [\\040\\t] |  \\(
3270(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3271\\)  )*    (?:
3272[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3273(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3274|   \\[                         # [
3275(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3276\\]                        #           ]
3277)                           # initial subdomain
3278(?:                                  #
3279(?: [\\040\\t] |  \\(
3280(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3281\\)  )*  \\.                        # if led by a period...
3282(?: [\\040\\t] |  \\(
3283(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3284\\)  )*   (?:
3285[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3286(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3287|   \\[                         # [
3288(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3289\\]                        #           ]
3290)                     #   ...further okay
3291)*
3292#       address spec
3293(?: [\\040\\t] |  \\(
3294(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3295\\)  )*  > #                  trailing >
3296# name and address
3297)  (?: [\\040\\t] |  \\(
3298(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3299\\)  )*                       # optional trailing comment","nAjRNoagN&FbIU&T\\1",[extended])),
3300    <<"A missing angle <user.where">> = iolist_to_binary(re:replace("A missing angle <user.where","  (?: [\\040\\t] |  \\(
3301(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3302\\)  )*                          # optional leading comment
3303(?:    (?:
3304[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3305(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3306|
3307\" (?:                      # opening quote...
3308[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3309|                     #    or
3310\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3311)* \"  # closing quote
3312)                    # initial word
3313(?:  (?: [\\040\\t] |  \\(
3314(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3315\\)  )*  \\.  (?: [\\040\\t] |  \\(
3316(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3317\\)  )*   (?:
3318[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3319(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3320|
3321\" (?:                      # opening quote...
3322[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3323|                     #    or
3324\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3325)* \"  # closing quote
3326)  )* # further okay, if led by a period
3327(?: [\\040\\t] |  \\(
3328(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3329\\)  )*  @  (?: [\\040\\t] |  \\(
3330(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3331\\)  )*    (?:
3332[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3333(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3334|   \\[                         # [
3335(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3336\\]                        #           ]
3337)                           # initial subdomain
3338(?:                                  #
3339(?: [\\040\\t] |  \\(
3340(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3341\\)  )*  \\.                        # if led by a period...
3342(?: [\\040\\t] |  \\(
3343(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3344\\)  )*   (?:
3345[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3346(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3347|   \\[                         # [
3348(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3349\\]                        #           ]
3350)                     #   ...further okay
3351)*
3352# address
3353|                     #  or
3354(?:
3355[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3356(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3357|
3358\" (?:                      # opening quote...
3359[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3360|                     #    or
3361\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3362)* \"  # closing quote
3363)             # one word, optionally followed by....
3364(?:
3365[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
3366\\(
3367(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3368\\)       |  # comments, or...
3369
3370\" (?:                      # opening quote...
3371[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3372|                     #    or
3373\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3374)* \"  # closing quote
3375# quoted strings
3376)*
3377<  (?: [\\040\\t] |  \\(
3378(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3379\\)  )*                     # leading <
3380(?:  @  (?: [\\040\\t] |  \\(
3381(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3382\\)  )*    (?:
3383[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3384(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3385|   \\[                         # [
3386(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3387\\]                        #           ]
3388)                           # initial subdomain
3389(?:                                  #
3390(?: [\\040\\t] |  \\(
3391(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3392\\)  )*  \\.                        # if led by a period...
3393(?: [\\040\\t] |  \\(
3394(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3395\\)  )*   (?:
3396[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3397(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3398|   \\[                         # [
3399(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3400\\]                        #           ]
3401)                     #   ...further okay
3402)*
3403
3404(?:  (?: [\\040\\t] |  \\(
3405(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3406\\)  )*  ,  (?: [\\040\\t] |  \\(
3407(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3408\\)  )*  @  (?: [\\040\\t] |  \\(
3409(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3410\\)  )*    (?:
3411[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3412(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3413|   \\[                         # [
3414(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3415\\]                        #           ]
3416)                           # initial subdomain
3417(?:                                  #
3418(?: [\\040\\t] |  \\(
3419(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3420\\)  )*  \\.                        # if led by a period...
3421(?: [\\040\\t] |  \\(
3422(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3423\\)  )*   (?:
3424[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3425(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3426|   \\[                         # [
3427(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3428\\]                        #           ]
3429)                     #   ...further okay
3430)*
3431)* # further okay, if led by comma
3432:                                # closing colon
3433(?: [\\040\\t] |  \\(
3434(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3435\\)  )*  )? #       optional route
3436(?:
3437[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3438(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3439|
3440\" (?:                      # opening quote...
3441[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3442|                     #    or
3443\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3444)* \"  # closing quote
3445)                    # initial word
3446(?:  (?: [\\040\\t] |  \\(
3447(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3448\\)  )*  \\.  (?: [\\040\\t] |  \\(
3449(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3450\\)  )*   (?:
3451[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3452(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3453|
3454\" (?:                      # opening quote...
3455[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3456|                     #    or
3457\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3458)* \"  # closing quote
3459)  )* # further okay, if led by a period
3460(?: [\\040\\t] |  \\(
3461(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3462\\)  )*  @  (?: [\\040\\t] |  \\(
3463(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3464\\)  )*    (?:
3465[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3466(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3467|   \\[                         # [
3468(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3469\\]                        #           ]
3470)                           # initial subdomain
3471(?:                                  #
3472(?: [\\040\\t] |  \\(
3473(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3474\\)  )*  \\.                        # if led by a period...
3475(?: [\\040\\t] |  \\(
3476(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3477\\)  )*   (?:
3478[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3479(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3480|   \\[                         # [
3481(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3482\\]                        #           ]
3483)                     #   ...further okay
3484)*
3485#       address spec
3486(?: [\\040\\t] |  \\(
3487(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3488\\)  )*  > #                  trailing >
3489# name and address
3490)  (?: [\\040\\t] |  \\(
3491(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3492\\)  )*                       # optional trailing comment","nAjRNoagN&FbIU&T\\1",[extended,
3493                                                                                         global])),
3494    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","  (?: [\\040\\t] |  \\(
3495(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3496\\)  )*                          # optional leading comment
3497(?:    (?:
3498[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3499(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3500|
3501\" (?:                      # opening quote...
3502[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3503|                     #    or
3504\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3505)* \"  # closing quote
3506)                    # initial word
3507(?:  (?: [\\040\\t] |  \\(
3508(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3509\\)  )*  \\.  (?: [\\040\\t] |  \\(
3510(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3511\\)  )*   (?:
3512[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3513(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3514|
3515\" (?:                      # opening quote...
3516[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3517|                     #    or
3518\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3519)* \"  # closing quote
3520)  )* # further okay, if led by a period
3521(?: [\\040\\t] |  \\(
3522(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3523\\)  )*  @  (?: [\\040\\t] |  \\(
3524(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3525\\)  )*    (?:
3526[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3527(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3528|   \\[                         # [
3529(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3530\\]                        #           ]
3531)                           # initial subdomain
3532(?:                                  #
3533(?: [\\040\\t] |  \\(
3534(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3535\\)  )*  \\.                        # if led by a period...
3536(?: [\\040\\t] |  \\(
3537(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3538\\)  )*   (?:
3539[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3540(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3541|   \\[                         # [
3542(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3543\\]                        #           ]
3544)                     #   ...further okay
3545)*
3546# address
3547|                     #  or
3548(?:
3549[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3550(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3551|
3552\" (?:                      # opening quote...
3553[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3554|                     #    or
3555\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3556)* \"  # closing quote
3557)             # one word, optionally followed by....
3558(?:
3559[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
3560\\(
3561(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3562\\)       |  # comments, or...
3563
3564\" (?:                      # opening quote...
3565[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3566|                     #    or
3567\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3568)* \"  # closing quote
3569# quoted strings
3570)*
3571<  (?: [\\040\\t] |  \\(
3572(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3573\\)  )*                     # leading <
3574(?:  @  (?: [\\040\\t] |  \\(
3575(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3576\\)  )*    (?:
3577[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3578(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3579|   \\[                         # [
3580(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3581\\]                        #           ]
3582)                           # initial subdomain
3583(?:                                  #
3584(?: [\\040\\t] |  \\(
3585(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3586\\)  )*  \\.                        # if led by a period...
3587(?: [\\040\\t] |  \\(
3588(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3589\\)  )*   (?:
3590[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3591(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3592|   \\[                         # [
3593(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3594\\]                        #           ]
3595)                     #   ...further okay
3596)*
3597
3598(?:  (?: [\\040\\t] |  \\(
3599(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3600\\)  )*  ,  (?: [\\040\\t] |  \\(
3601(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3602\\)  )*  @  (?: [\\040\\t] |  \\(
3603(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3604\\)  )*    (?:
3605[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3606(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3607|   \\[                         # [
3608(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3609\\]                        #           ]
3610)                           # initial subdomain
3611(?:                                  #
3612(?: [\\040\\t] |  \\(
3613(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3614\\)  )*  \\.                        # if led by a period...
3615(?: [\\040\\t] |  \\(
3616(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3617\\)  )*   (?:
3618[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3619(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3620|   \\[                         # [
3621(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3622\\]                        #           ]
3623)                     #   ...further okay
3624)*
3625)* # further okay, if led by comma
3626:                                # closing colon
3627(?: [\\040\\t] |  \\(
3628(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3629\\)  )*  )? #       optional route
3630(?:
3631[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3632(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3633|
3634\" (?:                      # opening quote...
3635[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3636|                     #    or
3637\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3638)* \"  # closing quote
3639)                    # initial word
3640(?:  (?: [\\040\\t] |  \\(
3641(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3642\\)  )*  \\.  (?: [\\040\\t] |  \\(
3643(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3644\\)  )*   (?:
3645[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3646(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3647|
3648\" (?:                      # opening quote...
3649[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3650|                     #    or
3651\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3652)* \"  # closing quote
3653)  )* # further okay, if led by a period
3654(?: [\\040\\t] |  \\(
3655(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3656\\)  )*  @  (?: [\\040\\t] |  \\(
3657(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3658\\)  )*    (?:
3659[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3660(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3661|   \\[                         # [
3662(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3663\\]                        #           ]
3664)                           # initial subdomain
3665(?:                                  #
3666(?: [\\040\\t] |  \\(
3667(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3668\\)  )*  \\.                        # if led by a period...
3669(?: [\\040\\t] |  \\(
3670(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3671\\)  )*   (?:
3672[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3673(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3674|   \\[                         # [
3675(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3676\\]                        #           ]
3677)                     #   ...further okay
3678)*
3679#       address spec
3680(?: [\\040\\t] |  \\(
3681(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3682\\)  )*  > #                  trailing >
3683# name and address
3684)  (?: [\\040\\t] |  \\(
3685(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3686\\)  )*                       # optional trailing comment","WS&e",[extended])),
3687    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","  (?: [\\040\\t] |  \\(
3688(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3689\\)  )*                          # optional leading comment
3690(?:    (?:
3691[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3692(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3693|
3694\" (?:                      # opening quote...
3695[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3696|                     #    or
3697\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3698)* \"  # closing quote
3699)                    # initial word
3700(?:  (?: [\\040\\t] |  \\(
3701(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3702\\)  )*  \\.  (?: [\\040\\t] |  \\(
3703(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3704\\)  )*   (?:
3705[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3706(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3707|
3708\" (?:                      # opening quote...
3709[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3710|                     #    or
3711\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3712)* \"  # closing quote
3713)  )* # further okay, if led by a period
3714(?: [\\040\\t] |  \\(
3715(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3716\\)  )*  @  (?: [\\040\\t] |  \\(
3717(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3718\\)  )*    (?:
3719[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3720(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3721|   \\[                         # [
3722(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3723\\]                        #           ]
3724)                           # initial subdomain
3725(?:                                  #
3726(?: [\\040\\t] |  \\(
3727(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3728\\)  )*  \\.                        # if led by a period...
3729(?: [\\040\\t] |  \\(
3730(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3731\\)  )*   (?:
3732[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3733(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3734|   \\[                         # [
3735(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3736\\]                        #           ]
3737)                     #   ...further okay
3738)*
3739# address
3740|                     #  or
3741(?:
3742[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3743(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3744|
3745\" (?:                      # opening quote...
3746[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3747|                     #    or
3748\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3749)* \"  # closing quote
3750)             # one word, optionally followed by....
3751(?:
3752[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
3753\\(
3754(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3755\\)       |  # comments, or...
3756
3757\" (?:                      # opening quote...
3758[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3759|                     #    or
3760\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3761)* \"  # closing quote
3762# quoted strings
3763)*
3764<  (?: [\\040\\t] |  \\(
3765(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3766\\)  )*                     # leading <
3767(?:  @  (?: [\\040\\t] |  \\(
3768(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3769\\)  )*    (?:
3770[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3771(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3772|   \\[                         # [
3773(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3774\\]                        #           ]
3775)                           # initial subdomain
3776(?:                                  #
3777(?: [\\040\\t] |  \\(
3778(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3779\\)  )*  \\.                        # if led by a period...
3780(?: [\\040\\t] |  \\(
3781(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3782\\)  )*   (?:
3783[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3784(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3785|   \\[                         # [
3786(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3787\\]                        #           ]
3788)                     #   ...further okay
3789)*
3790
3791(?:  (?: [\\040\\t] |  \\(
3792(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3793\\)  )*  ,  (?: [\\040\\t] |  \\(
3794(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3795\\)  )*  @  (?: [\\040\\t] |  \\(
3796(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3797\\)  )*    (?:
3798[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3799(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3800|   \\[                         # [
3801(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3802\\]                        #           ]
3803)                           # initial subdomain
3804(?:                                  #
3805(?: [\\040\\t] |  \\(
3806(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3807\\)  )*  \\.                        # if led by a period...
3808(?: [\\040\\t] |  \\(
3809(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3810\\)  )*   (?:
3811[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3812(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3813|   \\[                         # [
3814(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3815\\]                        #           ]
3816)                     #   ...further okay
3817)*
3818)* # further okay, if led by comma
3819:                                # closing colon
3820(?: [\\040\\t] |  \\(
3821(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3822\\)  )*  )? #       optional route
3823(?:
3824[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3825(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3826|
3827\" (?:                      # opening quote...
3828[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3829|                     #    or
3830\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3831)* \"  # closing quote
3832)                    # initial word
3833(?:  (?: [\\040\\t] |  \\(
3834(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3835\\)  )*  \\.  (?: [\\040\\t] |  \\(
3836(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3837\\)  )*   (?:
3838[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3839(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3840|
3841\" (?:                      # opening quote...
3842[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3843|                     #    or
3844\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3845)* \"  # closing quote
3846)  )* # further okay, if led by a period
3847(?: [\\040\\t] |  \\(
3848(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3849\\)  )*  @  (?: [\\040\\t] |  \\(
3850(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3851\\)  )*    (?:
3852[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3853(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3854|   \\[                         # [
3855(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3856\\]                        #           ]
3857)                           # initial subdomain
3858(?:                                  #
3859(?: [\\040\\t] |  \\(
3860(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3861\\)  )*  \\.                        # if led by a period...
3862(?: [\\040\\t] |  \\(
3863(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3864\\)  )*   (?:
3865[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3866(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3867|   \\[                         # [
3868(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3869\\]                        #           ]
3870)                     #   ...further okay
3871)*
3872#       address spec
3873(?: [\\040\\t] |  \\(
3874(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3875\\)  )*  > #                  trailing >
3876# name and address
3877)  (?: [\\040\\t] |  \\(
3878(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3879\\)  )*                       # optional trailing comment","WS&e",[extended,
3880                                                                        global])),
3881    <<"The quick brown fox">> = iolist_to_binary(re:replace("The quick brown fox","  (?: [\\040\\t] |  \\(
3882(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3883\\)  )*                          # optional leading comment
3884(?:    (?:
3885[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3886(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3887|
3888\" (?:                      # opening quote...
3889[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3890|                     #    or
3891\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3892)* \"  # closing quote
3893)                    # initial word
3894(?:  (?: [\\040\\t] |  \\(
3895(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3896\\)  )*  \\.  (?: [\\040\\t] |  \\(
3897(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3898\\)  )*   (?:
3899[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3900(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3901|
3902\" (?:                      # opening quote...
3903[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3904|                     #    or
3905\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3906)* \"  # closing quote
3907)  )* # further okay, if led by a period
3908(?: [\\040\\t] |  \\(
3909(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3910\\)  )*  @  (?: [\\040\\t] |  \\(
3911(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3912\\)  )*    (?:
3913[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3914(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3915|   \\[                         # [
3916(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3917\\]                        #           ]
3918)                           # initial subdomain
3919(?:                                  #
3920(?: [\\040\\t] |  \\(
3921(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3922\\)  )*  \\.                        # if led by a period...
3923(?: [\\040\\t] |  \\(
3924(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3925\\)  )*   (?:
3926[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3927(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3928|   \\[                         # [
3929(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3930\\]                        #           ]
3931)                     #   ...further okay
3932)*
3933# address
3934|                     #  or
3935(?:
3936[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3937(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3938|
3939\" (?:                      # opening quote...
3940[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3941|                     #    or
3942\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3943)* \"  # closing quote
3944)             # one word, optionally followed by....
3945(?:
3946[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
3947\\(
3948(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3949\\)       |  # comments, or...
3950
3951\" (?:                      # opening quote...
3952[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
3953|                     #    or
3954\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
3955)* \"  # closing quote
3956# quoted strings
3957)*
3958<  (?: [\\040\\t] |  \\(
3959(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3960\\)  )*                     # leading <
3961(?:  @  (?: [\\040\\t] |  \\(
3962(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3963\\)  )*    (?:
3964[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3965(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3966|   \\[                         # [
3967(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3968\\]                        #           ]
3969)                           # initial subdomain
3970(?:                                  #
3971(?: [\\040\\t] |  \\(
3972(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3973\\)  )*  \\.                        # if led by a period...
3974(?: [\\040\\t] |  \\(
3975(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3976\\)  )*   (?:
3977[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3978(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3979|   \\[                         # [
3980(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3981\\]                        #           ]
3982)                     #   ...further okay
3983)*
3984
3985(?:  (?: [\\040\\t] |  \\(
3986(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3987\\)  )*  ,  (?: [\\040\\t] |  \\(
3988(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3989\\)  )*  @  (?: [\\040\\t] |  \\(
3990(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
3991\\)  )*    (?:
3992[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
3993(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
3994|   \\[                         # [
3995(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
3996\\]                        #           ]
3997)                           # initial subdomain
3998(?:                                  #
3999(?: [\\040\\t] |  \\(
4000(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4001\\)  )*  \\.                        # if led by a period...
4002(?: [\\040\\t] |  \\(
4003(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4004\\)  )*   (?:
4005[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4006(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4007|   \\[                         # [
4008(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
4009\\]                        #           ]
4010)                     #   ...further okay
4011)*
4012)* # further okay, if led by comma
4013:                                # closing colon
4014(?: [\\040\\t] |  \\(
4015(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4016\\)  )*  )? #       optional route
4017(?:
4018[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4019(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4020|
4021\" (?:                      # opening quote...
4022[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
4023|                     #    or
4024\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
4025)* \"  # closing quote
4026)                    # initial word
4027(?:  (?: [\\040\\t] |  \\(
4028(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4029\\)  )*  \\.  (?: [\\040\\t] |  \\(
4030(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4031\\)  )*   (?:
4032[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4033(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4034|
4035\" (?:                      # opening quote...
4036[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
4037|                     #    or
4038\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
4039)* \"  # closing quote
4040)  )* # further okay, if led by a period
4041(?: [\\040\\t] |  \\(
4042(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4043\\)  )*  @  (?: [\\040\\t] |  \\(
4044(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4045\\)  )*    (?:
4046[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4047(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4048|   \\[                         # [
4049(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
4050\\]                        #           ]
4051)                           # initial subdomain
4052(?:                                  #
4053(?: [\\040\\t] |  \\(
4054(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4055\\)  )*  \\.                        # if led by a period...
4056(?: [\\040\\t] |  \\(
4057(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4058\\)  )*   (?:
4059[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4060(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4061|   \\[                         # [
4062(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
4063\\]                        #           ]
4064)                     #   ...further okay
4065)*
4066#       address spec
4067(?: [\\040\\t] |  \\(
4068(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4069\\)  )*  > #                  trailing >
4070# name and address
4071)  (?: [\\040\\t] |  \\(
4072(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4073\\)  )*                       # optional trailing comment","jr&XvtMJM\\1kk\\1EUHVx",[extended])),
4074    <<"The quick brown fox">> = iolist_to_binary(re:replace("The quick brown fox","  (?: [\\040\\t] |  \\(
4075(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4076\\)  )*                          # optional leading comment
4077(?:    (?:
4078[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4079(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4080|
4081\" (?:                      # opening quote...
4082[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
4083|                     #    or
4084\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
4085)* \"  # closing quote
4086)                    # initial word
4087(?:  (?: [\\040\\t] |  \\(
4088(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4089\\)  )*  \\.  (?: [\\040\\t] |  \\(
4090(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4091\\)  )*   (?:
4092[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4093(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4094|
4095\" (?:                      # opening quote...
4096[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
4097|                     #    or
4098\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
4099)* \"  # closing quote
4100)  )* # further okay, if led by a period
4101(?: [\\040\\t] |  \\(
4102(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4103\\)  )*  @  (?: [\\040\\t] |  \\(
4104(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4105\\)  )*    (?:
4106[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4107(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4108|   \\[                         # [
4109(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
4110\\]                        #           ]
4111)                           # initial subdomain
4112(?:                                  #
4113(?: [\\040\\t] |  \\(
4114(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4115\\)  )*  \\.                        # if led by a period...
4116(?: [\\040\\t] |  \\(
4117(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4118\\)  )*   (?:
4119[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4120(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4121|   \\[                         # [
4122(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
4123\\]                        #           ]
4124)                     #   ...further okay
4125)*
4126# address
4127|                     #  or
4128(?:
4129[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4130(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4131|
4132\" (?:                      # opening quote...
4133[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
4134|                     #    or
4135\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
4136)* \"  # closing quote
4137)             # one word, optionally followed by....
4138(?:
4139[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037]  |  # atom and space parts, or...
4140\\(
4141(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4142\\)       |  # comments, or...
4143
4144\" (?:                      # opening quote...
4145[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
4146|                     #    or
4147\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
4148)* \"  # closing quote
4149# quoted strings
4150)*
4151<  (?: [\\040\\t] |  \\(
4152(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4153\\)  )*                     # leading <
4154(?:  @  (?: [\\040\\t] |  \\(
4155(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4156\\)  )*    (?:
4157[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4158(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4159|   \\[                         # [
4160(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
4161\\]                        #           ]
4162)                           # initial subdomain
4163(?:                                  #
4164(?: [\\040\\t] |  \\(
4165(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4166\\)  )*  \\.                        # if led by a period...
4167(?: [\\040\\t] |  \\(
4168(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4169\\)  )*   (?:
4170[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4171(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4172|   \\[                         # [
4173(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
4174\\]                        #           ]
4175)                     #   ...further okay
4176)*
4177
4178(?:  (?: [\\040\\t] |  \\(
4179(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4180\\)  )*  ,  (?: [\\040\\t] |  \\(
4181(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4182\\)  )*  @  (?: [\\040\\t] |  \\(
4183(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4184\\)  )*    (?:
4185[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4186(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4187|   \\[                         # [
4188(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
4189\\]                        #           ]
4190)                           # initial subdomain
4191(?:                                  #
4192(?: [\\040\\t] |  \\(
4193(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4194\\)  )*  \\.                        # if led by a period...
4195(?: [\\040\\t] |  \\(
4196(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4197\\)  )*   (?:
4198[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4199(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4200|   \\[                         # [
4201(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
4202\\]                        #           ]
4203)                     #   ...further okay
4204)*
4205)* # further okay, if led by comma
4206:                                # closing colon
4207(?: [\\040\\t] |  \\(
4208(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4209\\)  )*  )? #       optional route
4210(?:
4211[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4212(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4213|
4214\" (?:                      # opening quote...
4215[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
4216|                     #    or
4217\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
4218)* \"  # closing quote
4219)                    # initial word
4220(?:  (?: [\\040\\t] |  \\(
4221(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4222\\)  )*  \\.  (?: [\\040\\t] |  \\(
4223(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4224\\)  )*   (?:
4225[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4226(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4227|
4228\" (?:                      # opening quote...
4229[^\\\\\\x80-\\xff\\n\\015\"]                #   Anything except backslash and quote
4230|                     #    or
4231\\\\ [^\\x80-\\xff]           #   Escaped something (something != CR)
4232)* \"  # closing quote
4233)  )* # further okay, if led by a period
4234(?: [\\040\\t] |  \\(
4235(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4236\\)  )*  @  (?: [\\040\\t] |  \\(
4237(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4238\\)  )*    (?:
4239[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4240(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4241|   \\[                         # [
4242(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
4243\\]                        #           ]
4244)                           # initial subdomain
4245(?:                                  #
4246(?: [\\040\\t] |  \\(
4247(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4248\\)  )*  \\.                        # if led by a period...
4249(?: [\\040\\t] |  \\(
4250(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4251\\)  )*   (?:
4252[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4253(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4254|   \\[                         # [
4255(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*    #    stuff
4256\\]                        #           ]
4257)                     #   ...further okay
4258)*
4259#       address spec
4260(?: [\\040\\t] |  \\(
4261(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4262\\)  )*  > #                  trailing >
4263# name and address
4264)  (?: [\\040\\t] |  \\(
4265(?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  |  \\( (?:  [^\\\\\\x80-\\xff\\n\\015()]  |  \\\\ [^\\x80-\\xff]  )* \\)  )*
4266\\)  )*                       # optional trailing comment","jr&XvtMJM\\1kk\\1EUHVx",[extended,
4267                                                                                              global])),
4268    <<"Alan Other <user.ain>">> = iolist_to_binary(re:replace("Alan Other <user.ain>","[\\040\\t]*                    # Nab whitespace.
4269(?:
4270\\(                              #  (
4271[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4272(?:                                 #       (
4273(?:  \\\\ [^\\x80-\\xff]  |
4274\\(                            #  (
4275[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4276(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4277\\)                           #                       )
4278)    #         special
4279[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4280)*                                  #            )*
4281\\)                             #                )
4282[\\040\\t]* )*    # If comment found, allow more spaces.
4283# optional leading comment
4284(?:
4285(?:
4286[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4287(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4288# Atom
4289|                       #  or
4290\"                                     # \"
4291[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
4292(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
4293\"                                     #        \"
4294# Quoted string
4295)
4296[\\040\\t]*                    # Nab whitespace.
4297(?:
4298\\(                              #  (
4299[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4300(?:                                 #       (
4301(?:  \\\\ [^\\x80-\\xff]  |
4302\\(                            #  (
4303[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4304(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4305\\)                           #                       )
4306)    #         special
4307[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4308)*                                  #            )*
4309\\)                             #                )
4310[\\040\\t]* )*    # If comment found, allow more spaces.
4311(?:
4312\\.
4313[\\040\\t]*                    # Nab whitespace.
4314(?:
4315\\(                              #  (
4316[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4317(?:                                 #       (
4318(?:  \\\\ [^\\x80-\\xff]  |
4319\\(                            #  (
4320[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4321(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4322\\)                           #                       )
4323)    #         special
4324[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4325)*                                  #            )*
4326\\)                             #                )
4327[\\040\\t]* )*    # If comment found, allow more spaces.
4328(?:
4329[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4330(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4331# Atom
4332|                       #  or
4333\"                                     # \"
4334[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
4335(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
4336\"                                     #        \"
4337# Quoted string
4338)
4339[\\040\\t]*                    # Nab whitespace.
4340(?:
4341\\(                              #  (
4342[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4343(?:                                 #       (
4344(?:  \\\\ [^\\x80-\\xff]  |
4345\\(                            #  (
4346[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4347(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4348\\)                           #                       )
4349)    #         special
4350[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4351)*                                  #            )*
4352\\)                             #                )
4353[\\040\\t]* )*    # If comment found, allow more spaces.
4354# additional words
4355)*
4356@
4357[\\040\\t]*                    # Nab whitespace.
4358(?:
4359\\(                              #  (
4360[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4361(?:                                 #       (
4362(?:  \\\\ [^\\x80-\\xff]  |
4363\\(                            #  (
4364[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4365(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4366\\)                           #                       )
4367)    #         special
4368[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4369)*                                  #            )*
4370\\)                             #                )
4371[\\040\\t]* )*    # If comment found, allow more spaces.
4372(?:
4373[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4374(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4375|
4376\\[                            # [
4377(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
4378\\]                           #           ]
4379)
4380[\\040\\t]*                    # Nab whitespace.
4381(?:
4382\\(                              #  (
4383[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4384(?:                                 #       (
4385(?:  \\\\ [^\\x80-\\xff]  |
4386\\(                            #  (
4387[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4388(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4389\\)                           #                       )
4390)    #         special
4391[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4392)*                                  #            )*
4393\\)                             #                )
4394[\\040\\t]* )*    # If comment found, allow more spaces.
4395# optional trailing comments
4396(?:
4397\\.
4398[\\040\\t]*                    # Nab whitespace.
4399(?:
4400\\(                              #  (
4401[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4402(?:                                 #       (
4403(?:  \\\\ [^\\x80-\\xff]  |
4404\\(                            #  (
4405[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4406(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4407\\)                           #                       )
4408)    #         special
4409[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4410)*                                  #            )*
4411\\)                             #                )
4412[\\040\\t]* )*    # If comment found, allow more spaces.
4413(?:
4414[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4415(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4416|
4417\\[                            # [
4418(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
4419\\]                           #           ]
4420)
4421[\\040\\t]*                    # Nab whitespace.
4422(?:
4423\\(                              #  (
4424[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4425(?:                                 #       (
4426(?:  \\\\ [^\\x80-\\xff]  |
4427\\(                            #  (
4428[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4429(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4430\\)                           #                       )
4431)    #         special
4432[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4433)*                                  #            )*
4434\\)                             #                )
4435[\\040\\t]* )*    # If comment found, allow more spaces.
4436# optional trailing comments
4437)*
4438# address
4439|                             #  or
4440(?:
4441[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4442(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4443# Atom
4444|                       #  or
4445\"                                     # \"
4446[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
4447(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
4448\"                                     #        \"
4449# Quoted string
4450)
4451# leading word
4452[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
4453(?:
4454(?:
4455\\(                              #  (
4456[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4457(?:                                 #       (
4458(?:  \\\\ [^\\x80-\\xff]  |
4459\\(                            #  (
4460[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4461(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4462\\)                           #                       )
4463)    #         special
4464[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4465)*                                  #            )*
4466\\)                             #                )
4467|
4468\"                                     # \"
4469[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
4470(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
4471\"                                     #        \"
4472) # \"special\" comment or quoted string
4473[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
4474)*
4475<
4476[\\040\\t]*                    # Nab whitespace.
4477(?:
4478\\(                              #  (
4479[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4480(?:                                 #       (
4481(?:  \\\\ [^\\x80-\\xff]  |
4482\\(                            #  (
4483[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4484(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4485\\)                           #                       )
4486)    #         special
4487[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4488)*                                  #            )*
4489\\)                             #                )
4490[\\040\\t]* )*    # If comment found, allow more spaces.
4491# <
4492(?:
4493@
4494[\\040\\t]*                    # Nab whitespace.
4495(?:
4496\\(                              #  (
4497[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4498(?:                                 #       (
4499(?:  \\\\ [^\\x80-\\xff]  |
4500\\(                            #  (
4501[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4502(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4503\\)                           #                       )
4504)    #         special
4505[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4506)*                                  #            )*
4507\\)                             #                )
4508[\\040\\t]* )*    # If comment found, allow more spaces.
4509(?:
4510[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4511(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4512|
4513\\[                            # [
4514(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
4515\\]                           #           ]
4516)
4517[\\040\\t]*                    # Nab whitespace.
4518(?:
4519\\(                              #  (
4520[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4521(?:                                 #       (
4522(?:  \\\\ [^\\x80-\\xff]  |
4523\\(                            #  (
4524[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4525(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4526\\)                           #                       )
4527)    #         special
4528[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4529)*                                  #            )*
4530\\)                             #                )
4531[\\040\\t]* )*    # If comment found, allow more spaces.
4532# optional trailing comments
4533(?:
4534\\.
4535[\\040\\t]*                    # Nab whitespace.
4536(?:
4537\\(                              #  (
4538[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4539(?:                                 #       (
4540(?:  \\\\ [^\\x80-\\xff]  |
4541\\(                            #  (
4542[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4543(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4544\\)                           #                       )
4545)    #         special
4546[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4547)*                                  #            )*
4548\\)                             #                )
4549[\\040\\t]* )*    # If comment found, allow more spaces.
4550(?:
4551[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4552(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4553|
4554\\[                            # [
4555(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
4556\\]                           #           ]
4557)
4558[\\040\\t]*                    # Nab whitespace.
4559(?:
4560\\(                              #  (
4561[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4562(?:                                 #       (
4563(?:  \\\\ [^\\x80-\\xff]  |
4564\\(                            #  (
4565[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4566(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4567\\)                           #                       )
4568)    #         special
4569[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4570)*                                  #            )*
4571\\)                             #                )
4572[\\040\\t]* )*    # If comment found, allow more spaces.
4573# optional trailing comments
4574)*
4575(?: ,
4576[\\040\\t]*                    # Nab whitespace.
4577(?:
4578\\(                              #  (
4579[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4580(?:                                 #       (
4581(?:  \\\\ [^\\x80-\\xff]  |
4582\\(                            #  (
4583[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4584(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4585\\)                           #                       )
4586)    #         special
4587[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4588)*                                  #            )*
4589\\)                             #                )
4590[\\040\\t]* )*    # If comment found, allow more spaces.
4591@
4592[\\040\\t]*                    # Nab whitespace.
4593(?:
4594\\(                              #  (
4595[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4596(?:                                 #       (
4597(?:  \\\\ [^\\x80-\\xff]  |
4598\\(                            #  (
4599[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4600(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4601\\)                           #                       )
4602)    #         special
4603[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4604)*                                  #            )*
4605\\)                             #                )
4606[\\040\\t]* )*    # If comment found, allow more spaces.
4607(?:
4608[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4609(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4610|
4611\\[                            # [
4612(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
4613\\]                           #           ]
4614)
4615[\\040\\t]*                    # Nab whitespace.
4616(?:
4617\\(                              #  (
4618[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4619(?:                                 #       (
4620(?:  \\\\ [^\\x80-\\xff]  |
4621\\(                            #  (
4622[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4623(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4624\\)                           #                       )
4625)    #         special
4626[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4627)*                                  #            )*
4628\\)                             #                )
4629[\\040\\t]* )*    # If comment found, allow more spaces.
4630# optional trailing comments
4631(?:
4632\\.
4633[\\040\\t]*                    # Nab whitespace.
4634(?:
4635\\(                              #  (
4636[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4637(?:                                 #       (
4638(?:  \\\\ [^\\x80-\\xff]  |
4639\\(                            #  (
4640[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4641(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4642\\)                           #                       )
4643)    #         special
4644[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4645)*                                  #            )*
4646\\)                             #                )
4647[\\040\\t]* )*    # If comment found, allow more spaces.
4648(?:
4649[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4650(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4651|
4652\\[                            # [
4653(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
4654\\]                           #           ]
4655)
4656[\\040\\t]*                    # Nab whitespace.
4657(?:
4658\\(                              #  (
4659[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4660(?:                                 #       (
4661(?:  \\\\ [^\\x80-\\xff]  |
4662\\(                            #  (
4663[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4664(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4665\\)                           #                       )
4666)    #         special
4667[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4668)*                                  #            )*
4669\\)                             #                )
4670[\\040\\t]* )*    # If comment found, allow more spaces.
4671# optional trailing comments
4672)*
4673)*  # additional domains
4674:
4675[\\040\\t]*                    # Nab whitespace.
4676(?:
4677\\(                              #  (
4678[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4679(?:                                 #       (
4680(?:  \\\\ [^\\x80-\\xff]  |
4681\\(                            #  (
4682[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4683(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4684\\)                           #                       )
4685)    #         special
4686[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4687)*                                  #            )*
4688\\)                             #                )
4689[\\040\\t]* )*    # If comment found, allow more spaces.
4690# optional trailing comments
4691)?     #       optional route
4692(?:
4693[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4694(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4695# Atom
4696|                       #  or
4697\"                                     # \"
4698[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
4699(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
4700\"                                     #        \"
4701# Quoted string
4702)
4703[\\040\\t]*                    # Nab whitespace.
4704(?:
4705\\(                              #  (
4706[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4707(?:                                 #       (
4708(?:  \\\\ [^\\x80-\\xff]  |
4709\\(                            #  (
4710[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4711(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4712\\)                           #                       )
4713)    #         special
4714[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4715)*                                  #            )*
4716\\)                             #                )
4717[\\040\\t]* )*    # If comment found, allow more spaces.
4718(?:
4719\\.
4720[\\040\\t]*                    # Nab whitespace.
4721(?:
4722\\(                              #  (
4723[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4724(?:                                 #       (
4725(?:  \\\\ [^\\x80-\\xff]  |
4726\\(                            #  (
4727[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4728(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4729\\)                           #                       )
4730)    #         special
4731[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4732)*                                  #            )*
4733\\)                             #                )
4734[\\040\\t]* )*    # If comment found, allow more spaces.
4735(?:
4736[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4737(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4738# Atom
4739|                       #  or
4740\"                                     # \"
4741[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
4742(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
4743\"                                     #        \"
4744# Quoted string
4745)
4746[\\040\\t]*                    # Nab whitespace.
4747(?:
4748\\(                              #  (
4749[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4750(?:                                 #       (
4751(?:  \\\\ [^\\x80-\\xff]  |
4752\\(                            #  (
4753[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4754(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4755\\)                           #                       )
4756)    #         special
4757[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4758)*                                  #            )*
4759\\)                             #                )
4760[\\040\\t]* )*    # If comment found, allow more spaces.
4761# additional words
4762)*
4763@
4764[\\040\\t]*                    # Nab whitespace.
4765(?:
4766\\(                              #  (
4767[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4768(?:                                 #       (
4769(?:  \\\\ [^\\x80-\\xff]  |
4770\\(                            #  (
4771[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4772(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4773\\)                           #                       )
4774)    #         special
4775[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4776)*                                  #            )*
4777\\)                             #                )
4778[\\040\\t]* )*    # If comment found, allow more spaces.
4779(?:
4780[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4781(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4782|
4783\\[                            # [
4784(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
4785\\]                           #           ]
4786)
4787[\\040\\t]*                    # Nab whitespace.
4788(?:
4789\\(                              #  (
4790[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4791(?:                                 #       (
4792(?:  \\\\ [^\\x80-\\xff]  |
4793\\(                            #  (
4794[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4795(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4796\\)                           #                       )
4797)    #         special
4798[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4799)*                                  #            )*
4800\\)                             #                )
4801[\\040\\t]* )*    # If comment found, allow more spaces.
4802# optional trailing comments
4803(?:
4804\\.
4805[\\040\\t]*                    # Nab whitespace.
4806(?:
4807\\(                              #  (
4808[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4809(?:                                 #       (
4810(?:  \\\\ [^\\x80-\\xff]  |
4811\\(                            #  (
4812[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4813(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4814\\)                           #                       )
4815)    #         special
4816[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4817)*                                  #            )*
4818\\)                             #                )
4819[\\040\\t]* )*    # If comment found, allow more spaces.
4820(?:
4821[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4822(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4823|
4824\\[                            # [
4825(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
4826\\]                           #           ]
4827)
4828[\\040\\t]*                    # Nab whitespace.
4829(?:
4830\\(                              #  (
4831[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4832(?:                                 #       (
4833(?:  \\\\ [^\\x80-\\xff]  |
4834\\(                            #  (
4835[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4836(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4837\\)                           #                       )
4838)    #         special
4839[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4840)*                                  #            )*
4841\\)                             #                )
4842[\\040\\t]* )*    # If comment found, allow more spaces.
4843# optional trailing comments
4844)*
4845#       address spec
4846>                    #                 >
4847# name and address
4848)","Q&W&\\1Y\\1xPgs\\1rlH\\1BF",[extended])),
4849    <<"Alan Other <user.ain>">> = iolist_to_binary(re:replace("Alan Other <user.ain>","[\\040\\t]*                    # Nab whitespace.
4850(?:
4851\\(                              #  (
4852[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4853(?:                                 #       (
4854(?:  \\\\ [^\\x80-\\xff]  |
4855\\(                            #  (
4856[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4857(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4858\\)                           #                       )
4859)    #         special
4860[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4861)*                                  #            )*
4862\\)                             #                )
4863[\\040\\t]* )*    # If comment found, allow more spaces.
4864# optional leading comment
4865(?:
4866(?:
4867[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4868(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4869# Atom
4870|                       #  or
4871\"                                     # \"
4872[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
4873(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
4874\"                                     #        \"
4875# Quoted string
4876)
4877[\\040\\t]*                    # Nab whitespace.
4878(?:
4879\\(                              #  (
4880[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4881(?:                                 #       (
4882(?:  \\\\ [^\\x80-\\xff]  |
4883\\(                            #  (
4884[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4885(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4886\\)                           #                       )
4887)    #         special
4888[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4889)*                                  #            )*
4890\\)                             #                )
4891[\\040\\t]* )*    # If comment found, allow more spaces.
4892(?:
4893\\.
4894[\\040\\t]*                    # Nab whitespace.
4895(?:
4896\\(                              #  (
4897[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4898(?:                                 #       (
4899(?:  \\\\ [^\\x80-\\xff]  |
4900\\(                            #  (
4901[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4902(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4903\\)                           #                       )
4904)    #         special
4905[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4906)*                                  #            )*
4907\\)                             #                )
4908[\\040\\t]* )*    # If comment found, allow more spaces.
4909(?:
4910[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4911(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4912# Atom
4913|                       #  or
4914\"                                     # \"
4915[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
4916(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
4917\"                                     #        \"
4918# Quoted string
4919)
4920[\\040\\t]*                    # Nab whitespace.
4921(?:
4922\\(                              #  (
4923[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4924(?:                                 #       (
4925(?:  \\\\ [^\\x80-\\xff]  |
4926\\(                            #  (
4927[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4928(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4929\\)                           #                       )
4930)    #         special
4931[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4932)*                                  #            )*
4933\\)                             #                )
4934[\\040\\t]* )*    # If comment found, allow more spaces.
4935# additional words
4936)*
4937@
4938[\\040\\t]*                    # Nab whitespace.
4939(?:
4940\\(                              #  (
4941[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4942(?:                                 #       (
4943(?:  \\\\ [^\\x80-\\xff]  |
4944\\(                            #  (
4945[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4946(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4947\\)                           #                       )
4948)    #         special
4949[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4950)*                                  #            )*
4951\\)                             #                )
4952[\\040\\t]* )*    # If comment found, allow more spaces.
4953(?:
4954[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4955(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4956|
4957\\[                            # [
4958(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
4959\\]                           #           ]
4960)
4961[\\040\\t]*                    # Nab whitespace.
4962(?:
4963\\(                              #  (
4964[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4965(?:                                 #       (
4966(?:  \\\\ [^\\x80-\\xff]  |
4967\\(                            #  (
4968[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4969(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4970\\)                           #                       )
4971)    #         special
4972[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4973)*                                  #            )*
4974\\)                             #                )
4975[\\040\\t]* )*    # If comment found, allow more spaces.
4976# optional trailing comments
4977(?:
4978\\.
4979[\\040\\t]*                    # Nab whitespace.
4980(?:
4981\\(                              #  (
4982[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
4983(?:                                 #       (
4984(?:  \\\\ [^\\x80-\\xff]  |
4985\\(                            #  (
4986[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
4987(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
4988\\)                           #                       )
4989)    #         special
4990[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
4991)*                                  #            )*
4992\\)                             #                )
4993[\\040\\t]* )*    # If comment found, allow more spaces.
4994(?:
4995[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
4996(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
4997|
4998\\[                            # [
4999(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
5000\\]                           #           ]
5001)
5002[\\040\\t]*                    # Nab whitespace.
5003(?:
5004\\(                              #  (
5005[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5006(?:                                 #       (
5007(?:  \\\\ [^\\x80-\\xff]  |
5008\\(                            #  (
5009[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5010(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5011\\)                           #                       )
5012)    #         special
5013[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5014)*                                  #            )*
5015\\)                             #                )
5016[\\040\\t]* )*    # If comment found, allow more spaces.
5017# optional trailing comments
5018)*
5019# address
5020|                             #  or
5021(?:
5022[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
5023(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
5024# Atom
5025|                       #  or
5026\"                                     # \"
5027[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
5028(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
5029\"                                     #        \"
5030# Quoted string
5031)
5032# leading word
5033[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
5034(?:
5035(?:
5036\\(                              #  (
5037[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5038(?:                                 #       (
5039(?:  \\\\ [^\\x80-\\xff]  |
5040\\(                            #  (
5041[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5042(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5043\\)                           #                       )
5044)    #         special
5045[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5046)*                                  #            )*
5047\\)                             #                )
5048|
5049\"                                     # \"
5050[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
5051(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
5052\"                                     #        \"
5053) # \"special\" comment or quoted string
5054[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
5055)*
5056<
5057[\\040\\t]*                    # Nab whitespace.
5058(?:
5059\\(                              #  (
5060[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5061(?:                                 #       (
5062(?:  \\\\ [^\\x80-\\xff]  |
5063\\(                            #  (
5064[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5065(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5066\\)                           #                       )
5067)    #         special
5068[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5069)*                                  #            )*
5070\\)                             #                )
5071[\\040\\t]* )*    # If comment found, allow more spaces.
5072# <
5073(?:
5074@
5075[\\040\\t]*                    # Nab whitespace.
5076(?:
5077\\(                              #  (
5078[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5079(?:                                 #       (
5080(?:  \\\\ [^\\x80-\\xff]  |
5081\\(                            #  (
5082[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5083(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5084\\)                           #                       )
5085)    #         special
5086[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5087)*                                  #            )*
5088\\)                             #                )
5089[\\040\\t]* )*    # If comment found, allow more spaces.
5090(?:
5091[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
5092(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
5093|
5094\\[                            # [
5095(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
5096\\]                           #           ]
5097)
5098[\\040\\t]*                    # Nab whitespace.
5099(?:
5100\\(                              #  (
5101[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5102(?:                                 #       (
5103(?:  \\\\ [^\\x80-\\xff]  |
5104\\(                            #  (
5105[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5106(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5107\\)                           #                       )
5108)    #         special
5109[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5110)*                                  #            )*
5111\\)                             #                )
5112[\\040\\t]* )*    # If comment found, allow more spaces.
5113# optional trailing comments
5114(?:
5115\\.
5116[\\040\\t]*                    # Nab whitespace.
5117(?:
5118\\(                              #  (
5119[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5120(?:                                 #       (
5121(?:  \\\\ [^\\x80-\\xff]  |
5122\\(                            #  (
5123[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5124(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5125\\)                           #                       )
5126)    #         special
5127[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5128)*                                  #            )*
5129\\)                             #                )
5130[\\040\\t]* )*    # If comment found, allow more spaces.
5131(?:
5132[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
5133(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
5134|
5135\\[                            # [
5136(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
5137\\]                           #           ]
5138)
5139[\\040\\t]*                    # Nab whitespace.
5140(?:
5141\\(                              #  (
5142[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5143(?:                                 #       (
5144(?:  \\\\ [^\\x80-\\xff]  |
5145\\(                            #  (
5146[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5147(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5148\\)                           #                       )
5149)    #         special
5150[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5151)*                                  #            )*
5152\\)                             #                )
5153[\\040\\t]* )*    # If comment found, allow more spaces.
5154# optional trailing comments
5155)*
5156(?: ,
5157[\\040\\t]*                    # Nab whitespace.
5158(?:
5159\\(                              #  (
5160[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5161(?:                                 #       (
5162(?:  \\\\ [^\\x80-\\xff]  |
5163\\(                            #  (
5164[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5165(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5166\\)                           #                       )
5167)    #         special
5168[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5169)*                                  #            )*
5170\\)                             #                )
5171[\\040\\t]* )*    # If comment found, allow more spaces.
5172@
5173[\\040\\t]*                    # Nab whitespace.
5174(?:
5175\\(                              #  (
5176[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5177(?:                                 #       (
5178(?:  \\\\ [^\\x80-\\xff]  |
5179\\(                            #  (
5180[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5181(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5182\\)                           #                       )
5183)    #         special
5184[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5185)*                                  #            )*
5186\\)                             #                )
5187[\\040\\t]* )*    # If comment found, allow more spaces.
5188(?:
5189[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
5190(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
5191|
5192\\[                            # [
5193(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
5194\\]                           #           ]
5195)
5196[\\040\\t]*                    # Nab whitespace.
5197(?:
5198\\(                              #  (
5199[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5200(?:                                 #       (
5201(?:  \\\\ [^\\x80-\\xff]  |
5202\\(                            #  (
5203[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5204(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5205\\)                           #                       )
5206)    #         special
5207[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5208)*                                  #            )*
5209\\)                             #                )
5210[\\040\\t]* )*    # If comment found, allow more spaces.
5211# optional trailing comments
5212(?:
5213\\.
5214[\\040\\t]*                    # Nab whitespace.
5215(?:
5216\\(                              #  (
5217[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5218(?:                                 #       (
5219(?:  \\\\ [^\\x80-\\xff]  |
5220\\(                            #  (
5221[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5222(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5223\\)                           #                       )
5224)    #         special
5225[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5226)*                                  #            )*
5227\\)                             #                )
5228[\\040\\t]* )*    # If comment found, allow more spaces.
5229(?:
5230[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
5231(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
5232|
5233\\[                            # [
5234(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
5235\\]                           #           ]
5236)
5237[\\040\\t]*                    # Nab whitespace.
5238(?:
5239\\(                              #  (
5240[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5241(?:                                 #       (
5242(?:  \\\\ [^\\x80-\\xff]  |
5243\\(                            #  (
5244[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5245(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5246\\)                           #                       )
5247)    #         special
5248[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5249)*                                  #            )*
5250\\)                             #                )
5251[\\040\\t]* )*    # If comment found, allow more spaces.
5252# optional trailing comments
5253)*
5254)*  # additional domains
5255:
5256[\\040\\t]*                    # Nab whitespace.
5257(?:
5258\\(                              #  (
5259[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5260(?:                                 #       (
5261(?:  \\\\ [^\\x80-\\xff]  |
5262\\(                            #  (
5263[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5264(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5265\\)                           #                       )
5266)    #         special
5267[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5268)*                                  #            )*
5269\\)                             #                )
5270[\\040\\t]* )*    # If comment found, allow more spaces.
5271# optional trailing comments
5272)?     #       optional route
5273(?:
5274[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
5275(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
5276# Atom
5277|                       #  or
5278\"                                     # \"
5279[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
5280(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
5281\"                                     #        \"
5282# Quoted string
5283)
5284[\\040\\t]*                    # Nab whitespace.
5285(?:
5286\\(                              #  (
5287[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5288(?:                                 #       (
5289(?:  \\\\ [^\\x80-\\xff]  |
5290\\(                            #  (
5291[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5292(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5293\\)                           #                       )
5294)    #         special
5295[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5296)*                                  #            )*
5297\\)                             #                )
5298[\\040\\t]* )*    # If comment found, allow more spaces.
5299(?:
5300\\.
5301[\\040\\t]*                    # Nab whitespace.
5302(?:
5303\\(                              #  (
5304[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5305(?:                                 #       (
5306(?:  \\\\ [^\\x80-\\xff]  |
5307\\(                            #  (
5308[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5309(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5310\\)                           #                       )
5311)    #         special
5312[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5313)*                                  #            )*
5314\\)                             #                )
5315[\\040\\t]* )*    # If comment found, allow more spaces.
5316(?:
5317[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
5318(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
5319# Atom
5320|                       #  or
5321\"                                     # \"
5322[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
5323(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
5324\"                                     #        \"
5325# Quoted string
5326)
5327[\\040\\t]*                    # Nab whitespace.
5328(?:
5329\\(                              #  (
5330[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5331(?:                                 #       (
5332(?:  \\\\ [^\\x80-\\xff]  |
5333\\(                            #  (
5334[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5335(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5336\\)                           #                       )
5337)    #         special
5338[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5339)*                                  #            )*
5340\\)                             #                )
5341[\\040\\t]* )*    # If comment found, allow more spaces.
5342# additional words
5343)*
5344@
5345[\\040\\t]*                    # Nab whitespace.
5346(?:
5347\\(                              #  (
5348[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5349(?:                                 #       (
5350(?:  \\\\ [^\\x80-\\xff]  |
5351\\(                            #  (
5352[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5353(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5354\\)                           #                       )
5355)    #         special
5356[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5357)*                                  #            )*
5358\\)                             #                )
5359[\\040\\t]* )*    # If comment found, allow more spaces.
5360(?:
5361[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
5362(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
5363|
5364\\[                            # [
5365(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
5366\\]                           #           ]
5367)
5368[\\040\\t]*                    # Nab whitespace.
5369(?:
5370\\(                              #  (
5371[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5372(?:                                 #       (
5373(?:  \\\\ [^\\x80-\\xff]  |
5374\\(                            #  (
5375[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5376(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5377\\)                           #                       )
5378)    #         special
5379[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5380)*                                  #            )*
5381\\)                             #                )
5382[\\040\\t]* )*    # If comment found, allow more spaces.
5383# optional trailing comments
5384(?:
5385\\.
5386[\\040\\t]*                    # Nab whitespace.
5387(?:
5388\\(                              #  (
5389[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5390(?:                                 #       (
5391(?:  \\\\ [^\\x80-\\xff]  |
5392\\(                            #  (
5393[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5394(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5395\\)                           #                       )
5396)    #         special
5397[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5398)*                                  #            )*
5399\\)                             #                )
5400[\\040\\t]* )*    # If comment found, allow more spaces.
5401(?:
5402[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
5403(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
5404|
5405\\[                            # [
5406(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
5407\\]                           #           ]
5408)
5409[\\040\\t]*                    # Nab whitespace.
5410(?:
5411\\(                              #  (
5412[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5413(?:                                 #       (
5414(?:  \\\\ [^\\x80-\\xff]  |
5415\\(                            #  (
5416[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5417(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5418\\)                           #                       )
5419)    #         special
5420[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5421)*                                  #            )*
5422\\)                             #                )
5423[\\040\\t]* )*    # If comment found, allow more spaces.
5424# optional trailing comments
5425)*
5426#       address spec
5427>                    #                 >
5428# name and address
5429)","Q&W&\\1Y\\1xPgs\\1rlH\\1BF",[extended,global])),
5430    <<"<user.ain>">> = iolist_to_binary(re:replace("<user.ain>","[\\040\\t]*                    # Nab whitespace.
5431(?:
5432\\(                              #  (
5433[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5434(?:                                 #       (
5435(?:  \\\\ [^\\x80-\\xff]  |
5436\\(                            #  (
5437[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5438(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5439\\)                           #                       )
5440)    #         special
5441[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5442)*                                  #            )*
5443\\)                             #                )
5444[\\040\\t]* )*    # If comment found, allow more spaces.
5445# optional leading comment
5446(?:
5447(?:
5448[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
5449(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
5450# Atom
5451|                       #  or
5452\"                                     # \"
5453[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
5454(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
5455\"                                     #        \"
5456# Quoted string
5457)
5458[\\040\\t]*                    # Nab whitespace.
5459(?:
5460\\(                              #  (
5461[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5462(?:                                 #       (
5463(?:  \\\\ [^\\x80-\\xff]  |
5464\\(                            #  (
5465[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5466(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5467\\)                           #                       )
5468)    #         special
5469[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5470)*                                  #            )*
5471\\)                             #                )
5472[\\040\\t]* )*    # If comment found, allow more spaces.
5473(?:
5474\\.
5475[\\040\\t]*                    # Nab whitespace.
5476(?:
5477\\(                              #  (
5478[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5479(?:                                 #       (
5480(?:  \\\\ [^\\x80-\\xff]  |
5481\\(                            #  (
5482[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5483(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5484\\)                           #                       )
5485)    #         special
5486[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5487)*                                  #            )*
5488\\)                             #                )
5489[\\040\\t]* )*    # If comment found, allow more spaces.
5490(?:
5491[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
5492(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
5493# Atom
5494|                       #  or
5495\"                                     # \"
5496[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
5497(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
5498\"                                     #        \"
5499# Quoted string
5500)
5501[\\040\\t]*                    # Nab whitespace.
5502(?:
5503\\(                              #  (
5504[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5505(?:                                 #       (
5506(?:  \\\\ [^\\x80-\\xff]  |
5507\\(                            #  (
5508[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5509(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5510\\)                           #                       )
5511)    #         special
5512[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5513)*                                  #            )*
5514\\)                             #                )
5515[\\040\\t]* )*    # If comment found, allow more spaces.
5516# additional words
5517)*
5518@
5519[\\040\\t]*                    # Nab whitespace.
5520(?:
5521\\(                              #  (
5522[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5523(?:                                 #       (
5524(?:  \\\\ [^\\x80-\\xff]  |
5525\\(                            #  (
5526[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5527(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5528\\)                           #                       )
5529)    #         special
5530[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5531)*                                  #            )*
5532\\)                             #                )
5533[\\040\\t]* )*    # If comment found, allow more spaces.
5534(?:
5535[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
5536(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
5537|
5538\\[                            # [
5539(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
5540\\]                           #           ]
5541)
5542[\\040\\t]*                    # Nab whitespace.
5543(?:
5544\\(                              #  (
5545[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5546(?:                                 #       (
5547(?:  \\\\ [^\\x80-\\xff]  |
5548\\(                            #  (
5549[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5550(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5551\\)                           #                       )
5552)    #         special
5553[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5554)*                                  #            )*
5555\\)                             #                )
5556[\\040\\t]* )*    # If comment found, allow more spaces.
5557# optional trailing comments
5558(?:
5559\\.
5560[\\040\\t]*                    # Nab whitespace.
5561(?:
5562\\(                              #  (
5563[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5564(?:                                 #       (
5565(?:  \\\\ [^\\x80-\\xff]  |
5566\\(                            #  (
5567[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5568(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5569\\)                           #                       )
5570)    #         special
5571[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5572)*                                  #            )*
5573\\)                             #                )
5574[\\040\\t]* )*    # If comment found, allow more spaces.
5575(?:
5576[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
5577(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
5578|
5579\\[                            # [
5580(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
5581\\]                           #           ]
5582)
5583[\\040\\t]*                    # Nab whitespace.
5584(?:
5585\\(                              #  (
5586[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5587(?:                                 #       (
5588(?:  \\\\ [^\\x80-\\xff]  |
5589\\(                            #  (
5590[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5591(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5592\\)                           #                       )
5593)    #         special
5594[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5595)*                                  #            )*
5596\\)                             #                )
5597[\\040\\t]* )*    # If comment found, allow more spaces.
5598# optional trailing comments
5599)*
5600# address
5601|                             #  or
5602(?:
5603[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
5604(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
5605# Atom
5606|                       #  or
5607\"                                     # \"
5608[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
5609(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
5610\"                                     #        \"
5611# Quoted string
5612)
5613# leading word
5614[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
5615(?:
5616(?:
5617\\(                              #  (
5618[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5619(?:                                 #       (
5620(?:  \\\\ [^\\x80-\\xff]  |
5621\\(                            #  (
5622[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5623(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5624\\)                           #                       )
5625)    #         special
5626[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5627)*                                  #            )*
5628\\)                             #                )
5629|
5630\"                                     # \"
5631[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
5632(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
5633\"                                     #        \"
5634) # \"special\" comment or quoted string
5635[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
5636)*
5637<
5638[\\040\\t]*                    # Nab whitespace.
5639(?:
5640\\(                              #  (
5641[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5642(?:                                 #       (
5643(?:  \\\\ [^\\x80-\\xff]  |
5644\\(                            #  (
5645[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5646(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5647\\)                           #                       )
5648)    #         special
5649[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5650)*                                  #            )*
5651\\)                             #                )
5652[\\040\\t]* )*    # If comment found, allow more spaces.
5653# <
5654(?:
5655@
5656[\\040\\t]*                    # Nab whitespace.
5657(?:
5658\\(                              #  (
5659[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5660(?:                                 #       (
5661(?:  \\\\ [^\\x80-\\xff]  |
5662\\(                            #  (
5663[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5664(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5665\\)                           #                       )
5666)    #         special
5667[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5668)*                                  #            )*
5669\\)                             #                )
5670[\\040\\t]* )*    # If comment found, allow more spaces.
5671(?:
5672[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
5673(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
5674|
5675\\[                            # [
5676(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
5677\\]                           #           ]
5678)
5679[\\040\\t]*                    # Nab whitespace.
5680(?:
5681\\(                              #  (
5682[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5683(?:                                 #       (
5684(?:  \\\\ [^\\x80-\\xff]  |
5685\\(                            #  (
5686[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5687(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5688\\)                           #                       )
5689)    #         special
5690[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5691)*                                  #            )*
5692\\)                             #                )
5693[\\040\\t]* )*    # If comment found, allow more spaces.
5694# optional trailing comments
5695(?:
5696\\.
5697[\\040\\t]*                    # Nab whitespace.
5698(?:
5699\\(                              #  (
5700[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5701(?:                                 #       (
5702(?:  \\\\ [^\\x80-\\xff]  |
5703\\(                            #  (
5704[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5705(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5706\\)                           #                       )
5707)    #         special
5708[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5709)*                                  #            )*
5710\\)                             #                )
5711[\\040\\t]* )*    # If comment found, allow more spaces.
5712(?:
5713[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
5714(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
5715|
5716\\[                            # [
5717(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
5718\\]                           #           ]
5719)
5720[\\040\\t]*                    # Nab whitespace.
5721(?:
5722\\(                              #  (
5723[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5724(?:                                 #       (
5725(?:  \\\\ [^\\x80-\\xff]  |
5726\\(                            #  (
5727[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5728(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5729\\)                           #                       )
5730)    #         special
5731[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5732)*                                  #            )*
5733\\)                             #                )
5734[\\040\\t]* )*    # If comment found, allow more spaces.
5735# optional trailing comments
5736)*
5737(?: ,
5738[\\040\\t]*                    # Nab whitespace.
5739(?:
5740\\(                              #  (
5741[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5742(?:                                 #       (
5743(?:  \\\\ [^\\x80-\\xff]  |
5744\\(                            #  (
5745[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5746(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5747\\)                           #                       )
5748)    #         special
5749[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5750)*                                  #            )*
5751\\)                             #                )
5752[\\040\\t]* )*    # If comment found, allow more spaces.
5753@
5754[\\040\\t]*                    # Nab whitespace.
5755(?:
5756\\(                              #  (
5757[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5758(?:                                 #       (
5759(?:  \\\\ [^\\x80-\\xff]  |
5760\\(                            #  (
5761[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5762(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5763\\)                           #                       )
5764)    #         special
5765[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5766)*                                  #            )*
5767\\)                             #                )
5768[\\040\\t]* )*    # If comment found, allow more spaces.
5769(?:
5770[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
5771(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
5772|
5773\\[                            # [
5774(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
5775\\]                           #           ]
5776)
5777[\\040\\t]*                    # Nab whitespace.
5778(?:
5779\\(                              #  (
5780[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5781(?:                                 #       (
5782(?:  \\\\ [^\\x80-\\xff]  |
5783\\(                            #  (
5784[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5785(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5786\\)                           #                       )
5787)    #         special
5788[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5789)*                                  #            )*
5790\\)                             #                )
5791[\\040\\t]* )*    # If comment found, allow more spaces.
5792# optional trailing comments
5793(?:
5794\\.
5795[\\040\\t]*                    # Nab whitespace.
5796(?:
5797\\(                              #  (
5798[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5799(?:                                 #       (
5800(?:  \\\\ [^\\x80-\\xff]  |
5801\\(                            #  (
5802[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5803(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5804\\)                           #                       )
5805)    #         special
5806[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5807)*                                  #            )*
5808\\)                             #                )
5809[\\040\\t]* )*    # If comment found, allow more spaces.
5810(?:
5811[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
5812(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
5813|
5814\\[                            # [
5815(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
5816\\]                           #           ]
5817)
5818[\\040\\t]*                    # Nab whitespace.
5819(?:
5820\\(                              #  (
5821[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5822(?:                                 #       (
5823(?:  \\\\ [^\\x80-\\xff]  |
5824\\(                            #  (
5825[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5826(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5827\\)                           #                       )
5828)    #         special
5829[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5830)*                                  #            )*
5831\\)                             #                )
5832[\\040\\t]* )*    # If comment found, allow more spaces.
5833# optional trailing comments
5834)*
5835)*  # additional domains
5836:
5837[\\040\\t]*                    # Nab whitespace.
5838(?:
5839\\(                              #  (
5840[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5841(?:                                 #       (
5842(?:  \\\\ [^\\x80-\\xff]  |
5843\\(                            #  (
5844[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5845(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5846\\)                           #                       )
5847)    #         special
5848[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5849)*                                  #            )*
5850\\)                             #                )
5851[\\040\\t]* )*    # If comment found, allow more spaces.
5852# optional trailing comments
5853)?     #       optional route
5854(?:
5855[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
5856(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
5857# Atom
5858|                       #  or
5859\"                                     # \"
5860[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
5861(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
5862\"                                     #        \"
5863# Quoted string
5864)
5865[\\040\\t]*                    # Nab whitespace.
5866(?:
5867\\(                              #  (
5868[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5869(?:                                 #       (
5870(?:  \\\\ [^\\x80-\\xff]  |
5871\\(                            #  (
5872[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5873(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5874\\)                           #                       )
5875)    #         special
5876[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5877)*                                  #            )*
5878\\)                             #                )
5879[\\040\\t]* )*    # If comment found, allow more spaces.
5880(?:
5881\\.
5882[\\040\\t]*                    # Nab whitespace.
5883(?:
5884\\(                              #  (
5885[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5886(?:                                 #       (
5887(?:  \\\\ [^\\x80-\\xff]  |
5888\\(                            #  (
5889[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5890(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5891\\)                           #                       )
5892)    #         special
5893[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5894)*                                  #            )*
5895\\)                             #                )
5896[\\040\\t]* )*    # If comment found, allow more spaces.
5897(?:
5898[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
5899(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
5900# Atom
5901|                       #  or
5902\"                                     # \"
5903[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
5904(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
5905\"                                     #        \"
5906# Quoted string
5907)
5908[\\040\\t]*                    # Nab whitespace.
5909(?:
5910\\(                              #  (
5911[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5912(?:                                 #       (
5913(?:  \\\\ [^\\x80-\\xff]  |
5914\\(                            #  (
5915[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5916(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5917\\)                           #                       )
5918)    #         special
5919[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5920)*                                  #            )*
5921\\)                             #                )
5922[\\040\\t]* )*    # If comment found, allow more spaces.
5923# additional words
5924)*
5925@
5926[\\040\\t]*                    # Nab whitespace.
5927(?:
5928\\(                              #  (
5929[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5930(?:                                 #       (
5931(?:  \\\\ [^\\x80-\\xff]  |
5932\\(                            #  (
5933[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5934(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5935\\)                           #                       )
5936)    #         special
5937[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5938)*                                  #            )*
5939\\)                             #                )
5940[\\040\\t]* )*    # If comment found, allow more spaces.
5941(?:
5942[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
5943(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
5944|
5945\\[                            # [
5946(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
5947\\]                           #           ]
5948)
5949[\\040\\t]*                    # Nab whitespace.
5950(?:
5951\\(                              #  (
5952[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5953(?:                                 #       (
5954(?:  \\\\ [^\\x80-\\xff]  |
5955\\(                            #  (
5956[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5957(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5958\\)                           #                       )
5959)    #         special
5960[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5961)*                                  #            )*
5962\\)                             #                )
5963[\\040\\t]* )*    # If comment found, allow more spaces.
5964# optional trailing comments
5965(?:
5966\\.
5967[\\040\\t]*                    # Nab whitespace.
5968(?:
5969\\(                              #  (
5970[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5971(?:                                 #       (
5972(?:  \\\\ [^\\x80-\\xff]  |
5973\\(                            #  (
5974[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5975(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5976\\)                           #                       )
5977)    #         special
5978[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
5979)*                                  #            )*
5980\\)                             #                )
5981[\\040\\t]* )*    # If comment found, allow more spaces.
5982(?:
5983[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
5984(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
5985|
5986\\[                            # [
5987(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
5988\\]                           #           ]
5989)
5990[\\040\\t]*                    # Nab whitespace.
5991(?:
5992\\(                              #  (
5993[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
5994(?:                                 #       (
5995(?:  \\\\ [^\\x80-\\xff]  |
5996\\(                            #  (
5997[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
5998(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
5999\\)                           #                       )
6000)    #         special
6001[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6002)*                                  #            )*
6003\\)                             #                )
6004[\\040\\t]* )*    # If comment found, allow more spaces.
6005# optional trailing comments
6006)*
6007#       address spec
6008>                    #                 >
6009# name and address
6010)","&",[extended])),
6011    <<"<user.ain>">> = iolist_to_binary(re:replace("<user.ain>","[\\040\\t]*                    # Nab whitespace.
6012(?:
6013\\(                              #  (
6014[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6015(?:                                 #       (
6016(?:  \\\\ [^\\x80-\\xff]  |
6017\\(                            #  (
6018[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6019(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6020\\)                           #                       )
6021)    #         special
6022[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6023)*                                  #            )*
6024\\)                             #                )
6025[\\040\\t]* )*    # If comment found, allow more spaces.
6026# optional leading comment
6027(?:
6028(?:
6029[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
6030(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
6031# Atom
6032|                       #  or
6033\"                                     # \"
6034[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
6035(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
6036\"                                     #        \"
6037# Quoted string
6038)
6039[\\040\\t]*                    # Nab whitespace.
6040(?:
6041\\(                              #  (
6042[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6043(?:                                 #       (
6044(?:  \\\\ [^\\x80-\\xff]  |
6045\\(                            #  (
6046[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6047(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6048\\)                           #                       )
6049)    #         special
6050[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6051)*                                  #            )*
6052\\)                             #                )
6053[\\040\\t]* )*    # If comment found, allow more spaces.
6054(?:
6055\\.
6056[\\040\\t]*                    # Nab whitespace.
6057(?:
6058\\(                              #  (
6059[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6060(?:                                 #       (
6061(?:  \\\\ [^\\x80-\\xff]  |
6062\\(                            #  (
6063[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6064(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6065\\)                           #                       )
6066)    #         special
6067[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6068)*                                  #            )*
6069\\)                             #                )
6070[\\040\\t]* )*    # If comment found, allow more spaces.
6071(?:
6072[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
6073(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
6074# Atom
6075|                       #  or
6076\"                                     # \"
6077[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
6078(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
6079\"                                     #        \"
6080# Quoted string
6081)
6082[\\040\\t]*                    # Nab whitespace.
6083(?:
6084\\(                              #  (
6085[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6086(?:                                 #       (
6087(?:  \\\\ [^\\x80-\\xff]  |
6088\\(                            #  (
6089[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6090(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6091\\)                           #                       )
6092)    #         special
6093[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6094)*                                  #            )*
6095\\)                             #                )
6096[\\040\\t]* )*    # If comment found, allow more spaces.
6097# additional words
6098)*
6099@
6100[\\040\\t]*                    # Nab whitespace.
6101(?:
6102\\(                              #  (
6103[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6104(?:                                 #       (
6105(?:  \\\\ [^\\x80-\\xff]  |
6106\\(                            #  (
6107[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6108(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6109\\)                           #                       )
6110)    #         special
6111[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6112)*                                  #            )*
6113\\)                             #                )
6114[\\040\\t]* )*    # If comment found, allow more spaces.
6115(?:
6116[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
6117(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
6118|
6119\\[                            # [
6120(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
6121\\]                           #           ]
6122)
6123[\\040\\t]*                    # Nab whitespace.
6124(?:
6125\\(                              #  (
6126[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6127(?:                                 #       (
6128(?:  \\\\ [^\\x80-\\xff]  |
6129\\(                            #  (
6130[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6131(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6132\\)                           #                       )
6133)    #         special
6134[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6135)*                                  #            )*
6136\\)                             #                )
6137[\\040\\t]* )*    # If comment found, allow more spaces.
6138# optional trailing comments
6139(?:
6140\\.
6141[\\040\\t]*                    # Nab whitespace.
6142(?:
6143\\(                              #  (
6144[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6145(?:                                 #       (
6146(?:  \\\\ [^\\x80-\\xff]  |
6147\\(                            #  (
6148[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6149(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6150\\)                           #                       )
6151)    #         special
6152[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6153)*                                  #            )*
6154\\)                             #                )
6155[\\040\\t]* )*    # If comment found, allow more spaces.
6156(?:
6157[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
6158(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
6159|
6160\\[                            # [
6161(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
6162\\]                           #           ]
6163)
6164[\\040\\t]*                    # Nab whitespace.
6165(?:
6166\\(                              #  (
6167[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6168(?:                                 #       (
6169(?:  \\\\ [^\\x80-\\xff]  |
6170\\(                            #  (
6171[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6172(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6173\\)                           #                       )
6174)    #         special
6175[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6176)*                                  #            )*
6177\\)                             #                )
6178[\\040\\t]* )*    # If comment found, allow more spaces.
6179# optional trailing comments
6180)*
6181# address
6182|                             #  or
6183(?:
6184[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
6185(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
6186# Atom
6187|                       #  or
6188\"                                     # \"
6189[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
6190(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
6191\"                                     #        \"
6192# Quoted string
6193)
6194# leading word
6195[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
6196(?:
6197(?:
6198\\(                              #  (
6199[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6200(?:                                 #       (
6201(?:  \\\\ [^\\x80-\\xff]  |
6202\\(                            #  (
6203[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6204(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6205\\)                           #                       )
6206)    #         special
6207[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6208)*                                  #            )*
6209\\)                             #                )
6210|
6211\"                                     # \"
6212[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
6213(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
6214\"                                     #        \"
6215) # \"special\" comment or quoted string
6216[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
6217)*
6218<
6219[\\040\\t]*                    # Nab whitespace.
6220(?:
6221\\(                              #  (
6222[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6223(?:                                 #       (
6224(?:  \\\\ [^\\x80-\\xff]  |
6225\\(                            #  (
6226[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6227(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6228\\)                           #                       )
6229)    #         special
6230[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6231)*                                  #            )*
6232\\)                             #                )
6233[\\040\\t]* )*    # If comment found, allow more spaces.
6234# <
6235(?:
6236@
6237[\\040\\t]*                    # Nab whitespace.
6238(?:
6239\\(                              #  (
6240[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6241(?:                                 #       (
6242(?:  \\\\ [^\\x80-\\xff]  |
6243\\(                            #  (
6244[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6245(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6246\\)                           #                       )
6247)    #         special
6248[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6249)*                                  #            )*
6250\\)                             #                )
6251[\\040\\t]* )*    # If comment found, allow more spaces.
6252(?:
6253[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
6254(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
6255|
6256\\[                            # [
6257(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
6258\\]                           #           ]
6259)
6260[\\040\\t]*                    # Nab whitespace.
6261(?:
6262\\(                              #  (
6263[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6264(?:                                 #       (
6265(?:  \\\\ [^\\x80-\\xff]  |
6266\\(                            #  (
6267[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6268(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6269\\)                           #                       )
6270)    #         special
6271[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6272)*                                  #            )*
6273\\)                             #                )
6274[\\040\\t]* )*    # If comment found, allow more spaces.
6275# optional trailing comments
6276(?:
6277\\.
6278[\\040\\t]*                    # Nab whitespace.
6279(?:
6280\\(                              #  (
6281[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6282(?:                                 #       (
6283(?:  \\\\ [^\\x80-\\xff]  |
6284\\(                            #  (
6285[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6286(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6287\\)                           #                       )
6288)    #         special
6289[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6290)*                                  #            )*
6291\\)                             #                )
6292[\\040\\t]* )*    # If comment found, allow more spaces.
6293(?:
6294[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
6295(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
6296|
6297\\[                            # [
6298(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
6299\\]                           #           ]
6300)
6301[\\040\\t]*                    # Nab whitespace.
6302(?:
6303\\(                              #  (
6304[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6305(?:                                 #       (
6306(?:  \\\\ [^\\x80-\\xff]  |
6307\\(                            #  (
6308[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6309(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6310\\)                           #                       )
6311)    #         special
6312[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6313)*                                  #            )*
6314\\)                             #                )
6315[\\040\\t]* )*    # If comment found, allow more spaces.
6316# optional trailing comments
6317)*
6318(?: ,
6319[\\040\\t]*                    # Nab whitespace.
6320(?:
6321\\(                              #  (
6322[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6323(?:                                 #       (
6324(?:  \\\\ [^\\x80-\\xff]  |
6325\\(                            #  (
6326[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6327(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6328\\)                           #                       )
6329)    #         special
6330[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6331)*                                  #            )*
6332\\)                             #                )
6333[\\040\\t]* )*    # If comment found, allow more spaces.
6334@
6335[\\040\\t]*                    # Nab whitespace.
6336(?:
6337\\(                              #  (
6338[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6339(?:                                 #       (
6340(?:  \\\\ [^\\x80-\\xff]  |
6341\\(                            #  (
6342[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6343(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6344\\)                           #                       )
6345)    #         special
6346[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6347)*                                  #            )*
6348\\)                             #                )
6349[\\040\\t]* )*    # If comment found, allow more spaces.
6350(?:
6351[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
6352(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
6353|
6354\\[                            # [
6355(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
6356\\]                           #           ]
6357)
6358[\\040\\t]*                    # Nab whitespace.
6359(?:
6360\\(                              #  (
6361[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6362(?:                                 #       (
6363(?:  \\\\ [^\\x80-\\xff]  |
6364\\(                            #  (
6365[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6366(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6367\\)                           #                       )
6368)    #         special
6369[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6370)*                                  #            )*
6371\\)                             #                )
6372[\\040\\t]* )*    # If comment found, allow more spaces.
6373# optional trailing comments
6374(?:
6375\\.
6376[\\040\\t]*                    # Nab whitespace.
6377(?:
6378\\(                              #  (
6379[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6380(?:                                 #       (
6381(?:  \\\\ [^\\x80-\\xff]  |
6382\\(                            #  (
6383[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6384(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6385\\)                           #                       )
6386)    #         special
6387[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6388)*                                  #            )*
6389\\)                             #                )
6390[\\040\\t]* )*    # If comment found, allow more spaces.
6391(?:
6392[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
6393(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
6394|
6395\\[                            # [
6396(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
6397\\]                           #           ]
6398)
6399[\\040\\t]*                    # Nab whitespace.
6400(?:
6401\\(                              #  (
6402[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6403(?:                                 #       (
6404(?:  \\\\ [^\\x80-\\xff]  |
6405\\(                            #  (
6406[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6407(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6408\\)                           #                       )
6409)    #         special
6410[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6411)*                                  #            )*
6412\\)                             #                )
6413[\\040\\t]* )*    # If comment found, allow more spaces.
6414# optional trailing comments
6415)*
6416)*  # additional domains
6417:
6418[\\040\\t]*                    # Nab whitespace.
6419(?:
6420\\(                              #  (
6421[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6422(?:                                 #       (
6423(?:  \\\\ [^\\x80-\\xff]  |
6424\\(                            #  (
6425[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6426(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6427\\)                           #                       )
6428)    #         special
6429[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6430)*                                  #            )*
6431\\)                             #                )
6432[\\040\\t]* )*    # If comment found, allow more spaces.
6433# optional trailing comments
6434)?     #       optional route
6435(?:
6436[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
6437(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
6438# Atom
6439|                       #  or
6440\"                                     # \"
6441[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
6442(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
6443\"                                     #        \"
6444# Quoted string
6445)
6446[\\040\\t]*                    # Nab whitespace.
6447(?:
6448\\(                              #  (
6449[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6450(?:                                 #       (
6451(?:  \\\\ [^\\x80-\\xff]  |
6452\\(                            #  (
6453[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6454(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6455\\)                           #                       )
6456)    #         special
6457[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6458)*                                  #            )*
6459\\)                             #                )
6460[\\040\\t]* )*    # If comment found, allow more spaces.
6461(?:
6462\\.
6463[\\040\\t]*                    # Nab whitespace.
6464(?:
6465\\(                              #  (
6466[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6467(?:                                 #       (
6468(?:  \\\\ [^\\x80-\\xff]  |
6469\\(                            #  (
6470[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6471(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6472\\)                           #                       )
6473)    #         special
6474[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6475)*                                  #            )*
6476\\)                             #                )
6477[\\040\\t]* )*    # If comment found, allow more spaces.
6478(?:
6479[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
6480(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
6481# Atom
6482|                       #  or
6483\"                                     # \"
6484[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
6485(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
6486\"                                     #        \"
6487# Quoted string
6488)
6489[\\040\\t]*                    # Nab whitespace.
6490(?:
6491\\(                              #  (
6492[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6493(?:                                 #       (
6494(?:  \\\\ [^\\x80-\\xff]  |
6495\\(                            #  (
6496[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6497(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6498\\)                           #                       )
6499)    #         special
6500[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6501)*                                  #            )*
6502\\)                             #                )
6503[\\040\\t]* )*    # If comment found, allow more spaces.
6504# additional words
6505)*
6506@
6507[\\040\\t]*                    # Nab whitespace.
6508(?:
6509\\(                              #  (
6510[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6511(?:                                 #       (
6512(?:  \\\\ [^\\x80-\\xff]  |
6513\\(                            #  (
6514[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6515(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6516\\)                           #                       )
6517)    #         special
6518[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6519)*                                  #            )*
6520\\)                             #                )
6521[\\040\\t]* )*    # If comment found, allow more spaces.
6522(?:
6523[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
6524(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
6525|
6526\\[                            # [
6527(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
6528\\]                           #           ]
6529)
6530[\\040\\t]*                    # Nab whitespace.
6531(?:
6532\\(                              #  (
6533[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6534(?:                                 #       (
6535(?:  \\\\ [^\\x80-\\xff]  |
6536\\(                            #  (
6537[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6538(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6539\\)                           #                       )
6540)    #         special
6541[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6542)*                                  #            )*
6543\\)                             #                )
6544[\\040\\t]* )*    # If comment found, allow more spaces.
6545# optional trailing comments
6546(?:
6547\\.
6548[\\040\\t]*                    # Nab whitespace.
6549(?:
6550\\(                              #  (
6551[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6552(?:                                 #       (
6553(?:  \\\\ [^\\x80-\\xff]  |
6554\\(                            #  (
6555[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6556(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6557\\)                           #                       )
6558)    #         special
6559[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6560)*                                  #            )*
6561\\)                             #                )
6562[\\040\\t]* )*    # If comment found, allow more spaces.
6563(?:
6564[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
6565(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
6566|
6567\\[                            # [
6568(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
6569\\]                           #           ]
6570)
6571[\\040\\t]*                    # Nab whitespace.
6572(?:
6573\\(                              #  (
6574[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6575(?:                                 #       (
6576(?:  \\\\ [^\\x80-\\xff]  |
6577\\(                            #  (
6578[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6579(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6580\\)                           #                       )
6581)    #         special
6582[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6583)*                                  #            )*
6584\\)                             #                )
6585[\\040\\t]* )*    # If comment found, allow more spaces.
6586# optional trailing comments
6587)*
6588#       address spec
6589>                    #                 >
6590# name and address
6591)","&",[extended,global])),
6592    <<"user.ain">> = iolist_to_binary(re:replace("user.ain","[\\040\\t]*                    # Nab whitespace.
6593(?:
6594\\(                              #  (
6595[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6596(?:                                 #       (
6597(?:  \\\\ [^\\x80-\\xff]  |
6598\\(                            #  (
6599[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6600(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6601\\)                           #                       )
6602)    #         special
6603[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6604)*                                  #            )*
6605\\)                             #                )
6606[\\040\\t]* )*    # If comment found, allow more spaces.
6607# optional leading comment
6608(?:
6609(?:
6610[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
6611(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
6612# Atom
6613|                       #  or
6614\"                                     # \"
6615[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
6616(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
6617\"                                     #        \"
6618# Quoted string
6619)
6620[\\040\\t]*                    # Nab whitespace.
6621(?:
6622\\(                              #  (
6623[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6624(?:                                 #       (
6625(?:  \\\\ [^\\x80-\\xff]  |
6626\\(                            #  (
6627[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6628(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6629\\)                           #                       )
6630)    #         special
6631[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6632)*                                  #            )*
6633\\)                             #                )
6634[\\040\\t]* )*    # If comment found, allow more spaces.
6635(?:
6636\\.
6637[\\040\\t]*                    # Nab whitespace.
6638(?:
6639\\(                              #  (
6640[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6641(?:                                 #       (
6642(?:  \\\\ [^\\x80-\\xff]  |
6643\\(                            #  (
6644[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6645(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6646\\)                           #                       )
6647)    #         special
6648[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6649)*                                  #            )*
6650\\)                             #                )
6651[\\040\\t]* )*    # If comment found, allow more spaces.
6652(?:
6653[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
6654(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
6655# Atom
6656|                       #  or
6657\"                                     # \"
6658[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
6659(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
6660\"                                     #        \"
6661# Quoted string
6662)
6663[\\040\\t]*                    # Nab whitespace.
6664(?:
6665\\(                              #  (
6666[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6667(?:                                 #       (
6668(?:  \\\\ [^\\x80-\\xff]  |
6669\\(                            #  (
6670[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6671(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6672\\)                           #                       )
6673)    #         special
6674[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6675)*                                  #            )*
6676\\)                             #                )
6677[\\040\\t]* )*    # If comment found, allow more spaces.
6678# additional words
6679)*
6680@
6681[\\040\\t]*                    # Nab whitespace.
6682(?:
6683\\(                              #  (
6684[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6685(?:                                 #       (
6686(?:  \\\\ [^\\x80-\\xff]  |
6687\\(                            #  (
6688[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6689(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6690\\)                           #                       )
6691)    #         special
6692[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6693)*                                  #            )*
6694\\)                             #                )
6695[\\040\\t]* )*    # If comment found, allow more spaces.
6696(?:
6697[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
6698(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
6699|
6700\\[                            # [
6701(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
6702\\]                           #           ]
6703)
6704[\\040\\t]*                    # Nab whitespace.
6705(?:
6706\\(                              #  (
6707[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6708(?:                                 #       (
6709(?:  \\\\ [^\\x80-\\xff]  |
6710\\(                            #  (
6711[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6712(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6713\\)                           #                       )
6714)    #         special
6715[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6716)*                                  #            )*
6717\\)                             #                )
6718[\\040\\t]* )*    # If comment found, allow more spaces.
6719# optional trailing comments
6720(?:
6721\\.
6722[\\040\\t]*                    # Nab whitespace.
6723(?:
6724\\(                              #  (
6725[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6726(?:                                 #       (
6727(?:  \\\\ [^\\x80-\\xff]  |
6728\\(                            #  (
6729[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6730(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6731\\)                           #                       )
6732)    #         special
6733[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6734)*                                  #            )*
6735\\)                             #                )
6736[\\040\\t]* )*    # If comment found, allow more spaces.
6737(?:
6738[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
6739(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
6740|
6741\\[                            # [
6742(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
6743\\]                           #           ]
6744)
6745[\\040\\t]*                    # Nab whitespace.
6746(?:
6747\\(                              #  (
6748[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6749(?:                                 #       (
6750(?:  \\\\ [^\\x80-\\xff]  |
6751\\(                            #  (
6752[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6753(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6754\\)                           #                       )
6755)    #         special
6756[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6757)*                                  #            )*
6758\\)                             #                )
6759[\\040\\t]* )*    # If comment found, allow more spaces.
6760# optional trailing comments
6761)*
6762# address
6763|                             #  or
6764(?:
6765[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
6766(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
6767# Atom
6768|                       #  or
6769\"                                     # \"
6770[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
6771(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
6772\"                                     #        \"
6773# Quoted string
6774)
6775# leading word
6776[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
6777(?:
6778(?:
6779\\(                              #  (
6780[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6781(?:                                 #       (
6782(?:  \\\\ [^\\x80-\\xff]  |
6783\\(                            #  (
6784[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6785(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6786\\)                           #                       )
6787)    #         special
6788[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6789)*                                  #            )*
6790\\)                             #                )
6791|
6792\"                                     # \"
6793[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
6794(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
6795\"                                     #        \"
6796) # \"special\" comment or quoted string
6797[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
6798)*
6799<
6800[\\040\\t]*                    # Nab whitespace.
6801(?:
6802\\(                              #  (
6803[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6804(?:                                 #       (
6805(?:  \\\\ [^\\x80-\\xff]  |
6806\\(                            #  (
6807[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6808(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6809\\)                           #                       )
6810)    #         special
6811[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6812)*                                  #            )*
6813\\)                             #                )
6814[\\040\\t]* )*    # If comment found, allow more spaces.
6815# <
6816(?:
6817@
6818[\\040\\t]*                    # Nab whitespace.
6819(?:
6820\\(                              #  (
6821[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6822(?:                                 #       (
6823(?:  \\\\ [^\\x80-\\xff]  |
6824\\(                            #  (
6825[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6826(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6827\\)                           #                       )
6828)    #         special
6829[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6830)*                                  #            )*
6831\\)                             #                )
6832[\\040\\t]* )*    # If comment found, allow more spaces.
6833(?:
6834[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
6835(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
6836|
6837\\[                            # [
6838(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
6839\\]                           #           ]
6840)
6841[\\040\\t]*                    # Nab whitespace.
6842(?:
6843\\(                              #  (
6844[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6845(?:                                 #       (
6846(?:  \\\\ [^\\x80-\\xff]  |
6847\\(                            #  (
6848[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6849(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6850\\)                           #                       )
6851)    #         special
6852[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6853)*                                  #            )*
6854\\)                             #                )
6855[\\040\\t]* )*    # If comment found, allow more spaces.
6856# optional trailing comments
6857(?:
6858\\.
6859[\\040\\t]*                    # Nab whitespace.
6860(?:
6861\\(                              #  (
6862[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6863(?:                                 #       (
6864(?:  \\\\ [^\\x80-\\xff]  |
6865\\(                            #  (
6866[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6867(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6868\\)                           #                       )
6869)    #         special
6870[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6871)*                                  #            )*
6872\\)                             #                )
6873[\\040\\t]* )*    # If comment found, allow more spaces.
6874(?:
6875[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
6876(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
6877|
6878\\[                            # [
6879(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
6880\\]                           #           ]
6881)
6882[\\040\\t]*                    # Nab whitespace.
6883(?:
6884\\(                              #  (
6885[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6886(?:                                 #       (
6887(?:  \\\\ [^\\x80-\\xff]  |
6888\\(                            #  (
6889[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6890(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6891\\)                           #                       )
6892)    #         special
6893[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6894)*                                  #            )*
6895\\)                             #                )
6896[\\040\\t]* )*    # If comment found, allow more spaces.
6897# optional trailing comments
6898)*
6899(?: ,
6900[\\040\\t]*                    # Nab whitespace.
6901(?:
6902\\(                              #  (
6903[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6904(?:                                 #       (
6905(?:  \\\\ [^\\x80-\\xff]  |
6906\\(                            #  (
6907[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6908(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6909\\)                           #                       )
6910)    #         special
6911[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6912)*                                  #            )*
6913\\)                             #                )
6914[\\040\\t]* )*    # If comment found, allow more spaces.
6915@
6916[\\040\\t]*                    # Nab whitespace.
6917(?:
6918\\(                              #  (
6919[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6920(?:                                 #       (
6921(?:  \\\\ [^\\x80-\\xff]  |
6922\\(                            #  (
6923[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6924(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6925\\)                           #                       )
6926)    #         special
6927[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6928)*                                  #            )*
6929\\)                             #                )
6930[\\040\\t]* )*    # If comment found, allow more spaces.
6931(?:
6932[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
6933(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
6934|
6935\\[                            # [
6936(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
6937\\]                           #           ]
6938)
6939[\\040\\t]*                    # Nab whitespace.
6940(?:
6941\\(                              #  (
6942[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6943(?:                                 #       (
6944(?:  \\\\ [^\\x80-\\xff]  |
6945\\(                            #  (
6946[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6947(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6948\\)                           #                       )
6949)    #         special
6950[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6951)*                                  #            )*
6952\\)                             #                )
6953[\\040\\t]* )*    # If comment found, allow more spaces.
6954# optional trailing comments
6955(?:
6956\\.
6957[\\040\\t]*                    # Nab whitespace.
6958(?:
6959\\(                              #  (
6960[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6961(?:                                 #       (
6962(?:  \\\\ [^\\x80-\\xff]  |
6963\\(                            #  (
6964[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6965(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6966\\)                           #                       )
6967)    #         special
6968[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6969)*                                  #            )*
6970\\)                             #                )
6971[\\040\\t]* )*    # If comment found, allow more spaces.
6972(?:
6973[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
6974(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
6975|
6976\\[                            # [
6977(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
6978\\]                           #           ]
6979)
6980[\\040\\t]*                    # Nab whitespace.
6981(?:
6982\\(                              #  (
6983[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
6984(?:                                 #       (
6985(?:  \\\\ [^\\x80-\\xff]  |
6986\\(                            #  (
6987[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
6988(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
6989\\)                           #                       )
6990)    #         special
6991[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
6992)*                                  #            )*
6993\\)                             #                )
6994[\\040\\t]* )*    # If comment found, allow more spaces.
6995# optional trailing comments
6996)*
6997)*  # additional domains
6998:
6999[\\040\\t]*                    # Nab whitespace.
7000(?:
7001\\(                              #  (
7002[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7003(?:                                 #       (
7004(?:  \\\\ [^\\x80-\\xff]  |
7005\\(                            #  (
7006[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7007(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7008\\)                           #                       )
7009)    #         special
7010[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7011)*                                  #            )*
7012\\)                             #                )
7013[\\040\\t]* )*    # If comment found, allow more spaces.
7014# optional trailing comments
7015)?     #       optional route
7016(?:
7017[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
7018(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
7019# Atom
7020|                       #  or
7021\"                                     # \"
7022[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
7023(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
7024\"                                     #        \"
7025# Quoted string
7026)
7027[\\040\\t]*                    # Nab whitespace.
7028(?:
7029\\(                              #  (
7030[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7031(?:                                 #       (
7032(?:  \\\\ [^\\x80-\\xff]  |
7033\\(                            #  (
7034[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7035(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7036\\)                           #                       )
7037)    #         special
7038[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7039)*                                  #            )*
7040\\)                             #                )
7041[\\040\\t]* )*    # If comment found, allow more spaces.
7042(?:
7043\\.
7044[\\040\\t]*                    # Nab whitespace.
7045(?:
7046\\(                              #  (
7047[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7048(?:                                 #       (
7049(?:  \\\\ [^\\x80-\\xff]  |
7050\\(                            #  (
7051[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7052(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7053\\)                           #                       )
7054)    #         special
7055[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7056)*                                  #            )*
7057\\)                             #                )
7058[\\040\\t]* )*    # If comment found, allow more spaces.
7059(?:
7060[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
7061(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
7062# Atom
7063|                       #  or
7064\"                                     # \"
7065[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
7066(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
7067\"                                     #        \"
7068# Quoted string
7069)
7070[\\040\\t]*                    # Nab whitespace.
7071(?:
7072\\(                              #  (
7073[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7074(?:                                 #       (
7075(?:  \\\\ [^\\x80-\\xff]  |
7076\\(                            #  (
7077[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7078(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7079\\)                           #                       )
7080)    #         special
7081[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7082)*                                  #            )*
7083\\)                             #                )
7084[\\040\\t]* )*    # If comment found, allow more spaces.
7085# additional words
7086)*
7087@
7088[\\040\\t]*                    # Nab whitespace.
7089(?:
7090\\(                              #  (
7091[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7092(?:                                 #       (
7093(?:  \\\\ [^\\x80-\\xff]  |
7094\\(                            #  (
7095[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7096(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7097\\)                           #                       )
7098)    #         special
7099[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7100)*                                  #            )*
7101\\)                             #                )
7102[\\040\\t]* )*    # If comment found, allow more spaces.
7103(?:
7104[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
7105(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
7106|
7107\\[                            # [
7108(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
7109\\]                           #           ]
7110)
7111[\\040\\t]*                    # Nab whitespace.
7112(?:
7113\\(                              #  (
7114[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7115(?:                                 #       (
7116(?:  \\\\ [^\\x80-\\xff]  |
7117\\(                            #  (
7118[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7119(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7120\\)                           #                       )
7121)    #         special
7122[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7123)*                                  #            )*
7124\\)                             #                )
7125[\\040\\t]* )*    # If comment found, allow more spaces.
7126# optional trailing comments
7127(?:
7128\\.
7129[\\040\\t]*                    # Nab whitespace.
7130(?:
7131\\(                              #  (
7132[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7133(?:                                 #       (
7134(?:  \\\\ [^\\x80-\\xff]  |
7135\\(                            #  (
7136[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7137(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7138\\)                           #                       )
7139)    #         special
7140[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7141)*                                  #            )*
7142\\)                             #                )
7143[\\040\\t]* )*    # If comment found, allow more spaces.
7144(?:
7145[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
7146(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
7147|
7148\\[                            # [
7149(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
7150\\]                           #           ]
7151)
7152[\\040\\t]*                    # Nab whitespace.
7153(?:
7154\\(                              #  (
7155[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7156(?:                                 #       (
7157(?:  \\\\ [^\\x80-\\xff]  |
7158\\(                            #  (
7159[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7160(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7161\\)                           #                       )
7162)    #         special
7163[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7164)*                                  #            )*
7165\\)                             #                )
7166[\\040\\t]* )*    # If comment found, allow more spaces.
7167# optional trailing comments
7168)*
7169#       address spec
7170>                    #                 >
7171# name and address
7172)","&i\\1Gf\\1siR\\1e&Dl\\1BkGV",[extended])),
7173    <<"user.ain">> = iolist_to_binary(re:replace("user.ain","[\\040\\t]*                    # Nab whitespace.
7174(?:
7175\\(                              #  (
7176[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7177(?:                                 #       (
7178(?:  \\\\ [^\\x80-\\xff]  |
7179\\(                            #  (
7180[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7181(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7182\\)                           #                       )
7183)    #         special
7184[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7185)*                                  #            )*
7186\\)                             #                )
7187[\\040\\t]* )*    # If comment found, allow more spaces.
7188# optional leading comment
7189(?:
7190(?:
7191[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
7192(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
7193# Atom
7194|                       #  or
7195\"                                     # \"
7196[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
7197(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
7198\"                                     #        \"
7199# Quoted string
7200)
7201[\\040\\t]*                    # Nab whitespace.
7202(?:
7203\\(                              #  (
7204[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7205(?:                                 #       (
7206(?:  \\\\ [^\\x80-\\xff]  |
7207\\(                            #  (
7208[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7209(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7210\\)                           #                       )
7211)    #         special
7212[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7213)*                                  #            )*
7214\\)                             #                )
7215[\\040\\t]* )*    # If comment found, allow more spaces.
7216(?:
7217\\.
7218[\\040\\t]*                    # Nab whitespace.
7219(?:
7220\\(                              #  (
7221[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7222(?:                                 #       (
7223(?:  \\\\ [^\\x80-\\xff]  |
7224\\(                            #  (
7225[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7226(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7227\\)                           #                       )
7228)    #         special
7229[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7230)*                                  #            )*
7231\\)                             #                )
7232[\\040\\t]* )*    # If comment found, allow more spaces.
7233(?:
7234[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
7235(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
7236# Atom
7237|                       #  or
7238\"                                     # \"
7239[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
7240(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
7241\"                                     #        \"
7242# Quoted string
7243)
7244[\\040\\t]*                    # Nab whitespace.
7245(?:
7246\\(                              #  (
7247[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7248(?:                                 #       (
7249(?:  \\\\ [^\\x80-\\xff]  |
7250\\(                            #  (
7251[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7252(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7253\\)                           #                       )
7254)    #         special
7255[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7256)*                                  #            )*
7257\\)                             #                )
7258[\\040\\t]* )*    # If comment found, allow more spaces.
7259# additional words
7260)*
7261@
7262[\\040\\t]*                    # Nab whitespace.
7263(?:
7264\\(                              #  (
7265[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7266(?:                                 #       (
7267(?:  \\\\ [^\\x80-\\xff]  |
7268\\(                            #  (
7269[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7270(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7271\\)                           #                       )
7272)    #         special
7273[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7274)*                                  #            )*
7275\\)                             #                )
7276[\\040\\t]* )*    # If comment found, allow more spaces.
7277(?:
7278[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
7279(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
7280|
7281\\[                            # [
7282(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
7283\\]                           #           ]
7284)
7285[\\040\\t]*                    # Nab whitespace.
7286(?:
7287\\(                              #  (
7288[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7289(?:                                 #       (
7290(?:  \\\\ [^\\x80-\\xff]  |
7291\\(                            #  (
7292[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7293(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7294\\)                           #                       )
7295)    #         special
7296[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7297)*                                  #            )*
7298\\)                             #                )
7299[\\040\\t]* )*    # If comment found, allow more spaces.
7300# optional trailing comments
7301(?:
7302\\.
7303[\\040\\t]*                    # Nab whitespace.
7304(?:
7305\\(                              #  (
7306[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7307(?:                                 #       (
7308(?:  \\\\ [^\\x80-\\xff]  |
7309\\(                            #  (
7310[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7311(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7312\\)                           #                       )
7313)    #         special
7314[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7315)*                                  #            )*
7316\\)                             #                )
7317[\\040\\t]* )*    # If comment found, allow more spaces.
7318(?:
7319[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
7320(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
7321|
7322\\[                            # [
7323(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
7324\\]                           #           ]
7325)
7326[\\040\\t]*                    # Nab whitespace.
7327(?:
7328\\(                              #  (
7329[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7330(?:                                 #       (
7331(?:  \\\\ [^\\x80-\\xff]  |
7332\\(                            #  (
7333[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7334(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7335\\)                           #                       )
7336)    #         special
7337[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7338)*                                  #            )*
7339\\)                             #                )
7340[\\040\\t]* )*    # If comment found, allow more spaces.
7341# optional trailing comments
7342)*
7343# address
7344|                             #  or
7345(?:
7346[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
7347(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
7348# Atom
7349|                       #  or
7350\"                                     # \"
7351[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
7352(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
7353\"                                     #        \"
7354# Quoted string
7355)
7356# leading word
7357[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
7358(?:
7359(?:
7360\\(                              #  (
7361[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7362(?:                                 #       (
7363(?:  \\\\ [^\\x80-\\xff]  |
7364\\(                            #  (
7365[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7366(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7367\\)                           #                       )
7368)    #         special
7369[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7370)*                                  #            )*
7371\\)                             #                )
7372|
7373\"                                     # \"
7374[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
7375(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
7376\"                                     #        \"
7377) # \"special\" comment or quoted string
7378[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
7379)*
7380<
7381[\\040\\t]*                    # Nab whitespace.
7382(?:
7383\\(                              #  (
7384[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7385(?:                                 #       (
7386(?:  \\\\ [^\\x80-\\xff]  |
7387\\(                            #  (
7388[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7389(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7390\\)                           #                       )
7391)    #         special
7392[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7393)*                                  #            )*
7394\\)                             #                )
7395[\\040\\t]* )*    # If comment found, allow more spaces.
7396# <
7397(?:
7398@
7399[\\040\\t]*                    # Nab whitespace.
7400(?:
7401\\(                              #  (
7402[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7403(?:                                 #       (
7404(?:  \\\\ [^\\x80-\\xff]  |
7405\\(                            #  (
7406[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7407(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7408\\)                           #                       )
7409)    #         special
7410[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7411)*                                  #            )*
7412\\)                             #                )
7413[\\040\\t]* )*    # If comment found, allow more spaces.
7414(?:
7415[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
7416(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
7417|
7418\\[                            # [
7419(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
7420\\]                           #           ]
7421)
7422[\\040\\t]*                    # Nab whitespace.
7423(?:
7424\\(                              #  (
7425[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7426(?:                                 #       (
7427(?:  \\\\ [^\\x80-\\xff]  |
7428\\(                            #  (
7429[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7430(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7431\\)                           #                       )
7432)    #         special
7433[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7434)*                                  #            )*
7435\\)                             #                )
7436[\\040\\t]* )*    # If comment found, allow more spaces.
7437# optional trailing comments
7438(?:
7439\\.
7440[\\040\\t]*                    # Nab whitespace.
7441(?:
7442\\(                              #  (
7443[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7444(?:                                 #       (
7445(?:  \\\\ [^\\x80-\\xff]  |
7446\\(                            #  (
7447[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7448(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7449\\)                           #                       )
7450)    #         special
7451[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7452)*                                  #            )*
7453\\)                             #                )
7454[\\040\\t]* )*    # If comment found, allow more spaces.
7455(?:
7456[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
7457(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
7458|
7459\\[                            # [
7460(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
7461\\]                           #           ]
7462)
7463[\\040\\t]*                    # Nab whitespace.
7464(?:
7465\\(                              #  (
7466[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7467(?:                                 #       (
7468(?:  \\\\ [^\\x80-\\xff]  |
7469\\(                            #  (
7470[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7471(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7472\\)                           #                       )
7473)    #         special
7474[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7475)*                                  #            )*
7476\\)                             #                )
7477[\\040\\t]* )*    # If comment found, allow more spaces.
7478# optional trailing comments
7479)*
7480(?: ,
7481[\\040\\t]*                    # Nab whitespace.
7482(?:
7483\\(                              #  (
7484[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7485(?:                                 #       (
7486(?:  \\\\ [^\\x80-\\xff]  |
7487\\(                            #  (
7488[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7489(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7490\\)                           #                       )
7491)    #         special
7492[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7493)*                                  #            )*
7494\\)                             #                )
7495[\\040\\t]* )*    # If comment found, allow more spaces.
7496@
7497[\\040\\t]*                    # Nab whitespace.
7498(?:
7499\\(                              #  (
7500[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7501(?:                                 #       (
7502(?:  \\\\ [^\\x80-\\xff]  |
7503\\(                            #  (
7504[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7505(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7506\\)                           #                       )
7507)    #         special
7508[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7509)*                                  #            )*
7510\\)                             #                )
7511[\\040\\t]* )*    # If comment found, allow more spaces.
7512(?:
7513[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
7514(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
7515|
7516\\[                            # [
7517(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
7518\\]                           #           ]
7519)
7520[\\040\\t]*                    # Nab whitespace.
7521(?:
7522\\(                              #  (
7523[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7524(?:                                 #       (
7525(?:  \\\\ [^\\x80-\\xff]  |
7526\\(                            #  (
7527[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7528(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7529\\)                           #                       )
7530)    #         special
7531[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7532)*                                  #            )*
7533\\)                             #                )
7534[\\040\\t]* )*    # If comment found, allow more spaces.
7535# optional trailing comments
7536(?:
7537\\.
7538[\\040\\t]*                    # Nab whitespace.
7539(?:
7540\\(                              #  (
7541[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7542(?:                                 #       (
7543(?:  \\\\ [^\\x80-\\xff]  |
7544\\(                            #  (
7545[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7546(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7547\\)                           #                       )
7548)    #         special
7549[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7550)*                                  #            )*
7551\\)                             #                )
7552[\\040\\t]* )*    # If comment found, allow more spaces.
7553(?:
7554[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
7555(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
7556|
7557\\[                            # [
7558(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
7559\\]                           #           ]
7560)
7561[\\040\\t]*                    # Nab whitespace.
7562(?:
7563\\(                              #  (
7564[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7565(?:                                 #       (
7566(?:  \\\\ [^\\x80-\\xff]  |
7567\\(                            #  (
7568[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7569(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7570\\)                           #                       )
7571)    #         special
7572[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7573)*                                  #            )*
7574\\)                             #                )
7575[\\040\\t]* )*    # If comment found, allow more spaces.
7576# optional trailing comments
7577)*
7578)*  # additional domains
7579:
7580[\\040\\t]*                    # Nab whitespace.
7581(?:
7582\\(                              #  (
7583[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7584(?:                                 #       (
7585(?:  \\\\ [^\\x80-\\xff]  |
7586\\(                            #  (
7587[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7588(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7589\\)                           #                       )
7590)    #         special
7591[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7592)*                                  #            )*
7593\\)                             #                )
7594[\\040\\t]* )*    # If comment found, allow more spaces.
7595# optional trailing comments
7596)?     #       optional route
7597(?:
7598[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
7599(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
7600# Atom
7601|                       #  or
7602\"                                     # \"
7603[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
7604(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
7605\"                                     #        \"
7606# Quoted string
7607)
7608[\\040\\t]*                    # Nab whitespace.
7609(?:
7610\\(                              #  (
7611[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7612(?:                                 #       (
7613(?:  \\\\ [^\\x80-\\xff]  |
7614\\(                            #  (
7615[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7616(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7617\\)                           #                       )
7618)    #         special
7619[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7620)*                                  #            )*
7621\\)                             #                )
7622[\\040\\t]* )*    # If comment found, allow more spaces.
7623(?:
7624\\.
7625[\\040\\t]*                    # Nab whitespace.
7626(?:
7627\\(                              #  (
7628[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7629(?:                                 #       (
7630(?:  \\\\ [^\\x80-\\xff]  |
7631\\(                            #  (
7632[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7633(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7634\\)                           #                       )
7635)    #         special
7636[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7637)*                                  #            )*
7638\\)                             #                )
7639[\\040\\t]* )*    # If comment found, allow more spaces.
7640(?:
7641[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
7642(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
7643# Atom
7644|                       #  or
7645\"                                     # \"
7646[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
7647(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
7648\"                                     #        \"
7649# Quoted string
7650)
7651[\\040\\t]*                    # Nab whitespace.
7652(?:
7653\\(                              #  (
7654[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7655(?:                                 #       (
7656(?:  \\\\ [^\\x80-\\xff]  |
7657\\(                            #  (
7658[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7659(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7660\\)                           #                       )
7661)    #         special
7662[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7663)*                                  #            )*
7664\\)                             #                )
7665[\\040\\t]* )*    # If comment found, allow more spaces.
7666# additional words
7667)*
7668@
7669[\\040\\t]*                    # Nab whitespace.
7670(?:
7671\\(                              #  (
7672[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7673(?:                                 #       (
7674(?:  \\\\ [^\\x80-\\xff]  |
7675\\(                            #  (
7676[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7677(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7678\\)                           #                       )
7679)    #         special
7680[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7681)*                                  #            )*
7682\\)                             #                )
7683[\\040\\t]* )*    # If comment found, allow more spaces.
7684(?:
7685[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
7686(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
7687|
7688\\[                            # [
7689(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
7690\\]                           #           ]
7691)
7692[\\040\\t]*                    # Nab whitespace.
7693(?:
7694\\(                              #  (
7695[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7696(?:                                 #       (
7697(?:  \\\\ [^\\x80-\\xff]  |
7698\\(                            #  (
7699[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7700(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7701\\)                           #                       )
7702)    #         special
7703[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7704)*                                  #            )*
7705\\)                             #                )
7706[\\040\\t]* )*    # If comment found, allow more spaces.
7707# optional trailing comments
7708(?:
7709\\.
7710[\\040\\t]*                    # Nab whitespace.
7711(?:
7712\\(                              #  (
7713[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7714(?:                                 #       (
7715(?:  \\\\ [^\\x80-\\xff]  |
7716\\(                            #  (
7717[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7718(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7719\\)                           #                       )
7720)    #         special
7721[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7722)*                                  #            )*
7723\\)                             #                )
7724[\\040\\t]* )*    # If comment found, allow more spaces.
7725(?:
7726[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
7727(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
7728|
7729\\[                            # [
7730(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
7731\\]                           #           ]
7732)
7733[\\040\\t]*                    # Nab whitespace.
7734(?:
7735\\(                              #  (
7736[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7737(?:                                 #       (
7738(?:  \\\\ [^\\x80-\\xff]  |
7739\\(                            #  (
7740[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7741(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7742\\)                           #                       )
7743)    #         special
7744[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7745)*                                  #            )*
7746\\)                             #                )
7747[\\040\\t]* )*    # If comment found, allow more spaces.
7748# optional trailing comments
7749)*
7750#       address spec
7751>                    #                 >
7752# name and address
7753)","&i\\1Gf\\1siR\\1e&Dl\\1BkGV",[extended,global])),
7754    <<"\"A. Other\" <user.1234.ain> (a comment)">> = iolist_to_binary(re:replace("\"A. Other\" <user.1234.ain> (a comment)","[\\040\\t]*                    # Nab whitespace.
7755(?:
7756\\(                              #  (
7757[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7758(?:                                 #       (
7759(?:  \\\\ [^\\x80-\\xff]  |
7760\\(                            #  (
7761[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7762(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7763\\)                           #                       )
7764)    #         special
7765[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7766)*                                  #            )*
7767\\)                             #                )
7768[\\040\\t]* )*    # If comment found, allow more spaces.
7769# optional leading comment
7770(?:
7771(?:
7772[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
7773(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
7774# Atom
7775|                       #  or
7776\"                                     # \"
7777[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
7778(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
7779\"                                     #        \"
7780# Quoted string
7781)
7782[\\040\\t]*                    # Nab whitespace.
7783(?:
7784\\(                              #  (
7785[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7786(?:                                 #       (
7787(?:  \\\\ [^\\x80-\\xff]  |
7788\\(                            #  (
7789[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7790(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7791\\)                           #                       )
7792)    #         special
7793[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7794)*                                  #            )*
7795\\)                             #                )
7796[\\040\\t]* )*    # If comment found, allow more spaces.
7797(?:
7798\\.
7799[\\040\\t]*                    # Nab whitespace.
7800(?:
7801\\(                              #  (
7802[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7803(?:                                 #       (
7804(?:  \\\\ [^\\x80-\\xff]  |
7805\\(                            #  (
7806[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7807(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7808\\)                           #                       )
7809)    #         special
7810[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7811)*                                  #            )*
7812\\)                             #                )
7813[\\040\\t]* )*    # If comment found, allow more spaces.
7814(?:
7815[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
7816(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
7817# Atom
7818|                       #  or
7819\"                                     # \"
7820[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
7821(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
7822\"                                     #        \"
7823# Quoted string
7824)
7825[\\040\\t]*                    # Nab whitespace.
7826(?:
7827\\(                              #  (
7828[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7829(?:                                 #       (
7830(?:  \\\\ [^\\x80-\\xff]  |
7831\\(                            #  (
7832[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7833(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7834\\)                           #                       )
7835)    #         special
7836[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7837)*                                  #            )*
7838\\)                             #                )
7839[\\040\\t]* )*    # If comment found, allow more spaces.
7840# additional words
7841)*
7842@
7843[\\040\\t]*                    # Nab whitespace.
7844(?:
7845\\(                              #  (
7846[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7847(?:                                 #       (
7848(?:  \\\\ [^\\x80-\\xff]  |
7849\\(                            #  (
7850[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7851(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7852\\)                           #                       )
7853)    #         special
7854[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7855)*                                  #            )*
7856\\)                             #                )
7857[\\040\\t]* )*    # If comment found, allow more spaces.
7858(?:
7859[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
7860(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
7861|
7862\\[                            # [
7863(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
7864\\]                           #           ]
7865)
7866[\\040\\t]*                    # Nab whitespace.
7867(?:
7868\\(                              #  (
7869[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7870(?:                                 #       (
7871(?:  \\\\ [^\\x80-\\xff]  |
7872\\(                            #  (
7873[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7874(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7875\\)                           #                       )
7876)    #         special
7877[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7878)*                                  #            )*
7879\\)                             #                )
7880[\\040\\t]* )*    # If comment found, allow more spaces.
7881# optional trailing comments
7882(?:
7883\\.
7884[\\040\\t]*                    # Nab whitespace.
7885(?:
7886\\(                              #  (
7887[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7888(?:                                 #       (
7889(?:  \\\\ [^\\x80-\\xff]  |
7890\\(                            #  (
7891[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7892(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7893\\)                           #                       )
7894)    #         special
7895[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7896)*                                  #            )*
7897\\)                             #                )
7898[\\040\\t]* )*    # If comment found, allow more spaces.
7899(?:
7900[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
7901(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
7902|
7903\\[                            # [
7904(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
7905\\]                           #           ]
7906)
7907[\\040\\t]*                    # Nab whitespace.
7908(?:
7909\\(                              #  (
7910[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7911(?:                                 #       (
7912(?:  \\\\ [^\\x80-\\xff]  |
7913\\(                            #  (
7914[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7915(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7916\\)                           #                       )
7917)    #         special
7918[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7919)*                                  #            )*
7920\\)                             #                )
7921[\\040\\t]* )*    # If comment found, allow more spaces.
7922# optional trailing comments
7923)*
7924# address
7925|                             #  or
7926(?:
7927[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
7928(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
7929# Atom
7930|                       #  or
7931\"                                     # \"
7932[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
7933(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
7934\"                                     #        \"
7935# Quoted string
7936)
7937# leading word
7938[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
7939(?:
7940(?:
7941\\(                              #  (
7942[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7943(?:                                 #       (
7944(?:  \\\\ [^\\x80-\\xff]  |
7945\\(                            #  (
7946[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7947(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7948\\)                           #                       )
7949)    #         special
7950[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7951)*                                  #            )*
7952\\)                             #                )
7953|
7954\"                                     # \"
7955[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
7956(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
7957\"                                     #        \"
7958) # \"special\" comment or quoted string
7959[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
7960)*
7961<
7962[\\040\\t]*                    # Nab whitespace.
7963(?:
7964\\(                              #  (
7965[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7966(?:                                 #       (
7967(?:  \\\\ [^\\x80-\\xff]  |
7968\\(                            #  (
7969[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7970(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7971\\)                           #                       )
7972)    #         special
7973[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7974)*                                  #            )*
7975\\)                             #                )
7976[\\040\\t]* )*    # If comment found, allow more spaces.
7977# <
7978(?:
7979@
7980[\\040\\t]*                    # Nab whitespace.
7981(?:
7982\\(                              #  (
7983[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
7984(?:                                 #       (
7985(?:  \\\\ [^\\x80-\\xff]  |
7986\\(                            #  (
7987[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
7988(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
7989\\)                           #                       )
7990)    #         special
7991[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
7992)*                                  #            )*
7993\\)                             #                )
7994[\\040\\t]* )*    # If comment found, allow more spaces.
7995(?:
7996[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
7997(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
7998|
7999\\[                            # [
8000(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
8001\\]                           #           ]
8002)
8003[\\040\\t]*                    # Nab whitespace.
8004(?:
8005\\(                              #  (
8006[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8007(?:                                 #       (
8008(?:  \\\\ [^\\x80-\\xff]  |
8009\\(                            #  (
8010[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8011(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8012\\)                           #                       )
8013)    #         special
8014[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8015)*                                  #            )*
8016\\)                             #                )
8017[\\040\\t]* )*    # If comment found, allow more spaces.
8018# optional trailing comments
8019(?:
8020\\.
8021[\\040\\t]*                    # Nab whitespace.
8022(?:
8023\\(                              #  (
8024[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8025(?:                                 #       (
8026(?:  \\\\ [^\\x80-\\xff]  |
8027\\(                            #  (
8028[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8029(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8030\\)                           #                       )
8031)    #         special
8032[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8033)*                                  #            )*
8034\\)                             #                )
8035[\\040\\t]* )*    # If comment found, allow more spaces.
8036(?:
8037[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
8038(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
8039|
8040\\[                            # [
8041(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
8042\\]                           #           ]
8043)
8044[\\040\\t]*                    # Nab whitespace.
8045(?:
8046\\(                              #  (
8047[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8048(?:                                 #       (
8049(?:  \\\\ [^\\x80-\\xff]  |
8050\\(                            #  (
8051[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8052(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8053\\)                           #                       )
8054)    #         special
8055[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8056)*                                  #            )*
8057\\)                             #                )
8058[\\040\\t]* )*    # If comment found, allow more spaces.
8059# optional trailing comments
8060)*
8061(?: ,
8062[\\040\\t]*                    # Nab whitespace.
8063(?:
8064\\(                              #  (
8065[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8066(?:                                 #       (
8067(?:  \\\\ [^\\x80-\\xff]  |
8068\\(                            #  (
8069[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8070(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8071\\)                           #                       )
8072)    #         special
8073[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8074)*                                  #            )*
8075\\)                             #                )
8076[\\040\\t]* )*    # If comment found, allow more spaces.
8077@
8078[\\040\\t]*                    # Nab whitespace.
8079(?:
8080\\(                              #  (
8081[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8082(?:                                 #       (
8083(?:  \\\\ [^\\x80-\\xff]  |
8084\\(                            #  (
8085[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8086(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8087\\)                           #                       )
8088)    #         special
8089[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8090)*                                  #            )*
8091\\)                             #                )
8092[\\040\\t]* )*    # If comment found, allow more spaces.
8093(?:
8094[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
8095(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
8096|
8097\\[                            # [
8098(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
8099\\]                           #           ]
8100)
8101[\\040\\t]*                    # Nab whitespace.
8102(?:
8103\\(                              #  (
8104[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8105(?:                                 #       (
8106(?:  \\\\ [^\\x80-\\xff]  |
8107\\(                            #  (
8108[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8109(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8110\\)                           #                       )
8111)    #         special
8112[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8113)*                                  #            )*
8114\\)                             #                )
8115[\\040\\t]* )*    # If comment found, allow more spaces.
8116# optional trailing comments
8117(?:
8118\\.
8119[\\040\\t]*                    # Nab whitespace.
8120(?:
8121\\(                              #  (
8122[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8123(?:                                 #       (
8124(?:  \\\\ [^\\x80-\\xff]  |
8125\\(                            #  (
8126[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8127(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8128\\)                           #                       )
8129)    #         special
8130[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8131)*                                  #            )*
8132\\)                             #                )
8133[\\040\\t]* )*    # If comment found, allow more spaces.
8134(?:
8135[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
8136(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
8137|
8138\\[                            # [
8139(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
8140\\]                           #           ]
8141)
8142[\\040\\t]*                    # Nab whitespace.
8143(?:
8144\\(                              #  (
8145[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8146(?:                                 #       (
8147(?:  \\\\ [^\\x80-\\xff]  |
8148\\(                            #  (
8149[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8150(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8151\\)                           #                       )
8152)    #         special
8153[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8154)*                                  #            )*
8155\\)                             #                )
8156[\\040\\t]* )*    # If comment found, allow more spaces.
8157# optional trailing comments
8158)*
8159)*  # additional domains
8160:
8161[\\040\\t]*                    # Nab whitespace.
8162(?:
8163\\(                              #  (
8164[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8165(?:                                 #       (
8166(?:  \\\\ [^\\x80-\\xff]  |
8167\\(                            #  (
8168[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8169(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8170\\)                           #                       )
8171)    #         special
8172[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8173)*                                  #            )*
8174\\)                             #                )
8175[\\040\\t]* )*    # If comment found, allow more spaces.
8176# optional trailing comments
8177)?     #       optional route
8178(?:
8179[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
8180(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
8181# Atom
8182|                       #  or
8183\"                                     # \"
8184[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
8185(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
8186\"                                     #        \"
8187# Quoted string
8188)
8189[\\040\\t]*                    # Nab whitespace.
8190(?:
8191\\(                              #  (
8192[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8193(?:                                 #       (
8194(?:  \\\\ [^\\x80-\\xff]  |
8195\\(                            #  (
8196[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8197(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8198\\)                           #                       )
8199)    #         special
8200[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8201)*                                  #            )*
8202\\)                             #                )
8203[\\040\\t]* )*    # If comment found, allow more spaces.
8204(?:
8205\\.
8206[\\040\\t]*                    # Nab whitespace.
8207(?:
8208\\(                              #  (
8209[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8210(?:                                 #       (
8211(?:  \\\\ [^\\x80-\\xff]  |
8212\\(                            #  (
8213[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8214(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8215\\)                           #                       )
8216)    #         special
8217[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8218)*                                  #            )*
8219\\)                             #                )
8220[\\040\\t]* )*    # If comment found, allow more spaces.
8221(?:
8222[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
8223(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
8224# Atom
8225|                       #  or
8226\"                                     # \"
8227[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
8228(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
8229\"                                     #        \"
8230# Quoted string
8231)
8232[\\040\\t]*                    # Nab whitespace.
8233(?:
8234\\(                              #  (
8235[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8236(?:                                 #       (
8237(?:  \\\\ [^\\x80-\\xff]  |
8238\\(                            #  (
8239[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8240(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8241\\)                           #                       )
8242)    #         special
8243[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8244)*                                  #            )*
8245\\)                             #                )
8246[\\040\\t]* )*    # If comment found, allow more spaces.
8247# additional words
8248)*
8249@
8250[\\040\\t]*                    # Nab whitespace.
8251(?:
8252\\(                              #  (
8253[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8254(?:                                 #       (
8255(?:  \\\\ [^\\x80-\\xff]  |
8256\\(                            #  (
8257[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8258(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8259\\)                           #                       )
8260)    #         special
8261[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8262)*                                  #            )*
8263\\)                             #                )
8264[\\040\\t]* )*    # If comment found, allow more spaces.
8265(?:
8266[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
8267(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
8268|
8269\\[                            # [
8270(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
8271\\]                           #           ]
8272)
8273[\\040\\t]*                    # Nab whitespace.
8274(?:
8275\\(                              #  (
8276[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8277(?:                                 #       (
8278(?:  \\\\ [^\\x80-\\xff]  |
8279\\(                            #  (
8280[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8281(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8282\\)                           #                       )
8283)    #         special
8284[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8285)*                                  #            )*
8286\\)                             #                )
8287[\\040\\t]* )*    # If comment found, allow more spaces.
8288# optional trailing comments
8289(?:
8290\\.
8291[\\040\\t]*                    # Nab whitespace.
8292(?:
8293\\(                              #  (
8294[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8295(?:                                 #       (
8296(?:  \\\\ [^\\x80-\\xff]  |
8297\\(                            #  (
8298[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8299(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8300\\)                           #                       )
8301)    #         special
8302[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8303)*                                  #            )*
8304\\)                             #                )
8305[\\040\\t]* )*    # If comment found, allow more spaces.
8306(?:
8307[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
8308(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
8309|
8310\\[                            # [
8311(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
8312\\]                           #           ]
8313)
8314[\\040\\t]*                    # Nab whitespace.
8315(?:
8316\\(                              #  (
8317[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8318(?:                                 #       (
8319(?:  \\\\ [^\\x80-\\xff]  |
8320\\(                            #  (
8321[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8322(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8323\\)                           #                       )
8324)    #         special
8325[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8326)*                                  #            )*
8327\\)                             #                )
8328[\\040\\t]* )*    # If comment found, allow more spaces.
8329# optional trailing comments
8330)*
8331#       address spec
8332>                    #                 >
8333# name and address
8334)","&&CV&S&OMP\\1iO\\1&vbRN",[extended])),
8335    <<"\"A. Other\" <user.1234.ain> (a comment)">> = iolist_to_binary(re:replace("\"A. Other\" <user.1234.ain> (a comment)","[\\040\\t]*                    # Nab whitespace.
8336(?:
8337\\(                              #  (
8338[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8339(?:                                 #       (
8340(?:  \\\\ [^\\x80-\\xff]  |
8341\\(                            #  (
8342[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8343(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8344\\)                           #                       )
8345)    #         special
8346[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8347)*                                  #            )*
8348\\)                             #                )
8349[\\040\\t]* )*    # If comment found, allow more spaces.
8350# optional leading comment
8351(?:
8352(?:
8353[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
8354(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
8355# Atom
8356|                       #  or
8357\"                                     # \"
8358[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
8359(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
8360\"                                     #        \"
8361# Quoted string
8362)
8363[\\040\\t]*                    # Nab whitespace.
8364(?:
8365\\(                              #  (
8366[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8367(?:                                 #       (
8368(?:  \\\\ [^\\x80-\\xff]  |
8369\\(                            #  (
8370[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8371(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8372\\)                           #                       )
8373)    #         special
8374[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8375)*                                  #            )*
8376\\)                             #                )
8377[\\040\\t]* )*    # If comment found, allow more spaces.
8378(?:
8379\\.
8380[\\040\\t]*                    # Nab whitespace.
8381(?:
8382\\(                              #  (
8383[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8384(?:                                 #       (
8385(?:  \\\\ [^\\x80-\\xff]  |
8386\\(                            #  (
8387[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8388(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8389\\)                           #                       )
8390)    #         special
8391[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8392)*                                  #            )*
8393\\)                             #                )
8394[\\040\\t]* )*    # If comment found, allow more spaces.
8395(?:
8396[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
8397(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
8398# Atom
8399|                       #  or
8400\"                                     # \"
8401[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
8402(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
8403\"                                     #        \"
8404# Quoted string
8405)
8406[\\040\\t]*                    # Nab whitespace.
8407(?:
8408\\(                              #  (
8409[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8410(?:                                 #       (
8411(?:  \\\\ [^\\x80-\\xff]  |
8412\\(                            #  (
8413[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8414(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8415\\)                           #                       )
8416)    #         special
8417[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8418)*                                  #            )*
8419\\)                             #                )
8420[\\040\\t]* )*    # If comment found, allow more spaces.
8421# additional words
8422)*
8423@
8424[\\040\\t]*                    # Nab whitespace.
8425(?:
8426\\(                              #  (
8427[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8428(?:                                 #       (
8429(?:  \\\\ [^\\x80-\\xff]  |
8430\\(                            #  (
8431[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8432(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8433\\)                           #                       )
8434)    #         special
8435[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8436)*                                  #            )*
8437\\)                             #                )
8438[\\040\\t]* )*    # If comment found, allow more spaces.
8439(?:
8440[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
8441(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
8442|
8443\\[                            # [
8444(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
8445\\]                           #           ]
8446)
8447[\\040\\t]*                    # Nab whitespace.
8448(?:
8449\\(                              #  (
8450[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8451(?:                                 #       (
8452(?:  \\\\ [^\\x80-\\xff]  |
8453\\(                            #  (
8454[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8455(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8456\\)                           #                       )
8457)    #         special
8458[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8459)*                                  #            )*
8460\\)                             #                )
8461[\\040\\t]* )*    # If comment found, allow more spaces.
8462# optional trailing comments
8463(?:
8464\\.
8465[\\040\\t]*                    # Nab whitespace.
8466(?:
8467\\(                              #  (
8468[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8469(?:                                 #       (
8470(?:  \\\\ [^\\x80-\\xff]  |
8471\\(                            #  (
8472[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8473(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8474\\)                           #                       )
8475)    #         special
8476[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8477)*                                  #            )*
8478\\)                             #                )
8479[\\040\\t]* )*    # If comment found, allow more spaces.
8480(?:
8481[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
8482(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
8483|
8484\\[                            # [
8485(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
8486\\]                           #           ]
8487)
8488[\\040\\t]*                    # Nab whitespace.
8489(?:
8490\\(                              #  (
8491[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8492(?:                                 #       (
8493(?:  \\\\ [^\\x80-\\xff]  |
8494\\(                            #  (
8495[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8496(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8497\\)                           #                       )
8498)    #         special
8499[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8500)*                                  #            )*
8501\\)                             #                )
8502[\\040\\t]* )*    # If comment found, allow more spaces.
8503# optional trailing comments
8504)*
8505# address
8506|                             #  or
8507(?:
8508[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
8509(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
8510# Atom
8511|                       #  or
8512\"                                     # \"
8513[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
8514(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
8515\"                                     #        \"
8516# Quoted string
8517)
8518# leading word
8519[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
8520(?:
8521(?:
8522\\(                              #  (
8523[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8524(?:                                 #       (
8525(?:  \\\\ [^\\x80-\\xff]  |
8526\\(                            #  (
8527[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8528(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8529\\)                           #                       )
8530)    #         special
8531[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8532)*                                  #            )*
8533\\)                             #                )
8534|
8535\"                                     # \"
8536[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
8537(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
8538\"                                     #        \"
8539) # \"special\" comment or quoted string
8540[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
8541)*
8542<
8543[\\040\\t]*                    # Nab whitespace.
8544(?:
8545\\(                              #  (
8546[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8547(?:                                 #       (
8548(?:  \\\\ [^\\x80-\\xff]  |
8549\\(                            #  (
8550[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8551(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8552\\)                           #                       )
8553)    #         special
8554[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8555)*                                  #            )*
8556\\)                             #                )
8557[\\040\\t]* )*    # If comment found, allow more spaces.
8558# <
8559(?:
8560@
8561[\\040\\t]*                    # Nab whitespace.
8562(?:
8563\\(                              #  (
8564[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8565(?:                                 #       (
8566(?:  \\\\ [^\\x80-\\xff]  |
8567\\(                            #  (
8568[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8569(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8570\\)                           #                       )
8571)    #         special
8572[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8573)*                                  #            )*
8574\\)                             #                )
8575[\\040\\t]* )*    # If comment found, allow more spaces.
8576(?:
8577[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
8578(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
8579|
8580\\[                            # [
8581(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
8582\\]                           #           ]
8583)
8584[\\040\\t]*                    # Nab whitespace.
8585(?:
8586\\(                              #  (
8587[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8588(?:                                 #       (
8589(?:  \\\\ [^\\x80-\\xff]  |
8590\\(                            #  (
8591[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8592(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8593\\)                           #                       )
8594)    #         special
8595[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8596)*                                  #            )*
8597\\)                             #                )
8598[\\040\\t]* )*    # If comment found, allow more spaces.
8599# optional trailing comments
8600(?:
8601\\.
8602[\\040\\t]*                    # Nab whitespace.
8603(?:
8604\\(                              #  (
8605[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8606(?:                                 #       (
8607(?:  \\\\ [^\\x80-\\xff]  |
8608\\(                            #  (
8609[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8610(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8611\\)                           #                       )
8612)    #         special
8613[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8614)*                                  #            )*
8615\\)                             #                )
8616[\\040\\t]* )*    # If comment found, allow more spaces.
8617(?:
8618[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
8619(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
8620|
8621\\[                            # [
8622(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
8623\\]                           #           ]
8624)
8625[\\040\\t]*                    # Nab whitespace.
8626(?:
8627\\(                              #  (
8628[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8629(?:                                 #       (
8630(?:  \\\\ [^\\x80-\\xff]  |
8631\\(                            #  (
8632[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8633(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8634\\)                           #                       )
8635)    #         special
8636[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8637)*                                  #            )*
8638\\)                             #                )
8639[\\040\\t]* )*    # If comment found, allow more spaces.
8640# optional trailing comments
8641)*
8642(?: ,
8643[\\040\\t]*                    # Nab whitespace.
8644(?:
8645\\(                              #  (
8646[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8647(?:                                 #       (
8648(?:  \\\\ [^\\x80-\\xff]  |
8649\\(                            #  (
8650[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8651(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8652\\)                           #                       )
8653)    #         special
8654[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8655)*                                  #            )*
8656\\)                             #                )
8657[\\040\\t]* )*    # If comment found, allow more spaces.
8658@
8659[\\040\\t]*                    # Nab whitespace.
8660(?:
8661\\(                              #  (
8662[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8663(?:                                 #       (
8664(?:  \\\\ [^\\x80-\\xff]  |
8665\\(                            #  (
8666[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8667(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8668\\)                           #                       )
8669)    #         special
8670[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8671)*                                  #            )*
8672\\)                             #                )
8673[\\040\\t]* )*    # If comment found, allow more spaces.
8674(?:
8675[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
8676(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
8677|
8678\\[                            # [
8679(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
8680\\]                           #           ]
8681)
8682[\\040\\t]*                    # Nab whitespace.
8683(?:
8684\\(                              #  (
8685[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8686(?:                                 #       (
8687(?:  \\\\ [^\\x80-\\xff]  |
8688\\(                            #  (
8689[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8690(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8691\\)                           #                       )
8692)    #         special
8693[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8694)*                                  #            )*
8695\\)                             #                )
8696[\\040\\t]* )*    # If comment found, allow more spaces.
8697# optional trailing comments
8698(?:
8699\\.
8700[\\040\\t]*                    # Nab whitespace.
8701(?:
8702\\(                              #  (
8703[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8704(?:                                 #       (
8705(?:  \\\\ [^\\x80-\\xff]  |
8706\\(                            #  (
8707[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8708(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8709\\)                           #                       )
8710)    #         special
8711[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8712)*                                  #            )*
8713\\)                             #                )
8714[\\040\\t]* )*    # If comment found, allow more spaces.
8715(?:
8716[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
8717(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
8718|
8719\\[                            # [
8720(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
8721\\]                           #           ]
8722)
8723[\\040\\t]*                    # Nab whitespace.
8724(?:
8725\\(                              #  (
8726[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8727(?:                                 #       (
8728(?:  \\\\ [^\\x80-\\xff]  |
8729\\(                            #  (
8730[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8731(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8732\\)                           #                       )
8733)    #         special
8734[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8735)*                                  #            )*
8736\\)                             #                )
8737[\\040\\t]* )*    # If comment found, allow more spaces.
8738# optional trailing comments
8739)*
8740)*  # additional domains
8741:
8742[\\040\\t]*                    # Nab whitespace.
8743(?:
8744\\(                              #  (
8745[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8746(?:                                 #       (
8747(?:  \\\\ [^\\x80-\\xff]  |
8748\\(                            #  (
8749[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8750(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8751\\)                           #                       )
8752)    #         special
8753[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8754)*                                  #            )*
8755\\)                             #                )
8756[\\040\\t]* )*    # If comment found, allow more spaces.
8757# optional trailing comments
8758)?     #       optional route
8759(?:
8760[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
8761(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
8762# Atom
8763|                       #  or
8764\"                                     # \"
8765[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
8766(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
8767\"                                     #        \"
8768# Quoted string
8769)
8770[\\040\\t]*                    # Nab whitespace.
8771(?:
8772\\(                              #  (
8773[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8774(?:                                 #       (
8775(?:  \\\\ [^\\x80-\\xff]  |
8776\\(                            #  (
8777[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8778(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8779\\)                           #                       )
8780)    #         special
8781[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8782)*                                  #            )*
8783\\)                             #                )
8784[\\040\\t]* )*    # If comment found, allow more spaces.
8785(?:
8786\\.
8787[\\040\\t]*                    # Nab whitespace.
8788(?:
8789\\(                              #  (
8790[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8791(?:                                 #       (
8792(?:  \\\\ [^\\x80-\\xff]  |
8793\\(                            #  (
8794[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8795(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8796\\)                           #                       )
8797)    #         special
8798[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8799)*                                  #            )*
8800\\)                             #                )
8801[\\040\\t]* )*    # If comment found, allow more spaces.
8802(?:
8803[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
8804(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
8805# Atom
8806|                       #  or
8807\"                                     # \"
8808[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
8809(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
8810\"                                     #        \"
8811# Quoted string
8812)
8813[\\040\\t]*                    # Nab whitespace.
8814(?:
8815\\(                              #  (
8816[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8817(?:                                 #       (
8818(?:  \\\\ [^\\x80-\\xff]  |
8819\\(                            #  (
8820[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8821(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8822\\)                           #                       )
8823)    #         special
8824[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8825)*                                  #            )*
8826\\)                             #                )
8827[\\040\\t]* )*    # If comment found, allow more spaces.
8828# additional words
8829)*
8830@
8831[\\040\\t]*                    # Nab whitespace.
8832(?:
8833\\(                              #  (
8834[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8835(?:                                 #       (
8836(?:  \\\\ [^\\x80-\\xff]  |
8837\\(                            #  (
8838[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8839(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8840\\)                           #                       )
8841)    #         special
8842[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8843)*                                  #            )*
8844\\)                             #                )
8845[\\040\\t]* )*    # If comment found, allow more spaces.
8846(?:
8847[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
8848(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
8849|
8850\\[                            # [
8851(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
8852\\]                           #           ]
8853)
8854[\\040\\t]*                    # Nab whitespace.
8855(?:
8856\\(                              #  (
8857[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8858(?:                                 #       (
8859(?:  \\\\ [^\\x80-\\xff]  |
8860\\(                            #  (
8861[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8862(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8863\\)                           #                       )
8864)    #         special
8865[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8866)*                                  #            )*
8867\\)                             #                )
8868[\\040\\t]* )*    # If comment found, allow more spaces.
8869# optional trailing comments
8870(?:
8871\\.
8872[\\040\\t]*                    # Nab whitespace.
8873(?:
8874\\(                              #  (
8875[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8876(?:                                 #       (
8877(?:  \\\\ [^\\x80-\\xff]  |
8878\\(                            #  (
8879[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8880(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8881\\)                           #                       )
8882)    #         special
8883[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8884)*                                  #            )*
8885\\)                             #                )
8886[\\040\\t]* )*    # If comment found, allow more spaces.
8887(?:
8888[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
8889(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
8890|
8891\\[                            # [
8892(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
8893\\]                           #           ]
8894)
8895[\\040\\t]*                    # Nab whitespace.
8896(?:
8897\\(                              #  (
8898[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8899(?:                                 #       (
8900(?:  \\\\ [^\\x80-\\xff]  |
8901\\(                            #  (
8902[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8903(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8904\\)                           #                       )
8905)    #         special
8906[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8907)*                                  #            )*
8908\\)                             #                )
8909[\\040\\t]* )*    # If comment found, allow more spaces.
8910# optional trailing comments
8911)*
8912#       address spec
8913>                    #                 >
8914# name and address
8915)","&&CV&S&OMP\\1iO\\1&vbRN",[extended,global])),
8916    <<"A. Other <user.1234.ain> (a comment)">> = iolist_to_binary(re:replace("A. Other <user.1234.ain> (a comment)","[\\040\\t]*                    # Nab whitespace.
8917(?:
8918\\(                              #  (
8919[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8920(?:                                 #       (
8921(?:  \\\\ [^\\x80-\\xff]  |
8922\\(                            #  (
8923[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8924(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8925\\)                           #                       )
8926)    #         special
8927[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8928)*                                  #            )*
8929\\)                             #                )
8930[\\040\\t]* )*    # If comment found, allow more spaces.
8931# optional leading comment
8932(?:
8933(?:
8934[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
8935(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
8936# Atom
8937|                       #  or
8938\"                                     # \"
8939[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
8940(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
8941\"                                     #        \"
8942# Quoted string
8943)
8944[\\040\\t]*                    # Nab whitespace.
8945(?:
8946\\(                              #  (
8947[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8948(?:                                 #       (
8949(?:  \\\\ [^\\x80-\\xff]  |
8950\\(                            #  (
8951[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8952(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8953\\)                           #                       )
8954)    #         special
8955[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8956)*                                  #            )*
8957\\)                             #                )
8958[\\040\\t]* )*    # If comment found, allow more spaces.
8959(?:
8960\\.
8961[\\040\\t]*                    # Nab whitespace.
8962(?:
8963\\(                              #  (
8964[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8965(?:                                 #       (
8966(?:  \\\\ [^\\x80-\\xff]  |
8967\\(                            #  (
8968[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8969(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8970\\)                           #                       )
8971)    #         special
8972[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8973)*                                  #            )*
8974\\)                             #                )
8975[\\040\\t]* )*    # If comment found, allow more spaces.
8976(?:
8977[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
8978(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
8979# Atom
8980|                       #  or
8981\"                                     # \"
8982[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
8983(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
8984\"                                     #        \"
8985# Quoted string
8986)
8987[\\040\\t]*                    # Nab whitespace.
8988(?:
8989\\(                              #  (
8990[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
8991(?:                                 #       (
8992(?:  \\\\ [^\\x80-\\xff]  |
8993\\(                            #  (
8994[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
8995(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
8996\\)                           #                       )
8997)    #         special
8998[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
8999)*                                  #            )*
9000\\)                             #                )
9001[\\040\\t]* )*    # If comment found, allow more spaces.
9002# additional words
9003)*
9004@
9005[\\040\\t]*                    # Nab whitespace.
9006(?:
9007\\(                              #  (
9008[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9009(?:                                 #       (
9010(?:  \\\\ [^\\x80-\\xff]  |
9011\\(                            #  (
9012[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9013(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9014\\)                           #                       )
9015)    #         special
9016[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9017)*                                  #            )*
9018\\)                             #                )
9019[\\040\\t]* )*    # If comment found, allow more spaces.
9020(?:
9021[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
9022(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
9023|
9024\\[                            # [
9025(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
9026\\]                           #           ]
9027)
9028[\\040\\t]*                    # Nab whitespace.
9029(?:
9030\\(                              #  (
9031[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9032(?:                                 #       (
9033(?:  \\\\ [^\\x80-\\xff]  |
9034\\(                            #  (
9035[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9036(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9037\\)                           #                       )
9038)    #         special
9039[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9040)*                                  #            )*
9041\\)                             #                )
9042[\\040\\t]* )*    # If comment found, allow more spaces.
9043# optional trailing comments
9044(?:
9045\\.
9046[\\040\\t]*                    # Nab whitespace.
9047(?:
9048\\(                              #  (
9049[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9050(?:                                 #       (
9051(?:  \\\\ [^\\x80-\\xff]  |
9052\\(                            #  (
9053[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9054(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9055\\)                           #                       )
9056)    #         special
9057[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9058)*                                  #            )*
9059\\)                             #                )
9060[\\040\\t]* )*    # If comment found, allow more spaces.
9061(?:
9062[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
9063(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
9064|
9065\\[                            # [
9066(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
9067\\]                           #           ]
9068)
9069[\\040\\t]*                    # Nab whitespace.
9070(?:
9071\\(                              #  (
9072[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9073(?:                                 #       (
9074(?:  \\\\ [^\\x80-\\xff]  |
9075\\(                            #  (
9076[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9077(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9078\\)                           #                       )
9079)    #         special
9080[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9081)*                                  #            )*
9082\\)                             #                )
9083[\\040\\t]* )*    # If comment found, allow more spaces.
9084# optional trailing comments
9085)*
9086# address
9087|                             #  or
9088(?:
9089[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
9090(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
9091# Atom
9092|                       #  or
9093\"                                     # \"
9094[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
9095(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
9096\"                                     #        \"
9097# Quoted string
9098)
9099# leading word
9100[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
9101(?:
9102(?:
9103\\(                              #  (
9104[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9105(?:                                 #       (
9106(?:  \\\\ [^\\x80-\\xff]  |
9107\\(                            #  (
9108[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9109(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9110\\)                           #                       )
9111)    #         special
9112[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9113)*                                  #            )*
9114\\)                             #                )
9115|
9116\"                                     # \"
9117[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
9118(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
9119\"                                     #        \"
9120) # \"special\" comment or quoted string
9121[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
9122)*
9123<
9124[\\040\\t]*                    # Nab whitespace.
9125(?:
9126\\(                              #  (
9127[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9128(?:                                 #       (
9129(?:  \\\\ [^\\x80-\\xff]  |
9130\\(                            #  (
9131[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9132(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9133\\)                           #                       )
9134)    #         special
9135[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9136)*                                  #            )*
9137\\)                             #                )
9138[\\040\\t]* )*    # If comment found, allow more spaces.
9139# <
9140(?:
9141@
9142[\\040\\t]*                    # Nab whitespace.
9143(?:
9144\\(                              #  (
9145[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9146(?:                                 #       (
9147(?:  \\\\ [^\\x80-\\xff]  |
9148\\(                            #  (
9149[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9150(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9151\\)                           #                       )
9152)    #         special
9153[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9154)*                                  #            )*
9155\\)                             #                )
9156[\\040\\t]* )*    # If comment found, allow more spaces.
9157(?:
9158[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
9159(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
9160|
9161\\[                            # [
9162(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
9163\\]                           #           ]
9164)
9165[\\040\\t]*                    # Nab whitespace.
9166(?:
9167\\(                              #  (
9168[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9169(?:                                 #       (
9170(?:  \\\\ [^\\x80-\\xff]  |
9171\\(                            #  (
9172[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9173(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9174\\)                           #                       )
9175)    #         special
9176[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9177)*                                  #            )*
9178\\)                             #                )
9179[\\040\\t]* )*    # If comment found, allow more spaces.
9180# optional trailing comments
9181(?:
9182\\.
9183[\\040\\t]*                    # Nab whitespace.
9184(?:
9185\\(                              #  (
9186[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9187(?:                                 #       (
9188(?:  \\\\ [^\\x80-\\xff]  |
9189\\(                            #  (
9190[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9191(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9192\\)                           #                       )
9193)    #         special
9194[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9195)*                                  #            )*
9196\\)                             #                )
9197[\\040\\t]* )*    # If comment found, allow more spaces.
9198(?:
9199[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
9200(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
9201|
9202\\[                            # [
9203(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
9204\\]                           #           ]
9205)
9206[\\040\\t]*                    # Nab whitespace.
9207(?:
9208\\(                              #  (
9209[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9210(?:                                 #       (
9211(?:  \\\\ [^\\x80-\\xff]  |
9212\\(                            #  (
9213[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9214(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9215\\)                           #                       )
9216)    #         special
9217[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9218)*                                  #            )*
9219\\)                             #                )
9220[\\040\\t]* )*    # If comment found, allow more spaces.
9221# optional trailing comments
9222)*
9223(?: ,
9224[\\040\\t]*                    # Nab whitespace.
9225(?:
9226\\(                              #  (
9227[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9228(?:                                 #       (
9229(?:  \\\\ [^\\x80-\\xff]  |
9230\\(                            #  (
9231[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9232(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9233\\)                           #                       )
9234)    #         special
9235[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9236)*                                  #            )*
9237\\)                             #                )
9238[\\040\\t]* )*    # If comment found, allow more spaces.
9239@
9240[\\040\\t]*                    # Nab whitespace.
9241(?:
9242\\(                              #  (
9243[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9244(?:                                 #       (
9245(?:  \\\\ [^\\x80-\\xff]  |
9246\\(                            #  (
9247[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9248(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9249\\)                           #                       )
9250)    #         special
9251[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9252)*                                  #            )*
9253\\)                             #                )
9254[\\040\\t]* )*    # If comment found, allow more spaces.
9255(?:
9256[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
9257(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
9258|
9259\\[                            # [
9260(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
9261\\]                           #           ]
9262)
9263[\\040\\t]*                    # Nab whitespace.
9264(?:
9265\\(                              #  (
9266[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9267(?:                                 #       (
9268(?:  \\\\ [^\\x80-\\xff]  |
9269\\(                            #  (
9270[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9271(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9272\\)                           #                       )
9273)    #         special
9274[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9275)*                                  #            )*
9276\\)                             #                )
9277[\\040\\t]* )*    # If comment found, allow more spaces.
9278# optional trailing comments
9279(?:
9280\\.
9281[\\040\\t]*                    # Nab whitespace.
9282(?:
9283\\(                              #  (
9284[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9285(?:                                 #       (
9286(?:  \\\\ [^\\x80-\\xff]  |
9287\\(                            #  (
9288[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9289(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9290\\)                           #                       )
9291)    #         special
9292[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9293)*                                  #            )*
9294\\)                             #                )
9295[\\040\\t]* )*    # If comment found, allow more spaces.
9296(?:
9297[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
9298(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
9299|
9300\\[                            # [
9301(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
9302\\]                           #           ]
9303)
9304[\\040\\t]*                    # Nab whitespace.
9305(?:
9306\\(                              #  (
9307[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9308(?:                                 #       (
9309(?:  \\\\ [^\\x80-\\xff]  |
9310\\(                            #  (
9311[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9312(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9313\\)                           #                       )
9314)    #         special
9315[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9316)*                                  #            )*
9317\\)                             #                )
9318[\\040\\t]* )*    # If comment found, allow more spaces.
9319# optional trailing comments
9320)*
9321)*  # additional domains
9322:
9323[\\040\\t]*                    # Nab whitespace.
9324(?:
9325\\(                              #  (
9326[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9327(?:                                 #       (
9328(?:  \\\\ [^\\x80-\\xff]  |
9329\\(                            #  (
9330[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9331(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9332\\)                           #                       )
9333)    #         special
9334[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9335)*                                  #            )*
9336\\)                             #                )
9337[\\040\\t]* )*    # If comment found, allow more spaces.
9338# optional trailing comments
9339)?     #       optional route
9340(?:
9341[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
9342(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
9343# Atom
9344|                       #  or
9345\"                                     # \"
9346[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
9347(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
9348\"                                     #        \"
9349# Quoted string
9350)
9351[\\040\\t]*                    # Nab whitespace.
9352(?:
9353\\(                              #  (
9354[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9355(?:                                 #       (
9356(?:  \\\\ [^\\x80-\\xff]  |
9357\\(                            #  (
9358[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9359(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9360\\)                           #                       )
9361)    #         special
9362[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9363)*                                  #            )*
9364\\)                             #                )
9365[\\040\\t]* )*    # If comment found, allow more spaces.
9366(?:
9367\\.
9368[\\040\\t]*                    # Nab whitespace.
9369(?:
9370\\(                              #  (
9371[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9372(?:                                 #       (
9373(?:  \\\\ [^\\x80-\\xff]  |
9374\\(                            #  (
9375[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9376(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9377\\)                           #                       )
9378)    #         special
9379[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9380)*                                  #            )*
9381\\)                             #                )
9382[\\040\\t]* )*    # If comment found, allow more spaces.
9383(?:
9384[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
9385(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
9386# Atom
9387|                       #  or
9388\"                                     # \"
9389[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
9390(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
9391\"                                     #        \"
9392# Quoted string
9393)
9394[\\040\\t]*                    # Nab whitespace.
9395(?:
9396\\(                              #  (
9397[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9398(?:                                 #       (
9399(?:  \\\\ [^\\x80-\\xff]  |
9400\\(                            #  (
9401[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9402(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9403\\)                           #                       )
9404)    #         special
9405[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9406)*                                  #            )*
9407\\)                             #                )
9408[\\040\\t]* )*    # If comment found, allow more spaces.
9409# additional words
9410)*
9411@
9412[\\040\\t]*                    # Nab whitespace.
9413(?:
9414\\(                              #  (
9415[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9416(?:                                 #       (
9417(?:  \\\\ [^\\x80-\\xff]  |
9418\\(                            #  (
9419[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9420(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9421\\)                           #                       )
9422)    #         special
9423[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9424)*                                  #            )*
9425\\)                             #                )
9426[\\040\\t]* )*    # If comment found, allow more spaces.
9427(?:
9428[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
9429(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
9430|
9431\\[                            # [
9432(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
9433\\]                           #           ]
9434)
9435[\\040\\t]*                    # Nab whitespace.
9436(?:
9437\\(                              #  (
9438[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9439(?:                                 #       (
9440(?:  \\\\ [^\\x80-\\xff]  |
9441\\(                            #  (
9442[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9443(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9444\\)                           #                       )
9445)    #         special
9446[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9447)*                                  #            )*
9448\\)                             #                )
9449[\\040\\t]* )*    # If comment found, allow more spaces.
9450# optional trailing comments
9451(?:
9452\\.
9453[\\040\\t]*                    # Nab whitespace.
9454(?:
9455\\(                              #  (
9456[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9457(?:                                 #       (
9458(?:  \\\\ [^\\x80-\\xff]  |
9459\\(                            #  (
9460[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9461(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9462\\)                           #                       )
9463)    #         special
9464[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9465)*                                  #            )*
9466\\)                             #                )
9467[\\040\\t]* )*    # If comment found, allow more spaces.
9468(?:
9469[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
9470(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
9471|
9472\\[                            # [
9473(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
9474\\]                           #           ]
9475)
9476[\\040\\t]*                    # Nab whitespace.
9477(?:
9478\\(                              #  (
9479[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9480(?:                                 #       (
9481(?:  \\\\ [^\\x80-\\xff]  |
9482\\(                            #  (
9483[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9484(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9485\\)                           #                       )
9486)    #         special
9487[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9488)*                                  #            )*
9489\\)                             #                )
9490[\\040\\t]* )*    # If comment found, allow more spaces.
9491# optional trailing comments
9492)*
9493#       address spec
9494>                    #                 >
9495# name and address
9496)","YI&Yg\\1T",[extended])),
9497    <<"A. Other <user.1234.ain> (a comment)">> = iolist_to_binary(re:replace("A. Other <user.1234.ain> (a comment)","[\\040\\t]*                    # Nab whitespace.
9498(?:
9499\\(                              #  (
9500[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9501(?:                                 #       (
9502(?:  \\\\ [^\\x80-\\xff]  |
9503\\(                            #  (
9504[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9505(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9506\\)                           #                       )
9507)    #         special
9508[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9509)*                                  #            )*
9510\\)                             #                )
9511[\\040\\t]* )*    # If comment found, allow more spaces.
9512# optional leading comment
9513(?:
9514(?:
9515[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
9516(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
9517# Atom
9518|                       #  or
9519\"                                     # \"
9520[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
9521(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
9522\"                                     #        \"
9523# Quoted string
9524)
9525[\\040\\t]*                    # Nab whitespace.
9526(?:
9527\\(                              #  (
9528[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9529(?:                                 #       (
9530(?:  \\\\ [^\\x80-\\xff]  |
9531\\(                            #  (
9532[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9533(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9534\\)                           #                       )
9535)    #         special
9536[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9537)*                                  #            )*
9538\\)                             #                )
9539[\\040\\t]* )*    # If comment found, allow more spaces.
9540(?:
9541\\.
9542[\\040\\t]*                    # Nab whitespace.
9543(?:
9544\\(                              #  (
9545[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9546(?:                                 #       (
9547(?:  \\\\ [^\\x80-\\xff]  |
9548\\(                            #  (
9549[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9550(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9551\\)                           #                       )
9552)    #         special
9553[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9554)*                                  #            )*
9555\\)                             #                )
9556[\\040\\t]* )*    # If comment found, allow more spaces.
9557(?:
9558[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
9559(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
9560# Atom
9561|                       #  or
9562\"                                     # \"
9563[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
9564(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
9565\"                                     #        \"
9566# Quoted string
9567)
9568[\\040\\t]*                    # Nab whitespace.
9569(?:
9570\\(                              #  (
9571[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9572(?:                                 #       (
9573(?:  \\\\ [^\\x80-\\xff]  |
9574\\(                            #  (
9575[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9576(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9577\\)                           #                       )
9578)    #         special
9579[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9580)*                                  #            )*
9581\\)                             #                )
9582[\\040\\t]* )*    # If comment found, allow more spaces.
9583# additional words
9584)*
9585@
9586[\\040\\t]*                    # Nab whitespace.
9587(?:
9588\\(                              #  (
9589[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9590(?:                                 #       (
9591(?:  \\\\ [^\\x80-\\xff]  |
9592\\(                            #  (
9593[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9594(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9595\\)                           #                       )
9596)    #         special
9597[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9598)*                                  #            )*
9599\\)                             #                )
9600[\\040\\t]* )*    # If comment found, allow more spaces.
9601(?:
9602[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
9603(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
9604|
9605\\[                            # [
9606(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
9607\\]                           #           ]
9608)
9609[\\040\\t]*                    # Nab whitespace.
9610(?:
9611\\(                              #  (
9612[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9613(?:                                 #       (
9614(?:  \\\\ [^\\x80-\\xff]  |
9615\\(                            #  (
9616[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9617(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9618\\)                           #                       )
9619)    #         special
9620[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9621)*                                  #            )*
9622\\)                             #                )
9623[\\040\\t]* )*    # If comment found, allow more spaces.
9624# optional trailing comments
9625(?:
9626\\.
9627[\\040\\t]*                    # Nab whitespace.
9628(?:
9629\\(                              #  (
9630[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9631(?:                                 #       (
9632(?:  \\\\ [^\\x80-\\xff]  |
9633\\(                            #  (
9634[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9635(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9636\\)                           #                       )
9637)    #         special
9638[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9639)*                                  #            )*
9640\\)                             #                )
9641[\\040\\t]* )*    # If comment found, allow more spaces.
9642(?:
9643[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
9644(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
9645|
9646\\[                            # [
9647(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
9648\\]                           #           ]
9649)
9650[\\040\\t]*                    # Nab whitespace.
9651(?:
9652\\(                              #  (
9653[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9654(?:                                 #       (
9655(?:  \\\\ [^\\x80-\\xff]  |
9656\\(                            #  (
9657[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9658(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9659\\)                           #                       )
9660)    #         special
9661[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9662)*                                  #            )*
9663\\)                             #                )
9664[\\040\\t]* )*    # If comment found, allow more spaces.
9665# optional trailing comments
9666)*
9667# address
9668|                             #  or
9669(?:
9670[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
9671(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
9672# Atom
9673|                       #  or
9674\"                                     # \"
9675[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
9676(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
9677\"                                     #        \"
9678# Quoted string
9679)
9680# leading word
9681[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
9682(?:
9683(?:
9684\\(                              #  (
9685[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9686(?:                                 #       (
9687(?:  \\\\ [^\\x80-\\xff]  |
9688\\(                            #  (
9689[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9690(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9691\\)                           #                       )
9692)    #         special
9693[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9694)*                                  #            )*
9695\\)                             #                )
9696|
9697\"                                     # \"
9698[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
9699(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
9700\"                                     #        \"
9701) # \"special\" comment or quoted string
9702[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
9703)*
9704<
9705[\\040\\t]*                    # Nab whitespace.
9706(?:
9707\\(                              #  (
9708[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9709(?:                                 #       (
9710(?:  \\\\ [^\\x80-\\xff]  |
9711\\(                            #  (
9712[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9713(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9714\\)                           #                       )
9715)    #         special
9716[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9717)*                                  #            )*
9718\\)                             #                )
9719[\\040\\t]* )*    # If comment found, allow more spaces.
9720# <
9721(?:
9722@
9723[\\040\\t]*                    # Nab whitespace.
9724(?:
9725\\(                              #  (
9726[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9727(?:                                 #       (
9728(?:  \\\\ [^\\x80-\\xff]  |
9729\\(                            #  (
9730[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9731(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9732\\)                           #                       )
9733)    #         special
9734[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9735)*                                  #            )*
9736\\)                             #                )
9737[\\040\\t]* )*    # If comment found, allow more spaces.
9738(?:
9739[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
9740(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
9741|
9742\\[                            # [
9743(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
9744\\]                           #           ]
9745)
9746[\\040\\t]*                    # Nab whitespace.
9747(?:
9748\\(                              #  (
9749[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9750(?:                                 #       (
9751(?:  \\\\ [^\\x80-\\xff]  |
9752\\(                            #  (
9753[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9754(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9755\\)                           #                       )
9756)    #         special
9757[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9758)*                                  #            )*
9759\\)                             #                )
9760[\\040\\t]* )*    # If comment found, allow more spaces.
9761# optional trailing comments
9762(?:
9763\\.
9764[\\040\\t]*                    # Nab whitespace.
9765(?:
9766\\(                              #  (
9767[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9768(?:                                 #       (
9769(?:  \\\\ [^\\x80-\\xff]  |
9770\\(                            #  (
9771[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9772(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9773\\)                           #                       )
9774)    #         special
9775[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9776)*                                  #            )*
9777\\)                             #                )
9778[\\040\\t]* )*    # If comment found, allow more spaces.
9779(?:
9780[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
9781(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
9782|
9783\\[                            # [
9784(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
9785\\]                           #           ]
9786)
9787[\\040\\t]*                    # Nab whitespace.
9788(?:
9789\\(                              #  (
9790[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9791(?:                                 #       (
9792(?:  \\\\ [^\\x80-\\xff]  |
9793\\(                            #  (
9794[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9795(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9796\\)                           #                       )
9797)    #         special
9798[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9799)*                                  #            )*
9800\\)                             #                )
9801[\\040\\t]* )*    # If comment found, allow more spaces.
9802# optional trailing comments
9803)*
9804(?: ,
9805[\\040\\t]*                    # Nab whitespace.
9806(?:
9807\\(                              #  (
9808[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9809(?:                                 #       (
9810(?:  \\\\ [^\\x80-\\xff]  |
9811\\(                            #  (
9812[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9813(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9814\\)                           #                       )
9815)    #         special
9816[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9817)*                                  #            )*
9818\\)                             #                )
9819[\\040\\t]* )*    # If comment found, allow more spaces.
9820@
9821[\\040\\t]*                    # Nab whitespace.
9822(?:
9823\\(                              #  (
9824[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9825(?:                                 #       (
9826(?:  \\\\ [^\\x80-\\xff]  |
9827\\(                            #  (
9828[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9829(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9830\\)                           #                       )
9831)    #         special
9832[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9833)*                                  #            )*
9834\\)                             #                )
9835[\\040\\t]* )*    # If comment found, allow more spaces.
9836(?:
9837[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
9838(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
9839|
9840\\[                            # [
9841(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
9842\\]                           #           ]
9843)
9844[\\040\\t]*                    # Nab whitespace.
9845(?:
9846\\(                              #  (
9847[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9848(?:                                 #       (
9849(?:  \\\\ [^\\x80-\\xff]  |
9850\\(                            #  (
9851[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9852(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9853\\)                           #                       )
9854)    #         special
9855[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9856)*                                  #            )*
9857\\)                             #                )
9858[\\040\\t]* )*    # If comment found, allow more spaces.
9859# optional trailing comments
9860(?:
9861\\.
9862[\\040\\t]*                    # Nab whitespace.
9863(?:
9864\\(                              #  (
9865[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9866(?:                                 #       (
9867(?:  \\\\ [^\\x80-\\xff]  |
9868\\(                            #  (
9869[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9870(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9871\\)                           #                       )
9872)    #         special
9873[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9874)*                                  #            )*
9875\\)                             #                )
9876[\\040\\t]* )*    # If comment found, allow more spaces.
9877(?:
9878[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
9879(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
9880|
9881\\[                            # [
9882(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
9883\\]                           #           ]
9884)
9885[\\040\\t]*                    # Nab whitespace.
9886(?:
9887\\(                              #  (
9888[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9889(?:                                 #       (
9890(?:  \\\\ [^\\x80-\\xff]  |
9891\\(                            #  (
9892[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9893(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9894\\)                           #                       )
9895)    #         special
9896[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9897)*                                  #            )*
9898\\)                             #                )
9899[\\040\\t]* )*    # If comment found, allow more spaces.
9900# optional trailing comments
9901)*
9902)*  # additional domains
9903:
9904[\\040\\t]*                    # Nab whitespace.
9905(?:
9906\\(                              #  (
9907[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9908(?:                                 #       (
9909(?:  \\\\ [^\\x80-\\xff]  |
9910\\(                            #  (
9911[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9912(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9913\\)                           #                       )
9914)    #         special
9915[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9916)*                                  #            )*
9917\\)                             #                )
9918[\\040\\t]* )*    # If comment found, allow more spaces.
9919# optional trailing comments
9920)?     #       optional route
9921(?:
9922[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
9923(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
9924# Atom
9925|                       #  or
9926\"                                     # \"
9927[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
9928(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
9929\"                                     #        \"
9930# Quoted string
9931)
9932[\\040\\t]*                    # Nab whitespace.
9933(?:
9934\\(                              #  (
9935[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9936(?:                                 #       (
9937(?:  \\\\ [^\\x80-\\xff]  |
9938\\(                            #  (
9939[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9940(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9941\\)                           #                       )
9942)    #         special
9943[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9944)*                                  #            )*
9945\\)                             #                )
9946[\\040\\t]* )*    # If comment found, allow more spaces.
9947(?:
9948\\.
9949[\\040\\t]*                    # Nab whitespace.
9950(?:
9951\\(                              #  (
9952[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9953(?:                                 #       (
9954(?:  \\\\ [^\\x80-\\xff]  |
9955\\(                            #  (
9956[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9957(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9958\\)                           #                       )
9959)    #         special
9960[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9961)*                                  #            )*
9962\\)                             #                )
9963[\\040\\t]* )*    # If comment found, allow more spaces.
9964(?:
9965[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
9966(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
9967# Atom
9968|                       #  or
9969\"                                     # \"
9970[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
9971(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
9972\"                                     #        \"
9973# Quoted string
9974)
9975[\\040\\t]*                    # Nab whitespace.
9976(?:
9977\\(                              #  (
9978[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9979(?:                                 #       (
9980(?:  \\\\ [^\\x80-\\xff]  |
9981\\(                            #  (
9982[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
9983(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
9984\\)                           #                       )
9985)    #         special
9986[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
9987)*                                  #            )*
9988\\)                             #                )
9989[\\040\\t]* )*    # If comment found, allow more spaces.
9990# additional words
9991)*
9992@
9993[\\040\\t]*                    # Nab whitespace.
9994(?:
9995\\(                              #  (
9996[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
9997(?:                                 #       (
9998(?:  \\\\ [^\\x80-\\xff]  |
9999\\(                            #  (
10000[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10001(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10002\\)                           #                       )
10003)    #         special
10004[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10005)*                                  #            )*
10006\\)                             #                )
10007[\\040\\t]* )*    # If comment found, allow more spaces.
10008(?:
10009[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
10010(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
10011|
10012\\[                            # [
10013(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
10014\\]                           #           ]
10015)
10016[\\040\\t]*                    # Nab whitespace.
10017(?:
10018\\(                              #  (
10019[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10020(?:                                 #       (
10021(?:  \\\\ [^\\x80-\\xff]  |
10022\\(                            #  (
10023[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10024(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10025\\)                           #                       )
10026)    #         special
10027[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10028)*                                  #            )*
10029\\)                             #                )
10030[\\040\\t]* )*    # If comment found, allow more spaces.
10031# optional trailing comments
10032(?:
10033\\.
10034[\\040\\t]*                    # Nab whitespace.
10035(?:
10036\\(                              #  (
10037[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10038(?:                                 #       (
10039(?:  \\\\ [^\\x80-\\xff]  |
10040\\(                            #  (
10041[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10042(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10043\\)                           #                       )
10044)    #         special
10045[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10046)*                                  #            )*
10047\\)                             #                )
10048[\\040\\t]* )*    # If comment found, allow more spaces.
10049(?:
10050[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
10051(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
10052|
10053\\[                            # [
10054(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
10055\\]                           #           ]
10056)
10057[\\040\\t]*                    # Nab whitespace.
10058(?:
10059\\(                              #  (
10060[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10061(?:                                 #       (
10062(?:  \\\\ [^\\x80-\\xff]  |
10063\\(                            #  (
10064[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10065(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10066\\)                           #                       )
10067)    #         special
10068[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10069)*                                  #            )*
10070\\)                             #                )
10071[\\040\\t]* )*    # If comment found, allow more spaces.
10072# optional trailing comments
10073)*
10074#       address spec
10075>                    #                 >
10076# name and address
10077)","YI&Yg\\1T",[extended,global])),
10078    <<"\"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"-re.lay">> = iolist_to_binary(re:replace("\"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"-re.lay","[\\040\\t]*                    # Nab whitespace.
10079(?:
10080\\(                              #  (
10081[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10082(?:                                 #       (
10083(?:  \\\\ [^\\x80-\\xff]  |
10084\\(                            #  (
10085[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10086(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10087\\)                           #                       )
10088)    #         special
10089[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10090)*                                  #            )*
10091\\)                             #                )
10092[\\040\\t]* )*    # If comment found, allow more spaces.
10093# optional leading comment
10094(?:
10095(?:
10096[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
10097(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
10098# Atom
10099|                       #  or
10100\"                                     # \"
10101[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
10102(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
10103\"                                     #        \"
10104# Quoted string
10105)
10106[\\040\\t]*                    # Nab whitespace.
10107(?:
10108\\(                              #  (
10109[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10110(?:                                 #       (
10111(?:  \\\\ [^\\x80-\\xff]  |
10112\\(                            #  (
10113[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10114(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10115\\)                           #                       )
10116)    #         special
10117[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10118)*                                  #            )*
10119\\)                             #                )
10120[\\040\\t]* )*    # If comment found, allow more spaces.
10121(?:
10122\\.
10123[\\040\\t]*                    # Nab whitespace.
10124(?:
10125\\(                              #  (
10126[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10127(?:                                 #       (
10128(?:  \\\\ [^\\x80-\\xff]  |
10129\\(                            #  (
10130[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10131(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10132\\)                           #                       )
10133)    #         special
10134[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10135)*                                  #            )*
10136\\)                             #                )
10137[\\040\\t]* )*    # If comment found, allow more spaces.
10138(?:
10139[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
10140(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
10141# Atom
10142|                       #  or
10143\"                                     # \"
10144[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
10145(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
10146\"                                     #        \"
10147# Quoted string
10148)
10149[\\040\\t]*                    # Nab whitespace.
10150(?:
10151\\(                              #  (
10152[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10153(?:                                 #       (
10154(?:  \\\\ [^\\x80-\\xff]  |
10155\\(                            #  (
10156[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10157(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10158\\)                           #                       )
10159)    #         special
10160[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10161)*                                  #            )*
10162\\)                             #                )
10163[\\040\\t]* )*    # If comment found, allow more spaces.
10164# additional words
10165)*
10166@
10167[\\040\\t]*                    # Nab whitespace.
10168(?:
10169\\(                              #  (
10170[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10171(?:                                 #       (
10172(?:  \\\\ [^\\x80-\\xff]  |
10173\\(                            #  (
10174[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10175(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10176\\)                           #                       )
10177)    #         special
10178[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10179)*                                  #            )*
10180\\)                             #                )
10181[\\040\\t]* )*    # If comment found, allow more spaces.
10182(?:
10183[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
10184(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
10185|
10186\\[                            # [
10187(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
10188\\]                           #           ]
10189)
10190[\\040\\t]*                    # Nab whitespace.
10191(?:
10192\\(                              #  (
10193[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10194(?:                                 #       (
10195(?:  \\\\ [^\\x80-\\xff]  |
10196\\(                            #  (
10197[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10198(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10199\\)                           #                       )
10200)    #         special
10201[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10202)*                                  #            )*
10203\\)                             #                )
10204[\\040\\t]* )*    # If comment found, allow more spaces.
10205# optional trailing comments
10206(?:
10207\\.
10208[\\040\\t]*                    # Nab whitespace.
10209(?:
10210\\(                              #  (
10211[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10212(?:                                 #       (
10213(?:  \\\\ [^\\x80-\\xff]  |
10214\\(                            #  (
10215[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10216(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10217\\)                           #                       )
10218)    #         special
10219[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10220)*                                  #            )*
10221\\)                             #                )
10222[\\040\\t]* )*    # If comment found, allow more spaces.
10223(?:
10224[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
10225(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
10226|
10227\\[                            # [
10228(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
10229\\]                           #           ]
10230)
10231[\\040\\t]*                    # Nab whitespace.
10232(?:
10233\\(                              #  (
10234[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10235(?:                                 #       (
10236(?:  \\\\ [^\\x80-\\xff]  |
10237\\(                            #  (
10238[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10239(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10240\\)                           #                       )
10241)    #         special
10242[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10243)*                                  #            )*
10244\\)                             #                )
10245[\\040\\t]* )*    # If comment found, allow more spaces.
10246# optional trailing comments
10247)*
10248# address
10249|                             #  or
10250(?:
10251[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
10252(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
10253# Atom
10254|                       #  or
10255\"                                     # \"
10256[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
10257(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
10258\"                                     #        \"
10259# Quoted string
10260)
10261# leading word
10262[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
10263(?:
10264(?:
10265\\(                              #  (
10266[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10267(?:                                 #       (
10268(?:  \\\\ [^\\x80-\\xff]  |
10269\\(                            #  (
10270[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10271(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10272\\)                           #                       )
10273)    #         special
10274[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10275)*                                  #            )*
10276\\)                             #                )
10277|
10278\"                                     # \"
10279[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
10280(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
10281\"                                     #        \"
10282) # \"special\" comment or quoted string
10283[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
10284)*
10285<
10286[\\040\\t]*                    # Nab whitespace.
10287(?:
10288\\(                              #  (
10289[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10290(?:                                 #       (
10291(?:  \\\\ [^\\x80-\\xff]  |
10292\\(                            #  (
10293[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10294(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10295\\)                           #                       )
10296)    #         special
10297[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10298)*                                  #            )*
10299\\)                             #                )
10300[\\040\\t]* )*    # If comment found, allow more spaces.
10301# <
10302(?:
10303@
10304[\\040\\t]*                    # Nab whitespace.
10305(?:
10306\\(                              #  (
10307[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10308(?:                                 #       (
10309(?:  \\\\ [^\\x80-\\xff]  |
10310\\(                            #  (
10311[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10312(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10313\\)                           #                       )
10314)    #         special
10315[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10316)*                                  #            )*
10317\\)                             #                )
10318[\\040\\t]* )*    # If comment found, allow more spaces.
10319(?:
10320[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
10321(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
10322|
10323\\[                            # [
10324(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
10325\\]                           #           ]
10326)
10327[\\040\\t]*                    # Nab whitespace.
10328(?:
10329\\(                              #  (
10330[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10331(?:                                 #       (
10332(?:  \\\\ [^\\x80-\\xff]  |
10333\\(                            #  (
10334[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10335(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10336\\)                           #                       )
10337)    #         special
10338[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10339)*                                  #            )*
10340\\)                             #                )
10341[\\040\\t]* )*    # If comment found, allow more spaces.
10342# optional trailing comments
10343(?:
10344\\.
10345[\\040\\t]*                    # Nab whitespace.
10346(?:
10347\\(                              #  (
10348[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10349(?:                                 #       (
10350(?:  \\\\ [^\\x80-\\xff]  |
10351\\(                            #  (
10352[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10353(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10354\\)                           #                       )
10355)    #         special
10356[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10357)*                                  #            )*
10358\\)                             #                )
10359[\\040\\t]* )*    # If comment found, allow more spaces.
10360(?:
10361[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
10362(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
10363|
10364\\[                            # [
10365(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
10366\\]                           #           ]
10367)
10368[\\040\\t]*                    # Nab whitespace.
10369(?:
10370\\(                              #  (
10371[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10372(?:                                 #       (
10373(?:  \\\\ [^\\x80-\\xff]  |
10374\\(                            #  (
10375[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10376(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10377\\)                           #                       )
10378)    #         special
10379[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10380)*                                  #            )*
10381\\)                             #                )
10382[\\040\\t]* )*    # If comment found, allow more spaces.
10383# optional trailing comments
10384)*
10385(?: ,
10386[\\040\\t]*                    # Nab whitespace.
10387(?:
10388\\(                              #  (
10389[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10390(?:                                 #       (
10391(?:  \\\\ [^\\x80-\\xff]  |
10392\\(                            #  (
10393[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10394(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10395\\)                           #                       )
10396)    #         special
10397[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10398)*                                  #            )*
10399\\)                             #                )
10400[\\040\\t]* )*    # If comment found, allow more spaces.
10401@
10402[\\040\\t]*                    # Nab whitespace.
10403(?:
10404\\(                              #  (
10405[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10406(?:                                 #       (
10407(?:  \\\\ [^\\x80-\\xff]  |
10408\\(                            #  (
10409[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10410(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10411\\)                           #                       )
10412)    #         special
10413[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10414)*                                  #            )*
10415\\)                             #                )
10416[\\040\\t]* )*    # If comment found, allow more spaces.
10417(?:
10418[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
10419(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
10420|
10421\\[                            # [
10422(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
10423\\]                           #           ]
10424)
10425[\\040\\t]*                    # Nab whitespace.
10426(?:
10427\\(                              #  (
10428[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10429(?:                                 #       (
10430(?:  \\\\ [^\\x80-\\xff]  |
10431\\(                            #  (
10432[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10433(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10434\\)                           #                       )
10435)    #         special
10436[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10437)*                                  #            )*
10438\\)                             #                )
10439[\\040\\t]* )*    # If comment found, allow more spaces.
10440# optional trailing comments
10441(?:
10442\\.
10443[\\040\\t]*                    # Nab whitespace.
10444(?:
10445\\(                              #  (
10446[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10447(?:                                 #       (
10448(?:  \\\\ [^\\x80-\\xff]  |
10449\\(                            #  (
10450[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10451(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10452\\)                           #                       )
10453)    #         special
10454[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10455)*                                  #            )*
10456\\)                             #                )
10457[\\040\\t]* )*    # If comment found, allow more spaces.
10458(?:
10459[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
10460(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
10461|
10462\\[                            # [
10463(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
10464\\]                           #           ]
10465)
10466[\\040\\t]*                    # Nab whitespace.
10467(?:
10468\\(                              #  (
10469[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10470(?:                                 #       (
10471(?:  \\\\ [^\\x80-\\xff]  |
10472\\(                            #  (
10473[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10474(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10475\\)                           #                       )
10476)    #         special
10477[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10478)*                                  #            )*
10479\\)                             #                )
10480[\\040\\t]* )*    # If comment found, allow more spaces.
10481# optional trailing comments
10482)*
10483)*  # additional domains
10484:
10485[\\040\\t]*                    # Nab whitespace.
10486(?:
10487\\(                              #  (
10488[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10489(?:                                 #       (
10490(?:  \\\\ [^\\x80-\\xff]  |
10491\\(                            #  (
10492[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10493(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10494\\)                           #                       )
10495)    #         special
10496[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10497)*                                  #            )*
10498\\)                             #                )
10499[\\040\\t]* )*    # If comment found, allow more spaces.
10500# optional trailing comments
10501)?     #       optional route
10502(?:
10503[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
10504(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
10505# Atom
10506|                       #  or
10507\"                                     # \"
10508[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
10509(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
10510\"                                     #        \"
10511# Quoted string
10512)
10513[\\040\\t]*                    # Nab whitespace.
10514(?:
10515\\(                              #  (
10516[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10517(?:                                 #       (
10518(?:  \\\\ [^\\x80-\\xff]  |
10519\\(                            #  (
10520[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10521(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10522\\)                           #                       )
10523)    #         special
10524[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10525)*                                  #            )*
10526\\)                             #                )
10527[\\040\\t]* )*    # If comment found, allow more spaces.
10528(?:
10529\\.
10530[\\040\\t]*                    # Nab whitespace.
10531(?:
10532\\(                              #  (
10533[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10534(?:                                 #       (
10535(?:  \\\\ [^\\x80-\\xff]  |
10536\\(                            #  (
10537[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10538(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10539\\)                           #                       )
10540)    #         special
10541[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10542)*                                  #            )*
10543\\)                             #                )
10544[\\040\\t]* )*    # If comment found, allow more spaces.
10545(?:
10546[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
10547(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
10548# Atom
10549|                       #  or
10550\"                                     # \"
10551[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
10552(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
10553\"                                     #        \"
10554# Quoted string
10555)
10556[\\040\\t]*                    # Nab whitespace.
10557(?:
10558\\(                              #  (
10559[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10560(?:                                 #       (
10561(?:  \\\\ [^\\x80-\\xff]  |
10562\\(                            #  (
10563[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10564(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10565\\)                           #                       )
10566)    #         special
10567[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10568)*                                  #            )*
10569\\)                             #                )
10570[\\040\\t]* )*    # If comment found, allow more spaces.
10571# additional words
10572)*
10573@
10574[\\040\\t]*                    # Nab whitespace.
10575(?:
10576\\(                              #  (
10577[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10578(?:                                 #       (
10579(?:  \\\\ [^\\x80-\\xff]  |
10580\\(                            #  (
10581[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10582(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10583\\)                           #                       )
10584)    #         special
10585[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10586)*                                  #            )*
10587\\)                             #                )
10588[\\040\\t]* )*    # If comment found, allow more spaces.
10589(?:
10590[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
10591(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
10592|
10593\\[                            # [
10594(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
10595\\]                           #           ]
10596)
10597[\\040\\t]*                    # Nab whitespace.
10598(?:
10599\\(                              #  (
10600[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10601(?:                                 #       (
10602(?:  \\\\ [^\\x80-\\xff]  |
10603\\(                            #  (
10604[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10605(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10606\\)                           #                       )
10607)    #         special
10608[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10609)*                                  #            )*
10610\\)                             #                )
10611[\\040\\t]* )*    # If comment found, allow more spaces.
10612# optional trailing comments
10613(?:
10614\\.
10615[\\040\\t]*                    # Nab whitespace.
10616(?:
10617\\(                              #  (
10618[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10619(?:                                 #       (
10620(?:  \\\\ [^\\x80-\\xff]  |
10621\\(                            #  (
10622[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10623(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10624\\)                           #                       )
10625)    #         special
10626[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10627)*                                  #            )*
10628\\)                             #                )
10629[\\040\\t]* )*    # If comment found, allow more spaces.
10630(?:
10631[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
10632(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
10633|
10634\\[                            # [
10635(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
10636\\]                           #           ]
10637)
10638[\\040\\t]*                    # Nab whitespace.
10639(?:
10640\\(                              #  (
10641[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10642(?:                                 #       (
10643(?:  \\\\ [^\\x80-\\xff]  |
10644\\(                            #  (
10645[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10646(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10647\\)                           #                       )
10648)    #         special
10649[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10650)*                                  #            )*
10651\\)                             #                )
10652[\\040\\t]* )*    # If comment found, allow more spaces.
10653# optional trailing comments
10654)*
10655#       address spec
10656>                    #                 >
10657# name and address
10658)","\\1TIeRL\\1UKGJ",[extended])),
10659    <<"\"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"-re.lay">> = iolist_to_binary(re:replace("\"/s=user/ou=host/o=place/prmd=uu.yy/admd= /c=gb/\"-re.lay","[\\040\\t]*                    # Nab whitespace.
10660(?:
10661\\(                              #  (
10662[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10663(?:                                 #       (
10664(?:  \\\\ [^\\x80-\\xff]  |
10665\\(                            #  (
10666[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10667(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10668\\)                           #                       )
10669)    #         special
10670[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10671)*                                  #            )*
10672\\)                             #                )
10673[\\040\\t]* )*    # If comment found, allow more spaces.
10674# optional leading comment
10675(?:
10676(?:
10677[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
10678(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
10679# Atom
10680|                       #  or
10681\"                                     # \"
10682[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
10683(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
10684\"                                     #        \"
10685# Quoted string
10686)
10687[\\040\\t]*                    # Nab whitespace.
10688(?:
10689\\(                              #  (
10690[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10691(?:                                 #       (
10692(?:  \\\\ [^\\x80-\\xff]  |
10693\\(                            #  (
10694[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10695(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10696\\)                           #                       )
10697)    #         special
10698[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10699)*                                  #            )*
10700\\)                             #                )
10701[\\040\\t]* )*    # If comment found, allow more spaces.
10702(?:
10703\\.
10704[\\040\\t]*                    # Nab whitespace.
10705(?:
10706\\(                              #  (
10707[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10708(?:                                 #       (
10709(?:  \\\\ [^\\x80-\\xff]  |
10710\\(                            #  (
10711[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10712(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10713\\)                           #                       )
10714)    #         special
10715[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10716)*                                  #            )*
10717\\)                             #                )
10718[\\040\\t]* )*    # If comment found, allow more spaces.
10719(?:
10720[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
10721(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
10722# Atom
10723|                       #  or
10724\"                                     # \"
10725[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
10726(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
10727\"                                     #        \"
10728# Quoted string
10729)
10730[\\040\\t]*                    # Nab whitespace.
10731(?:
10732\\(                              #  (
10733[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10734(?:                                 #       (
10735(?:  \\\\ [^\\x80-\\xff]  |
10736\\(                            #  (
10737[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10738(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10739\\)                           #                       )
10740)    #         special
10741[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10742)*                                  #            )*
10743\\)                             #                )
10744[\\040\\t]* )*    # If comment found, allow more spaces.
10745# additional words
10746)*
10747@
10748[\\040\\t]*                    # Nab whitespace.
10749(?:
10750\\(                              #  (
10751[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10752(?:                                 #       (
10753(?:  \\\\ [^\\x80-\\xff]  |
10754\\(                            #  (
10755[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10756(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10757\\)                           #                       )
10758)    #         special
10759[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10760)*                                  #            )*
10761\\)                             #                )
10762[\\040\\t]* )*    # If comment found, allow more spaces.
10763(?:
10764[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
10765(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
10766|
10767\\[                            # [
10768(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
10769\\]                           #           ]
10770)
10771[\\040\\t]*                    # Nab whitespace.
10772(?:
10773\\(                              #  (
10774[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10775(?:                                 #       (
10776(?:  \\\\ [^\\x80-\\xff]  |
10777\\(                            #  (
10778[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10779(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10780\\)                           #                       )
10781)    #         special
10782[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10783)*                                  #            )*
10784\\)                             #                )
10785[\\040\\t]* )*    # If comment found, allow more spaces.
10786# optional trailing comments
10787(?:
10788\\.
10789[\\040\\t]*                    # Nab whitespace.
10790(?:
10791\\(                              #  (
10792[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10793(?:                                 #       (
10794(?:  \\\\ [^\\x80-\\xff]  |
10795\\(                            #  (
10796[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10797(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10798\\)                           #                       )
10799)    #         special
10800[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10801)*                                  #            )*
10802\\)                             #                )
10803[\\040\\t]* )*    # If comment found, allow more spaces.
10804(?:
10805[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
10806(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
10807|
10808\\[                            # [
10809(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
10810\\]                           #           ]
10811)
10812[\\040\\t]*                    # Nab whitespace.
10813(?:
10814\\(                              #  (
10815[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10816(?:                                 #       (
10817(?:  \\\\ [^\\x80-\\xff]  |
10818\\(                            #  (
10819[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10820(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10821\\)                           #                       )
10822)    #         special
10823[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10824)*                                  #            )*
10825\\)                             #                )
10826[\\040\\t]* )*    # If comment found, allow more spaces.
10827# optional trailing comments
10828)*
10829# address
10830|                             #  or
10831(?:
10832[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
10833(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
10834# Atom
10835|                       #  or
10836\"                                     # \"
10837[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
10838(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
10839\"                                     #        \"
10840# Quoted string
10841)
10842# leading word
10843[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
10844(?:
10845(?:
10846\\(                              #  (
10847[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10848(?:                                 #       (
10849(?:  \\\\ [^\\x80-\\xff]  |
10850\\(                            #  (
10851[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10852(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10853\\)                           #                       )
10854)    #         special
10855[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10856)*                                  #            )*
10857\\)                             #                )
10858|
10859\"                                     # \"
10860[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
10861(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
10862\"                                     #        \"
10863) # \"special\" comment or quoted string
10864[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
10865)*
10866<
10867[\\040\\t]*                    # Nab whitespace.
10868(?:
10869\\(                              #  (
10870[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10871(?:                                 #       (
10872(?:  \\\\ [^\\x80-\\xff]  |
10873\\(                            #  (
10874[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10875(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10876\\)                           #                       )
10877)    #         special
10878[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10879)*                                  #            )*
10880\\)                             #                )
10881[\\040\\t]* )*    # If comment found, allow more spaces.
10882# <
10883(?:
10884@
10885[\\040\\t]*                    # Nab whitespace.
10886(?:
10887\\(                              #  (
10888[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10889(?:                                 #       (
10890(?:  \\\\ [^\\x80-\\xff]  |
10891\\(                            #  (
10892[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10893(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10894\\)                           #                       )
10895)    #         special
10896[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10897)*                                  #            )*
10898\\)                             #                )
10899[\\040\\t]* )*    # If comment found, allow more spaces.
10900(?:
10901[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
10902(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
10903|
10904\\[                            # [
10905(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
10906\\]                           #           ]
10907)
10908[\\040\\t]*                    # Nab whitespace.
10909(?:
10910\\(                              #  (
10911[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10912(?:                                 #       (
10913(?:  \\\\ [^\\x80-\\xff]  |
10914\\(                            #  (
10915[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10916(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10917\\)                           #                       )
10918)    #         special
10919[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10920)*                                  #            )*
10921\\)                             #                )
10922[\\040\\t]* )*    # If comment found, allow more spaces.
10923# optional trailing comments
10924(?:
10925\\.
10926[\\040\\t]*                    # Nab whitespace.
10927(?:
10928\\(                              #  (
10929[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10930(?:                                 #       (
10931(?:  \\\\ [^\\x80-\\xff]  |
10932\\(                            #  (
10933[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10934(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10935\\)                           #                       )
10936)    #         special
10937[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10938)*                                  #            )*
10939\\)                             #                )
10940[\\040\\t]* )*    # If comment found, allow more spaces.
10941(?:
10942[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
10943(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
10944|
10945\\[                            # [
10946(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
10947\\]                           #           ]
10948)
10949[\\040\\t]*                    # Nab whitespace.
10950(?:
10951\\(                              #  (
10952[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10953(?:                                 #       (
10954(?:  \\\\ [^\\x80-\\xff]  |
10955\\(                            #  (
10956[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10957(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10958\\)                           #                       )
10959)    #         special
10960[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10961)*                                  #            )*
10962\\)                             #                )
10963[\\040\\t]* )*    # If comment found, allow more spaces.
10964# optional trailing comments
10965)*
10966(?: ,
10967[\\040\\t]*                    # Nab whitespace.
10968(?:
10969\\(                              #  (
10970[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10971(?:                                 #       (
10972(?:  \\\\ [^\\x80-\\xff]  |
10973\\(                            #  (
10974[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10975(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10976\\)                           #                       )
10977)    #         special
10978[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10979)*                                  #            )*
10980\\)                             #                )
10981[\\040\\t]* )*    # If comment found, allow more spaces.
10982@
10983[\\040\\t]*                    # Nab whitespace.
10984(?:
10985\\(                              #  (
10986[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
10987(?:                                 #       (
10988(?:  \\\\ [^\\x80-\\xff]  |
10989\\(                            #  (
10990[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
10991(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
10992\\)                           #                       )
10993)    #         special
10994[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
10995)*                                  #            )*
10996\\)                             #                )
10997[\\040\\t]* )*    # If comment found, allow more spaces.
10998(?:
10999[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
11000(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
11001|
11002\\[                            # [
11003(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
11004\\]                           #           ]
11005)
11006[\\040\\t]*                    # Nab whitespace.
11007(?:
11008\\(                              #  (
11009[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11010(?:                                 #       (
11011(?:  \\\\ [^\\x80-\\xff]  |
11012\\(                            #  (
11013[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11014(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11015\\)                           #                       )
11016)    #         special
11017[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11018)*                                  #            )*
11019\\)                             #                )
11020[\\040\\t]* )*    # If comment found, allow more spaces.
11021# optional trailing comments
11022(?:
11023\\.
11024[\\040\\t]*                    # Nab whitespace.
11025(?:
11026\\(                              #  (
11027[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11028(?:                                 #       (
11029(?:  \\\\ [^\\x80-\\xff]  |
11030\\(                            #  (
11031[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11032(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11033\\)                           #                       )
11034)    #         special
11035[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11036)*                                  #            )*
11037\\)                             #                )
11038[\\040\\t]* )*    # If comment found, allow more spaces.
11039(?:
11040[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
11041(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
11042|
11043\\[                            # [
11044(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
11045\\]                           #           ]
11046)
11047[\\040\\t]*                    # Nab whitespace.
11048(?:
11049\\(                              #  (
11050[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11051(?:                                 #       (
11052(?:  \\\\ [^\\x80-\\xff]  |
11053\\(                            #  (
11054[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11055(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11056\\)                           #                       )
11057)    #         special
11058[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11059)*                                  #            )*
11060\\)                             #                )
11061[\\040\\t]* )*    # If comment found, allow more spaces.
11062# optional trailing comments
11063)*
11064)*  # additional domains
11065:
11066[\\040\\t]*                    # Nab whitespace.
11067(?:
11068\\(                              #  (
11069[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11070(?:                                 #       (
11071(?:  \\\\ [^\\x80-\\xff]  |
11072\\(                            #  (
11073[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11074(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11075\\)                           #                       )
11076)    #         special
11077[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11078)*                                  #            )*
11079\\)                             #                )
11080[\\040\\t]* )*    # If comment found, allow more spaces.
11081# optional trailing comments
11082)?     #       optional route
11083(?:
11084[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
11085(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
11086# Atom
11087|                       #  or
11088\"                                     # \"
11089[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
11090(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
11091\"                                     #        \"
11092# Quoted string
11093)
11094[\\040\\t]*                    # Nab whitespace.
11095(?:
11096\\(                              #  (
11097[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11098(?:                                 #       (
11099(?:  \\\\ [^\\x80-\\xff]  |
11100\\(                            #  (
11101[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11102(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11103\\)                           #                       )
11104)    #         special
11105[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11106)*                                  #            )*
11107\\)                             #                )
11108[\\040\\t]* )*    # If comment found, allow more spaces.
11109(?:
11110\\.
11111[\\040\\t]*                    # Nab whitespace.
11112(?:
11113\\(                              #  (
11114[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11115(?:                                 #       (
11116(?:  \\\\ [^\\x80-\\xff]  |
11117\\(                            #  (
11118[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11119(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11120\\)                           #                       )
11121)    #         special
11122[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11123)*                                  #            )*
11124\\)                             #                )
11125[\\040\\t]* )*    # If comment found, allow more spaces.
11126(?:
11127[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
11128(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
11129# Atom
11130|                       #  or
11131\"                                     # \"
11132[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
11133(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
11134\"                                     #        \"
11135# Quoted string
11136)
11137[\\040\\t]*                    # Nab whitespace.
11138(?:
11139\\(                              #  (
11140[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11141(?:                                 #       (
11142(?:  \\\\ [^\\x80-\\xff]  |
11143\\(                            #  (
11144[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11145(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11146\\)                           #                       )
11147)    #         special
11148[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11149)*                                  #            )*
11150\\)                             #                )
11151[\\040\\t]* )*    # If comment found, allow more spaces.
11152# additional words
11153)*
11154@
11155[\\040\\t]*                    # Nab whitespace.
11156(?:
11157\\(                              #  (
11158[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11159(?:                                 #       (
11160(?:  \\\\ [^\\x80-\\xff]  |
11161\\(                            #  (
11162[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11163(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11164\\)                           #                       )
11165)    #         special
11166[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11167)*                                  #            )*
11168\\)                             #                )
11169[\\040\\t]* )*    # If comment found, allow more spaces.
11170(?:
11171[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
11172(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
11173|
11174\\[                            # [
11175(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
11176\\]                           #           ]
11177)
11178[\\040\\t]*                    # Nab whitespace.
11179(?:
11180\\(                              #  (
11181[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11182(?:                                 #       (
11183(?:  \\\\ [^\\x80-\\xff]  |
11184\\(                            #  (
11185[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11186(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11187\\)                           #                       )
11188)    #         special
11189[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11190)*                                  #            )*
11191\\)                             #                )
11192[\\040\\t]* )*    # If comment found, allow more spaces.
11193# optional trailing comments
11194(?:
11195\\.
11196[\\040\\t]*                    # Nab whitespace.
11197(?:
11198\\(                              #  (
11199[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11200(?:                                 #       (
11201(?:  \\\\ [^\\x80-\\xff]  |
11202\\(                            #  (
11203[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11204(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11205\\)                           #                       )
11206)    #         special
11207[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11208)*                                  #            )*
11209\\)                             #                )
11210[\\040\\t]* )*    # If comment found, allow more spaces.
11211(?:
11212[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
11213(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
11214|
11215\\[                            # [
11216(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
11217\\]                           #           ]
11218)
11219[\\040\\t]*                    # Nab whitespace.
11220(?:
11221\\(                              #  (
11222[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11223(?:                                 #       (
11224(?:  \\\\ [^\\x80-\\xff]  |
11225\\(                            #  (
11226[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11227(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11228\\)                           #                       )
11229)    #         special
11230[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11231)*                                  #            )*
11232\\)                             #                )
11233[\\040\\t]* )*    # If comment found, allow more spaces.
11234# optional trailing comments
11235)*
11236#       address spec
11237>                    #                 >
11238# name and address
11239)","\\1TIeRL\\1UKGJ",[extended,global])),
11240    <<"A missing angle <user.where">> = iolist_to_binary(re:replace("A missing angle <user.where","[\\040\\t]*                    # Nab whitespace.
11241(?:
11242\\(                              #  (
11243[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11244(?:                                 #       (
11245(?:  \\\\ [^\\x80-\\xff]  |
11246\\(                            #  (
11247[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11248(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11249\\)                           #                       )
11250)    #         special
11251[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11252)*                                  #            )*
11253\\)                             #                )
11254[\\040\\t]* )*    # If comment found, allow more spaces.
11255# optional leading comment
11256(?:
11257(?:
11258[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
11259(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
11260# Atom
11261|                       #  or
11262\"                                     # \"
11263[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
11264(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
11265\"                                     #        \"
11266# Quoted string
11267)
11268[\\040\\t]*                    # Nab whitespace.
11269(?:
11270\\(                              #  (
11271[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11272(?:                                 #       (
11273(?:  \\\\ [^\\x80-\\xff]  |
11274\\(                            #  (
11275[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11276(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11277\\)                           #                       )
11278)    #         special
11279[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11280)*                                  #            )*
11281\\)                             #                )
11282[\\040\\t]* )*    # If comment found, allow more spaces.
11283(?:
11284\\.
11285[\\040\\t]*                    # Nab whitespace.
11286(?:
11287\\(                              #  (
11288[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11289(?:                                 #       (
11290(?:  \\\\ [^\\x80-\\xff]  |
11291\\(                            #  (
11292[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11293(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11294\\)                           #                       )
11295)    #         special
11296[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11297)*                                  #            )*
11298\\)                             #                )
11299[\\040\\t]* )*    # If comment found, allow more spaces.
11300(?:
11301[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
11302(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
11303# Atom
11304|                       #  or
11305\"                                     # \"
11306[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
11307(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
11308\"                                     #        \"
11309# Quoted string
11310)
11311[\\040\\t]*                    # Nab whitespace.
11312(?:
11313\\(                              #  (
11314[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11315(?:                                 #       (
11316(?:  \\\\ [^\\x80-\\xff]  |
11317\\(                            #  (
11318[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11319(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11320\\)                           #                       )
11321)    #         special
11322[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11323)*                                  #            )*
11324\\)                             #                )
11325[\\040\\t]* )*    # If comment found, allow more spaces.
11326# additional words
11327)*
11328@
11329[\\040\\t]*                    # Nab whitespace.
11330(?:
11331\\(                              #  (
11332[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11333(?:                                 #       (
11334(?:  \\\\ [^\\x80-\\xff]  |
11335\\(                            #  (
11336[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11337(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11338\\)                           #                       )
11339)    #         special
11340[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11341)*                                  #            )*
11342\\)                             #                )
11343[\\040\\t]* )*    # If comment found, allow more spaces.
11344(?:
11345[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
11346(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
11347|
11348\\[                            # [
11349(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
11350\\]                           #           ]
11351)
11352[\\040\\t]*                    # Nab whitespace.
11353(?:
11354\\(                              #  (
11355[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11356(?:                                 #       (
11357(?:  \\\\ [^\\x80-\\xff]  |
11358\\(                            #  (
11359[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11360(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11361\\)                           #                       )
11362)    #         special
11363[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11364)*                                  #            )*
11365\\)                             #                )
11366[\\040\\t]* )*    # If comment found, allow more spaces.
11367# optional trailing comments
11368(?:
11369\\.
11370[\\040\\t]*                    # Nab whitespace.
11371(?:
11372\\(                              #  (
11373[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11374(?:                                 #       (
11375(?:  \\\\ [^\\x80-\\xff]  |
11376\\(                            #  (
11377[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11378(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11379\\)                           #                       )
11380)    #         special
11381[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11382)*                                  #            )*
11383\\)                             #                )
11384[\\040\\t]* )*    # If comment found, allow more spaces.
11385(?:
11386[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
11387(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
11388|
11389\\[                            # [
11390(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
11391\\]                           #           ]
11392)
11393[\\040\\t]*                    # Nab whitespace.
11394(?:
11395\\(                              #  (
11396[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11397(?:                                 #       (
11398(?:  \\\\ [^\\x80-\\xff]  |
11399\\(                            #  (
11400[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11401(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11402\\)                           #                       )
11403)    #         special
11404[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11405)*                                  #            )*
11406\\)                             #                )
11407[\\040\\t]* )*    # If comment found, allow more spaces.
11408# optional trailing comments
11409)*
11410# address
11411|                             #  or
11412(?:
11413[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
11414(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
11415# Atom
11416|                       #  or
11417\"                                     # \"
11418[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
11419(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
11420\"                                     #        \"
11421# Quoted string
11422)
11423# leading word
11424[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
11425(?:
11426(?:
11427\\(                              #  (
11428[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11429(?:                                 #       (
11430(?:  \\\\ [^\\x80-\\xff]  |
11431\\(                            #  (
11432[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11433(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11434\\)                           #                       )
11435)    #         special
11436[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11437)*                                  #            )*
11438\\)                             #                )
11439|
11440\"                                     # \"
11441[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
11442(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
11443\"                                     #        \"
11444) # \"special\" comment or quoted string
11445[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
11446)*
11447<
11448[\\040\\t]*                    # Nab whitespace.
11449(?:
11450\\(                              #  (
11451[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11452(?:                                 #       (
11453(?:  \\\\ [^\\x80-\\xff]  |
11454\\(                            #  (
11455[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11456(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11457\\)                           #                       )
11458)    #         special
11459[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11460)*                                  #            )*
11461\\)                             #                )
11462[\\040\\t]* )*    # If comment found, allow more spaces.
11463# <
11464(?:
11465@
11466[\\040\\t]*                    # Nab whitespace.
11467(?:
11468\\(                              #  (
11469[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11470(?:                                 #       (
11471(?:  \\\\ [^\\x80-\\xff]  |
11472\\(                            #  (
11473[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11474(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11475\\)                           #                       )
11476)    #         special
11477[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11478)*                                  #            )*
11479\\)                             #                )
11480[\\040\\t]* )*    # If comment found, allow more spaces.
11481(?:
11482[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
11483(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
11484|
11485\\[                            # [
11486(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
11487\\]                           #           ]
11488)
11489[\\040\\t]*                    # Nab whitespace.
11490(?:
11491\\(                              #  (
11492[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11493(?:                                 #       (
11494(?:  \\\\ [^\\x80-\\xff]  |
11495\\(                            #  (
11496[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11497(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11498\\)                           #                       )
11499)    #         special
11500[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11501)*                                  #            )*
11502\\)                             #                )
11503[\\040\\t]* )*    # If comment found, allow more spaces.
11504# optional trailing comments
11505(?:
11506\\.
11507[\\040\\t]*                    # Nab whitespace.
11508(?:
11509\\(                              #  (
11510[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11511(?:                                 #       (
11512(?:  \\\\ [^\\x80-\\xff]  |
11513\\(                            #  (
11514[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11515(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11516\\)                           #                       )
11517)    #         special
11518[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11519)*                                  #            )*
11520\\)                             #                )
11521[\\040\\t]* )*    # If comment found, allow more spaces.
11522(?:
11523[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
11524(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
11525|
11526\\[                            # [
11527(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
11528\\]                           #           ]
11529)
11530[\\040\\t]*                    # Nab whitespace.
11531(?:
11532\\(                              #  (
11533[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11534(?:                                 #       (
11535(?:  \\\\ [^\\x80-\\xff]  |
11536\\(                            #  (
11537[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11538(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11539\\)                           #                       )
11540)    #         special
11541[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11542)*                                  #            )*
11543\\)                             #                )
11544[\\040\\t]* )*    # If comment found, allow more spaces.
11545# optional trailing comments
11546)*
11547(?: ,
11548[\\040\\t]*                    # Nab whitespace.
11549(?:
11550\\(                              #  (
11551[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11552(?:                                 #       (
11553(?:  \\\\ [^\\x80-\\xff]  |
11554\\(                            #  (
11555[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11556(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11557\\)                           #                       )
11558)    #         special
11559[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11560)*                                  #            )*
11561\\)                             #                )
11562[\\040\\t]* )*    # If comment found, allow more spaces.
11563@
11564[\\040\\t]*                    # Nab whitespace.
11565(?:
11566\\(                              #  (
11567[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11568(?:                                 #       (
11569(?:  \\\\ [^\\x80-\\xff]  |
11570\\(                            #  (
11571[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11572(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11573\\)                           #                       )
11574)    #         special
11575[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11576)*                                  #            )*
11577\\)                             #                )
11578[\\040\\t]* )*    # If comment found, allow more spaces.
11579(?:
11580[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
11581(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
11582|
11583\\[                            # [
11584(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
11585\\]                           #           ]
11586)
11587[\\040\\t]*                    # Nab whitespace.
11588(?:
11589\\(                              #  (
11590[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11591(?:                                 #       (
11592(?:  \\\\ [^\\x80-\\xff]  |
11593\\(                            #  (
11594[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11595(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11596\\)                           #                       )
11597)    #         special
11598[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11599)*                                  #            )*
11600\\)                             #                )
11601[\\040\\t]* )*    # If comment found, allow more spaces.
11602# optional trailing comments
11603(?:
11604\\.
11605[\\040\\t]*                    # Nab whitespace.
11606(?:
11607\\(                              #  (
11608[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11609(?:                                 #       (
11610(?:  \\\\ [^\\x80-\\xff]  |
11611\\(                            #  (
11612[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11613(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11614\\)                           #                       )
11615)    #         special
11616[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11617)*                                  #            )*
11618\\)                             #                )
11619[\\040\\t]* )*    # If comment found, allow more spaces.
11620(?:
11621[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
11622(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
11623|
11624\\[                            # [
11625(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
11626\\]                           #           ]
11627)
11628[\\040\\t]*                    # Nab whitespace.
11629(?:
11630\\(                              #  (
11631[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11632(?:                                 #       (
11633(?:  \\\\ [^\\x80-\\xff]  |
11634\\(                            #  (
11635[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11636(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11637\\)                           #                       )
11638)    #         special
11639[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11640)*                                  #            )*
11641\\)                             #                )
11642[\\040\\t]* )*    # If comment found, allow more spaces.
11643# optional trailing comments
11644)*
11645)*  # additional domains
11646:
11647[\\040\\t]*                    # Nab whitespace.
11648(?:
11649\\(                              #  (
11650[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11651(?:                                 #       (
11652(?:  \\\\ [^\\x80-\\xff]  |
11653\\(                            #  (
11654[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11655(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11656\\)                           #                       )
11657)    #         special
11658[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11659)*                                  #            )*
11660\\)                             #                )
11661[\\040\\t]* )*    # If comment found, allow more spaces.
11662# optional trailing comments
11663)?     #       optional route
11664(?:
11665[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
11666(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
11667# Atom
11668|                       #  or
11669\"                                     # \"
11670[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
11671(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
11672\"                                     #        \"
11673# Quoted string
11674)
11675[\\040\\t]*                    # Nab whitespace.
11676(?:
11677\\(                              #  (
11678[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11679(?:                                 #       (
11680(?:  \\\\ [^\\x80-\\xff]  |
11681\\(                            #  (
11682[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11683(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11684\\)                           #                       )
11685)    #         special
11686[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11687)*                                  #            )*
11688\\)                             #                )
11689[\\040\\t]* )*    # If comment found, allow more spaces.
11690(?:
11691\\.
11692[\\040\\t]*                    # Nab whitespace.
11693(?:
11694\\(                              #  (
11695[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11696(?:                                 #       (
11697(?:  \\\\ [^\\x80-\\xff]  |
11698\\(                            #  (
11699[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11700(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11701\\)                           #                       )
11702)    #         special
11703[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11704)*                                  #            )*
11705\\)                             #                )
11706[\\040\\t]* )*    # If comment found, allow more spaces.
11707(?:
11708[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
11709(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
11710# Atom
11711|                       #  or
11712\"                                     # \"
11713[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
11714(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
11715\"                                     #        \"
11716# Quoted string
11717)
11718[\\040\\t]*                    # Nab whitespace.
11719(?:
11720\\(                              #  (
11721[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11722(?:                                 #       (
11723(?:  \\\\ [^\\x80-\\xff]  |
11724\\(                            #  (
11725[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11726(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11727\\)                           #                       )
11728)    #         special
11729[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11730)*                                  #            )*
11731\\)                             #                )
11732[\\040\\t]* )*    # If comment found, allow more spaces.
11733# additional words
11734)*
11735@
11736[\\040\\t]*                    # Nab whitespace.
11737(?:
11738\\(                              #  (
11739[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11740(?:                                 #       (
11741(?:  \\\\ [^\\x80-\\xff]  |
11742\\(                            #  (
11743[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11744(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11745\\)                           #                       )
11746)    #         special
11747[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11748)*                                  #            )*
11749\\)                             #                )
11750[\\040\\t]* )*    # If comment found, allow more spaces.
11751(?:
11752[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
11753(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
11754|
11755\\[                            # [
11756(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
11757\\]                           #           ]
11758)
11759[\\040\\t]*                    # Nab whitespace.
11760(?:
11761\\(                              #  (
11762[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11763(?:                                 #       (
11764(?:  \\\\ [^\\x80-\\xff]  |
11765\\(                            #  (
11766[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11767(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11768\\)                           #                       )
11769)    #         special
11770[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11771)*                                  #            )*
11772\\)                             #                )
11773[\\040\\t]* )*    # If comment found, allow more spaces.
11774# optional trailing comments
11775(?:
11776\\.
11777[\\040\\t]*                    # Nab whitespace.
11778(?:
11779\\(                              #  (
11780[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11781(?:                                 #       (
11782(?:  \\\\ [^\\x80-\\xff]  |
11783\\(                            #  (
11784[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11785(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11786\\)                           #                       )
11787)    #         special
11788[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11789)*                                  #            )*
11790\\)                             #                )
11791[\\040\\t]* )*    # If comment found, allow more spaces.
11792(?:
11793[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
11794(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
11795|
11796\\[                            # [
11797(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
11798\\]                           #           ]
11799)
11800[\\040\\t]*                    # Nab whitespace.
11801(?:
11802\\(                              #  (
11803[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11804(?:                                 #       (
11805(?:  \\\\ [^\\x80-\\xff]  |
11806\\(                            #  (
11807[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11808(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11809\\)                           #                       )
11810)    #         special
11811[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11812)*                                  #            )*
11813\\)                             #                )
11814[\\040\\t]* )*    # If comment found, allow more spaces.
11815# optional trailing comments
11816)*
11817#       address spec
11818>                    #                 >
11819# name and address
11820)","eHSpF&XJCAH",[extended])),
11821    <<"A missing angle <user.where">> = iolist_to_binary(re:replace("A missing angle <user.where","[\\040\\t]*                    # Nab whitespace.
11822(?:
11823\\(                              #  (
11824[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11825(?:                                 #       (
11826(?:  \\\\ [^\\x80-\\xff]  |
11827\\(                            #  (
11828[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11829(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11830\\)                           #                       )
11831)    #         special
11832[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11833)*                                  #            )*
11834\\)                             #                )
11835[\\040\\t]* )*    # If comment found, allow more spaces.
11836# optional leading comment
11837(?:
11838(?:
11839[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
11840(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
11841# Atom
11842|                       #  or
11843\"                                     # \"
11844[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
11845(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
11846\"                                     #        \"
11847# Quoted string
11848)
11849[\\040\\t]*                    # Nab whitespace.
11850(?:
11851\\(                              #  (
11852[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11853(?:                                 #       (
11854(?:  \\\\ [^\\x80-\\xff]  |
11855\\(                            #  (
11856[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11857(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11858\\)                           #                       )
11859)    #         special
11860[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11861)*                                  #            )*
11862\\)                             #                )
11863[\\040\\t]* )*    # If comment found, allow more spaces.
11864(?:
11865\\.
11866[\\040\\t]*                    # Nab whitespace.
11867(?:
11868\\(                              #  (
11869[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11870(?:                                 #       (
11871(?:  \\\\ [^\\x80-\\xff]  |
11872\\(                            #  (
11873[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11874(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11875\\)                           #                       )
11876)    #         special
11877[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11878)*                                  #            )*
11879\\)                             #                )
11880[\\040\\t]* )*    # If comment found, allow more spaces.
11881(?:
11882[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
11883(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
11884# Atom
11885|                       #  or
11886\"                                     # \"
11887[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
11888(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
11889\"                                     #        \"
11890# Quoted string
11891)
11892[\\040\\t]*                    # Nab whitespace.
11893(?:
11894\\(                              #  (
11895[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11896(?:                                 #       (
11897(?:  \\\\ [^\\x80-\\xff]  |
11898\\(                            #  (
11899[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11900(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11901\\)                           #                       )
11902)    #         special
11903[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11904)*                                  #            )*
11905\\)                             #                )
11906[\\040\\t]* )*    # If comment found, allow more spaces.
11907# additional words
11908)*
11909@
11910[\\040\\t]*                    # Nab whitespace.
11911(?:
11912\\(                              #  (
11913[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11914(?:                                 #       (
11915(?:  \\\\ [^\\x80-\\xff]  |
11916\\(                            #  (
11917[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11918(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11919\\)                           #                       )
11920)    #         special
11921[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11922)*                                  #            )*
11923\\)                             #                )
11924[\\040\\t]* )*    # If comment found, allow more spaces.
11925(?:
11926[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
11927(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
11928|
11929\\[                            # [
11930(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
11931\\]                           #           ]
11932)
11933[\\040\\t]*                    # Nab whitespace.
11934(?:
11935\\(                              #  (
11936[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11937(?:                                 #       (
11938(?:  \\\\ [^\\x80-\\xff]  |
11939\\(                            #  (
11940[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11941(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11942\\)                           #                       )
11943)    #         special
11944[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11945)*                                  #            )*
11946\\)                             #                )
11947[\\040\\t]* )*    # If comment found, allow more spaces.
11948# optional trailing comments
11949(?:
11950\\.
11951[\\040\\t]*                    # Nab whitespace.
11952(?:
11953\\(                              #  (
11954[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11955(?:                                 #       (
11956(?:  \\\\ [^\\x80-\\xff]  |
11957\\(                            #  (
11958[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11959(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11960\\)                           #                       )
11961)    #         special
11962[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11963)*                                  #            )*
11964\\)                             #                )
11965[\\040\\t]* )*    # If comment found, allow more spaces.
11966(?:
11967[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
11968(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
11969|
11970\\[                            # [
11971(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
11972\\]                           #           ]
11973)
11974[\\040\\t]*                    # Nab whitespace.
11975(?:
11976\\(                              #  (
11977[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
11978(?:                                 #       (
11979(?:  \\\\ [^\\x80-\\xff]  |
11980\\(                            #  (
11981[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
11982(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
11983\\)                           #                       )
11984)    #         special
11985[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
11986)*                                  #            )*
11987\\)                             #                )
11988[\\040\\t]* )*    # If comment found, allow more spaces.
11989# optional trailing comments
11990)*
11991# address
11992|                             #  or
11993(?:
11994[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
11995(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
11996# Atom
11997|                       #  or
11998\"                                     # \"
11999[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
12000(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
12001\"                                     #        \"
12002# Quoted string
12003)
12004# leading word
12005[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
12006(?:
12007(?:
12008\\(                              #  (
12009[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12010(?:                                 #       (
12011(?:  \\\\ [^\\x80-\\xff]  |
12012\\(                            #  (
12013[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12014(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12015\\)                           #                       )
12016)    #         special
12017[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12018)*                                  #            )*
12019\\)                             #                )
12020|
12021\"                                     # \"
12022[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
12023(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
12024\"                                     #        \"
12025) # \"special\" comment or quoted string
12026[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
12027)*
12028<
12029[\\040\\t]*                    # Nab whitespace.
12030(?:
12031\\(                              #  (
12032[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12033(?:                                 #       (
12034(?:  \\\\ [^\\x80-\\xff]  |
12035\\(                            #  (
12036[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12037(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12038\\)                           #                       )
12039)    #         special
12040[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12041)*                                  #            )*
12042\\)                             #                )
12043[\\040\\t]* )*    # If comment found, allow more spaces.
12044# <
12045(?:
12046@
12047[\\040\\t]*                    # Nab whitespace.
12048(?:
12049\\(                              #  (
12050[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12051(?:                                 #       (
12052(?:  \\\\ [^\\x80-\\xff]  |
12053\\(                            #  (
12054[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12055(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12056\\)                           #                       )
12057)    #         special
12058[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12059)*                                  #            )*
12060\\)                             #                )
12061[\\040\\t]* )*    # If comment found, allow more spaces.
12062(?:
12063[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
12064(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
12065|
12066\\[                            # [
12067(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
12068\\]                           #           ]
12069)
12070[\\040\\t]*                    # Nab whitespace.
12071(?:
12072\\(                              #  (
12073[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12074(?:                                 #       (
12075(?:  \\\\ [^\\x80-\\xff]  |
12076\\(                            #  (
12077[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12078(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12079\\)                           #                       )
12080)    #         special
12081[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12082)*                                  #            )*
12083\\)                             #                )
12084[\\040\\t]* )*    # If comment found, allow more spaces.
12085# optional trailing comments
12086(?:
12087\\.
12088[\\040\\t]*                    # Nab whitespace.
12089(?:
12090\\(                              #  (
12091[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12092(?:                                 #       (
12093(?:  \\\\ [^\\x80-\\xff]  |
12094\\(                            #  (
12095[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12096(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12097\\)                           #                       )
12098)    #         special
12099[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12100)*                                  #            )*
12101\\)                             #                )
12102[\\040\\t]* )*    # If comment found, allow more spaces.
12103(?:
12104[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
12105(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
12106|
12107\\[                            # [
12108(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
12109\\]                           #           ]
12110)
12111[\\040\\t]*                    # Nab whitespace.
12112(?:
12113\\(                              #  (
12114[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12115(?:                                 #       (
12116(?:  \\\\ [^\\x80-\\xff]  |
12117\\(                            #  (
12118[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12119(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12120\\)                           #                       )
12121)    #         special
12122[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12123)*                                  #            )*
12124\\)                             #                )
12125[\\040\\t]* )*    # If comment found, allow more spaces.
12126# optional trailing comments
12127)*
12128(?: ,
12129[\\040\\t]*                    # Nab whitespace.
12130(?:
12131\\(                              #  (
12132[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12133(?:                                 #       (
12134(?:  \\\\ [^\\x80-\\xff]  |
12135\\(                            #  (
12136[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12137(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12138\\)                           #                       )
12139)    #         special
12140[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12141)*                                  #            )*
12142\\)                             #                )
12143[\\040\\t]* )*    # If comment found, allow more spaces.
12144@
12145[\\040\\t]*                    # Nab whitespace.
12146(?:
12147\\(                              #  (
12148[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12149(?:                                 #       (
12150(?:  \\\\ [^\\x80-\\xff]  |
12151\\(                            #  (
12152[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12153(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12154\\)                           #                       )
12155)    #         special
12156[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12157)*                                  #            )*
12158\\)                             #                )
12159[\\040\\t]* )*    # If comment found, allow more spaces.
12160(?:
12161[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
12162(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
12163|
12164\\[                            # [
12165(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
12166\\]                           #           ]
12167)
12168[\\040\\t]*                    # Nab whitespace.
12169(?:
12170\\(                              #  (
12171[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12172(?:                                 #       (
12173(?:  \\\\ [^\\x80-\\xff]  |
12174\\(                            #  (
12175[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12176(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12177\\)                           #                       )
12178)    #         special
12179[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12180)*                                  #            )*
12181\\)                             #                )
12182[\\040\\t]* )*    # If comment found, allow more spaces.
12183# optional trailing comments
12184(?:
12185\\.
12186[\\040\\t]*                    # Nab whitespace.
12187(?:
12188\\(                              #  (
12189[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12190(?:                                 #       (
12191(?:  \\\\ [^\\x80-\\xff]  |
12192\\(                            #  (
12193[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12194(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12195\\)                           #                       )
12196)    #         special
12197[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12198)*                                  #            )*
12199\\)                             #                )
12200[\\040\\t]* )*    # If comment found, allow more spaces.
12201(?:
12202[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
12203(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
12204|
12205\\[                            # [
12206(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
12207\\]                           #           ]
12208)
12209[\\040\\t]*                    # Nab whitespace.
12210(?:
12211\\(                              #  (
12212[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12213(?:                                 #       (
12214(?:  \\\\ [^\\x80-\\xff]  |
12215\\(                            #  (
12216[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12217(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12218\\)                           #                       )
12219)    #         special
12220[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12221)*                                  #            )*
12222\\)                             #                )
12223[\\040\\t]* )*    # If comment found, allow more spaces.
12224# optional trailing comments
12225)*
12226)*  # additional domains
12227:
12228[\\040\\t]*                    # Nab whitespace.
12229(?:
12230\\(                              #  (
12231[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12232(?:                                 #       (
12233(?:  \\\\ [^\\x80-\\xff]  |
12234\\(                            #  (
12235[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12236(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12237\\)                           #                       )
12238)    #         special
12239[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12240)*                                  #            )*
12241\\)                             #                )
12242[\\040\\t]* )*    # If comment found, allow more spaces.
12243# optional trailing comments
12244)?     #       optional route
12245(?:
12246[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
12247(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
12248# Atom
12249|                       #  or
12250\"                                     # \"
12251[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
12252(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
12253\"                                     #        \"
12254# Quoted string
12255)
12256[\\040\\t]*                    # Nab whitespace.
12257(?:
12258\\(                              #  (
12259[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12260(?:                                 #       (
12261(?:  \\\\ [^\\x80-\\xff]  |
12262\\(                            #  (
12263[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12264(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12265\\)                           #                       )
12266)    #         special
12267[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12268)*                                  #            )*
12269\\)                             #                )
12270[\\040\\t]* )*    # If comment found, allow more spaces.
12271(?:
12272\\.
12273[\\040\\t]*                    # Nab whitespace.
12274(?:
12275\\(                              #  (
12276[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12277(?:                                 #       (
12278(?:  \\\\ [^\\x80-\\xff]  |
12279\\(                            #  (
12280[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12281(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12282\\)                           #                       )
12283)    #         special
12284[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12285)*                                  #            )*
12286\\)                             #                )
12287[\\040\\t]* )*    # If comment found, allow more spaces.
12288(?:
12289[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
12290(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
12291# Atom
12292|                       #  or
12293\"                                     # \"
12294[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
12295(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
12296\"                                     #        \"
12297# Quoted string
12298)
12299[\\040\\t]*                    # Nab whitespace.
12300(?:
12301\\(                              #  (
12302[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12303(?:                                 #       (
12304(?:  \\\\ [^\\x80-\\xff]  |
12305\\(                            #  (
12306[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12307(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12308\\)                           #                       )
12309)    #         special
12310[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12311)*                                  #            )*
12312\\)                             #                )
12313[\\040\\t]* )*    # If comment found, allow more spaces.
12314# additional words
12315)*
12316@
12317[\\040\\t]*                    # Nab whitespace.
12318(?:
12319\\(                              #  (
12320[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12321(?:                                 #       (
12322(?:  \\\\ [^\\x80-\\xff]  |
12323\\(                            #  (
12324[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12325(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12326\\)                           #                       )
12327)    #         special
12328[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12329)*                                  #            )*
12330\\)                             #                )
12331[\\040\\t]* )*    # If comment found, allow more spaces.
12332(?:
12333[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
12334(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
12335|
12336\\[                            # [
12337(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
12338\\]                           #           ]
12339)
12340[\\040\\t]*                    # Nab whitespace.
12341(?:
12342\\(                              #  (
12343[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12344(?:                                 #       (
12345(?:  \\\\ [^\\x80-\\xff]  |
12346\\(                            #  (
12347[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12348(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12349\\)                           #                       )
12350)    #         special
12351[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12352)*                                  #            )*
12353\\)                             #                )
12354[\\040\\t]* )*    # If comment found, allow more spaces.
12355# optional trailing comments
12356(?:
12357\\.
12358[\\040\\t]*                    # Nab whitespace.
12359(?:
12360\\(                              #  (
12361[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12362(?:                                 #       (
12363(?:  \\\\ [^\\x80-\\xff]  |
12364\\(                            #  (
12365[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12366(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12367\\)                           #                       )
12368)    #         special
12369[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12370)*                                  #            )*
12371\\)                             #                )
12372[\\040\\t]* )*    # If comment found, allow more spaces.
12373(?:
12374[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
12375(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
12376|
12377\\[                            # [
12378(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
12379\\]                           #           ]
12380)
12381[\\040\\t]*                    # Nab whitespace.
12382(?:
12383\\(                              #  (
12384[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12385(?:                                 #       (
12386(?:  \\\\ [^\\x80-\\xff]  |
12387\\(                            #  (
12388[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12389(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12390\\)                           #                       )
12391)    #         special
12392[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12393)*                                  #            )*
12394\\)                             #                )
12395[\\040\\t]* )*    # If comment found, allow more spaces.
12396# optional trailing comments
12397)*
12398#       address spec
12399>                    #                 >
12400# name and address
12401)","eHSpF&XJCAH",[extended,global])),
12402    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","[\\040\\t]*                    # Nab whitespace.
12403(?:
12404\\(                              #  (
12405[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12406(?:                                 #       (
12407(?:  \\\\ [^\\x80-\\xff]  |
12408\\(                            #  (
12409[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12410(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12411\\)                           #                       )
12412)    #         special
12413[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12414)*                                  #            )*
12415\\)                             #                )
12416[\\040\\t]* )*    # If comment found, allow more spaces.
12417# optional leading comment
12418(?:
12419(?:
12420[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
12421(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
12422# Atom
12423|                       #  or
12424\"                                     # \"
12425[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
12426(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
12427\"                                     #        \"
12428# Quoted string
12429)
12430[\\040\\t]*                    # Nab whitespace.
12431(?:
12432\\(                              #  (
12433[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12434(?:                                 #       (
12435(?:  \\\\ [^\\x80-\\xff]  |
12436\\(                            #  (
12437[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12438(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12439\\)                           #                       )
12440)    #         special
12441[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12442)*                                  #            )*
12443\\)                             #                )
12444[\\040\\t]* )*    # If comment found, allow more spaces.
12445(?:
12446\\.
12447[\\040\\t]*                    # Nab whitespace.
12448(?:
12449\\(                              #  (
12450[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12451(?:                                 #       (
12452(?:  \\\\ [^\\x80-\\xff]  |
12453\\(                            #  (
12454[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12455(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12456\\)                           #                       )
12457)    #         special
12458[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12459)*                                  #            )*
12460\\)                             #                )
12461[\\040\\t]* )*    # If comment found, allow more spaces.
12462(?:
12463[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
12464(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
12465# Atom
12466|                       #  or
12467\"                                     # \"
12468[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
12469(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
12470\"                                     #        \"
12471# Quoted string
12472)
12473[\\040\\t]*                    # Nab whitespace.
12474(?:
12475\\(                              #  (
12476[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12477(?:                                 #       (
12478(?:  \\\\ [^\\x80-\\xff]  |
12479\\(                            #  (
12480[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12481(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12482\\)                           #                       )
12483)    #         special
12484[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12485)*                                  #            )*
12486\\)                             #                )
12487[\\040\\t]* )*    # If comment found, allow more spaces.
12488# additional words
12489)*
12490@
12491[\\040\\t]*                    # Nab whitespace.
12492(?:
12493\\(                              #  (
12494[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12495(?:                                 #       (
12496(?:  \\\\ [^\\x80-\\xff]  |
12497\\(                            #  (
12498[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12499(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12500\\)                           #                       )
12501)    #         special
12502[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12503)*                                  #            )*
12504\\)                             #                )
12505[\\040\\t]* )*    # If comment found, allow more spaces.
12506(?:
12507[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
12508(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
12509|
12510\\[                            # [
12511(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
12512\\]                           #           ]
12513)
12514[\\040\\t]*                    # Nab whitespace.
12515(?:
12516\\(                              #  (
12517[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12518(?:                                 #       (
12519(?:  \\\\ [^\\x80-\\xff]  |
12520\\(                            #  (
12521[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12522(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12523\\)                           #                       )
12524)    #         special
12525[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12526)*                                  #            )*
12527\\)                             #                )
12528[\\040\\t]* )*    # If comment found, allow more spaces.
12529# optional trailing comments
12530(?:
12531\\.
12532[\\040\\t]*                    # Nab whitespace.
12533(?:
12534\\(                              #  (
12535[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12536(?:                                 #       (
12537(?:  \\\\ [^\\x80-\\xff]  |
12538\\(                            #  (
12539[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12540(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12541\\)                           #                       )
12542)    #         special
12543[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12544)*                                  #            )*
12545\\)                             #                )
12546[\\040\\t]* )*    # If comment found, allow more spaces.
12547(?:
12548[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
12549(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
12550|
12551\\[                            # [
12552(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
12553\\]                           #           ]
12554)
12555[\\040\\t]*                    # Nab whitespace.
12556(?:
12557\\(                              #  (
12558[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12559(?:                                 #       (
12560(?:  \\\\ [^\\x80-\\xff]  |
12561\\(                            #  (
12562[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12563(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12564\\)                           #                       )
12565)    #         special
12566[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12567)*                                  #            )*
12568\\)                             #                )
12569[\\040\\t]* )*    # If comment found, allow more spaces.
12570# optional trailing comments
12571)*
12572# address
12573|                             #  or
12574(?:
12575[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
12576(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
12577# Atom
12578|                       #  or
12579\"                                     # \"
12580[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
12581(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
12582\"                                     #        \"
12583# Quoted string
12584)
12585# leading word
12586[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
12587(?:
12588(?:
12589\\(                              #  (
12590[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12591(?:                                 #       (
12592(?:  \\\\ [^\\x80-\\xff]  |
12593\\(                            #  (
12594[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12595(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12596\\)                           #                       )
12597)    #         special
12598[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12599)*                                  #            )*
12600\\)                             #                )
12601|
12602\"                                     # \"
12603[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
12604(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
12605\"                                     #        \"
12606) # \"special\" comment or quoted string
12607[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
12608)*
12609<
12610[\\040\\t]*                    # Nab whitespace.
12611(?:
12612\\(                              #  (
12613[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12614(?:                                 #       (
12615(?:  \\\\ [^\\x80-\\xff]  |
12616\\(                            #  (
12617[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12618(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12619\\)                           #                       )
12620)    #         special
12621[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12622)*                                  #            )*
12623\\)                             #                )
12624[\\040\\t]* )*    # If comment found, allow more spaces.
12625# <
12626(?:
12627@
12628[\\040\\t]*                    # Nab whitespace.
12629(?:
12630\\(                              #  (
12631[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12632(?:                                 #       (
12633(?:  \\\\ [^\\x80-\\xff]  |
12634\\(                            #  (
12635[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12636(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12637\\)                           #                       )
12638)    #         special
12639[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12640)*                                  #            )*
12641\\)                             #                )
12642[\\040\\t]* )*    # If comment found, allow more spaces.
12643(?:
12644[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
12645(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
12646|
12647\\[                            # [
12648(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
12649\\]                           #           ]
12650)
12651[\\040\\t]*                    # Nab whitespace.
12652(?:
12653\\(                              #  (
12654[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12655(?:                                 #       (
12656(?:  \\\\ [^\\x80-\\xff]  |
12657\\(                            #  (
12658[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12659(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12660\\)                           #                       )
12661)    #         special
12662[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12663)*                                  #            )*
12664\\)                             #                )
12665[\\040\\t]* )*    # If comment found, allow more spaces.
12666# optional trailing comments
12667(?:
12668\\.
12669[\\040\\t]*                    # Nab whitespace.
12670(?:
12671\\(                              #  (
12672[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12673(?:                                 #       (
12674(?:  \\\\ [^\\x80-\\xff]  |
12675\\(                            #  (
12676[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12677(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12678\\)                           #                       )
12679)    #         special
12680[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12681)*                                  #            )*
12682\\)                             #                )
12683[\\040\\t]* )*    # If comment found, allow more spaces.
12684(?:
12685[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
12686(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
12687|
12688\\[                            # [
12689(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
12690\\]                           #           ]
12691)
12692[\\040\\t]*                    # Nab whitespace.
12693(?:
12694\\(                              #  (
12695[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12696(?:                                 #       (
12697(?:  \\\\ [^\\x80-\\xff]  |
12698\\(                            #  (
12699[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12700(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12701\\)                           #                       )
12702)    #         special
12703[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12704)*                                  #            )*
12705\\)                             #                )
12706[\\040\\t]* )*    # If comment found, allow more spaces.
12707# optional trailing comments
12708)*
12709(?: ,
12710[\\040\\t]*                    # Nab whitespace.
12711(?:
12712\\(                              #  (
12713[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12714(?:                                 #       (
12715(?:  \\\\ [^\\x80-\\xff]  |
12716\\(                            #  (
12717[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12718(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12719\\)                           #                       )
12720)    #         special
12721[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12722)*                                  #            )*
12723\\)                             #                )
12724[\\040\\t]* )*    # If comment found, allow more spaces.
12725@
12726[\\040\\t]*                    # Nab whitespace.
12727(?:
12728\\(                              #  (
12729[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12730(?:                                 #       (
12731(?:  \\\\ [^\\x80-\\xff]  |
12732\\(                            #  (
12733[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12734(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12735\\)                           #                       )
12736)    #         special
12737[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12738)*                                  #            )*
12739\\)                             #                )
12740[\\040\\t]* )*    # If comment found, allow more spaces.
12741(?:
12742[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
12743(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
12744|
12745\\[                            # [
12746(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
12747\\]                           #           ]
12748)
12749[\\040\\t]*                    # Nab whitespace.
12750(?:
12751\\(                              #  (
12752[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12753(?:                                 #       (
12754(?:  \\\\ [^\\x80-\\xff]  |
12755\\(                            #  (
12756[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12757(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12758\\)                           #                       )
12759)    #         special
12760[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12761)*                                  #            )*
12762\\)                             #                )
12763[\\040\\t]* )*    # If comment found, allow more spaces.
12764# optional trailing comments
12765(?:
12766\\.
12767[\\040\\t]*                    # Nab whitespace.
12768(?:
12769\\(                              #  (
12770[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12771(?:                                 #       (
12772(?:  \\\\ [^\\x80-\\xff]  |
12773\\(                            #  (
12774[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12775(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12776\\)                           #                       )
12777)    #         special
12778[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12779)*                                  #            )*
12780\\)                             #                )
12781[\\040\\t]* )*    # If comment found, allow more spaces.
12782(?:
12783[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
12784(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
12785|
12786\\[                            # [
12787(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
12788\\]                           #           ]
12789)
12790[\\040\\t]*                    # Nab whitespace.
12791(?:
12792\\(                              #  (
12793[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12794(?:                                 #       (
12795(?:  \\\\ [^\\x80-\\xff]  |
12796\\(                            #  (
12797[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12798(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12799\\)                           #                       )
12800)    #         special
12801[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12802)*                                  #            )*
12803\\)                             #                )
12804[\\040\\t]* )*    # If comment found, allow more spaces.
12805# optional trailing comments
12806)*
12807)*  # additional domains
12808:
12809[\\040\\t]*                    # Nab whitespace.
12810(?:
12811\\(                              #  (
12812[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12813(?:                                 #       (
12814(?:  \\\\ [^\\x80-\\xff]  |
12815\\(                            #  (
12816[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12817(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12818\\)                           #                       )
12819)    #         special
12820[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12821)*                                  #            )*
12822\\)                             #                )
12823[\\040\\t]* )*    # If comment found, allow more spaces.
12824# optional trailing comments
12825)?     #       optional route
12826(?:
12827[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
12828(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
12829# Atom
12830|                       #  or
12831\"                                     # \"
12832[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
12833(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
12834\"                                     #        \"
12835# Quoted string
12836)
12837[\\040\\t]*                    # Nab whitespace.
12838(?:
12839\\(                              #  (
12840[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12841(?:                                 #       (
12842(?:  \\\\ [^\\x80-\\xff]  |
12843\\(                            #  (
12844[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12845(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12846\\)                           #                       )
12847)    #         special
12848[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12849)*                                  #            )*
12850\\)                             #                )
12851[\\040\\t]* )*    # If comment found, allow more spaces.
12852(?:
12853\\.
12854[\\040\\t]*                    # Nab whitespace.
12855(?:
12856\\(                              #  (
12857[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12858(?:                                 #       (
12859(?:  \\\\ [^\\x80-\\xff]  |
12860\\(                            #  (
12861[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12862(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12863\\)                           #                       )
12864)    #         special
12865[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12866)*                                  #            )*
12867\\)                             #                )
12868[\\040\\t]* )*    # If comment found, allow more spaces.
12869(?:
12870[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
12871(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
12872# Atom
12873|                       #  or
12874\"                                     # \"
12875[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
12876(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
12877\"                                     #        \"
12878# Quoted string
12879)
12880[\\040\\t]*                    # Nab whitespace.
12881(?:
12882\\(                              #  (
12883[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12884(?:                                 #       (
12885(?:  \\\\ [^\\x80-\\xff]  |
12886\\(                            #  (
12887[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12888(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12889\\)                           #                       )
12890)    #         special
12891[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12892)*                                  #            )*
12893\\)                             #                )
12894[\\040\\t]* )*    # If comment found, allow more spaces.
12895# additional words
12896)*
12897@
12898[\\040\\t]*                    # Nab whitespace.
12899(?:
12900\\(                              #  (
12901[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12902(?:                                 #       (
12903(?:  \\\\ [^\\x80-\\xff]  |
12904\\(                            #  (
12905[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12906(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12907\\)                           #                       )
12908)    #         special
12909[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12910)*                                  #            )*
12911\\)                             #                )
12912[\\040\\t]* )*    # If comment found, allow more spaces.
12913(?:
12914[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
12915(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
12916|
12917\\[                            # [
12918(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
12919\\]                           #           ]
12920)
12921[\\040\\t]*                    # Nab whitespace.
12922(?:
12923\\(                              #  (
12924[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12925(?:                                 #       (
12926(?:  \\\\ [^\\x80-\\xff]  |
12927\\(                            #  (
12928[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12929(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12930\\)                           #                       )
12931)    #         special
12932[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12933)*                                  #            )*
12934\\)                             #                )
12935[\\040\\t]* )*    # If comment found, allow more spaces.
12936# optional trailing comments
12937(?:
12938\\.
12939[\\040\\t]*                    # Nab whitespace.
12940(?:
12941\\(                              #  (
12942[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12943(?:                                 #       (
12944(?:  \\\\ [^\\x80-\\xff]  |
12945\\(                            #  (
12946[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12947(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12948\\)                           #                       )
12949)    #         special
12950[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12951)*                                  #            )*
12952\\)                             #                )
12953[\\040\\t]* )*    # If comment found, allow more spaces.
12954(?:
12955[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
12956(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
12957|
12958\\[                            # [
12959(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
12960\\]                           #           ]
12961)
12962[\\040\\t]*                    # Nab whitespace.
12963(?:
12964\\(                              #  (
12965[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12966(?:                                 #       (
12967(?:  \\\\ [^\\x80-\\xff]  |
12968\\(                            #  (
12969[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12970(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12971\\)                           #                       )
12972)    #         special
12973[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12974)*                                  #            )*
12975\\)                             #                )
12976[\\040\\t]* )*    # If comment found, allow more spaces.
12977# optional trailing comments
12978)*
12979#       address spec
12980>                    #                 >
12981# name and address
12982)","&kowbne",[extended])),
12983    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","[\\040\\t]*                    # Nab whitespace.
12984(?:
12985\\(                              #  (
12986[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
12987(?:                                 #       (
12988(?:  \\\\ [^\\x80-\\xff]  |
12989\\(                            #  (
12990[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
12991(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
12992\\)                           #                       )
12993)    #         special
12994[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
12995)*                                  #            )*
12996\\)                             #                )
12997[\\040\\t]* )*    # If comment found, allow more spaces.
12998# optional leading comment
12999(?:
13000(?:
13001[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
13002(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
13003# Atom
13004|                       #  or
13005\"                                     # \"
13006[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
13007(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
13008\"                                     #        \"
13009# Quoted string
13010)
13011[\\040\\t]*                    # Nab whitespace.
13012(?:
13013\\(                              #  (
13014[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13015(?:                                 #       (
13016(?:  \\\\ [^\\x80-\\xff]  |
13017\\(                            #  (
13018[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13019(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13020\\)                           #                       )
13021)    #         special
13022[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13023)*                                  #            )*
13024\\)                             #                )
13025[\\040\\t]* )*    # If comment found, allow more spaces.
13026(?:
13027\\.
13028[\\040\\t]*                    # Nab whitespace.
13029(?:
13030\\(                              #  (
13031[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13032(?:                                 #       (
13033(?:  \\\\ [^\\x80-\\xff]  |
13034\\(                            #  (
13035[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13036(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13037\\)                           #                       )
13038)    #         special
13039[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13040)*                                  #            )*
13041\\)                             #                )
13042[\\040\\t]* )*    # If comment found, allow more spaces.
13043(?:
13044[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
13045(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
13046# Atom
13047|                       #  or
13048\"                                     # \"
13049[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
13050(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
13051\"                                     #        \"
13052# Quoted string
13053)
13054[\\040\\t]*                    # Nab whitespace.
13055(?:
13056\\(                              #  (
13057[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13058(?:                                 #       (
13059(?:  \\\\ [^\\x80-\\xff]  |
13060\\(                            #  (
13061[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13062(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13063\\)                           #                       )
13064)    #         special
13065[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13066)*                                  #            )*
13067\\)                             #                )
13068[\\040\\t]* )*    # If comment found, allow more spaces.
13069# additional words
13070)*
13071@
13072[\\040\\t]*                    # Nab whitespace.
13073(?:
13074\\(                              #  (
13075[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13076(?:                                 #       (
13077(?:  \\\\ [^\\x80-\\xff]  |
13078\\(                            #  (
13079[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13080(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13081\\)                           #                       )
13082)    #         special
13083[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13084)*                                  #            )*
13085\\)                             #                )
13086[\\040\\t]* )*    # If comment found, allow more spaces.
13087(?:
13088[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
13089(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
13090|
13091\\[                            # [
13092(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
13093\\]                           #           ]
13094)
13095[\\040\\t]*                    # Nab whitespace.
13096(?:
13097\\(                              #  (
13098[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13099(?:                                 #       (
13100(?:  \\\\ [^\\x80-\\xff]  |
13101\\(                            #  (
13102[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13103(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13104\\)                           #                       )
13105)    #         special
13106[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13107)*                                  #            )*
13108\\)                             #                )
13109[\\040\\t]* )*    # If comment found, allow more spaces.
13110# optional trailing comments
13111(?:
13112\\.
13113[\\040\\t]*                    # Nab whitespace.
13114(?:
13115\\(                              #  (
13116[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13117(?:                                 #       (
13118(?:  \\\\ [^\\x80-\\xff]  |
13119\\(                            #  (
13120[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13121(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13122\\)                           #                       )
13123)    #         special
13124[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13125)*                                  #            )*
13126\\)                             #                )
13127[\\040\\t]* )*    # If comment found, allow more spaces.
13128(?:
13129[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
13130(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
13131|
13132\\[                            # [
13133(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
13134\\]                           #           ]
13135)
13136[\\040\\t]*                    # Nab whitespace.
13137(?:
13138\\(                              #  (
13139[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13140(?:                                 #       (
13141(?:  \\\\ [^\\x80-\\xff]  |
13142\\(                            #  (
13143[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13144(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13145\\)                           #                       )
13146)    #         special
13147[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13148)*                                  #            )*
13149\\)                             #                )
13150[\\040\\t]* )*    # If comment found, allow more spaces.
13151# optional trailing comments
13152)*
13153# address
13154|                             #  or
13155(?:
13156[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
13157(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
13158# Atom
13159|                       #  or
13160\"                                     # \"
13161[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
13162(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
13163\"                                     #        \"
13164# Quoted string
13165)
13166# leading word
13167[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
13168(?:
13169(?:
13170\\(                              #  (
13171[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13172(?:                                 #       (
13173(?:  \\\\ [^\\x80-\\xff]  |
13174\\(                            #  (
13175[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13176(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13177\\)                           #                       )
13178)    #         special
13179[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13180)*                                  #            )*
13181\\)                             #                )
13182|
13183\"                                     # \"
13184[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
13185(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
13186\"                                     #        \"
13187) # \"special\" comment or quoted string
13188[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
13189)*
13190<
13191[\\040\\t]*                    # Nab whitespace.
13192(?:
13193\\(                              #  (
13194[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13195(?:                                 #       (
13196(?:  \\\\ [^\\x80-\\xff]  |
13197\\(                            #  (
13198[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13199(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13200\\)                           #                       )
13201)    #         special
13202[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13203)*                                  #            )*
13204\\)                             #                )
13205[\\040\\t]* )*    # If comment found, allow more spaces.
13206# <
13207(?:
13208@
13209[\\040\\t]*                    # Nab whitespace.
13210(?:
13211\\(                              #  (
13212[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13213(?:                                 #       (
13214(?:  \\\\ [^\\x80-\\xff]  |
13215\\(                            #  (
13216[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13217(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13218\\)                           #                       )
13219)    #         special
13220[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13221)*                                  #            )*
13222\\)                             #                )
13223[\\040\\t]* )*    # If comment found, allow more spaces.
13224(?:
13225[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
13226(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
13227|
13228\\[                            # [
13229(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
13230\\]                           #           ]
13231)
13232[\\040\\t]*                    # Nab whitespace.
13233(?:
13234\\(                              #  (
13235[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13236(?:                                 #       (
13237(?:  \\\\ [^\\x80-\\xff]  |
13238\\(                            #  (
13239[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13240(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13241\\)                           #                       )
13242)    #         special
13243[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13244)*                                  #            )*
13245\\)                             #                )
13246[\\040\\t]* )*    # If comment found, allow more spaces.
13247# optional trailing comments
13248(?:
13249\\.
13250[\\040\\t]*                    # Nab whitespace.
13251(?:
13252\\(                              #  (
13253[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13254(?:                                 #       (
13255(?:  \\\\ [^\\x80-\\xff]  |
13256\\(                            #  (
13257[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13258(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13259\\)                           #                       )
13260)    #         special
13261[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13262)*                                  #            )*
13263\\)                             #                )
13264[\\040\\t]* )*    # If comment found, allow more spaces.
13265(?:
13266[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
13267(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
13268|
13269\\[                            # [
13270(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
13271\\]                           #           ]
13272)
13273[\\040\\t]*                    # Nab whitespace.
13274(?:
13275\\(                              #  (
13276[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13277(?:                                 #       (
13278(?:  \\\\ [^\\x80-\\xff]  |
13279\\(                            #  (
13280[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13281(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13282\\)                           #                       )
13283)    #         special
13284[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13285)*                                  #            )*
13286\\)                             #                )
13287[\\040\\t]* )*    # If comment found, allow more spaces.
13288# optional trailing comments
13289)*
13290(?: ,
13291[\\040\\t]*                    # Nab whitespace.
13292(?:
13293\\(                              #  (
13294[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13295(?:                                 #       (
13296(?:  \\\\ [^\\x80-\\xff]  |
13297\\(                            #  (
13298[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13299(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13300\\)                           #                       )
13301)    #         special
13302[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13303)*                                  #            )*
13304\\)                             #                )
13305[\\040\\t]* )*    # If comment found, allow more spaces.
13306@
13307[\\040\\t]*                    # Nab whitespace.
13308(?:
13309\\(                              #  (
13310[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13311(?:                                 #       (
13312(?:  \\\\ [^\\x80-\\xff]  |
13313\\(                            #  (
13314[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13315(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13316\\)                           #                       )
13317)    #         special
13318[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13319)*                                  #            )*
13320\\)                             #                )
13321[\\040\\t]* )*    # If comment found, allow more spaces.
13322(?:
13323[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
13324(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
13325|
13326\\[                            # [
13327(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
13328\\]                           #           ]
13329)
13330[\\040\\t]*                    # Nab whitespace.
13331(?:
13332\\(                              #  (
13333[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13334(?:                                 #       (
13335(?:  \\\\ [^\\x80-\\xff]  |
13336\\(                            #  (
13337[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13338(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13339\\)                           #                       )
13340)    #         special
13341[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13342)*                                  #            )*
13343\\)                             #                )
13344[\\040\\t]* )*    # If comment found, allow more spaces.
13345# optional trailing comments
13346(?:
13347\\.
13348[\\040\\t]*                    # Nab whitespace.
13349(?:
13350\\(                              #  (
13351[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13352(?:                                 #       (
13353(?:  \\\\ [^\\x80-\\xff]  |
13354\\(                            #  (
13355[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13356(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13357\\)                           #                       )
13358)    #         special
13359[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13360)*                                  #            )*
13361\\)                             #                )
13362[\\040\\t]* )*    # If comment found, allow more spaces.
13363(?:
13364[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
13365(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
13366|
13367\\[                            # [
13368(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
13369\\]                           #           ]
13370)
13371[\\040\\t]*                    # Nab whitespace.
13372(?:
13373\\(                              #  (
13374[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13375(?:                                 #       (
13376(?:  \\\\ [^\\x80-\\xff]  |
13377\\(                            #  (
13378[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13379(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13380\\)                           #                       )
13381)    #         special
13382[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13383)*                                  #            )*
13384\\)                             #                )
13385[\\040\\t]* )*    # If comment found, allow more spaces.
13386# optional trailing comments
13387)*
13388)*  # additional domains
13389:
13390[\\040\\t]*                    # Nab whitespace.
13391(?:
13392\\(                              #  (
13393[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13394(?:                                 #       (
13395(?:  \\\\ [^\\x80-\\xff]  |
13396\\(                            #  (
13397[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13398(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13399\\)                           #                       )
13400)    #         special
13401[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13402)*                                  #            )*
13403\\)                             #                )
13404[\\040\\t]* )*    # If comment found, allow more spaces.
13405# optional trailing comments
13406)?     #       optional route
13407(?:
13408[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
13409(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
13410# Atom
13411|                       #  or
13412\"                                     # \"
13413[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
13414(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
13415\"                                     #        \"
13416# Quoted string
13417)
13418[\\040\\t]*                    # Nab whitespace.
13419(?:
13420\\(                              #  (
13421[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13422(?:                                 #       (
13423(?:  \\\\ [^\\x80-\\xff]  |
13424\\(                            #  (
13425[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13426(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13427\\)                           #                       )
13428)    #         special
13429[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13430)*                                  #            )*
13431\\)                             #                )
13432[\\040\\t]* )*    # If comment found, allow more spaces.
13433(?:
13434\\.
13435[\\040\\t]*                    # Nab whitespace.
13436(?:
13437\\(                              #  (
13438[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13439(?:                                 #       (
13440(?:  \\\\ [^\\x80-\\xff]  |
13441\\(                            #  (
13442[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13443(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13444\\)                           #                       )
13445)    #         special
13446[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13447)*                                  #            )*
13448\\)                             #                )
13449[\\040\\t]* )*    # If comment found, allow more spaces.
13450(?:
13451[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
13452(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
13453# Atom
13454|                       #  or
13455\"                                     # \"
13456[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
13457(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
13458\"                                     #        \"
13459# Quoted string
13460)
13461[\\040\\t]*                    # Nab whitespace.
13462(?:
13463\\(                              #  (
13464[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13465(?:                                 #       (
13466(?:  \\\\ [^\\x80-\\xff]  |
13467\\(                            #  (
13468[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13469(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13470\\)                           #                       )
13471)    #         special
13472[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13473)*                                  #            )*
13474\\)                             #                )
13475[\\040\\t]* )*    # If comment found, allow more spaces.
13476# additional words
13477)*
13478@
13479[\\040\\t]*                    # Nab whitespace.
13480(?:
13481\\(                              #  (
13482[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13483(?:                                 #       (
13484(?:  \\\\ [^\\x80-\\xff]  |
13485\\(                            #  (
13486[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13487(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13488\\)                           #                       )
13489)    #         special
13490[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13491)*                                  #            )*
13492\\)                             #                )
13493[\\040\\t]* )*    # If comment found, allow more spaces.
13494(?:
13495[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
13496(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
13497|
13498\\[                            # [
13499(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
13500\\]                           #           ]
13501)
13502[\\040\\t]*                    # Nab whitespace.
13503(?:
13504\\(                              #  (
13505[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13506(?:                                 #       (
13507(?:  \\\\ [^\\x80-\\xff]  |
13508\\(                            #  (
13509[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13510(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13511\\)                           #                       )
13512)    #         special
13513[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13514)*                                  #            )*
13515\\)                             #                )
13516[\\040\\t]* )*    # If comment found, allow more spaces.
13517# optional trailing comments
13518(?:
13519\\.
13520[\\040\\t]*                    # Nab whitespace.
13521(?:
13522\\(                              #  (
13523[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13524(?:                                 #       (
13525(?:  \\\\ [^\\x80-\\xff]  |
13526\\(                            #  (
13527[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13528(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13529\\)                           #                       )
13530)    #         special
13531[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13532)*                                  #            )*
13533\\)                             #                )
13534[\\040\\t]* )*    # If comment found, allow more spaces.
13535(?:
13536[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
13537(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
13538|
13539\\[                            # [
13540(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
13541\\]                           #           ]
13542)
13543[\\040\\t]*                    # Nab whitespace.
13544(?:
13545\\(                              #  (
13546[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13547(?:                                 #       (
13548(?:  \\\\ [^\\x80-\\xff]  |
13549\\(                            #  (
13550[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13551(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13552\\)                           #                       )
13553)    #         special
13554[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13555)*                                  #            )*
13556\\)                             #                )
13557[\\040\\t]* )*    # If comment found, allow more spaces.
13558# optional trailing comments
13559)*
13560#       address spec
13561>                    #                 >
13562# name and address
13563)","&kowbne",[extended,global])),
13564    <<"The quick brown fox">> = iolist_to_binary(re:replace("The quick brown fox","[\\040\\t]*                    # Nab whitespace.
13565(?:
13566\\(                              #  (
13567[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13568(?:                                 #       (
13569(?:  \\\\ [^\\x80-\\xff]  |
13570\\(                            #  (
13571[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13572(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13573\\)                           #                       )
13574)    #         special
13575[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13576)*                                  #            )*
13577\\)                             #                )
13578[\\040\\t]* )*    # If comment found, allow more spaces.
13579# optional leading comment
13580(?:
13581(?:
13582[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
13583(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
13584# Atom
13585|                       #  or
13586\"                                     # \"
13587[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
13588(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
13589\"                                     #        \"
13590# Quoted string
13591)
13592[\\040\\t]*                    # Nab whitespace.
13593(?:
13594\\(                              #  (
13595[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13596(?:                                 #       (
13597(?:  \\\\ [^\\x80-\\xff]  |
13598\\(                            #  (
13599[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13600(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13601\\)                           #                       )
13602)    #         special
13603[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13604)*                                  #            )*
13605\\)                             #                )
13606[\\040\\t]* )*    # If comment found, allow more spaces.
13607(?:
13608\\.
13609[\\040\\t]*                    # Nab whitespace.
13610(?:
13611\\(                              #  (
13612[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13613(?:                                 #       (
13614(?:  \\\\ [^\\x80-\\xff]  |
13615\\(                            #  (
13616[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13617(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13618\\)                           #                       )
13619)    #         special
13620[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13621)*                                  #            )*
13622\\)                             #                )
13623[\\040\\t]* )*    # If comment found, allow more spaces.
13624(?:
13625[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
13626(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
13627# Atom
13628|                       #  or
13629\"                                     # \"
13630[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
13631(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
13632\"                                     #        \"
13633# Quoted string
13634)
13635[\\040\\t]*                    # Nab whitespace.
13636(?:
13637\\(                              #  (
13638[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13639(?:                                 #       (
13640(?:  \\\\ [^\\x80-\\xff]  |
13641\\(                            #  (
13642[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13643(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13644\\)                           #                       )
13645)    #         special
13646[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13647)*                                  #            )*
13648\\)                             #                )
13649[\\040\\t]* )*    # If comment found, allow more spaces.
13650# additional words
13651)*
13652@
13653[\\040\\t]*                    # Nab whitespace.
13654(?:
13655\\(                              #  (
13656[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13657(?:                                 #       (
13658(?:  \\\\ [^\\x80-\\xff]  |
13659\\(                            #  (
13660[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13661(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13662\\)                           #                       )
13663)    #         special
13664[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13665)*                                  #            )*
13666\\)                             #                )
13667[\\040\\t]* )*    # If comment found, allow more spaces.
13668(?:
13669[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
13670(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
13671|
13672\\[                            # [
13673(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
13674\\]                           #           ]
13675)
13676[\\040\\t]*                    # Nab whitespace.
13677(?:
13678\\(                              #  (
13679[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13680(?:                                 #       (
13681(?:  \\\\ [^\\x80-\\xff]  |
13682\\(                            #  (
13683[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13684(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13685\\)                           #                       )
13686)    #         special
13687[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13688)*                                  #            )*
13689\\)                             #                )
13690[\\040\\t]* )*    # If comment found, allow more spaces.
13691# optional trailing comments
13692(?:
13693\\.
13694[\\040\\t]*                    # Nab whitespace.
13695(?:
13696\\(                              #  (
13697[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13698(?:                                 #       (
13699(?:  \\\\ [^\\x80-\\xff]  |
13700\\(                            #  (
13701[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13702(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13703\\)                           #                       )
13704)    #         special
13705[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13706)*                                  #            )*
13707\\)                             #                )
13708[\\040\\t]* )*    # If comment found, allow more spaces.
13709(?:
13710[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
13711(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
13712|
13713\\[                            # [
13714(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
13715\\]                           #           ]
13716)
13717[\\040\\t]*                    # Nab whitespace.
13718(?:
13719\\(                              #  (
13720[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13721(?:                                 #       (
13722(?:  \\\\ [^\\x80-\\xff]  |
13723\\(                            #  (
13724[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13725(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13726\\)                           #                       )
13727)    #         special
13728[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13729)*                                  #            )*
13730\\)                             #                )
13731[\\040\\t]* )*    # If comment found, allow more spaces.
13732# optional trailing comments
13733)*
13734# address
13735|                             #  or
13736(?:
13737[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
13738(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
13739# Atom
13740|                       #  or
13741\"                                     # \"
13742[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
13743(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
13744\"                                     #        \"
13745# Quoted string
13746)
13747# leading word
13748[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
13749(?:
13750(?:
13751\\(                              #  (
13752[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13753(?:                                 #       (
13754(?:  \\\\ [^\\x80-\\xff]  |
13755\\(                            #  (
13756[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13757(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13758\\)                           #                       )
13759)    #         special
13760[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13761)*                                  #            )*
13762\\)                             #                )
13763|
13764\"                                     # \"
13765[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
13766(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
13767\"                                     #        \"
13768) # \"special\" comment or quoted string
13769[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
13770)*
13771<
13772[\\040\\t]*                    # Nab whitespace.
13773(?:
13774\\(                              #  (
13775[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13776(?:                                 #       (
13777(?:  \\\\ [^\\x80-\\xff]  |
13778\\(                            #  (
13779[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13780(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13781\\)                           #                       )
13782)    #         special
13783[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13784)*                                  #            )*
13785\\)                             #                )
13786[\\040\\t]* )*    # If comment found, allow more spaces.
13787# <
13788(?:
13789@
13790[\\040\\t]*                    # Nab whitespace.
13791(?:
13792\\(                              #  (
13793[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13794(?:                                 #       (
13795(?:  \\\\ [^\\x80-\\xff]  |
13796\\(                            #  (
13797[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13798(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13799\\)                           #                       )
13800)    #         special
13801[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13802)*                                  #            )*
13803\\)                             #                )
13804[\\040\\t]* )*    # If comment found, allow more spaces.
13805(?:
13806[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
13807(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
13808|
13809\\[                            # [
13810(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
13811\\]                           #           ]
13812)
13813[\\040\\t]*                    # Nab whitespace.
13814(?:
13815\\(                              #  (
13816[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13817(?:                                 #       (
13818(?:  \\\\ [^\\x80-\\xff]  |
13819\\(                            #  (
13820[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13821(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13822\\)                           #                       )
13823)    #         special
13824[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13825)*                                  #            )*
13826\\)                             #                )
13827[\\040\\t]* )*    # If comment found, allow more spaces.
13828# optional trailing comments
13829(?:
13830\\.
13831[\\040\\t]*                    # Nab whitespace.
13832(?:
13833\\(                              #  (
13834[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13835(?:                                 #       (
13836(?:  \\\\ [^\\x80-\\xff]  |
13837\\(                            #  (
13838[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13839(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13840\\)                           #                       )
13841)    #         special
13842[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13843)*                                  #            )*
13844\\)                             #                )
13845[\\040\\t]* )*    # If comment found, allow more spaces.
13846(?:
13847[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
13848(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
13849|
13850\\[                            # [
13851(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
13852\\]                           #           ]
13853)
13854[\\040\\t]*                    # Nab whitespace.
13855(?:
13856\\(                              #  (
13857[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13858(?:                                 #       (
13859(?:  \\\\ [^\\x80-\\xff]  |
13860\\(                            #  (
13861[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13862(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13863\\)                           #                       )
13864)    #         special
13865[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13866)*                                  #            )*
13867\\)                             #                )
13868[\\040\\t]* )*    # If comment found, allow more spaces.
13869# optional trailing comments
13870)*
13871(?: ,
13872[\\040\\t]*                    # Nab whitespace.
13873(?:
13874\\(                              #  (
13875[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13876(?:                                 #       (
13877(?:  \\\\ [^\\x80-\\xff]  |
13878\\(                            #  (
13879[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13880(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13881\\)                           #                       )
13882)    #         special
13883[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13884)*                                  #            )*
13885\\)                             #                )
13886[\\040\\t]* )*    # If comment found, allow more spaces.
13887@
13888[\\040\\t]*                    # Nab whitespace.
13889(?:
13890\\(                              #  (
13891[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13892(?:                                 #       (
13893(?:  \\\\ [^\\x80-\\xff]  |
13894\\(                            #  (
13895[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13896(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13897\\)                           #                       )
13898)    #         special
13899[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13900)*                                  #            )*
13901\\)                             #                )
13902[\\040\\t]* )*    # If comment found, allow more spaces.
13903(?:
13904[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
13905(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
13906|
13907\\[                            # [
13908(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
13909\\]                           #           ]
13910)
13911[\\040\\t]*                    # Nab whitespace.
13912(?:
13913\\(                              #  (
13914[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13915(?:                                 #       (
13916(?:  \\\\ [^\\x80-\\xff]  |
13917\\(                            #  (
13918[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13919(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13920\\)                           #                       )
13921)    #         special
13922[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13923)*                                  #            )*
13924\\)                             #                )
13925[\\040\\t]* )*    # If comment found, allow more spaces.
13926# optional trailing comments
13927(?:
13928\\.
13929[\\040\\t]*                    # Nab whitespace.
13930(?:
13931\\(                              #  (
13932[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13933(?:                                 #       (
13934(?:  \\\\ [^\\x80-\\xff]  |
13935\\(                            #  (
13936[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13937(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13938\\)                           #                       )
13939)    #         special
13940[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13941)*                                  #            )*
13942\\)                             #                )
13943[\\040\\t]* )*    # If comment found, allow more spaces.
13944(?:
13945[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
13946(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
13947|
13948\\[                            # [
13949(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
13950\\]                           #           ]
13951)
13952[\\040\\t]*                    # Nab whitespace.
13953(?:
13954\\(                              #  (
13955[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13956(?:                                 #       (
13957(?:  \\\\ [^\\x80-\\xff]  |
13958\\(                            #  (
13959[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13960(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13961\\)                           #                       )
13962)    #         special
13963[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13964)*                                  #            )*
13965\\)                             #                )
13966[\\040\\t]* )*    # If comment found, allow more spaces.
13967# optional trailing comments
13968)*
13969)*  # additional domains
13970:
13971[\\040\\t]*                    # Nab whitespace.
13972(?:
13973\\(                              #  (
13974[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
13975(?:                                 #       (
13976(?:  \\\\ [^\\x80-\\xff]  |
13977\\(                            #  (
13978[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
13979(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
13980\\)                           #                       )
13981)    #         special
13982[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
13983)*                                  #            )*
13984\\)                             #                )
13985[\\040\\t]* )*    # If comment found, allow more spaces.
13986# optional trailing comments
13987)?     #       optional route
13988(?:
13989[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
13990(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
13991# Atom
13992|                       #  or
13993\"                                     # \"
13994[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
13995(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
13996\"                                     #        \"
13997# Quoted string
13998)
13999[\\040\\t]*                    # Nab whitespace.
14000(?:
14001\\(                              #  (
14002[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14003(?:                                 #       (
14004(?:  \\\\ [^\\x80-\\xff]  |
14005\\(                            #  (
14006[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14007(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14008\\)                           #                       )
14009)    #         special
14010[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14011)*                                  #            )*
14012\\)                             #                )
14013[\\040\\t]* )*    # If comment found, allow more spaces.
14014(?:
14015\\.
14016[\\040\\t]*                    # Nab whitespace.
14017(?:
14018\\(                              #  (
14019[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14020(?:                                 #       (
14021(?:  \\\\ [^\\x80-\\xff]  |
14022\\(                            #  (
14023[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14024(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14025\\)                           #                       )
14026)    #         special
14027[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14028)*                                  #            )*
14029\\)                             #                )
14030[\\040\\t]* )*    # If comment found, allow more spaces.
14031(?:
14032[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
14033(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
14034# Atom
14035|                       #  or
14036\"                                     # \"
14037[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
14038(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
14039\"                                     #        \"
14040# Quoted string
14041)
14042[\\040\\t]*                    # Nab whitespace.
14043(?:
14044\\(                              #  (
14045[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14046(?:                                 #       (
14047(?:  \\\\ [^\\x80-\\xff]  |
14048\\(                            #  (
14049[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14050(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14051\\)                           #                       )
14052)    #         special
14053[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14054)*                                  #            )*
14055\\)                             #                )
14056[\\040\\t]* )*    # If comment found, allow more spaces.
14057# additional words
14058)*
14059@
14060[\\040\\t]*                    # Nab whitespace.
14061(?:
14062\\(                              #  (
14063[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14064(?:                                 #       (
14065(?:  \\\\ [^\\x80-\\xff]  |
14066\\(                            #  (
14067[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14068(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14069\\)                           #                       )
14070)    #         special
14071[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14072)*                                  #            )*
14073\\)                             #                )
14074[\\040\\t]* )*    # If comment found, allow more spaces.
14075(?:
14076[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
14077(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
14078|
14079\\[                            # [
14080(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
14081\\]                           #           ]
14082)
14083[\\040\\t]*                    # Nab whitespace.
14084(?:
14085\\(                              #  (
14086[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14087(?:                                 #       (
14088(?:  \\\\ [^\\x80-\\xff]  |
14089\\(                            #  (
14090[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14091(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14092\\)                           #                       )
14093)    #         special
14094[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14095)*                                  #            )*
14096\\)                             #                )
14097[\\040\\t]* )*    # If comment found, allow more spaces.
14098# optional trailing comments
14099(?:
14100\\.
14101[\\040\\t]*                    # Nab whitespace.
14102(?:
14103\\(                              #  (
14104[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14105(?:                                 #       (
14106(?:  \\\\ [^\\x80-\\xff]  |
14107\\(                            #  (
14108[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14109(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14110\\)                           #                       )
14111)    #         special
14112[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14113)*                                  #            )*
14114\\)                             #                )
14115[\\040\\t]* )*    # If comment found, allow more spaces.
14116(?:
14117[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
14118(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
14119|
14120\\[                            # [
14121(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
14122\\]                           #           ]
14123)
14124[\\040\\t]*                    # Nab whitespace.
14125(?:
14126\\(                              #  (
14127[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14128(?:                                 #       (
14129(?:  \\\\ [^\\x80-\\xff]  |
14130\\(                            #  (
14131[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14132(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14133\\)                           #                       )
14134)    #         special
14135[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14136)*                                  #            )*
14137\\)                             #                )
14138[\\040\\t]* )*    # If comment found, allow more spaces.
14139# optional trailing comments
14140)*
14141#       address spec
14142>                    #                 >
14143# name and address
14144)","Gx\\1NKVD",[extended])),
14145    <<"The quick brown fox">> = iolist_to_binary(re:replace("The quick brown fox","[\\040\\t]*                    # Nab whitespace.
14146(?:
14147\\(                              #  (
14148[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14149(?:                                 #       (
14150(?:  \\\\ [^\\x80-\\xff]  |
14151\\(                            #  (
14152[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14153(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14154\\)                           #                       )
14155)    #         special
14156[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14157)*                                  #            )*
14158\\)                             #                )
14159[\\040\\t]* )*    # If comment found, allow more spaces.
14160# optional leading comment
14161(?:
14162(?:
14163[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
14164(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
14165# Atom
14166|                       #  or
14167\"                                     # \"
14168[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
14169(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
14170\"                                     #        \"
14171# Quoted string
14172)
14173[\\040\\t]*                    # Nab whitespace.
14174(?:
14175\\(                              #  (
14176[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14177(?:                                 #       (
14178(?:  \\\\ [^\\x80-\\xff]  |
14179\\(                            #  (
14180[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14181(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14182\\)                           #                       )
14183)    #         special
14184[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14185)*                                  #            )*
14186\\)                             #                )
14187[\\040\\t]* )*    # If comment found, allow more spaces.
14188(?:
14189\\.
14190[\\040\\t]*                    # Nab whitespace.
14191(?:
14192\\(                              #  (
14193[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14194(?:                                 #       (
14195(?:  \\\\ [^\\x80-\\xff]  |
14196\\(                            #  (
14197[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14198(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14199\\)                           #                       )
14200)    #         special
14201[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14202)*                                  #            )*
14203\\)                             #                )
14204[\\040\\t]* )*    # If comment found, allow more spaces.
14205(?:
14206[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
14207(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
14208# Atom
14209|                       #  or
14210\"                                     # \"
14211[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
14212(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
14213\"                                     #        \"
14214# Quoted string
14215)
14216[\\040\\t]*                    # Nab whitespace.
14217(?:
14218\\(                              #  (
14219[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14220(?:                                 #       (
14221(?:  \\\\ [^\\x80-\\xff]  |
14222\\(                            #  (
14223[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14224(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14225\\)                           #                       )
14226)    #         special
14227[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14228)*                                  #            )*
14229\\)                             #                )
14230[\\040\\t]* )*    # If comment found, allow more spaces.
14231# additional words
14232)*
14233@
14234[\\040\\t]*                    # Nab whitespace.
14235(?:
14236\\(                              #  (
14237[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14238(?:                                 #       (
14239(?:  \\\\ [^\\x80-\\xff]  |
14240\\(                            #  (
14241[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14242(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14243\\)                           #                       )
14244)    #         special
14245[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14246)*                                  #            )*
14247\\)                             #                )
14248[\\040\\t]* )*    # If comment found, allow more spaces.
14249(?:
14250[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
14251(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
14252|
14253\\[                            # [
14254(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
14255\\]                           #           ]
14256)
14257[\\040\\t]*                    # Nab whitespace.
14258(?:
14259\\(                              #  (
14260[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14261(?:                                 #       (
14262(?:  \\\\ [^\\x80-\\xff]  |
14263\\(                            #  (
14264[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14265(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14266\\)                           #                       )
14267)    #         special
14268[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14269)*                                  #            )*
14270\\)                             #                )
14271[\\040\\t]* )*    # If comment found, allow more spaces.
14272# optional trailing comments
14273(?:
14274\\.
14275[\\040\\t]*                    # Nab whitespace.
14276(?:
14277\\(                              #  (
14278[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14279(?:                                 #       (
14280(?:  \\\\ [^\\x80-\\xff]  |
14281\\(                            #  (
14282[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14283(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14284\\)                           #                       )
14285)    #         special
14286[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14287)*                                  #            )*
14288\\)                             #                )
14289[\\040\\t]* )*    # If comment found, allow more spaces.
14290(?:
14291[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
14292(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
14293|
14294\\[                            # [
14295(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
14296\\]                           #           ]
14297)
14298[\\040\\t]*                    # Nab whitespace.
14299(?:
14300\\(                              #  (
14301[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14302(?:                                 #       (
14303(?:  \\\\ [^\\x80-\\xff]  |
14304\\(                            #  (
14305[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14306(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14307\\)                           #                       )
14308)    #         special
14309[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14310)*                                  #            )*
14311\\)                             #                )
14312[\\040\\t]* )*    # If comment found, allow more spaces.
14313# optional trailing comments
14314)*
14315# address
14316|                             #  or
14317(?:
14318[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
14319(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
14320# Atom
14321|                       #  or
14322\"                                     # \"
14323[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
14324(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
14325\"                                     #        \"
14326# Quoted string
14327)
14328# leading word
14329[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *               # \"normal\" atoms and or spaces
14330(?:
14331(?:
14332\\(                              #  (
14333[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14334(?:                                 #       (
14335(?:  \\\\ [^\\x80-\\xff]  |
14336\\(                            #  (
14337[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14338(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14339\\)                           #                       )
14340)    #         special
14341[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14342)*                                  #            )*
14343\\)                             #                )
14344|
14345\"                                     # \"
14346[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
14347(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
14348\"                                     #        \"
14349) # \"special\" comment or quoted string
14350[^()<>@,;:\".\\\\\\[\\]\\x80-\\xff\\000-\\010\\012-\\037] *            #  more \"normal\"
14351)*
14352<
14353[\\040\\t]*                    # Nab whitespace.
14354(?:
14355\\(                              #  (
14356[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14357(?:                                 #       (
14358(?:  \\\\ [^\\x80-\\xff]  |
14359\\(                            #  (
14360[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14361(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14362\\)                           #                       )
14363)    #         special
14364[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14365)*                                  #            )*
14366\\)                             #                )
14367[\\040\\t]* )*    # If comment found, allow more spaces.
14368# <
14369(?:
14370@
14371[\\040\\t]*                    # Nab whitespace.
14372(?:
14373\\(                              #  (
14374[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14375(?:                                 #       (
14376(?:  \\\\ [^\\x80-\\xff]  |
14377\\(                            #  (
14378[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14379(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14380\\)                           #                       )
14381)    #         special
14382[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14383)*                                  #            )*
14384\\)                             #                )
14385[\\040\\t]* )*    # If comment found, allow more spaces.
14386(?:
14387[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
14388(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
14389|
14390\\[                            # [
14391(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
14392\\]                           #           ]
14393)
14394[\\040\\t]*                    # Nab whitespace.
14395(?:
14396\\(                              #  (
14397[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14398(?:                                 #       (
14399(?:  \\\\ [^\\x80-\\xff]  |
14400\\(                            #  (
14401[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14402(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14403\\)                           #                       )
14404)    #         special
14405[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14406)*                                  #            )*
14407\\)                             #                )
14408[\\040\\t]* )*    # If comment found, allow more spaces.
14409# optional trailing comments
14410(?:
14411\\.
14412[\\040\\t]*                    # Nab whitespace.
14413(?:
14414\\(                              #  (
14415[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14416(?:                                 #       (
14417(?:  \\\\ [^\\x80-\\xff]  |
14418\\(                            #  (
14419[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14420(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14421\\)                           #                       )
14422)    #         special
14423[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14424)*                                  #            )*
14425\\)                             #                )
14426[\\040\\t]* )*    # If comment found, allow more spaces.
14427(?:
14428[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
14429(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
14430|
14431\\[                            # [
14432(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
14433\\]                           #           ]
14434)
14435[\\040\\t]*                    # Nab whitespace.
14436(?:
14437\\(                              #  (
14438[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14439(?:                                 #       (
14440(?:  \\\\ [^\\x80-\\xff]  |
14441\\(                            #  (
14442[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14443(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14444\\)                           #                       )
14445)    #         special
14446[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14447)*                                  #            )*
14448\\)                             #                )
14449[\\040\\t]* )*    # If comment found, allow more spaces.
14450# optional trailing comments
14451)*
14452(?: ,
14453[\\040\\t]*                    # Nab whitespace.
14454(?:
14455\\(                              #  (
14456[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14457(?:                                 #       (
14458(?:  \\\\ [^\\x80-\\xff]  |
14459\\(                            #  (
14460[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14461(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14462\\)                           #                       )
14463)    #         special
14464[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14465)*                                  #            )*
14466\\)                             #                )
14467[\\040\\t]* )*    # If comment found, allow more spaces.
14468@
14469[\\040\\t]*                    # Nab whitespace.
14470(?:
14471\\(                              #  (
14472[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14473(?:                                 #       (
14474(?:  \\\\ [^\\x80-\\xff]  |
14475\\(                            #  (
14476[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14477(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14478\\)                           #                       )
14479)    #         special
14480[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14481)*                                  #            )*
14482\\)                             #                )
14483[\\040\\t]* )*    # If comment found, allow more spaces.
14484(?:
14485[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
14486(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
14487|
14488\\[                            # [
14489(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
14490\\]                           #           ]
14491)
14492[\\040\\t]*                    # Nab whitespace.
14493(?:
14494\\(                              #  (
14495[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14496(?:                                 #       (
14497(?:  \\\\ [^\\x80-\\xff]  |
14498\\(                            #  (
14499[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14500(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14501\\)                           #                       )
14502)    #         special
14503[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14504)*                                  #            )*
14505\\)                             #                )
14506[\\040\\t]* )*    # If comment found, allow more spaces.
14507# optional trailing comments
14508(?:
14509\\.
14510[\\040\\t]*                    # Nab whitespace.
14511(?:
14512\\(                              #  (
14513[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14514(?:                                 #       (
14515(?:  \\\\ [^\\x80-\\xff]  |
14516\\(                            #  (
14517[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14518(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14519\\)                           #                       )
14520)    #         special
14521[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14522)*                                  #            )*
14523\\)                             #                )
14524[\\040\\t]* )*    # If comment found, allow more spaces.
14525(?:
14526[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
14527(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
14528|
14529\\[                            # [
14530(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
14531\\]                           #           ]
14532)
14533[\\040\\t]*                    # Nab whitespace.
14534(?:
14535\\(                              #  (
14536[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14537(?:                                 #       (
14538(?:  \\\\ [^\\x80-\\xff]  |
14539\\(                            #  (
14540[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14541(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14542\\)                           #                       )
14543)    #         special
14544[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14545)*                                  #            )*
14546\\)                             #                )
14547[\\040\\t]* )*    # If comment found, allow more spaces.
14548# optional trailing comments
14549)*
14550)*  # additional domains
14551:
14552[\\040\\t]*                    # Nab whitespace.
14553(?:
14554\\(                              #  (
14555[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14556(?:                                 #       (
14557(?:  \\\\ [^\\x80-\\xff]  |
14558\\(                            #  (
14559[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14560(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14561\\)                           #                       )
14562)    #         special
14563[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14564)*                                  #            )*
14565\\)                             #                )
14566[\\040\\t]* )*    # If comment found, allow more spaces.
14567# optional trailing comments
14568)?     #       optional route
14569(?:
14570[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
14571(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
14572# Atom
14573|                       #  or
14574\"                                     # \"
14575[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
14576(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
14577\"                                     #        \"
14578# Quoted string
14579)
14580[\\040\\t]*                    # Nab whitespace.
14581(?:
14582\\(                              #  (
14583[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14584(?:                                 #       (
14585(?:  \\\\ [^\\x80-\\xff]  |
14586\\(                            #  (
14587[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14588(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14589\\)                           #                       )
14590)    #         special
14591[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14592)*                                  #            )*
14593\\)                             #                )
14594[\\040\\t]* )*    # If comment found, allow more spaces.
14595(?:
14596\\.
14597[\\040\\t]*                    # Nab whitespace.
14598(?:
14599\\(                              #  (
14600[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14601(?:                                 #       (
14602(?:  \\\\ [^\\x80-\\xff]  |
14603\\(                            #  (
14604[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14605(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14606\\)                           #                       )
14607)    #         special
14608[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14609)*                                  #            )*
14610\\)                             #                )
14611[\\040\\t]* )*    # If comment found, allow more spaces.
14612(?:
14613[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
14614(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
14615# Atom
14616|                       #  or
14617\"                                     # \"
14618[^\\\\\\x80-\\xff\\n\\015\"] *                            #   normal
14619(?:  \\\\ [^\\x80-\\xff]  [^\\\\\\x80-\\xff\\n\\015\"] * )*        #   ( special normal* )*
14620\"                                     #        \"
14621# Quoted string
14622)
14623[\\040\\t]*                    # Nab whitespace.
14624(?:
14625\\(                              #  (
14626[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14627(?:                                 #       (
14628(?:  \\\\ [^\\x80-\\xff]  |
14629\\(                            #  (
14630[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14631(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14632\\)                           #                       )
14633)    #         special
14634[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14635)*                                  #            )*
14636\\)                             #                )
14637[\\040\\t]* )*    # If comment found, allow more spaces.
14638# additional words
14639)*
14640@
14641[\\040\\t]*                    # Nab whitespace.
14642(?:
14643\\(                              #  (
14644[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14645(?:                                 #       (
14646(?:  \\\\ [^\\x80-\\xff]  |
14647\\(                            #  (
14648[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14649(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14650\\)                           #                       )
14651)    #         special
14652[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14653)*                                  #            )*
14654\\)                             #                )
14655[\\040\\t]* )*    # If comment found, allow more spaces.
14656(?:
14657[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
14658(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
14659|
14660\\[                            # [
14661(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
14662\\]                           #           ]
14663)
14664[\\040\\t]*                    # Nab whitespace.
14665(?:
14666\\(                              #  (
14667[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14668(?:                                 #       (
14669(?:  \\\\ [^\\x80-\\xff]  |
14670\\(                            #  (
14671[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14672(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14673\\)                           #                       )
14674)    #         special
14675[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14676)*                                  #            )*
14677\\)                             #                )
14678[\\040\\t]* )*    # If comment found, allow more spaces.
14679# optional trailing comments
14680(?:
14681\\.
14682[\\040\\t]*                    # Nab whitespace.
14683(?:
14684\\(                              #  (
14685[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14686(?:                                 #       (
14687(?:  \\\\ [^\\x80-\\xff]  |
14688\\(                            #  (
14689[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14690(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14691\\)                           #                       )
14692)    #         special
14693[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14694)*                                  #            )*
14695\\)                             #                )
14696[\\040\\t]* )*    # If comment found, allow more spaces.
14697(?:
14698[^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]+    # some number of atom characters...
14699(?![^(\\040)<>@,;:\".\\\\\\[\\]\\000-\\037\\x80-\\xff]) # ..not followed by something that could be part of an atom
14700|
14701\\[                            # [
14702(?: [^\\\\\\x80-\\xff\\n\\015\\[\\]] |  \\\\ [^\\x80-\\xff]  )*     #    stuff
14703\\]                           #           ]
14704)
14705[\\040\\t]*                    # Nab whitespace.
14706(?:
14707\\(                              #  (
14708[^\\\\\\x80-\\xff\\n\\015()] *                             #     normal*
14709(?:                                 #       (
14710(?:  \\\\ [^\\x80-\\xff]  |
14711\\(                            #  (
14712[^\\\\\\x80-\\xff\\n\\015()] *                            #     normal*
14713(?:  \\\\ [^\\x80-\\xff]   [^\\\\\\x80-\\xff\\n\\015()] * )*        #     (special normal*)*
14714\\)                           #                       )
14715)    #         special
14716[^\\\\\\x80-\\xff\\n\\015()] *                         #         normal*
14717)*                                  #            )*
14718\\)                             #                )
14719[\\040\\t]* )*    # If comment found, allow more spaces.
14720# optional trailing comments
14721)*
14722#       address spec
14723>                    #                 >
14724# name and address
14725)","Gx\\1NKVD",[extended,global])),
14726    <<"abcdefpqrxyz0AB">> = iolist_to_binary(re:replace("abcdefpqrxyz0AB","abc\\0def\\00pqr\\000xyz\\0000AB","dkxNTS&f",[])),
14727    <<"abcdefpqrxyz0AB">> = iolist_to_binary(re:replace("abcdefpqrxyz0AB","abc\\0def\\00pqr\\000xyz\\0000AB","dkxNTS&f",[global])),
14728    <<"abc456 abcdefpqrxyz0ABCDE">> = iolist_to_binary(re:replace("abc456 abcdefpqrxyz0ABCDE","abc\\0def\\00pqr\\000xyz\\0000AB","nJiU&",[])),
14729    <<"abc456 abcdefpqrxyz0ABCDE">> = iolist_to_binary(re:replace("abc456 abcdefpqrxyz0ABCDE","abc\\0def\\00pqr\\000xyz\\0000AB","nJiU&",[global])),
14730    <<"abc
14731efpqr0xyz00AB">> = iolist_to_binary(re:replace("abc
14732efpqr0xyz00AB","abc\\x0def\\x00pqr\\x000xyz\\x0000AB","V&ijCkR\\1gwPa\\1voR&",[])),
14733    <<"abc
14734efpqr0xyz00AB">> = iolist_to_binary(re:replace("abc
14735efpqr0xyz00AB","abc\\x0def\\x00pqr\\x000xyz\\x0000AB","V&ijCkR\\1gwPa\\1voR&",[global])),
14736    <<"abc456 abc
14737efpqr0xyz00ABCDE">> = iolist_to_binary(re:replace("abc456 abc
14738efpqr0xyz00ABCDE","abc\\x0def\\x00pqr\\x000xyz\\x0000AB","X\\1\\1wk",[])),
14739    <<"abc456 abc
14740efpqr0xyz00ABCDE">> = iolist_to_binary(re:replace("abc456 abc
14741efpqr0xyz00ABCDE","abc\\x0def\\x00pqr\\x000xyz\\x0000AB","X\\1\\1wk",[global])),
14742    <<"A">> = iolist_to_binary(re:replace("A","^[\\000-\\037]","tyqFsu&vfUBb&kaQBG",[])),
14743    <<"A">> = iolist_to_binary(re:replace("A","^[\\000-\\037]","tyqFsu&vfUBb&kaQBG",[global])),
14744    <<"DWjvqBB">> = iolist_to_binary(re:replace("B","^[\\000-\\037]","DWjvqB",[])),
14745    <<"DWjvqBB">> = iolist_to_binary(re:replace("B","^[\\000-\\037]","DWjvqB",[global])),
14746    <<"ctmC">> = iolist_to_binary(re:replace("C","^[\\000-\\037]","ctm",[])),
14747    <<"ctmC">> = iolist_to_binary(re:replace("C","^[\\000-\\037]","ctm",[global])),
14748    <<"tQmDpnh">> = iolist_to_binary(re:replace("","\\0*","tQ&mDpnh",[])),
14749    <<"tQmDpnh">> = iolist_to_binary(re:replace("","\\0*","tQ&mDpnh",[global])),
14750    <<"The AZ">> = iolist_to_binary(re:replace("The AZ","A\\x0{2,3}Z","pmlUUNWGtb",[])),
14751    <<"The AZ">> = iolist_to_binary(re:replace("The AZ","A\\x0{2,3}Z","pmlUUNWGtb",[global])),
14752    <<"An AZ">> = iolist_to_binary(re:replace("An AZ","A\\x0{2,3}Z","y",[])),
14753    <<"An AZ">> = iolist_to_binary(re:replace("An AZ","A\\x0{2,3}Z","y",[global])),
14754    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","A\\x0{2,3}Z","h&yF&Oe",[])),
14755    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","A\\x0{2,3}Z","h&yF&Oe",[global])),
14756    <<"AZ">> = iolist_to_binary(re:replace("AZ","A\\x0{2,3}Z","\\1U\\1",[])),
14757    <<"AZ">> = iolist_to_binary(re:replace("AZ","A\\x0{2,3}Z","\\1U\\1",[global])),
14758    <<"AZ">> = iolist_to_binary(re:replace("AZ","A\\x0{2,3}Z","vlOt\\1DNTdL&T",[])),
14759    <<"AZ">> = iolist_to_binary(re:replace("AZ","A\\x0{2,3}Z","vlOt\\1DNTdL&T",[global])),
14760    <<"cowcowbellcowcowbellNBJqwwYkcowuI">> = iolist_to_binary(re:replace("cowcowbell","^(cow|)\\1(bell)","&&NBJqwwYk\\1uI",[])),
14761    <<"cowcowbellcowcowbellNBJqwwYkcowuI">> = iolist_to_binary(re:replace("cowcowbell","^(cow|)\\1(bell)","&&NBJqwwYk\\1uI",[global])),
14762    <<"VGNLxyRxhavyOhbell">> = iolist_to_binary(re:replace("bell","^(cow|)\\1(bell)","VGNLxyRxhavyOh&",[])),
14763    <<"VGNLxyRxhavyOhbell">> = iolist_to_binary(re:replace("bell","^(cow|)\\1(bell)","VGNLxyRxhavyOh&",[global])),
14764    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(cow|)\\1(bell)","Fe&GxeL&lybNB&",[])),
14765    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(cow|)\\1(bell)","Fe&GxeL&lybNB&",[global])),
14766    <<"cowbell">> = iolist_to_binary(re:replace("cowbell","^(cow|)\\1(bell)","Wgx&BGClp",[])),
14767    <<"cowbell">> = iolist_to_binary(re:replace("cowbell","^(cow|)\\1(bell)","Wgx&BGClp",[global])),
14768    <<"K e BfRGaOUxabc">> = iolist_to_binary(re:replace(" abc","^\\s","K&e&BfRGaOUx",[])),
14769    <<"K e BfRGaOUxabc">> = iolist_to_binary(re:replace(" abc","^\\s","K&e&BfRGaOUx",[global])),
14770    <<"GrLooFQabc">> = iolist_to_binary(re:replace("abc","^\\s","GrLooFQ",[])),
14771    <<"GrLooFQabc">> = iolist_to_binary(re:replace("abc","^\\s","GrLooFQ",[global])),
14772    <<"
14773IaCpCUh
14774NCFWKSeQ
14775abc">> = iolist_to_binary(re:replace("
14776abc","^\\s","&IaCpCUh&N\\1CFWKSeQ&",[])),
14777    <<"
14778IaCpCUh
14779NCFWKSeQ
14780abc">> = iolist_to_binary(re:replace("
14781abc","^\\s","&IaCpCUh&N\\1CFWKSeQ&",[global])),
14782    <<"SAkruTkabc">> = iolist_to_binary(re:replace("
14783abc","^\\s","SAkr\\1\\1uTk",[])),
14784    <<"SAkruTkabc">> = iolist_to_binary(re:replace("
14785abc","^\\s","SAkr\\1\\1uTk",[global])),
14786    <<"yJfqnwmjabc">> = iolist_to_binary(re:replace("	abc","^\\s","yJfqnwmj\\1",[])),
14787    <<"yJfqnwmjabc">> = iolist_to_binary(re:replace("	abc","^\\s","yJfqnwmj\\1",[global])),
14788    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\s","&GwsRTRpcU",[])),
14789    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\s","&GwsRTRpcU",[global])),
14790    <<"abc">> = iolist_to_binary(re:replace("abc","^\\s","piG\\1AslUT&rVHB&",[])),
14791    <<"abc">> = iolist_to_binary(re:replace("abc","^\\s","piG\\1AslUT&rVHB&",[global])),
14792    ok.
14793run4() ->
14794    <<"oYnuqock">> = iolist_to_binary(re:replace("abc","^a	b
14795      c","oYnuq\\1ock",[extended])),
14796    <<"oYnuqock">> = iolist_to_binary(re:replace("abc","^a	b
14797      c","oYnuq\\1ock",[extended,global])),
14798    <<"aabixSVYFQoVAIabtuGababab">> = iolist_to_binary(re:replace("ab","^(a|)\\1*b","\\1&ixSVYFQoVAI&tuG&&&",[])),
14799    <<"aabixSVYFQoVAIabtuGababab">> = iolist_to_binary(re:replace("ab","^(a|)\\1*b","\\1&ixSVYFQoVAI&tuG&&&",[global])),
14800    <<"FvaaaabaIaaaab">> = iolist_to_binary(re:replace("aaaab","^(a|)\\1*b","Fv&\\1I&",[])),
14801    <<"FvaaaabaIaaaab">> = iolist_to_binary(re:replace("aaaab","^(a|)\\1*b","Fv&\\1I&",[global])),
14802    <<"bCOyfHmNbMpQpaqrGbs">> = iolist_to_binary(re:replace("b","^(a|)\\1*b","bCOyfHmN&MpQpaqrG&s",[])),
14803    <<"bCOyfHmNbMpQpaqrGbs">> = iolist_to_binary(re:replace("b","^(a|)\\1*b","bCOyfHmN&MpQpaqrG&s",[global])),
14804    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1*b","Ni&\\1\\1&nB\\1Jh&&&fOjpr",[])),
14805    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1*b","Ni&\\1\\1&nB\\1Jh&&&fOjpr",[global])),
14806    <<"acb">> = iolist_to_binary(re:replace("acb","^(a|)\\1*b","w\\1GCswa&ex\\1JpP&&u",[])),
14807    <<"acb">> = iolist_to_binary(re:replace("acb","^(a|)\\1*b","w\\1GCswa&ex\\1JpP&&u",[global])),
14808    <<"fplaYSyrA">> = iolist_to_binary(re:replace("aab","^(a|)\\1+b","fplaYSyrA",[])),
14809    <<"fplaYSyrA">> = iolist_to_binary(re:replace("aab","^(a|)\\1+b","fplaYSyrA",[global])),
14810    <<"q">> = iolist_to_binary(re:replace("aaaab","^(a|)\\1+b","q",[])),
14811    <<"q">> = iolist_to_binary(re:replace("aaaab","^(a|)\\1+b","q",[global])),
14812    <<"bGdqs">> = iolist_to_binary(re:replace("b","^(a|)\\1+b","&Gdq\\1s",[])),
14813    <<"bGdqs">> = iolist_to_binary(re:replace("b","^(a|)\\1+b","&Gdq\\1s",[global])),
14814    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1+b","EmUWBUOM",[])),
14815    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1+b","EmUWBUOM",[global])),
14816    <<"ab">> = iolist_to_binary(re:replace("ab","^(a|)\\1+b","\\1",[])),
14817    <<"ab">> = iolist_to_binary(re:replace("ab","^(a|)\\1+b","\\1",[global])),
14818    <<"VaaU">> = iolist_to_binary(re:replace("ab","^(a|)\\1?b","V\\1\\1U",[])),
14819    <<"VaaU">> = iolist_to_binary(re:replace("ab","^(a|)\\1?b","V\\1\\1U",[global])),
14820    <<"yRFaHEaabgaguAOyRdwa">> = iolist_to_binary(re:replace("aab","^(a|)\\1?b","yRF\\1HE&g\\1guAOyRdw\\1",[])),
14821    <<"yRFaHEaabgaguAOyRdwa">> = iolist_to_binary(re:replace("aab","^(a|)\\1?b","yRF\\1HE&g\\1guAOyRdw\\1",[global])),
14822    <<"jdes">> = iolist_to_binary(re:replace("b","^(a|)\\1?b","j\\1des",[])),
14823    <<"jdes">> = iolist_to_binary(re:replace("b","^(a|)\\1?b","j\\1des",[global])),
14824    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1?b","TIrmv",[])),
14825    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1?b","TIrmv",[global])),
14826    <<"acb">> = iolist_to_binary(re:replace("acb","^(a|)\\1?b","S\\1iKv&guYQgKcq",[])),
14827    <<"acb">> = iolist_to_binary(re:replace("acb","^(a|)\\1?b","S\\1iKv&guYQgKcq",[global])),
14828    <<"TRaaabaaabGJaaabeeaaabreHRnfrtKb">> = iolist_to_binary(re:replace("aaab","^(a|)\\1{2}b","TR&&GJ&ee&reHRnfrtKb",[])),
14829    <<"TRaaabaaabGJaaabeeaaabreHRnfrtKb">> = iolist_to_binary(re:replace("aaab","^(a|)\\1{2}b","TR&&GJ&ee&reHRnfrtKb",[global])),
14830    <<"ALqjMQmcPDj">> = iolist_to_binary(re:replace("b","^(a|)\\1{2}b","ALqjMQ\\1mcPDj",[])),
14831    <<"ALqjMQmcPDj">> = iolist_to_binary(re:replace("b","^(a|)\\1{2}b","ALqjMQ\\1mcPDj",[global])),
14832    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1{2}b","\\1\\1Xdd&Y\\1&e",[])),
14833    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1{2}b","\\1\\1Xdd&Y\\1&e",[global])),
14834    <<"ab">> = iolist_to_binary(re:replace("ab","^(a|)\\1{2}b","qeS\\1gi",[])),
14835    <<"ab">> = iolist_to_binary(re:replace("ab","^(a|)\\1{2}b","qeS\\1gi",[global])),
14836    <<"aab">> = iolist_to_binary(re:replace("aab","^(a|)\\1{2}b","nwCRrci\\1RdOBbhlx",[])),
14837    <<"aab">> = iolist_to_binary(re:replace("aab","^(a|)\\1{2}b","nwCRrci\\1RdOBbhlx",[global])),
14838    <<"aaaab">> = iolist_to_binary(re:replace("aaaab","^(a|)\\1{2}b","Lg&\\1XeI\\1Nyj",[])),
14839    <<"aaaab">> = iolist_to_binary(re:replace("aaaab","^(a|)\\1{2}b","Lg&\\1XeI\\1Nyj",[global])),
14840    <<"GOaaabaaag">> = iolist_to_binary(re:replace("aaab","^(a|)\\1{2,3}b","GO&\\1\\1\\1g",[])),
14841    <<"GOaaabaaag">> = iolist_to_binary(re:replace("aaab","^(a|)\\1{2,3}b","GO&\\1\\1\\1g",[global])),
14842    <<"lxmKaaaabaaaabaaaabeXuoa">> = iolist_to_binary(re:replace("aaaab","^(a|)\\1{2,3}b","lxmK&&&eXuo\\1",[])),
14843    <<"lxmKaaaabaaaabaaaabeXuoa">> = iolist_to_binary(re:replace("aaaab","^(a|)\\1{2,3}b","lxmK&&&eXuo\\1",[global])),
14844    <<"TvbwJ">> = iolist_to_binary(re:replace("b","^(a|)\\1{2,3}b","Tv&wJ\\1",[])),
14845    <<"TvbwJ">> = iolist_to_binary(re:replace("b","^(a|)\\1{2,3}b","Tv&wJ\\1",[global])),
14846    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1{2,3}b","ab\\1bOcVb&",[])),
14847    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a|)\\1{2,3}b","ab\\1bOcVb&",[global])),
14848    <<"ab">> = iolist_to_binary(re:replace("ab","^(a|)\\1{2,3}b","WMYjIOMVqCgU\\1GVPH",[])),
14849    <<"ab">> = iolist_to_binary(re:replace("ab","^(a|)\\1{2,3}b","WMYjIOMVqCgU\\1GVPH",[global])),
14850    <<"aab">> = iolist_to_binary(re:replace("aab","^(a|)\\1{2,3}b","EjtNGCa",[])),
14851    <<"aab">> = iolist_to_binary(re:replace("aab","^(a|)\\1{2,3}b","EjtNGCa",[global])),
14852    <<"aaaaab">> = iolist_to_binary(re:replace("aaaaab","^(a|)\\1{2,3}b","R\\1VC\\1vdVw",[])),
14853    <<"aaaaab">> = iolist_to_binary(re:replace("aaaaab","^(a|)\\1{2,3}b","R\\1VC\\1vdVw",[global])),
14854    <<"VkSvabbbbcabbbbcAabbbbcO">> = iolist_to_binary(re:replace("abbbbc","ab{1,3}bc","Vk\\1Sv&&A&O",[])),
14855    <<"VkSvabbbbcabbbbcAabbbbcO">> = iolist_to_binary(re:replace("abbbbc","ab{1,3}bc","Vk\\1Sv&&A&O",[global])),
14856    <<"EYabbbcWLBYcabbbcPiCg">> = iolist_to_binary(re:replace("abbbc","ab{1,3}bc","EY&WLBYc&PiCg",[])),
14857    <<"EYabbbcWLBYcabbbcPiCg">> = iolist_to_binary(re:replace("abbbc","ab{1,3}bc","EY&WLBYc&PiCg",[global])),
14858    <<"gGY">> = iolist_to_binary(re:replace("abbc","ab{1,3}bc","gG\\1Y",[])),
14859    <<"gGY">> = iolist_to_binary(re:replace("abbc","ab{1,3}bc","gG\\1Y",[global])),
14860    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab{1,3}bc","TXERvv\\1HEnguTRN",[])),
14861    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab{1,3}bc","TXERvv\\1HEnguTRN",[global])),
14862    <<"abc">> = iolist_to_binary(re:replace("abc","ab{1,3}bc","jQE&DJFGc\\1\\1b\\1c\\1&&XBX",[])),
14863    <<"abc">> = iolist_to_binary(re:replace("abc","ab{1,3}bc","jQE&DJFGc\\1\\1b\\1c\\1&&XBX",[global])),
14864    <<"abbbbbc">> = iolist_to_binary(re:replace("abbbbbc","ab{1,3}bc","WQWQvwRSQle&",[])),
14865    <<"abbbbbc">> = iolist_to_binary(re:replace("abbbbbc","ab{1,3}bc","WQWQvwRSQle&",[global])),
14866    <<"BUftrack1BsOeN">> = iolist_to_binary(re:replace("track1.title:TBlah blah blah","([^.]*)\\.([^:]*):[T ]+(.*)","BUf\\1BsOeN",[])),
14867    <<"BUftrack1BsOeN">> = iolist_to_binary(re:replace("track1.title:TBlah blah blah","([^.]*)\\.([^:]*):[T ]+(.*)","BUf\\1BsOeN",[global])),
14868    <<"NpupceROgJW">> = iolist_to_binary(re:replace("track1.title:TBlah blah blah","([^.]*)\\.([^:]*):[T ]+(.*)","NpupceROgJW",[caseless])),
14869    <<"NpupceROgJW">> = iolist_to_binary(re:replace("track1.title:TBlah blah blah","([^.]*)\\.([^:]*):[T ]+(.*)","NpupceROgJW",[caseless,
14870                                                                                                                                                                                                                                                                              global])),
14871    <<"DxJtrack1rCNtrack1.title:TBlah blah blahKXmSNktrack1Strack1">> = iolist_to_binary(re:replace("track1.title:TBlah blah blah","([^.]*)\\.([^:]*):[t ]+(.*)","DxJ\\1rCN&KXmSNk\\1S\\1",[caseless])),
14872    <<"DxJtrack1rCNtrack1.title:TBlah blah blahKXmSNktrack1Strack1">> = iolist_to_binary(re:replace("track1.title:TBlah blah blah","([^.]*)\\.([^:]*):[t ]+(.*)","DxJ\\1rCN&KXmSNk\\1S\\1",[caseless,
14873                                                                                                                                                                                                                                                                                                          global])),
14874    <<"HHLLlESKV">> = iolist_to_binary(re:replace("WXY_^abc","^[W-c]+$","HHLLlESKV",[])),
14875    <<"HHLLlESKV">> = iolist_to_binary(re:replace("WXY_^abc","^[W-c]+$","HHLLlESKV",[global])),
14876    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[W-c]+$","wLJlupvA\\1\\1kNnalxEwVh",[])),
14877    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[W-c]+$","wLJlupvA\\1\\1kNnalxEwVh",[global])),
14878    <<"wxy">> = iolist_to_binary(re:replace("wxy","^[W-c]+$","JvOAObw\\1pP\\1",[])),
14879    <<"wxy">> = iolist_to_binary(re:replace("wxy","^[W-c]+$","JvOAObw\\1pP\\1",[global])),
14880    <<"gwuwm">> = iolist_to_binary(re:replace("WXY_^abc","^[W-c]+$","gwuwm",[caseless])),
14881    <<"gwuwm">> = iolist_to_binary(re:replace("WXY_^abc","^[W-c]+$","gwuwm",[caseless,
14882                                                                                                                                                                                    global])),
14883    <<"wxy_^ABCxkqVcwxy_^ABCaE">> = iolist_to_binary(re:replace("wxy_^ABC","^[W-c]+$","&xk\\1qVc&aE",[caseless])),
14884    <<"wxy_^ABCxkqVcwxy_^ABCaE">> = iolist_to_binary(re:replace("wxy_^ABC","^[W-c]+$","&xk\\1qVc&aE",[caseless,
14885                                                                                                                                                                                                     global])),
14886    <<"WWXY_^abcOgKgjfsLWNy">> = iolist_to_binary(re:replace("WXY_^abc","^[\\x3f-\\x5F]+$","\\1W\\1&Og\\1Kgj\\1fsLWNy",[caseless])),
14887    <<"WWXY_^abcOgKgjfsLWNy">> = iolist_to_binary(re:replace("WXY_^abc","^[\\x3f-\\x5F]+$","\\1W\\1&Og\\1Kgj\\1fsLWNy",[caseless,
14888                                                                                                                                                                                                                                                   global])),
14889    <<"egunTysOf">> = iolist_to_binary(re:replace("wxy_^ABC","^[\\x3f-\\x5F]+$","egunT\\1\\1y\\1sOf",[caseless])),
14890    <<"egunTysOf">> = iolist_to_binary(re:replace("wxy_^ABC","^[\\x3f-\\x5F]+$","egunT\\1\\1y\\1sOf",[caseless,
14891                                                                                                                                                                                                                                   global])),
14892    <<"CPTKOdIA">> = iolist_to_binary(re:replace("abc","^abc$","CPTKOdI\\1A",[multiline])),
14893    <<"CPTKOdIA">> = iolist_to_binary(re:replace("abc","^abc$","CPTKOdI\\1A",[multiline,
14894                                                                                                                                                                                 global])),
14895    <<"qqq
14896bQdPqCFxabcndDcFfikPvc">> = iolist_to_binary(re:replace("qqq
14897abc","^abc$","bQdPqCFx&ndDcFfikPvc",[multiline])),
14898    <<"qqq
14899bQdPqCFxabcndDcFfikPvc">> = iolist_to_binary(re:replace("qqq
14900abc","^abc$","bQdPqCFx&ndDcFfikPvc",[multiline,global])),
14901    <<"IhabcKXoLYabce
14902zzz">> = iolist_to_binary(re:replace("abc
14903zzz","^abc$","Ih&KX\\1oLY&e",[multiline])),
14904    <<"IhabcKXoLYabce
14905zzz">> = iolist_to_binary(re:replace("abc
14906zzz","^abc$","Ih&KX\\1oLY&e",[multiline,global])),
14907    <<"qqq
14908v
14909zzz">> = iolist_to_binary(re:replace("qqq
14910abc
14911zzz","^abc$","v",[multiline])),
14912    <<"qqq
14913v
14914zzz">> = iolist_to_binary(re:replace("qqq
14915abc
14916zzz","^abc$","v",[multiline,global])),
14917    <<"rsDabcabcSRpKNvKVJ">> = iolist_to_binary(re:replace("abc","^abc$","rsD&&SRpKNvKVJ",[])),
14918    <<"rsDabcabcSRpKNvKVJ">> = iolist_to_binary(re:replace("abc","^abc$","rsD&&SRpKNvKVJ",[global])),
14919    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^abc$","yVq",[])),
14920    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^abc$","yVq",[global])),
14921    <<"qqq
14922abc">> = iolist_to_binary(re:replace("qqq
14923abc","^abc$","snXy",[])),
14924    <<"qqq
14925abc">> = iolist_to_binary(re:replace("qqq
14926abc","^abc$","snXy",[global])),
14927    <<"abc
14928zzz">> = iolist_to_binary(re:replace("abc
14929zzz","^abc$","&f\\1dlb\\1EAWc&",[])),
14930    <<"abc
14931zzz">> = iolist_to_binary(re:replace("abc
14932zzz","^abc$","&f\\1dlb\\1EAWc&",[global])),
14933    <<"qqq
14934abc
14935zzz">> = iolist_to_binary(re:replace("qqq
14936abc
14937zzz","^abc$","cSNFGiC",[])),
14938    <<"qqq
14939abc
14940zzz">> = iolist_to_binary(re:replace("qqq
14941abc
14942zzz","^abc$","cSNFGiC",[global])),
14943    <<"lCoBH">> = iolist_to_binary(re:replace("abc","\\Aabc\\Z","lC\\1o\\1BH\\1",[multiline])),
14944    <<"lCoBH">> = iolist_to_binary(re:replace("abc","\\Aabc\\Z","lC\\1o\\1BH\\1",[multiline,
14945                                                                                                                                                                                                  global])),
14946    <<"JVdoPUmabcxTP">> = iolist_to_binary(re:replace("abc","\\Aabc\\Z","JVd\\1oP\\1Um&xTP",[multiline])),
14947    <<"JVdoPUmabcxTP">> = iolist_to_binary(re:replace("abc","\\Aabc\\Z","JVd\\1oP\\1Um&xTP",[multiline,
14948                                                                                                                                                                                                        global])),
14949    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\Aabc\\Z","cEqLBiFmo&YRu&QCAvtf",[multiline])),
14950    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\Aabc\\Z","cEqLBiFmo&YRu&QCAvtf",[multiline,
14951                                                                                                                                                                                                                             global])),
14952    <<"qqq
14953abc">> = iolist_to_binary(re:replace("qqq
14954abc","\\Aabc\\Z","kc&H\\1Pd\\1PDS",[multiline])),
14955    <<"qqq
14956abc">> = iolist_to_binary(re:replace("qqq
14957abc","\\Aabc\\Z","kc&H\\1Pd\\1PDS",[multiline,global])),
14958    <<"abc
14959zzz">> = iolist_to_binary(re:replace("abc
14960zzz","\\Aabc\\Z","XQVTFMq",[multiline])),
14961    <<"abc
14962zzz">> = iolist_to_binary(re:replace("abc
14963zzz","\\Aabc\\Z","XQVTFMq",[multiline,global])),
14964    <<"qqq
14965abc
14966zzz">> = iolist_to_binary(re:replace("qqq
14967abc
14968zzz","\\Aabc\\Z","J\\1fh",[multiline])),
14969    <<"qqq
14970abc
14971zzz">> = iolist_to_binary(re:replace("qqq
14972abc
14973zzz","\\Aabc\\Z","J\\1fh",[multiline,global])),
14974    <<"o">> = iolist_to_binary(re:replace("abc
14975def","\\A(.)*\\Z","o",[dotall])),
14976    <<"o">> = iolist_to_binary(re:replace("abc
14977def","\\A(.)*\\Z","o",[dotall,global])),
14978    <<"*** FailersssD">> = iolist_to_binary(re:replace("*** Failers","\\A(.)*\\Z","&\\1\\1D",[multiline])),
14979    <<"*** FailersssD">> = iolist_to_binary(re:replace("*** Failers","\\A(.)*\\Z","&\\1\\1D",[multiline,
14980                                                                                                                                                                                                        global])),
14981    <<"abc
14982def">> = iolist_to_binary(re:replace("abc
14983def","\\A(.)*\\Z","&FyyfdbkSw",[multiline])),
14984    <<"abc
14985def">> = iolist_to_binary(re:replace("abc
14986def","\\A(.)*\\Z","&FyyfdbkSw",[multiline,global])),
14987    <<"JbDSWbbCxetpbHwOmBy::c">> = iolist_to_binary(re:replace("b::c","(?:b)|(?::+)","J&DSW&bCxetp&HwOmBy",[])),
14988    <<"JbDSWbbCxetpbHwOmByJ::DSW::bCxetp::HwOmByc">> = iolist_to_binary(re:replace("b::c","(?:b)|(?::+)","J&DSW&bCxetp&HwOmBy",[global])),
14989    <<"cVMqgmhvamVbb">> = iolist_to_binary(re:replace("c::b","(?:b)|(?::+)","VMqgmh\\1vamVb",[])),
14990    <<"cVMqgmhvamVbVMqgmhvamVb">> = iolist_to_binary(re:replace("c::b","(?:b)|(?::+)","VMqgmh\\1vamVb",[global])),
14991    <<"az-Oaz-Taz-rDxaz-rN">> = iolist_to_binary(re:replace("az-","[-az]+","&O&\\1T&rDx&r\\1N",[])),
14992    <<"az-Oaz-Taz-rDxaz-rN">> = iolist_to_binary(re:replace("az-","[-az]+","&O&\\1T&rDx&r\\1N",[global])),
14993    <<"*** FEaJakaDTgMFYQIVaTilers">> = iolist_to_binary(re:replace("*** Failers","[-az]+","\\1E&JakaDTgMFY\\1QIV&T",[])),
14994    <<"*** FEaJakaDTgMFYQIVaTilers">> = iolist_to_binary(re:replace("*** Failers","[-az]+","\\1E&JakaDTgMFY\\1QIV&T",[global])),
14995    <<"b">> = iolist_to_binary(re:replace("b","[-az]+","okQx\\1K\\1KgjAExrmhx",[])),
14996    <<"b">> = iolist_to_binary(re:replace("b","[-az]+","okQx\\1K\\1KgjAExrmhx",[global])),
14997    ok.
14998run5() ->
14999    <<"BUiIgkpFguybl">> = iolist_to_binary(re:replace("za-","[az-]+","BU\\1iIgkpFguybl",[])),
15000    <<"BUiIgkpFguybl">> = iolist_to_binary(re:replace("za-","[az-]+","BU\\1iIgkpFguybl",[global])),
15001    <<"*** FVSpIRyVilers">> = iolist_to_binary(re:replace("*** Failers","[az-]+","VSpIRyV",[])),
15002    <<"*** FVSpIRyVilers">> = iolist_to_binary(re:replace("*** Failers","[az-]+","VSpIRyV",[global])),
15003    <<"b">> = iolist_to_binary(re:replace("b","[az-]+","\\1rfMIWIp\\1eA\\1BK",[])),
15004    <<"b">> = iolist_to_binary(re:replace("b","[az-]+","\\1rfMIWIp\\1eA\\1BK",[global])),
15005    <<"fuJua">> = iolist_to_binary(re:replace("a-z","[a\\-z]+","fuJua",[])),
15006    <<"fuJua">> = iolist_to_binary(re:replace("a-z","[a\\-z]+","fuJua",[global])),
15007    <<"*** Fwpjilers">> = iolist_to_binary(re:replace("*** Failers","[a\\-z]+","wpj",[])),
15008    <<"*** Fwpjilers">> = iolist_to_binary(re:replace("*** Failers","[a\\-z]+","wpj",[global])),
15009    <<"b">> = iolist_to_binary(re:replace("b","[a\\-z]+","nf&cDP\\1\\1Gu\\1b\\1xqHex",[])),
15010    <<"b">> = iolist_to_binary(re:replace("b","[a\\-z]+","nf&cDP\\1\\1Gu\\1b\\1xqHex",[global])),
15011    <<"HabcdxyzdykWGVxyCbA">> = iolist_to_binary(re:replace("abcdxyz","[a-z]+","H&dykWGVx\\1yC\\1\\1b\\1A",[])),
15012    <<"HabcdxyzdykWGVxyCbA">> = iolist_to_binary(re:replace("abcdxyz","[a-z]+","H&dykWGVx\\1yC\\1\\1b\\1A",[global])),
15013    <<"Ge12-34A12-34s12-34wEDOs12-34a12-34">> = iolist_to_binary(re:replace("12-34","[\\d-]+","Ge&A&s&wED\\1Os&\\1a\\1&",[])),
15014    <<"Ge12-34A12-34s12-34wEDOs12-34a12-34">> = iolist_to_binary(re:replace("12-34","[\\d-]+","Ge&A&s&wED\\1Os&\\1a\\1&",[global])),
15015    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","[\\d-]+","\\1GK&npQ",[])),
15016    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","[\\d-]+","\\1GK&npQ",[global])),
15017    <<"aaa">> = iolist_to_binary(re:replace("aaa","[\\d-]+","&&IDTvQkHC\\1klFHnC\\1",[])),
15018    <<"aaa">> = iolist_to_binary(re:replace("aaa","[\\d-]+","&&IDTvQkHC\\1klFHnC\\1",[global])),
15019    <<"XbYl12-34z12-34zDmCQVrbP">> = iolist_to_binary(re:replace("12-34z","[\\d-z]+","X\\1bYl&&Dm\\1CQVr\\1bP",[])),
15020    <<"XbYl12-34z12-34zDmCQVrbP">> = iolist_to_binary(re:replace("12-34z","[\\d-z]+","X\\1bYl&&Dm\\1CQVr\\1bP",[global])),
15021    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","[\\d-z]+","PTn&XmiYqAKkS&BW&&",[])),
15022    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","[\\d-z]+","PTn&XmiYqAKkS&BW&&",[global])),
15023    <<"aaa">> = iolist_to_binary(re:replace("aaa","[\\d-z]+","WReIgpFjW&A",[])),
15024    <<"aaa">> = iolist_to_binary(re:replace("aaa","[\\d-z]+","WReIgpFjW&A",[global])),
15025    <<"VYdXtmOgjmuYAiVjA\\ ">> = iolist_to_binary(re:replace("\\ ","\\x5c","VYdXtmOgjmuYAiVjA&",[])),
15026    <<"VYdXtmOgjmuYAiVjA\\ ">> = iolist_to_binary(re:replace("\\ ","\\x5c","VYdXtmOgjmuYAiVjA&",[global])),
15027    <<"theiljDu ZIwQuwEoo">> = iolist_to_binary(re:replace("the Zoo","\\x20Z","iljDu&Iw\\1Q\\1uwE\\1",[])),
15028    <<"theiljDu ZIwQuwEoo">> = iolist_to_binary(re:replace("the Zoo","\\x20Z","iljDu&Iw\\1Q\\1uwE\\1",[global])),
15029    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\x20Z","\\1ojkRRJFT\\1hV\\1xv",[])),
15030    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\x20Z","\\1ojkRRJFT\\1hV\\1xv",[global])),
15031    <<"Zulu">> = iolist_to_binary(re:replace("Zulu","\\x20Z","uaSyVYwn",[])),
15032    <<"Zulu">> = iolist_to_binary(re:replace("Zulu","\\x20Z","uaSyVYwn",[global])),
15033    <<"h">> = iolist_to_binary(re:replace("abcabc","(abc)\\1","h",[caseless])),
15034    <<"h">> = iolist_to_binary(re:replace("abcabc","(abc)\\1","h",[caseless,
15035                                                                                                                                                                        global])),
15036    <<"yvNMtIABClHrnq">> = iolist_to_binary(re:replace("ABCabc","(abc)\\1","yvNMtI\\1lHrnq",[caseless])),
15037    <<"yvNMtIABClHrnq">> = iolist_to_binary(re:replace("ABCabc","(abc)\\1","yvNMtI\\1lHrnq",[caseless,
15038                                                                                                                                                                                                   global])),
15039    <<"TVabcABCGmabcJabcABCKIEp">> = iolist_to_binary(re:replace("abcABC","(abc)\\1","TV&Gm\\1J&KIEp",[caseless])),
15040    <<"TVabcABCGmabcJabcABCKIEp">> = iolist_to_binary(re:replace("abcABC","(abc)\\1","TV&Gm\\1J&KIEp",[caseless,
15041                                                                                                                                                                                                     global])),
15042    <<"nuHYndp">> = iolist_to_binary(re:replace("ab{3cd","ab{3cd","nuHYndp",[])),
15043    <<"nuHYndp">> = iolist_to_binary(re:replace("ab{3cd","ab{3cd","nuHYndp",[global])),
15044    <<"yab{3,cdohtmab{3,cdhlKJyab{3,cdx">> = iolist_to_binary(re:replace("ab{3,cd","ab{3,cd","y&ohtm&\\1hlKJy&x",[])),
15045    <<"yab{3,cdohtmab{3,cdhlKJyab{3,cdx">> = iolist_to_binary(re:replace("ab{3,cd","ab{3,cd","y&ohtm&\\1hlKJy&x",[global])),
15046    <<"EmVUOVQKbyOvWq">> = iolist_to_binary(re:replace("ab{3,4a}cd","ab{3,4a}cd","EmV\\1UO\\1VQKbyO\\1vW\\1q",[])),
15047    <<"EmVUOVQKbyOvWq">> = iolist_to_binary(re:replace("ab{3,4a}cd","ab{3,4a}cd","EmV\\1UO\\1VQKbyO\\1vW\\1q",[global])),
15048    <<"DsOhHFoWiLok{4,5a}bcVgG">> = iolist_to_binary(re:replace("{4,5a}bc","{4,5a}bc","DsOhH\\1FoWiLok&V\\1gG",[])),
15049    <<"DsOhHFoWiLok{4,5a}bcVgG">> = iolist_to_binary(re:replace("{4,5a}bc","{4,5a}bc","DsOhH\\1FoWiLok&V\\1gG",[global])),
15050    <<"iWchabcX">> = iolist_to_binary(re:replace("abc","abc$","iW\\1ch&X",[])),
15051    <<"iWchabcX">> = iolist_to_binary(re:replace("abc","abc$","iW\\1ch&X",[global])),
15052    <<"plBoHLBabcb">> = iolist_to_binary(re:replace("abc","abc$","plBoHLB&b",[])),
15053    <<"plBoHLBabcb">> = iolist_to_binary(re:replace("abc","abc$","plBoHLB&b",[global])),
15054    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc$","EM",[])),
15055    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc$","EM",[global])),
15056    <<"abc
15057def">> = iolist_to_binary(re:replace("abc
15058def","abc$","\\1aguwNOw&Q&p&",[])),
15059    <<"abc
15060def">> = iolist_to_binary(re:replace("abc
15061def","abc$","\\1aguwNOw&Q&p&",[global])),
15062    <<"abcSuqabcSwabcabcSabcsxWGOk">> = iolist_to_binary(re:replace("abcS","(abc)\\123","&uq&w\\1&\\1sxWGOk",[])),
15063    <<"abcSuqabcSwabcabcSabcsxWGOk">> = iolist_to_binary(re:replace("abcS","(abc)\\123","&uq&w\\1&\\1sxWGOk",[global])),
15064    <<"dMwabc“Xqyabc“abc“i">> = iolist_to_binary(re:replace("abc“","(abc)\\223","dMw&Xqy&&i",[])),
15065    <<"dMwabc“Xqyabc“abc“i">> = iolist_to_binary(re:replace("abc“","(abc)\\223","dMw&Xqy&&i",[global])),
15066    <<"MiqonlGabcÓYdXabcf">> = iolist_to_binary(re:replace("abcÓ","(abc)\\323","MiqonlG&YdX\\1f",[])),
15067    <<"MiqonlGabcÓYdXabcf">> = iolist_to_binary(re:replace("abcÓ","(abc)\\323","MiqonlG&YdX\\1f",[global])),
15068    <<"mTlabc@bdhBATwW">> = iolist_to_binary(re:replace("abc@","(abc)\\100","mTl&bdhBATwW",[])),
15069    <<"mTlabc@bdhBATwW">> = iolist_to_binary(re:replace("abc@","(abc)\\100","mTl&bdhBATwW",[global])),
15070    <<"QabcRSbUabc@Rabc@abc@fabckabcWabc">> = iolist_to_binary(re:replace("abc@","(abc)\\100","Q\\1RSbU&R&&f\\1k\\1W\\1",[])),
15071    <<"QabcRSbUabc@Rabc@abc@fabckabcWabc">> = iolist_to_binary(re:replace("abc@","(abc)\\100","Q\\1RSbU&R&&f\\1k\\1W\\1",[global])),
15072    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","LCsN",[])),
15073    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","LCsN",[global])),
15074    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","cotASR\\1IJoJ\\1r\\1k",[])),
15075    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","cotASR\\1IJoJ\\1r\\1k",[global])),
15076    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","&",[])),
15077    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","&",[global])),
15078    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","gUfvqdMO&FeVgh&\\1K",[])),
15079    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","gUfvqdMO&FeVgh&\\1K",[global])),
15080    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","foMAR\\1CWg&y&dngF&EL\\1",[])),
15081    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","foMAR\\1CWg&y&dngF&EL\\1",[global])),
15082    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","\\1muHsU&g",[])),
15083    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1000","\\1muHsU&g",[global])),
15084    <<"AABCDEFGHIHIwisSqVPABCDEFGHIHIfM">> = iolist_to_binary(re:replace("ABCDEFGHIHI","^(A)(B)(C)(D)(E)(F)(G)(H)(I)\\8\\9$","\\1&wisSqVP&fM",[])),
15085    <<"AABCDEFGHIHIwisSqVPABCDEFGHIHIfM">> = iolist_to_binary(re:replace("ABCDEFGHIHI","^(A)(B)(C)(D)(E)(F)(G)(H)(I)\\8\\9$","\\1&wisSqVP&fM",[global])),
15086    ok.
15087run6() ->
15088    <<"ntA8B9CNSA8B9CLRL">> = iolist_to_binary(re:replace("A8B9C","^[A\\8B\\9C]+$","nt\\1&NS\\1&LRL",[])),
15089    <<"ntA8B9CNSA8B9CLRL">> = iolist_to_binary(re:replace("A8B9C","^[A\\8B\\9C]+$","nt\\1&NS\\1&LRL",[global])),
15090    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[A\\8B\\9C]+$","YwqNG",[])),
15091    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[A\\8B\\9C]+$","YwqNG",[global])),
15092    <<"k">> = iolist_to_binary(re:replace("A8B9C","^[A\\8B\\9C]+$","k",[])),
15093    <<"k">> = iolist_to_binary(re:replace("A8B9C","^[A\\8B\\9C]+$","k",[global])),
15094    <<"KwWOabcdefghijkllSabcdefghijkllSvstprfvanSvjsa">> = iolist_to_binary(re:replace("abcdefghijkllS","(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)\\12\\123","KwWO&&vstprfv\\1nSvjs\\1",[])),
15095    <<"KwWOabcdefghijkllSabcdefghijkllSvstprfvanSvjsa">> = iolist_to_binary(re:replace("abcdefghijkllS","(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)\\12\\123","KwWO&&vstprfv\\1nSvjs\\1",[global])),
15096    <<"abcdefghijk
15097SDuSaDcpmCspdNx">> = iolist_to_binary(re:replace("abcdefghijk
15098S","(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\\12\\123","&DuSaDcpmCspdNx",[])),
15099    <<"abcdefghijk
15100SDuSaDcpmCspdNx">> = iolist_to_binary(re:replace("abcdefghijk
15101S","(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)\\12\\123","&DuSaDcpmCspdNx",[global])),
15102    <<"abidefabidefvPJabidefabidefVKxVnKE">> = iolist_to_binary(re:replace("abidef","ab\\idef","\\1&&vPJ&&VKxVnKE",[])),
15103    <<"abidefabidefvPJabidefabidefVKxVnKE">> = iolist_to_binary(re:replace("abidef","ab\\idef","\\1&&vPJ&&VKxVnKE",[global])),
15104    <<"gkpETbcFhESR">> = iolist_to_binary(re:replace("bc","a{0}bc","gkpET&F\\1hESR",[])),
15105    <<"gkpETbcFhESR">> = iolist_to_binary(re:replace("bc","a{0}bc","gkpET&F\\1hESR",[global])),
15106    <<"wpngtyXvInxyzIb">> = iolist_to_binary(re:replace("xyz","(a|(bc)){0,0}?xyz","wpngtyXvIn&Ib",[])),
15107    <<"wpngtyXvInxyzIb">> = iolist_to_binary(re:replace("xyz","(a|(bc)){0,0}?xyz","wpngtyXvIn&Ib",[global])),
15108    <<"CdxabcdeJtWN">> = iolist_to_binary(re:replace("abcde","abc[\\10]de","Cdx\\1&JtWN",[])),
15109    <<"CdxabcdeJtWN">> = iolist_to_binary(re:replace("abcde","abc[\\10]de","Cdx\\1&JtWN",[global])),
15110    <<"nXabcdeLWqofabcdeabcdeM">> = iolist_to_binary(re:replace("abcde","abc[\\1]de","nX&LWqof&&M",[])),
15111    <<"nXabcdeLWqofabcdeabcdeM">> = iolist_to_binary(re:replace("abcde","abc[\\1]de","nX&LWqof&&M",[global])),
15112    <<"cxVabcdeXabcdeUabcdeabcdeabcIT">> = iolist_to_binary(re:replace("abcde","(abc)[\\1]de","cxV&X&U&&\\1IT",[])),
15113    <<"cxVabcdeXabcdeUabcdeabcdeabcIT">> = iolist_to_binary(re:replace("abcde","(abc)[\\1]de","cxV&X&U&&\\1IT",[global])),
15114    <<"nDa
15115bOua
15116bEE">> = iolist_to_binary(re:replace("a
15117b","(?s)a.b","nD&Ou&EE",[])),
15118    <<"nDa
15119bOua
15120bEE">> = iolist_to_binary(re:replace("a
15121b","(?s)a.b","nD&Ou&EE",[global])),
15122    <<"ytBjWJbyKhvRd">> = iolist_to_binary(re:replace("baNOTccccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","ytBjWJ\\1yKhvR",[])),
15123    <<"ytBjWJbyKhvRd">> = iolist_to_binary(re:replace("baNOTccccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","ytBjWJ\\1yKhvR",[global])),
15124    <<"rKbaNOTcccNsPd">> = iolist_to_binary(re:replace("baNOTcccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","rK&NsP",[])),
15125    <<"rKbaNOTcccNsPd">> = iolist_to_binary(re:replace("baNOTcccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","rK&NsP",[global])),
15126    <<"ADtLINvwgrd">> = iolist_to_binary(re:replace("baNOTccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","ADtLINvwgr",[])),
15127    <<"ADtLINvwgrd">> = iolist_to_binary(re:replace("baNOTccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","ADtLINvwgr",[global])),
15128    <<"XbbLidrbacccJbacccbQdd">> = iolist_to_binary(re:replace("bacccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","X\\1\\1Lidr&J&\\1Qd",[])),
15129    <<"XbbLidrbacccJbacccbQdd">> = iolist_to_binary(re:replace("bacccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","X\\1\\1Lidr&J&\\1Qd",[global])),
15130    <<"QAX">> = iolist_to_binary(re:replace("*** Failers","^([^a])([^\\b])([^c]*)([^d]{3,4})","QAX",[])),
15131    <<"QAX">> = iolist_to_binary(re:replace("*** Failers","^([^a])([^\\b])([^c]*)([^d]{3,4})","QAX",[global])),
15132    <<"anything">> = iolist_to_binary(re:replace("anything","^([^a])([^\\b])([^c]*)([^d]{3,4})","\\1nMgDDeE&j\\1IL",[])),
15133    <<"anything">> = iolist_to_binary(re:replace("anything","^([^a])([^\\b])([^c]*)([^d]{3,4})","\\1nMgDDeE&j\\1IL",[global])),
15134    <<"bc">> = iolist_to_binary(re:replace("bc","^([^a])([^\\b])([^c]*)([^d]{3,4})","WSh\\1fvByAl&",[])),
15135    <<"bc">> = iolist_to_binary(re:replace("bc","^([^a])([^\\b])([^c]*)([^d]{3,4})","WSh\\1fvByAl&",[global])),
15136    <<"baccd">> = iolist_to_binary(re:replace("baccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","BQkU&N&sI\\1M&Aaxu",[])),
15137    <<"baccd">> = iolist_to_binary(re:replace("baccd","^([^a])([^\\b])([^c]*)([^d]{3,4})","BQkU&N&sI\\1M&Aaxu",[global])),
15138    <<"AyfrxEdFbc">> = iolist_to_binary(re:replace("Abc","[^a]","&yfrxEdF",[])),
15139    <<"AyfrxEdFbyfrxEdFcyfrxEdF">> = iolist_to_binary(re:replace("Abc","[^a]","&yfrxEdF",[global])),
15140    <<"AOuc">> = iolist_to_binary(re:replace("Abc","[^a]","Ou",[caseless])),
15141    <<"AOuOu">> = iolist_to_binary(re:replace("Abc","[^a]","Ou",[caseless,
15142                                                                                                                                                           global])),
15143    <<"AAAqCQCkBIVIMNQHYaAbc">> = iolist_to_binary(re:replace("AAAaAbc","[^a]+","&qCQCkBIVIMN\\1QHY",[])),
15144    <<"AAAqCQCkBIVIMNQHYaAbcqCQCkBIVIMNQHY">> = iolist_to_binary(re:replace("AAAaAbc","[^a]+","&qCQCkBIVIMN\\1QHY",[global])),
15145    <<"AAAaABepbcHkVKbcFjuIYfIMUy">> = iolist_to_binary(re:replace("AAAaAbc","[^a]+","Bep&HkVK&FjuIYfIMUy",[caseless])),
15146    <<"AAAaABepbcHkVKbcFjuIYfIMUy">> = iolist_to_binary(re:replace("AAAaAbc","[^a]+","Bep&HkVK&FjuIYfIMUy",[caseless,
15147                                                                                                                                                                                                         global])),
15148    <<"VUQibbb
15149cccJFuaTHwoAPgw">> = iolist_to_binary(re:replace("bbb
15150ccc","[^a]+","VUQi&\\1\\1JFuaTHwoAPgw",[])),
15151    <<"VUQibbb
15152cccJFuaTHwoAPgw">> = iolist_to_binary(re:replace("bbb
15153ccc","[^a]+","VUQi&\\1\\1JFuaTHwoAPgw",[global])),
15154    <<"abwR">> = iolist_to_binary(re:replace("abc","[^k]$","wR",[])),
15155    <<"abwR">> = iolist_to_binary(re:replace("abc","[^k]$","wR",[global])),
15156    <<"*** FailerrJBXyKAos">> = iolist_to_binary(re:replace("*** Failers","[^k]$","rJBXyKAo\\1&",[])),
15157    <<"*** FailerrJBXyKAos">> = iolist_to_binary(re:replace("*** Failers","[^k]$","rJBXyKAo\\1&",[global])),
15158    <<"abk">> = iolist_to_binary(re:replace("abk","[^k]$","\\1tMfh\\1rw&&X&",[])),
15159    <<"abk">> = iolist_to_binary(re:replace("abk","[^k]$","\\1tMfh\\1rw&&X&",[global])),
15160    <<"BabcMabcBstTttabcC">> = iolist_to_binary(re:replace("abc","[^k]{2,3}$","B&M\\1&B\\1stTtt&C",[])),
15161    <<"BabcMabcBstTttabcC">> = iolist_to_binary(re:replace("abc","[^k]{2,3}$","B&M\\1&B\\1stTtt&C",[global])),
15162    <<"kGmnpTVRbbcthURLl">> = iolist_to_binary(re:replace("kbc","[^k]{2,3}$","Gmnp\\1TVRb&thURLl",[])),
15163    <<"kGmnpTVRbbcthURLl">> = iolist_to_binary(re:replace("kbc","[^k]{2,3}$","Gmnp\\1TVRb&thURLl",[global])),
15164    <<"kSwSBmFSuyEabcic">> = iolist_to_binary(re:replace("kabc","[^k]{2,3}$","SwSBmFSu\\1yE&ic",[])),
15165    <<"kSwSBmFSuyEabcic">> = iolist_to_binary(re:replace("kabc","[^k]{2,3}$","SwSBmFSu\\1yE&ic",[global])),
15166    <<"*** FailmVk">> = iolist_to_binary(re:replace("*** Failers","[^k]{2,3}$","mVk\\1",[])),
15167    <<"*** FailmVk">> = iolist_to_binary(re:replace("*** Failers","[^k]{2,3}$","mVk\\1",[global])),
15168    <<"abk">> = iolist_to_binary(re:replace("abk","[^k]{2,3}$","f",[])),
15169    <<"abk">> = iolist_to_binary(re:replace("abk","[^k]{2,3}$","f",[global])),
15170    <<"akb">> = iolist_to_binary(re:replace("akb","[^k]{2,3}$","XISfG\\1L&Yg",[])),
15171    <<"akb">> = iolist_to_binary(re:replace("akb","[^k]{2,3}$","XISfG\\1L&Yg",[global])),
15172    <<"akk">> = iolist_to_binary(re:replace("akk","[^k]{2,3}$","JnS\\1Snscc\\1\\1WP\\1\\1",[])),
15173    <<"akk">> = iolist_to_binary(re:replace("akk","[^k]{2,3}$","JnS\\1Snscc\\1\\1WP\\1\\1",[global])),
15174    <<"12345678.b.c.d">> = iolist_to_binary(re:replace("12345678.b.c.d","^\\d{8,}\\@.+[^k]$","uF&rXNLErr\\1yUY",[])),
15175    <<"12345678.b.c.d">> = iolist_to_binary(re:replace("12345678.b.c.d","^\\d{8,}\\@.+[^k]$","uF&rXNLErr\\1yUY",[global])),
15176    <<"123456789.y.z">> = iolist_to_binary(re:replace("123456789.y.z","^\\d{8,}\\@.+[^k]$","YFlP&",[])),
15177    <<"123456789.y.z">> = iolist_to_binary(re:replace("123456789.y.z","^\\d{8,}\\@.+[^k]$","YFlP&",[global])),
15178    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\d{8,}\\@.+[^k]$","twTFob&o&kbYfyf&N",[])),
15179    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\d{8,}\\@.+[^k]$","twTFob&o&kbYfyf&N",[global])),
15180    <<"12345678.y.uk">> = iolist_to_binary(re:replace("12345678.y.uk","^\\d{8,}\\@.+[^k]$","iN&UAvL",[])),
15181    <<"12345678.y.uk">> = iolist_to_binary(re:replace("12345678.y.uk","^\\d{8,}\\@.+[^k]$","iN&UAvL",[global])),
15182    <<"1234567.b.c.d">> = iolist_to_binary(re:replace("1234567.b.c.d","^\\d{8,}\\@.+[^k]$","r&h\\1PJBc&xhdRAd&",[])),
15183    <<"1234567.b.c.d">> = iolist_to_binary(re:replace("1234567.b.c.d","^\\d{8,}\\@.+[^k]$","r&h\\1PJBc&xhdRAd&",[global])),
15184    <<"JUaaaaaaaaaakaaaaaaaaaaJByoSTnBssaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","(a)\\1{8,}","JUa&k\\1&JByoSTnBss&",[])),
15185    <<"JUaaaaaaaaaakaaaaaaaaaaJByoSTnBssaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","(a)\\1{8,}","JUa&k\\1&JByoSTnBss&",[global])),
15186    <<"haoaaaaaaaaaacp">> = iolist_to_binary(re:replace("aaaaaaaaaa","(a)\\1{8,}","hao&cp",[])),
15187    <<"haoaaaaaaaaaacp">> = iolist_to_binary(re:replace("aaaaaaaaaa","(a)\\1{8,}","hao&cp",[global])),
15188    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a)\\1{8,}","Ns",[])),
15189    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a)\\1{8,}","Ns",[global])),
15190    <<"aaaaaaa">> = iolist_to_binary(re:replace("aaaaaaa","(a)\\1{8,}","Ye\\1kfvX&&crmMcd",[])),
15191    <<"aaaaaaa">> = iolist_to_binary(re:replace("aaaaaaa","(a)\\1{8,}","Ye\\1kfvX&&crmMcd",[global])),
15192    ok.
15193run7() ->
15194    <<"aaaaltSVkYwcd">> = iolist_to_binary(re:replace("aaaabcd","[^a]","ltSVkYw\\1",[])),
15195    <<"aaaaltSVkYwltSVkYwltSVkYw">> = iolist_to_binary(re:replace("aaaabcd","[^a]","ltSVkYw\\1",[global])),
15196    <<"aasDabcd">> = iolist_to_binary(re:replace("aaAabcd","[^a]","sD",[])),
15197    <<"aasDasDsDsD">> = iolist_to_binary(re:replace("aaAabcd","[^a]","sD",[global])),
15198    <<"aaaaRlocpcd">> = iolist_to_binary(re:replace("aaaabcd","[^a]","Rlocp",[caseless])),
15199    <<"aaaaRlocpRlocpRlocp">> = iolist_to_binary(re:replace("aaaabcd","[^a]","Rlocp",[caseless,
15200                                                                                                                                                                         global])),
15201    <<"aaAakvpCtRfJcd">> = iolist_to_binary(re:replace("aaAabcd","[^a]","kvpCtRfJ",[caseless])),
15202    <<"aaAakvpCtRfJkvpCtRfJkvpCtRfJ">> = iolist_to_binary(re:replace("aaAabcd","[^a]","kvpCtRfJ",[caseless,
15203                                                                                                                                                                               global])),
15204    <<"aaaaHKcd">> = iolist_to_binary(re:replace("aaaabcd","[^az]","HK",[])),
15205    <<"aaaaHKHKHK">> = iolist_to_binary(re:replace("aaaabcd","[^az]","HK",[global])),
15206    <<"aaGTgGQtMuEWBAASqhabcd">> = iolist_to_binary(re:replace("aaAabcd","[^az]","GTgGQtMuEWB&&Sqh",[])),
15207    <<"aaGTgGQtMuEWBAASqhaGTgGQtMuEWBbbSqhGTgGQtMuEWBccSqhGTgGQtMuEWBddSqh">> = iolist_to_binary(re:replace("aaAabcd","[^az]","GTgGQtMuEWB&&Sqh",[global])),
15208    <<"aaaaJbKddOBcd">> = iolist_to_binary(re:replace("aaaabcd","[^az]","\\1J&KddOB",[caseless])),
15209    <<"aaaaJbKddOBJcKddOBJdKddOB">> = iolist_to_binary(re:replace("aaaabcd","[^az]","\\1J&KddOB",[caseless,
15210                                                                                                                                                                                       global])),
15211    <<"aaAasOBrbksjdVYVcd">> = iolist_to_binary(re:replace("aaAabcd","[^az]","sO\\1Br&ksjdVYV",[caseless])),
15212    <<"aaAasOBrbksjdVYVsOBrcksjdVYVsOBrdksjdVYV">> = iolist_to_binary(re:replace("aaAabcd","[^az]","sO\\1Br&ksjdVYV",[caseless,
15213                                                                                                                                                                                                 global])),
15214    <<"xxxxxxxxxxxIWxxxxxxxxx">> = iolist_to_binary(re:replace("xxxxxxxxxxxPSTAIREISLLxxxxxxxxx","P[^*]TAIRE[^*]{1,6}?LL","IW",[])),
15215    <<"xxxxxxxxxxxIWxxxxxxxxx">> = iolist_to_binary(re:replace("xxxxxxxxxxxPSTAIREISLLxxxxxxxxx","P[^*]TAIRE[^*]{1,6}?LL","IW",[global])),
15216    <<"xxxxxxxxxxxguMkfUyxxxxxxxxx">> = iolist_to_binary(re:replace("xxxxxxxxxxxPSTAIREISLLxxxxxxxxx","P[^*]TAIRE[^*]{1,}?LL","\\1guMkfU\\1y",[])),
15217    <<"xxxxxxxxxxxguMkfUyxxxxxxxxx">> = iolist_to_binary(re:replace("xxxxxxxxxxxPSTAIREISLLxxxxxxxxx","P[^*]TAIRE[^*]{1,}?LL","\\1guMkfU\\1y",[global])),
15218    <<"1ELdCrl.23X.230003938">> = iolist_to_binary(re:replace("1.230003938","(\\.\\d\\d[1-9]?)\\d+","ELdCrl\\1X&",[])),
15219    <<"1ELdCrl.23X.230003938">> = iolist_to_binary(re:replace("1.230003938","(\\.\\d\\d[1-9]?)\\d+","ELdCrl\\1X&",[global])),
15220    <<"1bq">> = iolist_to_binary(re:replace("1.875000282","(\\.\\d\\d[1-9]?)\\d+","bq",[])),
15221    <<"1bq">> = iolist_to_binary(re:replace("1.875000282","(\\.\\d\\d[1-9]?)\\d+","bq",[global])),
15222    <<"1ODL">> = iolist_to_binary(re:replace("1.235","(\\.\\d\\d[1-9]?)\\d+","ODL",[])),
15223    <<"1ODL">> = iolist_to_binary(re:replace("1.235","(\\.\\d\\d[1-9]?)\\d+","ODL",[global])),
15224    <<"1ncD0003938">> = iolist_to_binary(re:replace("1.230003938","(\\.\\d\\d((?=0)|\\d(?=\\d)))","ncD",[])),
15225    <<"1ncD0003938">> = iolist_to_binary(re:replace("1.230003938","(\\.\\d\\d((?=0)|\\d(?=\\d)))","ncD",[global])),
15226    <<"1qgBuDW.875yC000282">> = iolist_to_binary(re:replace("1.875000282","(\\.\\d\\d((?=0)|\\d(?=\\d)))","qgBuDW\\1yC",[])),
15227    <<"1qgBuDW.875yC000282">> = iolist_to_binary(re:replace("1.875000282","(\\.\\d\\d((?=0)|\\d(?=\\d)))","qgBuDW\\1yC",[global])),
15228    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(\\.\\d\\d((?=0)|\\d(?=\\d)))","X&Y",[])),
15229    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(\\.\\d\\d((?=0)|\\d(?=\\d)))","X&Y",[global])),
15230    <<"1.235">> = iolist_to_binary(re:replace("1.235","(\\.\\d\\d((?=0)|\\d(?=\\d)))","\\1luUxXVR&J\\1&\\1",[])),
15231    <<"1.235">> = iolist_to_binary(re:replace("1.235","(\\.\\d\\d((?=0)|\\d(?=\\d)))","\\1luUxXVR&J\\1&\\1",[global])),
15232    <<"Qko">> = iolist_to_binary(re:replace("ab","a(?)b","\\1Qko",[])),
15233    <<"Qko">> = iolist_to_binary(re:replace("ab","a(?)b","\\1Qko",[global])),
15234    <<"Food is on the dfoo tablefoofoo tabledfoofoofoo tablelEfooUAnHX">> = iolist_to_binary(re:replace("Food is on the foo table","\\b(foo)\\s+(\\w+)","d&\\1&d\\1\\1&lE\\1UAnHX",[caseless])),
15235    <<"Food is on the dfoo tablefoofoo tabledfoofoofoo tablelEfooUAnHX">> = iolist_to_binary(re:replace("Food is on the foo table","\\b(foo)\\s+(\\w+)","d&\\1&d\\1\\1&lE\\1UAnHX",[caseless,
15236                                                                                                                                                                                                                                                                                       global])),
15237    <<"The vUTXiRfood is under the bar in the bardPCn.">> = iolist_to_binary(re:replace("The food is under the bar in the barn.","foo(.*)bar","vUTXiR&dPC",[])),
15238    <<"The vUTXiRfood is under the bar in the bardPCn.">> = iolist_to_binary(re:replace("The food is under the bar in the barn.","foo(.*)bar","vUTXiR&dPC",[global])),
15239    <<"The PYYEJfood is under the barYsN in the barn.">> = iolist_to_binary(re:replace("The food is under the bar in the barn.","foo(.*?)bar","PYYEJ&YsN",[])),
15240    <<"The PYYEJfood is under the barYsN in the barn.">> = iolist_to_binary(re:replace("The food is under the bar in the barn.","foo(.*?)bar","PYYEJ&YsN",[global])),
15241    <<"HHotxYrI have 2 numbers: 53147MmBIIeE">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*)(\\d*)","HHotxYr&MmBIIeE",[])),
15242    <<"HHotxYrI have 2 numbers: 53147MmBIIeEHHotxYrMmBIIeE">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*)(\\d*)","HHotxYr&MmBIIeE",[global])),
15243    <<"qDOVI have 2 numbers: 53147omApQI have 2 numbers: 5314sBev">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*)(\\d+)","qDOV&omApQ\\1sBev",[])),
15244    <<"qDOVI have 2 numbers: 53147omApQI have 2 numbers: 5314sBev">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*)(\\d+)","qDOV&omApQ\\1sBev",[global])),
15245    <<"RvAXeRffNRsnI have 2 numbers: 53147">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*?)(\\d*)","Rv&AXeR&f&fNRsn&",[])),
15246    <<"RvAXeRffNRsnRvIAXeRIfIfNRsnIRvAXeRffNRsnRv AXeR f fNRsn RvAXeRffNRsnRvhAXeRhfhfNRsnhRvAXeRffNRsnRvaAXeRafafNRsnaRvAXeRffNRsnRvvAXeRvfvfNRsnvRvAXeRffNRsnRveAXeRefefNRsneRvAXeRffNRsnRv 2AXeR 2f 2fNRsn 2RvAXeRffNRsnRv AXeR f fNRsn RvAXeRffNRsnRvnAXeRnfnfNRsnnRvAXeRffNRsnRvuAXeRufufNRsnuRvAXeRffNRsnRvmAXeRmfmfNRsnmRvAXeRffNRsnRvbAXeRbfbfNRsnbRvAXeRffNRsnRveAXeRefefNRsneRvAXeRffNRsnRvrAXeRrfrfNRsnrRvAXeRffNRsnRvsAXeRsfsfNRsnsRvAXeRffNRsnRv:AXeR:f:fNRsn:RvAXeRffNRsnRv 53147AXeR 53147f 53147fNRsn 53147RvAXeRffNRsn">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*?)(\\d*)","Rv&AXeR&f&fNRsn&",[global])),
15247    <<"TOVi numbers: 53147">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*?)(\\d+)","TOVi",[])),
15248    <<"TOViTOVi">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*?)(\\d+)","TOVi",[global])),
15249    <<"CAI have 2 numbers: 5314I have 2 numbers: 5314OgviGuI have 2 numbers: 53147nI have 2 numbers: 53147G">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*)(\\d+)$","CA\\1\\1OgviGu&n&G",[])),
15250    <<"CAI have 2 numbers: 5314I have 2 numbers: 5314OgviGuI have 2 numbers: 53147nI have 2 numbers: 53147G">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*)(\\d+)$","CA\\1\\1OgviGu&n&G",[global])),
15251    <<"uMVspI have 2 numbers: 53147VVs">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*?)(\\d+)$","uMVsp&VVs",[])),
15252    <<"uMVspI have 2 numbers: 53147VVs">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*?)(\\d+)$","uMVsp&VVs",[global])),
15253    <<"exxLI have 2 numbers: 53147KHfPaoE">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*)\\b(\\d+)$","exxL&KHfPaoE",[])),
15254    <<"exxLI have 2 numbers: 53147KHfPaoE">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*)\\b(\\d+)$","exxL&KHfPaoE",[global])),
15255    ok.
15256run8() ->
15257    <<"GI have 2 numbers: 53147wBxahbWqKI have 2 numbers: 53147">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*\\D)(\\d+)$","G&wBxahbWqK&",[])),
15258    <<"GI have 2 numbers: 53147wBxahbWqKI have 2 numbers: 53147">> = iolist_to_binary(re:replace("I have 2 numbers: 53147","(.*\\D)(\\d+)$","G&wBxahbWqK&",[global])),
15259    <<"ooXOkmSKHJC123">> = iolist_to_binary(re:replace("ABC123","^\\D*(?!123)","ooXOkm\\1SKHJ",[])),
15260    <<"ooXOkmSKHJC123">> = iolist_to_binary(re:replace("ABC123","^\\D*(?!123)","ooXOkm\\1SKHJ",[global])),
15261    <<"SABCIvPvMFj445">> = iolist_to_binary(re:replace("ABC445","^(\\D*)(?=\\d)(?!123)","S\\1IvPvMFj",[])),
15262    <<"SABCIvPvMFj445">> = iolist_to_binary(re:replace("ABC445","^(\\D*)(?=\\d)(?!123)","S\\1IvPvMFj",[global])),
15263    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\D*)(?=\\d)(?!123)","AUFFK&dgWBBmewQfx&",[])),
15264    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\D*)(?=\\d)(?!123)","AUFFK&dgWBBmewQfx&",[global])),
15265    <<"ABC123">> = iolist_to_binary(re:replace("ABC123","^(\\D*)(?=\\d)(?!123)","MHrweJqRiSN&vMX",[])),
15266    <<"ABC123">> = iolist_to_binary(re:replace("ABC123","^(\\D*)(?=\\d)(?!123)","MHrweJqRiSN&vMX",[global])),
15267    <<"dykX789">> = iolist_to_binary(re:replace("W46]789","^[W-]46]","dyk\\1X",[])),
15268    <<"dykX789">> = iolist_to_binary(re:replace("W46]789","^[W-]46]","dyk\\1X",[global])),
15269    <<"-46]-46]rksdKohP789">> = iolist_to_binary(re:replace("-46]789","^[W-]46]","&&rksdKohP",[])),
15270    <<"-46]-46]rksdKohP789">> = iolist_to_binary(re:replace("-46]789","^[W-]46]","&&rksdKohP",[global])),
15271    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[W-]46]","kRw",[])),
15272    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[W-]46]","kRw",[global])),
15273    <<"Wall">> = iolist_to_binary(re:replace("Wall","^[W-]46]","abc&\\1NpH\\1&iHWAa&",[])),
15274    <<"Wall">> = iolist_to_binary(re:replace("Wall","^[W-]46]","abc&\\1NpH\\1&iHWAa&",[global])),
15275    <<"Zebra">> = iolist_to_binary(re:replace("Zebra","^[W-]46]","g",[])),
15276    <<"Zebra">> = iolist_to_binary(re:replace("Zebra","^[W-]46]","g",[global])),
15277    <<"42">> = iolist_to_binary(re:replace("42","^[W-]46]","Uj",[])),
15278    <<"42">> = iolist_to_binary(re:replace("42","^[W-]46]","Uj",[global])),
15279    <<"[abcd]">> = iolist_to_binary(re:replace("[abcd]","^[W-]46]","lIXi\\1\\1GIq",[])),
15280    <<"[abcd]">> = iolist_to_binary(re:replace("[abcd]","^[W-]46]","lIXi\\1\\1GIq",[global])),
15281    <<"]abcd[">> = iolist_to_binary(re:replace("]abcd[","^[W-]46]","ALpo\\1E\\1X\\1Acu&",[])),
15282    <<"]abcd[">> = iolist_to_binary(re:replace("]abcd[","^[W-]46]","ALpo\\1E\\1X\\1Acu&",[global])),
15283    <<"ltduUrjtoW46]789">> = iolist_to_binary(re:replace("W46]789","^[W-\\]46]","ltduU\\1rj\\1to&",[])),
15284    <<"ltduUrjtoW46]789">> = iolist_to_binary(re:replace("W46]789","^[W-\\]46]","ltduU\\1rj\\1to&",[global])),
15285    <<"HeHall">> = iolist_to_binary(re:replace("Wall","^[W-\\]46]","H\\1eH",[])),
15286    <<"HeHall">> = iolist_to_binary(re:replace("Wall","^[W-\\]46]","H\\1eH",[global])),
15287    <<"uebra">> = iolist_to_binary(re:replace("Zebra","^[W-\\]46]","u",[])),
15288    <<"uebra">> = iolist_to_binary(re:replace("Zebra","^[W-\\]46]","u",[global])),
15289    <<"ysQfXpOVCXaylophone">> = iolist_to_binary(re:replace("Xylophone","^[W-\\]46]","ysQf\\1&pO\\1VC&a",[])),
15290    <<"ysQfXpOVCXaylophone">> = iolist_to_binary(re:replace("Xylophone","^[W-\\]46]","ysQf\\1&pO\\1VC&a",[global])),
15291    <<"BX4UMd4MBxorPoSKMb2">> = iolist_to_binary(re:replace("42","^[W-\\]46]","\\1BX&UMd&MBxorPoSK\\1Mb",[])),
15292    <<"BX4UMd4MBxorPoSKMb2">> = iolist_to_binary(re:replace("42","^[W-\\]46]","\\1BX&UMd&MBxorPoSK\\1Mb",[global])),
15293    <<"S[abcd]">> = iolist_to_binary(re:replace("[abcd]","^[W-\\]46]","\\1S&",[])),
15294    <<"S[abcd]">> = iolist_to_binary(re:replace("[abcd]","^[W-\\]46]","\\1S&",[global])),
15295    <<"XKhbeUQxIlabcd[">> = iolist_to_binary(re:replace("]abcd[","^[W-\\]46]","X\\1K\\1hb\\1e\\1\\1UQxIl",[])),
15296    <<"XKhbeUQxIlabcd[">> = iolist_to_binary(re:replace("]abcd[","^[W-\\]46]","X\\1K\\1hb\\1e\\1\\1UQxIl",[global])),
15297    <<"dXqbackslash">> = iolist_to_binary(re:replace("\\backslash","^[W-\\]46]","\\1dXq",[])),
15298    <<"dXqbackslash">> = iolist_to_binary(re:replace("\\backslash","^[W-\\]46]","\\1dXq",[global])),
15299    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[W-\\]46]","HOyNFM\\1mIhSgQdQ&K\\1",[])),
15300    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[W-\\]46]","HOyNFM\\1mIhSgQdQ&K\\1",[global])),
15301    <<"-46]789">> = iolist_to_binary(re:replace("-46]789","^[W-\\]46]","rh&&Of\\1hH",[])),
15302    <<"-46]789">> = iolist_to_binary(re:replace("-46]789","^[W-\\]46]","rh&&Of\\1hH",[global])),
15303    <<"well">> = iolist_to_binary(re:replace("well","^[W-\\]46]","cbWVIYcxbQg\\1",[])),
15304    <<"well">> = iolist_to_binary(re:replace("well","^[W-\\]46]","cbWVIYcxbQg\\1",[global])),
15305    <<"NArawword cat dog elephant mussel cow horse canary baboon snake shark otherwordQ">> = iolist_to_binary(re:replace("word cat dog elephant mussel cow horse canary baboon snake shark otherword","word (?:[a-zA-Z0-9]+ ){0,10}otherword","NAraw&\\1Q",[])),
15306    <<"NArawword cat dog elephant mussel cow horse canary baboon snake shark otherwordQ">> = iolist_to_binary(re:replace("word cat dog elephant mussel cow horse canary baboon snake shark otherword","word (?:[a-zA-Z0-9]+ ){0,10}otherword","NAraw&\\1Q",[global])),
15307    <<"word cat dog elephant mussel cow horse canary baboon snake shark">> = iolist_to_binary(re:replace("word cat dog elephant mussel cow horse canary baboon snake shark","word (?:[a-zA-Z0-9]+ ){0,10}otherword","&&NApA\\1v\\1\\1cnExjYTArB",[])),
15308    <<"word cat dog elephant mussel cow horse canary baboon snake shark">> = iolist_to_binary(re:replace("word cat dog elephant mussel cow horse canary baboon snake shark","word (?:[a-zA-Z0-9]+ ){0,10}otherword","&&NApA\\1v\\1\\1cnExjYTArB",[global])),
15309    <<"word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope">> = iolist_to_binary(re:replace("word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope","word (?:[a-zA-Z0-9]+ ){0,300}otherword","A&qAIOCV",[])),
15310    <<"word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope">> = iolist_to_binary(re:replace("word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope","word (?:[a-zA-Z0-9]+ ){0,300}otherword","A&qAIOCV",[global])),
15311    <<"KqTqEDmbcd">> = iolist_to_binary(re:replace("bcd","^(a){0,0}","KqTqEDm",[])),
15312    <<"KqTqEDmbcd">> = iolist_to_binary(re:replace("bcd","^(a){0,0}","KqTqEDm",[global])),
15313    <<"ioXlXnsoNabc">> = iolist_to_binary(re:replace("abc","^(a){0,0}","&ioXlXns&oN\\1",[])),
15314    <<"ioXlXnsoNabc">> = iolist_to_binary(re:replace("abc","^(a){0,0}","&ioXlXns&oN\\1",[global])),
15315    <<"kwaab">> = iolist_to_binary(re:replace("aab","^(a){0,0}","kw",[])),
15316    <<"kwaab">> = iolist_to_binary(re:replace("aab","^(a){0,0}","kw",[global])),
15317    <<"UcTyIixbcd">> = iolist_to_binary(re:replace("bcd","^(a){0,1}","Uc&TyI&ix",[])),
15318    <<"UcTyIixbcd">> = iolist_to_binary(re:replace("bcd","^(a){0,1}","Uc&TyI&ix",[global])),
15319    <<"mIikbc">> = iolist_to_binary(re:replace("abc","^(a){0,1}","mIik",[])),
15320    <<"mIikbc">> = iolist_to_binary(re:replace("abc","^(a){0,1}","mIik",[global])),
15321    <<"dqceagxefBaadIOab">> = iolist_to_binary(re:replace("aab","^(a){0,1}","dqce&gxefB\\1\\1dIO",[])),
15322    <<"dqceagxefBaadIOab">> = iolist_to_binary(re:replace("aab","^(a){0,1}","dqce&gxefB\\1\\1dIO",[global])),
15323    <<"wLwgjiEJTwmbcd">> = iolist_to_binary(re:replace("bcd","^(a){0,2}","w&L&wg&ji&EJTwm",[])),
15324    <<"wLwgjiEJTwmbcd">> = iolist_to_binary(re:replace("bcd","^(a){0,2}","w&L&wg&ji&EJTwm",[global])),
15325    <<"YaanaRwaEjbc">> = iolist_to_binary(re:replace("abc","^(a){0,2}","Y&&n\\1Rw\\1Ej",[])),
15326    <<"YaanaRwaEjbc">> = iolist_to_binary(re:replace("abc","^(a){0,2}","Y&&n\\1Rw\\1Ej",[global])),
15327    <<"xXpYPTdeIaeCaaamaIb">> = iolist_to_binary(re:replace("aab","^(a){0,2}","xXpYPTdeI\\1eC&\\1maI",[])),
15328    <<"xXpYPTdeIaeCaaamaIb">> = iolist_to_binary(re:replace("aab","^(a){0,2}","xXpYPTdeI\\1eC&\\1maI",[global])),
15329    <<"rbRgYffbcd">> = iolist_to_binary(re:replace("bcd","^(a){0,3}","rbRgYff",[])),
15330    <<"rbRgYffbcd">> = iolist_to_binary(re:replace("bcd","^(a){0,3}","rbRgYff",[global])),
15331    <<"qFVJLbc">> = iolist_to_binary(re:replace("abc","^(a){0,3}","qFVJL",[])),
15332    <<"qFVJLbc">> = iolist_to_binary(re:replace("abc","^(a){0,3}","qFVJL",[global])),
15333    <<"QtqBOxb">> = iolist_to_binary(re:replace("aab","^(a){0,3}","QtqBOx",[])),
15334    <<"QtqBOxb">> = iolist_to_binary(re:replace("aab","^(a){0,3}","QtqBOx",[global])),
15335    <<"tXNokRjRKvXaaaIaaaaWSIA">> = iolist_to_binary(re:replace("aaa","^(a){0,3}","tXNokRjRKvX&I\\1&WSIA",[])),
15336    <<"tXNokRjRKvXaaaIaaaaWSIA">> = iolist_to_binary(re:replace("aaa","^(a){0,3}","tXNokRjRKvX&I\\1&WSIA",[global])),
15337    <<"eopBsGmBubcd">> = iolist_to_binary(re:replace("bcd","^(a){0,}","eopBsGmB&u\\1",[])),
15338    <<"eopBsGmBubcd">> = iolist_to_binary(re:replace("bcd","^(a){0,}","eopBsGmB&u\\1",[global])),
15339    <<"XGaKIdSoshwbLyuUaEbc">> = iolist_to_binary(re:replace("abc","^(a){0,}","XG&KIdSoshwbLyuU&E",[])),
15340    <<"XGaKIdSoshwbLyuUaEbc">> = iolist_to_binary(re:replace("abc","^(a){0,}","XG&KIdSoshwbLyuU&E",[global])),
15341    <<"QVBStnKyKwiFaarwKKaKtb">> = iolist_to_binary(re:replace("aab","^(a){0,}","QVBStnKyKwiF&rwKK\\1Kt",[])),
15342    <<"QVBStnKyKwiFaarwKKaKtb">> = iolist_to_binary(re:replace("aab","^(a){0,}","QVBStnKyKwiF&rwKK\\1Kt",[global])),
15343    <<"aaafFGmLJOyaxg">> = iolist_to_binary(re:replace("aaa","^(a){0,}","&fFGmLJOy\\1xg",[])),
15344    <<"aaafFGmLJOyaxg">> = iolist_to_binary(re:replace("aaa","^(a){0,}","&fFGmLJOy\\1xg",[global])),
15345    <<"vvdaSSUIVja">> = iolist_to_binary(re:replace("aaaaaaaa","^(a){0,}","vvd\\1SSUIVj\\1",[])),
15346    <<"vvdaSSUIVja">> = iolist_to_binary(re:replace("aaaaaaaa","^(a){0,}","vvd\\1SSUIVj\\1",[global])),
15347    <<"bcd">> = iolist_to_binary(re:replace("bcd","^(a){1,1}","\\1cU",[])),
15348    <<"bcd">> = iolist_to_binary(re:replace("bcd","^(a){1,1}","\\1cU",[global])),
15349    <<"aXagESUEcdbc">> = iolist_to_binary(re:replace("abc","^(a){1,1}","\\1X&gESUEcd",[])),
15350    <<"aXagESUEcdbc">> = iolist_to_binary(re:replace("abc","^(a){1,1}","\\1X&gESUEcd",[global])),
15351    <<"XMYab">> = iolist_to_binary(re:replace("aab","^(a){1,1}","XMY",[])),
15352    <<"XMYab">> = iolist_to_binary(re:replace("aab","^(a){1,1}","XMY",[global])),
15353    <<"bcd">> = iolist_to_binary(re:replace("bcd","^(a){1,2}","tGJ&&",[])),
15354    <<"bcd">> = iolist_to_binary(re:replace("bcd","^(a){1,2}","tGJ&&",[global])),
15355    <<"aduQQOassaHGbc">> = iolist_to_binary(re:replace("abc","^(a){1,2}","\\1duQQO&ss\\1HG",[])),
15356    <<"aduQQOassaHGbc">> = iolist_to_binary(re:replace("abc","^(a){1,2}","\\1duQQO&ss\\1HG",[global])),
15357    <<"acmBfjb">> = iolist_to_binary(re:replace("aab","^(a){1,2}","\\1cmBfj",[])),
15358    <<"acmBfjb">> = iolist_to_binary(re:replace("aab","^(a){1,2}","\\1cmBfj",[global])),
15359    <<"bcd">> = iolist_to_binary(re:replace("bcd","^(a){1,3}","tQ&ktkv\\1VkD&K",[])),
15360    <<"bcd">> = iolist_to_binary(re:replace("bcd","^(a){1,3}","tQ&ktkv\\1VkD&K",[global])),
15361    <<"chaaBsFRlbc">> = iolist_to_binary(re:replace("abc","^(a){1,3}","ch&\\1BsFRl",[])),
15362    <<"chaaBsFRlbc">> = iolist_to_binary(re:replace("abc","^(a){1,3}","ch&\\1BsFRl",[global])),
15363    <<"USb">> = iolist_to_binary(re:replace("aab","^(a){1,3}","US",[])),
15364    <<"USb">> = iolist_to_binary(re:replace("aab","^(a){1,3}","US",[global])),
15365    <<"QUVwfLaFRTxkapVJd">> = iolist_to_binary(re:replace("aaa","^(a){1,3}","QUVwfL\\1FRTxk\\1pVJd",[])),
15366    <<"QUVwfLaFRTxkapVJd">> = iolist_to_binary(re:replace("aaa","^(a){1,3}","QUVwfL\\1FRTxk\\1pVJd",[global])),
15367    <<"bcd">> = iolist_to_binary(re:replace("bcd","^(a){1,}","xN\\1mi",[])),
15368    <<"bcd">> = iolist_to_binary(re:replace("bcd","^(a){1,}","xN\\1mi",[global])),
15369    <<"aCauataXanaETbc">> = iolist_to_binary(re:replace("abc","^(a){1,}","&C&u&t&X&n&ET",[])),
15370    <<"aCauataXanaETbc">> = iolist_to_binary(re:replace("abc","^(a){1,}","&C&u&t&X&n&ET",[global])),
15371    <<"Bb">> = iolist_to_binary(re:replace("aab","^(a){1,}","B",[])),
15372    <<"Bb">> = iolist_to_binary(re:replace("aab","^(a){1,}","B",[global])),
15373    <<"XFykuakPaulQTqER">> = iolist_to_binary(re:replace("aaa","^(a){1,}","XFyku\\1kP\\1ulQTqER",[])),
15374    <<"XFykuakPaulQTqER">> = iolist_to_binary(re:replace("aaa","^(a){1,}","XFyku\\1kP\\1ulQTqER",[global])),
15375    <<"uaaaaaaaasAaaaaaaaaiaaaaaaaaObkaQXXqLaPgaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaa","^(a){1,}","u&sA&i&Obk\\1QXXqL\\1Pg&",[])),
15376    <<"uaaaaaaaasAaaaaaaaaiaaaaaaaaObkaQXXqLaPgaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaa","^(a){1,}","u&sA&i&Obk\\1QXXqL\\1Pg&",[global])),
15377    <<"borfle
15378JMhXbib.gifxEbib.gifhBlXkR
15379no">> = iolist_to_binary(re:replace("borfle
15380bib.gif
15381no",".*\\.gif","JMhX&xE&hBl\\1Xk\\1R",[])),
15382    <<"borfle
15383JMhXbib.gifxEbib.gifhBlXkR
15384no">> = iolist_to_binary(re:replace("borfle
15385bib.gif
15386no",".*\\.gif","JMhX&xE&hBl\\1Xk\\1R",[global])),
15387    <<"borfle
15388riUNlLbib.giff
15389no">> = iolist_to_binary(re:replace("borfle
15390bib.gif
15391no",".{0,}\\.gif","riUNlL&f",[])),
15392    <<"borfle
15393riUNlLbib.giff
15394no">> = iolist_to_binary(re:replace("borfle
15395bib.gif
15396no",".{0,}\\.gif","riUNlL&f",[global])),
15397    <<"borfle
15398GuWxO
15399no">> = iolist_to_binary(re:replace("borfle
15400bib.gif
15401no",".*\\.gif","GuWxO",[multiline])),
15402    <<"borfle
15403GuWxO
15404no">> = iolist_to_binary(re:replace("borfle
15405bib.gif
15406no",".*\\.gif","GuWxO",[multiline,global])),
15407    ok.
15408run9() ->
15409    <<"PMnborfle
15410bib.gifborfle
15411bib.gifPMt
15412no">> = iolist_to_binary(re:replace("borfle
15413bib.gif
15414no",".*\\.gif","PMn&&PMt",[dotall])),
15415    <<"PMnborfle
15416bib.gifborfle
15417bib.gifPMt
15418no">> = iolist_to_binary(re:replace("borfle
15419bib.gif
15420no",".*\\.gif","PMn&&PMt",[dotall,global])),
15421    <<"rxywwborfle
15422bib.gif
15423no">> = iolist_to_binary(re:replace("borfle
15424bib.gif
15425no",".*\\.gif","rx\\1\\1yww&",[multiline,dotall])),
15426    <<"rxywwborfle
15427bib.gif
15428no">> = iolist_to_binary(re:replace("borfle
15429bib.gif
15430no",".*\\.gif","rx\\1\\1yww&",[multiline,dotall,global])),
15431    <<"borfle
15432bib.gif
15433fEMAOjEdetPXRnocBSck">> = iolist_to_binary(re:replace("borfle
15434bib.gif
15435no",".*$","fEMAOjEdetPXR&cBSck",[])),
15436    <<"borfle
15437bib.gif
15438fEMAOjEdetPXRnocBSckfEMAOjEdetPXRcBSck">> = iolist_to_binary(re:replace("borfle
15439bib.gif
15440no",".*$","fEMAOjEdetPXR&cBSck",[global])),
15441    <<"FdiFlvyqFlWRsa
15442bib.gif
15443no">> = iolist_to_binary(re:replace("borfle
15444bib.gif
15445no",".*$","\\1FdiFlvyqFlW\\1Rsa",[multiline])),
15446    <<"FdiFlvyqFlWRsaFdiFlvyqFlWRsa
15447FdiFlvyqFlWRsaFdiFlvyqFlWRsa
15448FdiFlvyqFlWRsaFdiFlvyqFlWRsa">> = iolist_to_binary(re:replace("borfle
15449bib.gif
15450no",".*$","\\1FdiFlvyqFlW\\1Rsa",[multiline,global])),
15451    <<"n">> = iolist_to_binary(re:replace("borfle
15452bib.gif
15453no",".*$","n",[dotall])),
15454    <<"nn">> = iolist_to_binary(re:replace("borfle
15455bib.gif
15456no",".*$","n",[dotall,global])),
15457    <<"xbTBQedCtvvd">> = iolist_to_binary(re:replace("borfle
15458bib.gif
15459no",".*$","xbTBQe\\1dCtvvd",[multiline,dotall])),
15460    <<"xbTBQedCtvvdxbTBQedCtvvd">> = iolist_to_binary(re:replace("borfle
15461bib.gif
15462no",".*$","xbTBQe\\1dCtvvd",[multiline,dotall,global])),
15463    <<"borfle
15464bib.gif
15465snononoKyt">> = iolist_to_binary(re:replace("borfle
15466bib.gif
15467no",".*$","s&&&Kyt",[])),
15468    <<"borfle
15469bib.gif
15470snononoKytsKyt">> = iolist_to_binary(re:replace("borfle
15471bib.gif
15472no",".*$","s&&&Kyt",[global])),
15473    <<"BrborflevYCe
15474bib.gif
15475no">> = iolist_to_binary(re:replace("borfle
15476bib.gif
15477no",".*$","Br&vYCe",[multiline])),
15478    <<"BrborflevYCeBrvYCe
15479Brbib.gifvYCeBrvYCe
15480BrnovYCeBrvYCe">> = iolist_to_binary(re:replace("borfle
15481bib.gif
15482no",".*$","Br&vYCe",[multiline,global])),
15483    <<"gborfle
15484bib.gif
15485noPQFusOgmXaynmLborfle
15486bib.gif
15487noS">> = iolist_to_binary(re:replace("borfle
15488bib.gif
15489no",".*$","g&PQFusOgmXayn\\1mL&S",[dotall])),
15490    <<"gborfle
15491bib.gif
15492noPQFusOgmXaynmLborfle
15493bib.gif
15494noSgPQFusOgmXaynmLS">> = iolist_to_binary(re:replace("borfle
15495bib.gif
15496no",".*$","g&PQFusOgmXayn\\1mL&S",[dotall,global])),
15497    <<"yVEV">> = iolist_to_binary(re:replace("borfle
15498bib.gif
15499no",".*$","yVEV",[multiline,dotall])),
15500    <<"yVEVyVEV">> = iolist_to_binary(re:replace("borfle
15501bib.gif
15502no",".*$","yVEV",[multiline,dotall,global])),
15503    <<"abcde
155041234XP1234Xyz">> = iolist_to_binary(re:replace("abcde
155051234Xyz","(.*X|^B)","\\1P&",[])),
15506    <<"abcde
155071234XP1234Xyz">> = iolist_to_binary(re:replace("abcde
155081234Xyz","(.*X|^B)","\\1P&",[global])),
15509    <<"qarFoo">> = iolist_to_binary(re:replace("BarFoo","(.*X|^B)","q",[])),
15510    <<"qarFoo">> = iolist_to_binary(re:replace("BarFoo","(.*X|^B)","q",[global])),
15511    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(.*X|^B)","&PNmWin\\1XCGPwUmQi",[])),
15512    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(.*X|^B)","&PNmWin\\1XCGPwUmQi",[global])),
15513    <<"abcde
15514Bar">> = iolist_to_binary(re:replace("abcde
15515Bar","(.*X|^B)","&",[])),
15516    <<"abcde
15517Bar">> = iolist_to_binary(re:replace("abcde
15518Bar","(.*X|^B)","&",[global])),
15519    <<"abcde
155201234Xk1234XSbVXyz">> = iolist_to_binary(re:replace("abcde
155211234Xyz","(.*X|^B)","\\1k&SbVX",[multiline])),
15522    <<"abcde
155231234Xk1234XSbVXyz">> = iolist_to_binary(re:replace("abcde
155241234Xyz","(.*X|^B)","\\1k&SbVX",[multiline,global])),
15525    <<"BLBjHdCBpTarFoo">> = iolist_to_binary(re:replace("BarFoo","(.*X|^B)","BL\\1jHdC&pT",[multiline])),
15526    <<"BLBjHdCBpTarFoo">> = iolist_to_binary(re:replace("BarFoo","(.*X|^B)","BL\\1jHdC&pT",[multiline,
15527                                                                                                                                                                                               global])),
15528    <<"abcde
15529AOBrLBaBuLgKctar">> = iolist_to_binary(re:replace("abcde
15530Bar","(.*X|^B)","AO&rL\\1a&uLgKct",[multiline])),
15531    <<"abcde
15532AOBrLBaBuLgKctar">> = iolist_to_binary(re:replace("abcde
15533Bar","(.*X|^B)","AO&rL\\1a&uLgKct",[multiline,global])),
15534    <<"IhhXeabcde
155351234Xyz">> = iolist_to_binary(re:replace("abcde
155361234Xyz","(.*X|^B)","IhhXe\\1",[dotall])),
15537    <<"IhhXeabcde
155381234Xyz">> = iolist_to_binary(re:replace("abcde
155391234Xyz","(.*X|^B)","IhhXe\\1",[dotall,global])),
15540    <<"NfmmMjBGBBShBiBBqABfarFoo">> = iolist_to_binary(re:replace("BarFoo","(.*X|^B)","NfmmMj\\1G&&Sh\\1i&&qA\\1f",[dotall])),
15541    <<"NfmmMjBGBBShBiBBqABfarFoo">> = iolist_to_binary(re:replace("BarFoo","(.*X|^B)","NfmmMj\\1G&&Sh\\1i&&qA\\1f",[dotall,
15542                                                                                                                                                                                                                                global])),
15543    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(.*X|^B)","fDWQoN&&DK\\1X\\1QE&hqEG",[dotall])),
15544    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(.*X|^B)","fDWQoN&&DK\\1X\\1QE&hqEG",[dotall,
15545                                                                                                                                                                                                                                    global])),
15546    <<"abcde
15547Bar">> = iolist_to_binary(re:replace("abcde
15548Bar","(.*X|^B)","sSxs",[dotall])),
15549    <<"abcde
15550Bar">> = iolist_to_binary(re:replace("abcde
15551Bar","(.*X|^B)","sSxs",[dotall,global])),
15552    <<"svIYJDEofMMvabcde
155531234XDCabcde
155541234Xeabcde
155551234Xabcde
155561234Xyz">> = iolist_to_binary(re:replace("abcde
155571234Xyz","(.*X|^B)","svIYJDEofMMv&DC\\1e&\\1",[multiline,dotall])),
15558    <<"svIYJDEofMMvabcde
155591234XDCabcde
155601234Xeabcde
155611234Xabcde
155621234Xyz">> = iolist_to_binary(re:replace("abcde
155631234Xyz","(.*X|^B)","svIYJDEofMMv&DC\\1e&\\1",[multiline,dotall,
15564                                                        global])),
15565    <<"APkjMTOkxTRvMqaBjpxarFoo">> = iolist_to_binary(re:replace("BarFoo","(.*X|^B)","APkjMTOkxTRvMqa&jpx",[multiline,
15566                                                                                                                                                                                                            dotall])),
15567    <<"APkjMTOkxTRvMqaBjpxarFoo">> = iolist_to_binary(re:replace("BarFoo","(.*X|^B)","APkjMTOkxTRvMqa&jpx",[multiline,
15568                                                                                                                                                                                                             dotall,
15569                                                                                                                                                                                                             global])),
15570    <<"abcde
15571gLgBDTusNbxpABaVxar">> = iolist_to_binary(re:replace("abcde
15572Bar","(.*X|^B)","gLg\\1DTusNbxpA\\1aVx",[multiline,dotall])),
15573    <<"abcde
15574gLgBDTusNbxpABaVxar">> = iolist_to_binary(re:replace("abcde
15575Bar","(.*X|^B)","gLg\\1DTusNbxpA\\1aVx",[multiline,dotall,global])),
15576    <<"jvVabcde
155771234XIabcde
155781234XLsYyz">> = iolist_to_binary(re:replace("abcde
155791234Xyz","(?s)(.*X|^B)","jvV\\1I&LsY",[])),
15580    <<"jvVabcde
155811234XIabcde
155821234XLsYyz">> = iolist_to_binary(re:replace("abcde
155831234Xyz","(?s)(.*X|^B)","jvV\\1I&LsY",[global])),
15584    <<"TlTBebymLLEyQBarFoo">> = iolist_to_binary(re:replace("BarFoo","(?s)(.*X|^B)","TlT\\1ebymLLEyQ\\1",[])),
15585    <<"TlTBebymLLEyQBarFoo">> = iolist_to_binary(re:replace("BarFoo","(?s)(.*X|^B)","TlT\\1ebymLLEyQ\\1",[global])),
15586    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?s)(.*X|^B)","jrpMnKp\\1&LavAr&vf\\1o",[])),
15587    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?s)(.*X|^B)","jrpMnKp\\1&LavAr&vf\\1o",[global])),
15588    <<"abcde
15589Bar">> = iolist_to_binary(re:replace("abcde
15590Bar","(?s)(.*X|^B)","MB\\1k&&iuX\\1\\1\\1DJKoRl",[])),
15591    <<"abcde
15592Bar">> = iolist_to_binary(re:replace("abcde
15593Bar","(?s)(.*X|^B)","MB\\1k&&iuX\\1\\1\\1DJKoRl",[global])),
15594    <<"rPUccTvabcde
155951234XyMyz">> = iolist_to_binary(re:replace("abcde
155961234Xyz","(?s:.*X|^B)","rPUccT\\1v&yM",[])),
15597    <<"rPUccTvabcde
155981234XyMyz">> = iolist_to_binary(re:replace("abcde
155991234Xyz","(?s:.*X|^B)","rPUccT\\1v&yM",[global])),
15600    <<"ybPFHwvSYTarFoo">> = iolist_to_binary(re:replace("BarFoo","(?s:.*X|^B)","y\\1bPF\\1HwvSYT",[])),
15601    <<"ybPFHwvSYTarFoo">> = iolist_to_binary(re:replace("BarFoo","(?s:.*X|^B)","y\\1bPF\\1HwvSYT",[global])),
15602    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?s:.*X|^B)","cM",[])),
15603    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?s:.*X|^B)","cM",[global])),
15604    <<"abcde
15605Bar">> = iolist_to_binary(re:replace("abcde
15606Bar","(?s:.*X|^B)","YwekY\\1N&cbCoStuYolo",[])),
15607    <<"abcde
15608Bar">> = iolist_to_binary(re:replace("abcde
15609Bar","(?s:.*X|^B)","YwekY\\1N&cbCoStuYolo",[global])),
15610    <<"**** Failers">> = iolist_to_binary(re:replace("**** Failers","^.*B","Sf",[])),
15611    <<"**** Failers">> = iolist_to_binary(re:replace("**** Failers","^.*B","Sf",[global])),
15612    <<"abc
15613B">> = iolist_to_binary(re:replace("abc
15614B","^.*B","&uu\\1L\\1JdE",[])),
15615    <<"abc
15616B">> = iolist_to_binary(re:replace("abc
15617B","^.*B","&uu\\1L\\1JdE",[global])),
15618    <<"vveCq">> = iolist_to_binary(re:replace("abc
15619B","(?s)^.*B","vveC\\1q\\1",[])),
15620    <<"vveCq">> = iolist_to_binary(re:replace("abc
15621B","(?s)^.*B","vveC\\1q\\1",[global])),
15622    <<"abc
15623AIykFFUtx">> = iolist_to_binary(re:replace("abc
15624B","(?m)^.*B","AIykFFUtx",[])),
15625    <<"abc
15626AIykFFUtx">> = iolist_to_binary(re:replace("abc
15627B","(?m)^.*B","AIykFFUtx",[global])),
15628    <<"tmabc
15629BkwwOabc
15630B">> = iolist_to_binary(re:replace("abc
15631B","(?ms)^.*B","tm&k\\1wwO\\1&",[])),
15632    <<"tmabc
15633BkwwOabc
15634B">> = iolist_to_binary(re:replace("abc
15635B","(?ms)^.*B","tm&k\\1wwO\\1&",[global])),
15636    ok.
15637run10() ->
15638    <<"abc
15639sIBCmqcRbBEopSkFr">> = iolist_to_binary(re:replace("abc
15640B","(?ms)^B","sI&\\1CmqcRb&EopSkFr",[])),
15641    <<"abc
15642sIBCmqcRbBEopSkFr">> = iolist_to_binary(re:replace("abc
15643B","(?ms)^B","sI&\\1CmqcRb&EopSkFr",[global])),
15644    <<"cDRlERYdxLVljB">> = iolist_to_binary(re:replace("B","(?s)B$","cDRlERYdx\\1LVlj&\\1",[])),
15645    <<"cDRlERYdxLVljB">> = iolist_to_binary(re:replace("B","(?s)B$","cDRlERYdx\\1LVlj&\\1",[global])),
15646    <<"ojREj">> = iolist_to_binary(re:replace("123456654321","^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]","o\\1jREj",[])),
15647    <<"ojREj">> = iolist_to_binary(re:replace("123456654321","^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]","o\\1jREj",[global])),
15648    <<"123456654321el">> = iolist_to_binary(re:replace("123456654321","^\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d","&\\1el",[])),
15649    <<"123456654321el">> = iolist_to_binary(re:replace("123456654321","^\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d\\d","&\\1el",[global])),
15650    <<"lb123456654321x123456654321V">> = iolist_to_binary(re:replace("123456654321","^[\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d]","lb&x&V",[])),
15651    <<"lb123456654321x123456654321V">> = iolist_to_binary(re:replace("123456654321","^[\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d][\\d]","lb&x&V",[global])),
15652    <<"XpabcabcabcabcAyWDhuR">> = iolist_to_binary(re:replace("abcabcabcabc","^[abc]{12}","Xp&Ay\\1WDhuR",[])),
15653    <<"XpabcabcabcabcAyWDhuR">> = iolist_to_binary(re:replace("abcabcabcabc","^[abc]{12}","Xp&Ay\\1WDhuR",[global])),
15654    <<"u">> = iolist_to_binary(re:replace("abcabcabcabc","^[a-c]{12}","u",[])),
15655    <<"u">> = iolist_to_binary(re:replace("abcabcabcabc","^[a-c]{12}","u",[global])),
15656    <<"xmIAabcabcabcabcacHwppQabcabcabcabccscvp">> = iolist_to_binary(re:replace("abcabcabcabc","^(a|b|c){12}","xmIA&a\\1HwppQ&cs\\1vp",[])),
15657    <<"xmIAabcabcabcabcacHwppQabcabcabcabccscvp">> = iolist_to_binary(re:replace("abcabcabcabc","^(a|b|c){12}","xmIA&a\\1HwppQ&cs\\1vp",[global])),
15658    <<"nDhnL">> = iolist_to_binary(re:replace("n","^[abcdefghijklmnopqrstuvwxy0123456789]","&Dh&L",[])),
15659    <<"nDhnL">> = iolist_to_binary(re:replace("n","^[abcdefghijklmnopqrstuvwxy0123456789]","&Dh&L",[global])),
15660    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[abcdefghijklmnopqrstuvwxy0123456789]","TPu\\1&wb",[])),
15661    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[abcdefghijklmnopqrstuvwxy0123456789]","TPu\\1&wb",[global])),
15662    <<"z">> = iolist_to_binary(re:replace("z","^[abcdefghijklmnopqrstuvwxy0123456789]","OJhKNSyPeRoI&Wnp",[])),
15663    <<"z">> = iolist_to_binary(re:replace("z","^[abcdefghijklmnopqrstuvwxy0123456789]","OJhKNSyPeRoI&Wnp",[global])),
15664    <<"K">> = iolist_to_binary(re:replace("abcd","abcde{0,0}","K",[])),
15665    <<"K">> = iolist_to_binary(re:replace("abcd","abcde{0,0}","K",[global])),
15666    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abcde{0,0}","E\\1\\1toPe\\1lGQK",[])),
15667    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abcde{0,0}","E\\1\\1toPe\\1lGQK",[global])),
15668    <<"abce">> = iolist_to_binary(re:replace("abce","abcde{0,0}","Ki&aBhP&lDx",[])),
15669    <<"abce">> = iolist_to_binary(re:replace("abce","abcde{0,0}","Ki&aBhP&lDx",[global])),
15670    <<"iQiLCUpSr">> = iolist_to_binary(re:replace("abe","ab[cd]{0,0}e","iQiLCUpSr",[])),
15671    <<"iQiLCUpSr">> = iolist_to_binary(re:replace("abe","ab[cd]{0,0}e","iQiLCUpSr",[global])),
15672    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab[cd]{0,0}e","Hr&PimCU",[])),
15673    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab[cd]{0,0}e","Hr&PimCU",[global])),
15674    <<"abcde">> = iolist_to_binary(re:replace("abcde","ab[cd]{0,0}e","DC&KnrfLxyCvn&",[])),
15675    <<"abcde">> = iolist_to_binary(re:replace("abcde","ab[cd]{0,0}e","DC&KnrfLxyCvn&",[global])),
15676    <<"LabdiARUDvV">> = iolist_to_binary(re:replace("abd","ab(c){0,0}d","\\1L\\1\\1&iARUDvV",[])),
15677    <<"LabdiARUDvV">> = iolist_to_binary(re:replace("abd","ab(c){0,0}d","\\1L\\1\\1&iARUDvV",[global])),
15678    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab(c){0,0}d","&\\1Mgf\\1",[])),
15679    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab(c){0,0}d","&\\1Mgf\\1",[global])),
15680    <<"abcd">> = iolist_to_binary(re:replace("abcd","ab(c){0,0}d","&jO\\1aGGc",[])),
15681    <<"abcd">> = iolist_to_binary(re:replace("abcd","ab(c){0,0}d","&jO\\1aGGc",[global])),
15682    <<"a">> = iolist_to_binary(re:replace("a","a(b*)","&",[])),
15683    <<"a">> = iolist_to_binary(re:replace("a","a(b*)","&",[global])),
15684    <<"tBTI">> = iolist_to_binary(re:replace("ab","a(b*)","tBTI",[])),
15685    <<"tBTI">> = iolist_to_binary(re:replace("ab","a(b*)","tBTI",[global])),
15686    <<"habbbbquabbbbbbbbabbbbmjPabbbbiabbbbqU">> = iolist_to_binary(re:replace("abbbb","a(b*)","h&qu&\\1&mjP&i&qU",[])),
15687    <<"habbbbquabbbbbbbbabbbbmjPabbbbiabbbbqU">> = iolist_to_binary(re:replace("abbbb","a(b*)","h&qu&\\1&mjP&i&qU",[global])),
15688    <<"*** FmYIhaIbaacAjQLailers">> = iolist_to_binary(re:replace("*** Failers","a(b*)","mYIhaIb&acAjQLa",[])),
15689    <<"*** FmYIhaIbaacAjQLailers">> = iolist_to_binary(re:replace("*** Failers","a(b*)","mYIhaIb&acAjQLa",[global])),
15690    <<"bbbbb">> = iolist_to_binary(re:replace("bbbbb","a(b*)","VG&iplC",[])),
15691    <<"bbbbb">> = iolist_to_binary(re:replace("bbbbb","a(b*)","VG&iplC",[global])),
15692    <<"al">> = iolist_to_binary(re:replace("abe","ab\\d{0}e","al",[])),
15693    <<"al">> = iolist_to_binary(re:replace("abe","ab\\d{0}e","al",[global])),
15694    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab\\d{0}e","SDV\\1",[])),
15695    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab\\d{0}e","SDV\\1",[global])),
15696    <<"ab1e">> = iolist_to_binary(re:replace("ab1e","ab\\d{0}e","C&p&eF\\1QF&mi\\1&",[])),
15697    <<"ab1e">> = iolist_to_binary(re:replace("ab1e","ab\\d{0}e","C&p&eF\\1QF&mi\\1&",[global])),
15698    <<"the LsC\"quick\"v\"quick\"NOdFhYFVvFQ brown fox">> = iolist_to_binary(re:replace("the \"quick\" brown fox","\"([^\\\\\"]+|\\\\.)*\"","LsC&v&NOdFhYFVvFQ",[])),
15699    <<"the LsC\"quick\"v\"quick\"NOdFhYFVvFQ brown fox">> = iolist_to_binary(re:replace("the \"quick\" brown fox","\"([^\\\\\"]+|\\\\.)*\"","LsC&v&NOdFhYFVvFQ",[global])),
15700    <<"Bymi\"the \\\"quick\\\" brown fox\"OuWN">> = iolist_to_binary(re:replace("\"the \\\"quick\\\" brown fox\"","\"([^\\\\\"]+|\\\\.)*\"","Bymi&OuWN",[])),
15701    <<"Bymi\"the \\\"quick\\\" brown fox\"OuWN">> = iolist_to_binary(re:replace("\"the \\\"quick\\\" brown fox\"","\"([^\\\\\"]+|\\\\.)*\"","Bymi&OuWN",[global])),
15702    <<"Cyabc">> = iolist_to_binary(re:replace("abc","","Cy",[])),
15703    <<"CyaCybCycCy">> = iolist_to_binary(re:replace("abc","","Cy",[global])),
15704    <<"cVsDacbW">> = iolist_to_binary(re:replace("acb","a[^a]b","\\1cVsD&W",[])),
15705    <<"cVsDacbW">> = iolist_to_binary(re:replace("acb","a[^a]b","\\1cVsD&W",[global])),
15706    <<"wa
15707bojyKixPq">> = iolist_to_binary(re:replace("a
15708b","a[^a]b","w&ojyKixPq",[])),
15709    <<"wa
15710bojyKixPq">> = iolist_to_binary(re:replace("a
15711b","a[^a]b","w&ojyKixPq",[global])),
15712    <<"DXPqrDQ">> = iolist_to_binary(re:replace("acb","a.b","\\1DX\\1Pqr\\1\\1DQ",[])),
15713    <<"DXPqrDQ">> = iolist_to_binary(re:replace("acb","a.b","\\1DX\\1Pqr\\1\\1DQ",[global])),
15714    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a.b","x&dFsqqlLfIA",[])),
15715    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a.b","x&dFsqqlLfIA",[global])),
15716    <<"a
15717b">> = iolist_to_binary(re:replace("a
15718b","a.b","P&jObNmClO",[])),
15719    <<"a
15720b">> = iolist_to_binary(re:replace("a
15721b","a.b","P&jObNmClO",[global])),
15722    <<"xacbpLkf">> = iolist_to_binary(re:replace("acb","a[^a]b","x&pLkf",[dotall])),
15723    <<"xacbpLkf">> = iolist_to_binary(re:replace("acb","a[^a]b","x&pLkf",[dotall,
15724                                                                                                                                                                        global])),
15725    <<"FEa
15726bcWUa
15727bpdda
15728ba
15729bALbNurmn">> = iolist_to_binary(re:replace("a
15730b","a[^a]b","FE&cWU&pdd&&ALbNurmn",[dotall])),
15731    <<"FEa
15732bcWUa
15733bpdda
15734ba
15735bALbNurmn">> = iolist_to_binary(re:replace("a
15736b","a[^a]b","FE&cWU&pdd&&ALbNurmn",[dotall,global])),
15737    ok.
15738run11() ->
15739    <<"GXcllkWrIacbBG">> = iolist_to_binary(re:replace("acb","a.b","\\1GXcllkWrI&\\1BG",[dotall])),
15740    <<"GXcllkWrIacbBG">> = iolist_to_binary(re:replace("acb","a.b","\\1GXcllkWrI&\\1BG",[dotall,
15741                                                                                                                                                                                            global])),
15742    <<"bmMeaNSa
15743bVvJW">> = iolist_to_binary(re:replace("a
15744b","a.b","bmMeaNS&VvJW",[dotall])),
15745    <<"bmMeaNSa
15746bVvJW">> = iolist_to_binary(re:replace("a
15747b","a.b","bmMeaNS&VvJW",[dotall,global])),
15748    <<"FabacNvbacaGaWYRb">> = iolist_to_binary(re:replace("bac","^(b+?|a){1,2}?c","F\\1&Nv&\\1G\\1WYRb",[])),
15749    <<"FabacNvbacaGaWYRb">> = iolist_to_binary(re:replace("bac","^(b+?|a){1,2}?c","F\\1&Nv&\\1G\\1WYRb",[global])),
15750    <<"WGbbacksaSqpuabXCRDoMob">> = iolist_to_binary(re:replace("bbac","^(b+?|a){1,2}?c","WG&ks\\1Sqpu\\1bXCRDoMob",[])),
15751    <<"WGbbacksaSqpuabXCRDoMob">> = iolist_to_binary(re:replace("bbac","^(b+?|a){1,2}?c","WG&ks\\1Sqpu\\1bXCRDoMob",[global])),
15752    <<"aya">> = iolist_to_binary(re:replace("bbbac","^(b+?|a){1,2}?c","\\1y\\1",[])),
15753    <<"aya">> = iolist_to_binary(re:replace("bbbac","^(b+?|a){1,2}?c","\\1y\\1",[global])),
15754    <<"bbbbacjqGxgxaVAbbbbacSKEda">> = iolist_to_binary(re:replace("bbbbac","^(b+?|a){1,2}?c","&jqGxgx\\1VA&SKEd\\1",[])),
15755    <<"bbbbacjqGxgxaVAbbbbacSKEda">> = iolist_to_binary(re:replace("bbbbac","^(b+?|a){1,2}?c","&jqGxgx\\1VA&SKEd\\1",[global])),
15756    <<"nCebbbbbacpljEau">> = iolist_to_binary(re:replace("bbbbbac","^(b+?|a){1,2}?c","nCe&pljE\\1u",[])),
15757    <<"nCebbbbbacpljEau">> = iolist_to_binary(re:replace("bbbbbac","^(b+?|a){1,2}?c","nCe&pljE\\1u",[global])),
15758    <<"aehaicAQxGvl">> = iolist_to_binary(re:replace("bac","^(b+|a){1,2}?c","\\1ehaicAQxGvl",[])),
15759    <<"aehaicAQxGvl">> = iolist_to_binary(re:replace("bac","^(b+|a){1,2}?c","\\1ehaicAQxGvl",[global])),
15760    <<"ggbbactWBanbbacPcVaBlWkC">> = iolist_to_binary(re:replace("bbac","^(b+|a){1,2}?c","gg&tWB\\1n&PcV\\1BlWkC",[])),
15761    <<"ggbbactWBanbbacPcVaBlWkC">> = iolist_to_binary(re:replace("bbac","^(b+|a){1,2}?c","gg&tWB\\1n&PcV\\1BlWkC",[global])),
15762    <<"bbbbacaRcabbbacS">> = iolist_to_binary(re:replace("bbbac","^(b+|a){1,2}?c","b&\\1Rc\\1&S",[])),
15763    <<"bbbbacaRcabbbacS">> = iolist_to_binary(re:replace("bbbac","^(b+|a){1,2}?c","b&\\1Rc\\1&S",[global])),
15764    <<"lrNbbbbacMarFghJVbbbbac">> = iolist_to_binary(re:replace("bbbbac","^(b+|a){1,2}?c","lrN&M\\1rFghJV&",[])),
15765    <<"lrNbbbbacMarFghJVbbbbac">> = iolist_to_binary(re:replace("bbbbac","^(b+|a){1,2}?c","lrN&M\\1rFghJV&",[global])),
15766    <<"aybajbbbbbacli">> = iolist_to_binary(re:replace("bbbbbac","^(b+|a){1,2}?c","\\1yb\\1j&li",[])),
15767    <<"aybajbbbbbacli">> = iolist_to_binary(re:replace("bbbbbac","^(b+|a){1,2}?c","\\1yb\\1j&li",[global])),
15768    <<"x
15769b">> = iolist_to_binary(re:replace("x
15770b","(?!\\A)x","qdtT&xXSc",[multiline])),
15771    <<"x
15772b">> = iolist_to_binary(re:replace("x
15773b","(?!\\A)x","qdtT&xXSc",[multiline,global])),
15774    <<"axa">> = iolist_to_binary(re:replace("ax","(?!\\A)x","&a",[multiline])),
15775    <<"axa">> = iolist_to_binary(re:replace("ax","(?!\\A)x","&a",[multiline,
15776                                                                                                                                                                     global])),
15777    <<"{ab}">> = iolist_to_binary(re:replace("{ab}","\\x0{ab}","&aQi\\1rM&TR&\\1e",[])),
15778    <<"{ab}">> = iolist_to_binary(re:replace("{ab}","\\x0{ab}","&aQi\\1rM&TR&\\1e",[global])),
15779    <<"KNDG">> = iolist_to_binary(re:replace("CD","(A|B)*?CD","K\\1NDG",[])),
15780    <<"KNDG">> = iolist_to_binary(re:replace("CD","(A|B)*?CD","K\\1NDG",[global])),
15781    <<"AgdCDyU">> = iolist_to_binary(re:replace("CD","(A|B)*CD","Agd&\\1yU",[])),
15782    <<"AgdCDyU">> = iolist_to_binary(re:replace("CD","(A|B)*CD","Agd&\\1yU",[global])),
15783    <<"KNLvABjABABKKABABAB">> = iolist_to_binary(re:replace("ABABAB","(AB)*?\\1","KNLv\\1j&KK&",[])),
15784    <<"KNLvABjABABKKABABAB">> = iolist_to_binary(re:replace("ABABAB","(AB)*?\\1","KNLv\\1j&KK&",[global])),
15785    <<"GnM">> = iolist_to_binary(re:replace("ABABAB","(AB)*\\1","GnM",[])),
15786    <<"GnM">> = iolist_to_binary(re:replace("ABABAB","(AB)*\\1","GnM",[global])),
15787    <<"fooRBfoomXVc">> = iolist_to_binary(re:replace("foo","(?<!bar)foo","&RB&mXVc",[])),
15788    <<"fooRBfoomXVc">> = iolist_to_binary(re:replace("foo","(?<!bar)foo","&RB&mXVc",[global])),
15789    <<"catjWUnJUSd">> = iolist_to_binary(re:replace("catfood","(?<!bar)foo","jWUnJUS",[])),
15790    <<"catjWUnJUSd">> = iolist_to_binary(re:replace("catfood","(?<!bar)foo","jWUnJUS",[global])),
15791    <<"arPgBuMtle">> = iolist_to_binary(re:replace("arfootle","(?<!bar)foo","PgBuM",[])),
15792    <<"arPgBuMtle">> = iolist_to_binary(re:replace("arfootle","(?<!bar)foo","PgBuM",[global])),
15793    <<"rfoorKCsmwsrXilqsh">> = iolist_to_binary(re:replace("rfoosh","(?<!bar)foo","&rKCsmwsrXilq",[])),
15794    <<"rfoorKCsmwsrXilqsh">> = iolist_to_binary(re:replace("rfoosh","(?<!bar)foo","&rKCsmwsrXilq",[global])),
15795    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<!bar)foo","\\1aT&&Wgmx",[])),
15796    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<!bar)foo","\\1aT&&Wgmx",[global])),
15797    <<"barfoo">> = iolist_to_binary(re:replace("barfoo","(?<!bar)foo","ljtkcC",[])),
15798    <<"barfoo">> = iolist_to_binary(re:replace("barfoo","(?<!bar)foo","ljtkcC",[global])),
15799    <<"towbarfoo">> = iolist_to_binary(re:replace("towbarfoo","(?<!bar)foo","&&\\1Tmj\\1aBVw&Su\\1nww\\1",[])),
15800    <<"towbarfoo">> = iolist_to_binary(re:replace("towbarfoo","(?<!bar)foo","&&\\1Tmj\\1aBVw&Su\\1nww\\1",[global])),
15801    <<"ogelleKhJPBRcatfooBpBd">> = iolist_to_binary(re:replace("catfood","\\w{3}(?<!bar)foo","ogel\\1leKhJPBR\\1&B\\1pB",[])),
15802    <<"ogelleKhJPBRcatfooBpBd">> = iolist_to_binary(re:replace("catfood","\\w{3}(?<!bar)foo","ogel\\1leKhJPBR\\1&B\\1pB",[global])),
15803    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\w{3}(?<!bar)foo","DfK&xr&sMv&&",[])),
15804    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\w{3}(?<!bar)foo","DfK&xr&sMv&&",[global])),
15805    <<"foo">> = iolist_to_binary(re:replace("foo","\\w{3}(?<!bar)foo","&DDDKoimlSswYrm&w",[])),
15806    <<"foo">> = iolist_to_binary(re:replace("foo","\\w{3}(?<!bar)foo","&DDDKoimlSswYrm&w",[global])),
15807    <<"barfoo">> = iolist_to_binary(re:replace("barfoo","\\w{3}(?<!bar)foo","iBoc&&NxWYj\\1xympSmB",[])),
15808    <<"barfoo">> = iolist_to_binary(re:replace("barfoo","\\w{3}(?<!bar)foo","iBoc&&NxWYj\\1xympSmB",[global])),
15809    <<"towbarfoo">> = iolist_to_binary(re:replace("towbarfoo","\\w{3}(?<!bar)foo","u&dq&",[])),
15810    <<"towbarfoo">> = iolist_to_binary(re:replace("towbarfoo","\\w{3}(?<!bar)foo","u&dq&",[global])),
15811    <<"fooalCkfooPbarqRySQfoobarYHrF">> = iolist_to_binary(re:replace("fooabar","(?<=(foo)a)bar","lCk\\1P&qRySQ\\1&YHrF",[])),
15812    <<"fooalCkfooPbarqRySQfoobarYHrF">> = iolist_to_binary(re:replace("fooabar","(?<=(foo)a)bar","lCk\\1P&qRySQ\\1&YHrF",[global])),
15813    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=(foo)a)bar","QkbJD&bLtir&fa",[])),
15814    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=(foo)a)bar","QkbJD&bLtir&fa",[global])),
15815    <<"bar">> = iolist_to_binary(re:replace("bar","(?<=(foo)a)bar","&J\\1DGniTa",[])),
15816    <<"bar">> = iolist_to_binary(re:replace("bar","(?<=(foo)a)bar","&J\\1DGniTa",[global])),
15817    <<"foobbar">> = iolist_to_binary(re:replace("foobbar","(?<=(foo)a)bar","\\1bfWxNNO\\1\\1uiB",[])),
15818    <<"foobbar">> = iolist_to_binary(re:replace("foobbar","(?<=(foo)a)bar","\\1bfWxNNO\\1\\1uiB",[global])),
15819    <<"inSfgh">> = iolist_to_binary(re:replace("abc","\\Aabc\\z","inSf\\1\\1gh",[multiline])),
15820    <<"inSfgh">> = iolist_to_binary(re:replace("abc","\\Aabc\\z","inSf\\1\\1gh",[multiline,
15821                                                                                                                                                                                             global])),
15822    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\Aabc\\z","&JtcOT\\1qU",[multiline])),
15823    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\Aabc\\z","&JtcOT\\1qU",[multiline,
15824                                                                                                                                                                                                           global])),
15825    <<"fEQ">> = iolist_to_binary(re:replace("abc","\\Aabc\\z","fEQ",[multiline])),
15826    <<"fEQ">> = iolist_to_binary(re:replace("abc","\\Aabc\\z","fEQ",[multiline,
15827                                                                                                                                                                         global])),
15828    <<"qqq
15829abc">> = iolist_to_binary(re:replace("qqq
15830abc","\\Aabc\\z","ilQoSPAJ",[multiline])),
15831    <<"qqq
15832abc">> = iolist_to_binary(re:replace("qqq
15833abc","\\Aabc\\z","ilQoSPAJ",[multiline,global])),
15834    <<"abc
15835zzz">> = iolist_to_binary(re:replace("abc
15836zzz","\\Aabc\\z","sOIiDw\\1U\\1Mul&\\1NN\\1",[multiline])),
15837    <<"abc
15838zzz">> = iolist_to_binary(re:replace("abc
15839zzz","\\Aabc\\z","sOIiDw\\1U\\1Mul&\\1NN\\1",[multiline,
15840                                                               global])),
15841    <<"qqq
15842abc
15843zzz">> = iolist_to_binary(re:replace("qqq
15844abc
15845zzz","\\Aabc\\z","&On&obtglyVw",[multiline])),
15846    <<"qqq
15847abc
15848zzz">> = iolist_to_binary(re:replace("qqq
15849abc
15850zzz","\\Aabc\\z","&On&obtglyVw",[multiline,global])),
15851    <<"1p.23">> = iolist_to_binary(re:replace("1.230003938","(?>(\\.\\d\\d[1-9]?))\\d+","p\\1",[])),
15852    <<"1p.23">> = iolist_to_binary(re:replace("1.230003938","(?>(\\.\\d\\d[1-9]?))\\d+","p\\1",[global])),
15853    <<"1.875ShDPcSaaE.875000282">> = iolist_to_binary(re:replace("1.875000282","(?>(\\.\\d\\d[1-9]?))\\d+","\\1ShDPcSaaE&",[])),
15854    <<"1.875ShDPcSaaE.875000282">> = iolist_to_binary(re:replace("1.875000282","(?>(\\.\\d\\d[1-9]?))\\d+","\\1ShDPcSaaE&",[global])),
15855    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?>(\\.\\d\\d[1-9]?))\\d+","kgx\\1&RsUCY",[])),
15856    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?>(\\.\\d\\d[1-9]?))\\d+","kgx\\1&RsUCY",[global])),
15857    <<"1.235">> = iolist_to_binary(re:replace("1.235","(?>(\\.\\d\\d[1-9]?))\\d+","\\1OwWeWH",[])),
15858    <<"1.235">> = iolist_to_binary(re:replace("1.235","(?>(\\.\\d\\d[1-9]?))\\d+","\\1OwWeWH",[global])),
15859    <<"RKNdIe">> = iolist_to_binary(re:replace("now is the time for all good men to come to the aid of the party","^((?>\\w+)|(?>\\s+))*$","RKNdIe",[])),
15860    <<"RKNdIe">> = iolist_to_binary(re:replace("now is the time for all good men to come to the aid of the party","^((?>\\w+)|(?>\\s+))*$","RKNdIe",[global])),
15861    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^((?>\\w+)|(?>\\s+))*$","&dYBP",[])),
15862    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^((?>\\w+)|(?>\\s+))*$","&dYBP",[global])),
15863    <<"this is not a line with only words and spaces!">> = iolist_to_binary(re:replace("this is not a line with only words and spaces!","^((?>\\w+)|(?>\\s+))*$","cGurgcY\\1oWHq&qXicAl",[])),
15864    <<"this is not a line with only words and spaces!">> = iolist_to_binary(re:replace("this is not a line with only words and spaces!","^((?>\\w+)|(?>\\s+))*$","cGurgcY\\1oWHq&qXicAl",[global])),
15865    <<"hXTky12345aEl12345aGX12345kFf">> = iolist_to_binary(re:replace("12345a","(\\d+)(\\w)","hXTky&El&GX\\1kFf",[])),
15866    <<"hXTky12345aEl12345aGX12345kFf">> = iolist_to_binary(re:replace("12345a","(\\d+)(\\w)","hXTky&El&GX\\1kFf",[global])),
15867    <<"hd1234x+">> = iolist_to_binary(re:replace("12345+","(\\d+)(\\w)","hd\\1x",[])),
15868    <<"hd1234x+">> = iolist_to_binary(re:replace("12345+","(\\d+)(\\w)","hd\\1x",[global])),
15869    <<"12345">> = iolist_to_binary(re:replace("12345a","((?>\\d+))(\\w)","\\1",[])),
15870    <<"12345">> = iolist_to_binary(re:replace("12345a","((?>\\d+))(\\w)","\\1",[global])),
15871    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((?>\\d+))(\\w)","aGjfXar",[])),
15872    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((?>\\d+))(\\w)","aGjfXar",[global])),
15873    <<"12345+">> = iolist_to_binary(re:replace("12345+","((?>\\d+))(\\w)","DmEP\\1AVjI&r",[])),
15874    <<"12345+">> = iolist_to_binary(re:replace("12345+","((?>\\d+))(\\w)","DmEP\\1AVjI&r",[global])),
15875    <<"TaaabtTxSOuYhbPTaaabFKp">> = iolist_to_binary(re:replace("aaab","(?>a+)b","T&tTxS\\1O\\1uYhbPT&\\1FKp",[])),
15876    <<"TaaabtTxSOuYhbPTaaabFKp">> = iolist_to_binary(re:replace("aaab","(?>a+)b","T&tTxS\\1O\\1uYhbPT&\\1FKp",[global])),
15877    ok.
15878run12() ->
15879    <<"LhIrrFgkHmaaabfdaaaboY">> = iolist_to_binary(re:replace("aaab","((?>a+)b)","LhIrrFgkHm&fd\\1oY",[])),
15880    <<"LhIrrFgkHmaaabfdaaaboY">> = iolist_to_binary(re:replace("aaab","((?>a+)b)","LhIrrFgkHm&fd\\1oY",[global])),
15881    <<"ImaaaaaacADcaaabpHh">> = iolist_to_binary(re:replace("aaab","(?>(a+))b","Im\\1\\1cADc&pHh",[])),
15882    <<"ImaaaaaacADcaaabpHh">> = iolist_to_binary(re:replace("aaab","(?>(a+))b","Im\\1\\1cADc&pHh",[global])),
15883    <<"aaatKEdbbbccc">> = iolist_to_binary(re:replace("aaabbbccc","(?>b)+","tKEd&\\1",[])),
15884    <<"aaatKEdbbbccc">> = iolist_to_binary(re:replace("aaabbbccc","(?>b)+","tKEd&\\1",[global])),
15885    <<"mnyiaaabbbbcEwbrLGfNMcccd">> = iolist_to_binary(re:replace("aaabbbbccccd","(?>a+|b+|c+)*c","m\\1nyi&EwbrLGfNM",[])),
15886    <<"mnyiaaabbbbcEwbrLGfNMmnyicEwbrLGfNMmnyicEwbrLGfNMmnyicEwbrLGfNMd">> = iolist_to_binary(re:replace("aaabbbbccccd","(?>a+|b+|c+)*c","m\\1nyi&EwbrLGfNM",[global])),
15887    <<"((Iqlkabc(ade)ufh()()xbhmeIrGmiGmVd">> = iolist_to_binary(re:replace("((abc(ade)ufh()()x","((?>[^()]+)|\\([^()]*\\))+","Iqlk&bhmeIrGmiGmVd",[])),
15888    <<"((Iqlkabc(ade)ufh()()xbhmeIrGmiGmVd">> = iolist_to_binary(re:replace("((abc(ade)ufh()()x","((?>[^()]+)|\\([^()]*\\))+","Iqlk&bhmeIrGmiGmVd",[global])),
15889    <<"CIsFJQabcgcRrp">> = iolist_to_binary(re:replace("(abc)","\\(((?>[^()]+)|\\([^()]+\\))+\\)","CIsFJQ\\1gcRrp",[])),
15890    <<"CIsFJQabcgcRrp">> = iolist_to_binary(re:replace("(abc)","\\(((?>[^()]+)|\\([^()]+\\))+\\)","CIsFJQ\\1gcRrp",[global])),
15891    <<"lmHuxyzxyzCxyzBxyzfyc">> = iolist_to_binary(re:replace("(abc(def)xyz)","\\(((?>[^()]+)|\\([^()]+\\))+\\)","lmHu\\1\\1C\\1B\\1fyc",[])),
15892    <<"lmHuxyzxyzCxyzBxyzfyc">> = iolist_to_binary(re:replace("(abc(def)xyz)","\\(((?>[^()]+)|\\([^()]+\\))+\\)","lmHu\\1\\1C\\1B\\1fyc",[global])),
15893    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\(((?>[^()]+)|\\([^()]+\\))+\\)","GQrbsavAq",[])),
15894    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\(((?>[^()]+)|\\([^()]+\\))+\\)","GQrbsavAq",[global])),
15895    <<"((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","\\(((?>[^()]+)|\\([^()]+\\))+\\)","\\1TXU&lHlMOA&&\\1EB&EF",[])),
15896    <<"((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","\\(((?>[^()]+)|\\([^()]+\\))+\\)","\\1TXU&lHlMOA&&\\1EB&EF",[global])),
15897    <<"idabiAQbk">> = iolist_to_binary(re:replace("ab","a(?-i)b","id\\1&iAQbk",[caseless])),
15898    <<"idabiAQbk">> = iolist_to_binary(re:replace("ab","a(?-i)b","id\\1&iAQbk",[caseless,
15899                                                                                                                                                                                   global])),
15900    <<"ymJEoJHMVXAbpfeH">> = iolist_to_binary(re:replace("Ab","a(?-i)b","ymJEo\\1JHMVX&pfeH",[caseless])),
15901    <<"ymJEoJHMVXAbpfeH">> = iolist_to_binary(re:replace("Ab","a(?-i)b","ymJEo\\1JHMVX&pfeH",[caseless,
15902                                                                                                                                                                                                 global])),
15903    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?-i)b","vPR\\1TpFC\\1FV",[caseless])),
15904    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?-i)b","vPR\\1TpFC\\1FV",[caseless,
15905                                                                                                                                                                                                             global])),
15906    <<"aB">> = iolist_to_binary(re:replace("aB","a(?-i)b","&",[caseless])),
15907    <<"aB">> = iolist_to_binary(re:replace("aB","a(?-i)b","&",[caseless,
15908                                                                                                                                                              global])),
15909    <<"AB">> = iolist_to_binary(re:replace("AB","a(?-i)b","&\\1VTAYjnm&anO",[caseless])),
15910    <<"AB">> = iolist_to_binary(re:replace("AB","a(?-i)b","&\\1VTAYjnm&anO",[caseless,
15911                                                                                                                                                                                            global])),
15912    <<"wa bcd eNsa bcd eU">> = iolist_to_binary(re:replace("a bcd e","(a (?x)b c)d e","w&Ns&U",[])),
15913    <<"wa bcd eNsa bcd eU">> = iolist_to_binary(re:replace("a bcd e","(a (?x)b c)d e","w&Ns&U",[global])),
15914    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a (?x)b c)d e","J\\1\\1&\\1",[])),
15915    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a (?x)b c)d e","J\\1\\1&\\1",[global])),
15916    <<"a b cd e">> = iolist_to_binary(re:replace("a b cd e","(a (?x)b c)d e","kmHqh\\1V&xPLo&d\\1kD&c\\1",[])),
15917    <<"a b cd e">> = iolist_to_binary(re:replace("a b cd e","(a (?x)b c)d e","kmHqh\\1V&xPLo&d\\1kD&c\\1",[global])),
15918    <<"abcd e">> = iolist_to_binary(re:replace("abcd e","(a (?x)b c)d e","JeuSTa",[])),
15919    <<"abcd e">> = iolist_to_binary(re:replace("abcd e","(a (?x)b c)d e","JeuSTa",[global])),
15920    <<"a bcde">> = iolist_to_binary(re:replace("a bcde","(a (?x)b c)d e","rGvPufM&S",[])),
15921    <<"a bcde">> = iolist_to_binary(re:replace("a bcde","(a (?x)b c)d e","rGvPufM&S",[global])),
15922    <<"Ta bcde fa bcde fUmmu">> = iolist_to_binary(re:replace("a bcde f","(a b(?x)c d (?-x)e f)","T\\1\\1Ummu",[])),
15923    <<"Ta bcde fa bcde fUmmu">> = iolist_to_binary(re:replace("a bcde f","(a b(?x)c d (?-x)e f)","T\\1\\1Ummu",[global])),
15924    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a b(?x)c d (?-x)e f)","IRrlhH\\1TBy\\1hR&SlYv",[])),
15925    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a b(?x)c d (?-x)e f)","IRrlhH\\1TBy\\1hR&SlYv",[global])),
15926    <<"abcdef">> = iolist_to_binary(re:replace("abcdef","(a b(?x)c d (?-x)e f)","&W&QjaDduHuWkQDe&f",[])),
15927    <<"abcdef">> = iolist_to_binary(re:replace("abcdef","(a b(?x)c d (?-x)e f)","&W&QjaDduHuWkQDe&f",[global])),
15928    <<"nPOwabcHbn">> = iolist_to_binary(re:replace("abc","(a(?i)b)c","nPOw&Hbn",[])),
15929    <<"nPOwabcHbn">> = iolist_to_binary(re:replace("abc","(a(?i)b)c","nPOw&Hbn",[global])),
15930    <<"lUDErmsSNiolx">> = iolist_to_binary(re:replace("aBc","(a(?i)b)c","lUDErmsSNiolx",[])),
15931    <<"lUDErmsSNiolx">> = iolist_to_binary(re:replace("aBc","(a(?i)b)c","lUDErmsSNiolx",[global])),
15932    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a(?i)b)c","\\1nnmRyE\\1TDu\\1gSpew&lo",[])),
15933    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a(?i)b)c","\\1nnmRyE\\1TDu\\1gSpew&lo",[global])),
15934    <<"abC">> = iolist_to_binary(re:replace("abC","(a(?i)b)c","\\1yod\\1Yx&CeJlaBW",[])),
15935    <<"abC">> = iolist_to_binary(re:replace("abC","(a(?i)b)c","\\1yod\\1Yx&CeJlaBW",[global])),
15936    <<"aBC">> = iolist_to_binary(re:replace("aBC","(a(?i)b)c","&SAguoo",[])),
15937    <<"aBC">> = iolist_to_binary(re:replace("aBC","(a(?i)b)c","&SAguoo",[global])),
15938    <<"Abc">> = iolist_to_binary(re:replace("Abc","(a(?i)b)c","gK&",[])),
15939    <<"Abc">> = iolist_to_binary(re:replace("Abc","(a(?i)b)c","gK&",[global])),
15940    <<"ABc">> = iolist_to_binary(re:replace("ABc","(a(?i)b)c","VqTSha",[])),
15941    <<"ABc">> = iolist_to_binary(re:replace("ABc","(a(?i)b)c","VqTSha",[global])),
15942    <<"ABC">> = iolist_to_binary(re:replace("ABC","(a(?i)b)c","umIMCIf&IcUxswr\\1PAle",[])),
15943    <<"ABC">> = iolist_to_binary(re:replace("ABC","(a(?i)b)c","umIMCIf&IcUxswr\\1PAle",[global])),
15944    <<"AbC">> = iolist_to_binary(re:replace("AbC","(a(?i)b)c","IrRia&&\\1\\1xxN",[])),
15945    <<"AbC">> = iolist_to_binary(re:replace("AbC","(a(?i)b)c","IrRia&&\\1\\1xxN",[global])),
15946    <<"BhNg">> = iolist_to_binary(re:replace("abc","a(?i:b)c","B\\1hNg",[])),
15947    <<"BhNg">> = iolist_to_binary(re:replace("abc","a(?i:b)c","B\\1hNg",[global])),
15948    <<"ksleilaBcnaBcgaBcckag">> = iolist_to_binary(re:replace("aBc","a(?i:b)c","ksleil\\1&n&\\1g&ckag",[])),
15949    <<"ksleilaBcnaBcgaBcckag">> = iolist_to_binary(re:replace("aBc","a(?i:b)c","ksleil\\1&n&\\1g&ckag",[global])),
15950    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?i:b)c","HOFVAgJOK&",[])),
15951    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?i:b)c","HOFVAgJOK&",[global])),
15952    <<"ABC">> = iolist_to_binary(re:replace("ABC","a(?i:b)c","AqQnVO",[])),
15953    <<"ABC">> = iolist_to_binary(re:replace("ABC","a(?i:b)c","AqQnVO",[global])),
15954    <<"abC">> = iolist_to_binary(re:replace("abC","a(?i:b)c","vnKNXwp\\1rp\\1JxY",[])),
15955    <<"abC">> = iolist_to_binary(re:replace("abC","a(?i:b)c","vnKNXwp\\1rp\\1JxY",[global])),
15956    <<"aBC">> = iolist_to_binary(re:replace("aBC","a(?i:b)c","&&l&\\1CMbjHlAnNY",[])),
15957    <<"aBC">> = iolist_to_binary(re:replace("aBC","a(?i:b)c","&&l&\\1CMbjHlAnNY",[global])),
15958    <<"CrbBlrjAUcQReBRN">> = iolist_to_binary(re:replace("aBc","a(?i:b)*c","CrbBlrjAUcQReBRN",[])),
15959    <<"CrbBlrjAUcQReBRN">> = iolist_to_binary(re:replace("aBc","a(?i:b)*c","CrbBlrjAUcQReBRN",[global])),
15960    <<"FTHvDKUVGaBBcJaBBca">> = iolist_to_binary(re:replace("aBBc","a(?i:b)*c","FT\\1HvDKUVG&J\\1&\\1a",[])),
15961    <<"FTHvDKUVGaBBcJaBBca">> = iolist_to_binary(re:replace("aBBc","a(?i:b)*c","FT\\1HvDKUVG&J\\1&\\1a",[global])),
15962    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?i:b)*c","qHE\\1PBQLSx",[])),
15963    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?i:b)*c","qHE\\1PBQLSx",[global])),
15964    <<"aBC">> = iolist_to_binary(re:replace("aBC","a(?i:b)*c","ceuREb\\1nlQIA\\1tjv",[])),
15965    <<"aBC">> = iolist_to_binary(re:replace("aBC","a(?i:b)*c","ceuREb\\1nlQIA\\1tjv",[global])),
15966    <<"aBBC">> = iolist_to_binary(re:replace("aBBC","a(?i:b)*c","\\1xa&d\\1\\1\\1&y",[])),
15967    <<"aBBC">> = iolist_to_binary(re:replace("aBBC","a(?i:b)*c","\\1xa&d\\1\\1\\1&y",[global])),
15968    <<"ulvseXcnAHfTux">> = iolist_to_binary(re:replace("abcd","a(?=b(?i)c)\\w\\wd","\\1ulvseXc\\1nAHf\\1Tux",[])),
15969    <<"ulvseXcnAHfTux">> = iolist_to_binary(re:replace("abcd","a(?=b(?i)c)\\w\\wd","\\1ulvseXc\\1nAHf\\1Tux",[global])),
15970    <<"JabCdfEqTKkUYCsYRBa">> = iolist_to_binary(re:replace("abCd","a(?=b(?i)c)\\w\\wd","J&fEqTKkUYCsYR\\1Ba",[])),
15971    <<"JabCdfEqTKkUYCsYRBa">> = iolist_to_binary(re:replace("abCd","a(?=b(?i)c)\\w\\wd","J&fEqTKkUYCsYR\\1Ba",[global])),
15972    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?=b(?i)c)\\w\\wd","&ucD&KTCpy&hM\\1JmdG\\1",[])),
15973    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?=b(?i)c)\\w\\wd","&ucD&KTCpy&hM\\1JmdG\\1",[global])),
15974    <<"aBCd">> = iolist_to_binary(re:replace("aBCd","a(?=b(?i)c)\\w\\wd","un&fMos&GsMoI\\1IOOgT\\1",[])),
15975    <<"aBCd">> = iolist_to_binary(re:replace("aBCd","a(?=b(?i)c)\\w\\wd","un&fMos&GsMoI\\1IOOgT\\1",[global])),
15976    <<"abcD">> = iolist_to_binary(re:replace("abcD","a(?=b(?i)c)\\w\\wd","\\1TX&",[])),
15977    <<"abcD">> = iolist_to_binary(re:replace("abcD","a(?=b(?i)c)\\w\\wd","\\1TX&",[global])),
15978    <<"more than millionxmore than millionDMymore than millionvobHjfHmore than millionHqL">> = iolist_to_binary(re:replace("more than million","(?s-i:more.*than).*million","&x&DMy&vobHjfH&HqL",[caseless])),
15979    <<"more than millionxmore than millionDMymore than millionvobHjfHmore than millionHqL">> = iolist_to_binary(re:replace("more than million","(?s-i:more.*than).*million","&x&DMy&vobHjfH&HqL",[caseless,
15980                                                                                                                                                                                                                                                                       global])),
15981    <<"more than MILLIONKImore than MILLIONmore than MILLIONuDxH">> = iolist_to_binary(re:replace("more than MILLION","(?s-i:more.*than).*million","\\1&\\1KI&&uDxH",[caseless])),
15982    <<"more than MILLIONKImore than MILLIONmore than MILLIONuDxH">> = iolist_to_binary(re:replace("more than MILLION","(?s-i:more.*than).*million","\\1&\\1KI&&uDxH",[caseless,
15983                                                                                                                                                                                                                                                                  global])),
15984    <<"DIwUfD">> = iolist_to_binary(re:replace("more
15985 than Million","(?s-i:more.*than).*million","DIwU\\1fD",[caseless])),
15986    <<"DIwUfD">> = iolist_to_binary(re:replace("more
15987 than Million","(?s-i:more.*than).*million","DIwU\\1fD",[caseless,
15988                                                                global])),
15989    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?s-i:more.*than).*million","&&m&lYA",[caseless])),
15990    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?s-i:more.*than).*million","&&m&lYA",[caseless,
15991                                                                                                                                                                                                                                    global])),
15992    <<"MORE THAN MILLION">> = iolist_to_binary(re:replace("MORE THAN MILLION","(?s-i:more.*than).*million","hC\\1c\\1QaE\\1ejLMkpMbOoW",[caseless])),
15993    <<"MORE THAN MILLION">> = iolist_to_binary(re:replace("MORE THAN MILLION","(?s-i:more.*than).*million","hC\\1c\\1QaE\\1ejLMkpMbOoW",[caseless,
15994                                                                                                                                                                                                                                                                                      global])),
15995    <<"more
15996 than
15997 million">> = iolist_to_binary(re:replace("more
15998 than
15999 million","(?s-i:more.*than).*million","hU\\1&DhqAQkrYaH",[caseless])),
16000    <<"more
16001 than
16002 million">> = iolist_to_binary(re:replace("more
16003 than
16004 million","(?s-i:more.*than).*million","hU\\1&DhqAQkrYaH",[caseless,
16005                                                                  global])),
16006    <<"rBTLmore than millionY">> = iolist_to_binary(re:replace("more than million","(?:(?s-i)more.*than).*million","rBTL&Y",[caseless])),
16007    <<"rBTLmore than millionY">> = iolist_to_binary(re:replace("more than million","(?:(?s-i)more.*than).*million","rBTL&Y",[caseless,
16008                                                                                                                                                                                                                                                  global])),
16009    <<"SmyMhdAN">> = iolist_to_binary(re:replace("more than MILLION","(?:(?s-i)more.*than).*million","S\\1myMhdAN",[caseless])),
16010    <<"SmyMhdAN">> = iolist_to_binary(re:replace("more than MILLION","(?:(?s-i)more.*than).*million","S\\1myMhdAN",[caseless,
16011                                                                                                                                                                                                                                                            global])),
16012    <<"VCDSmcyPWmore
16013 than Milliondg">> = iolist_to_binary(re:replace("more
16014 than Million","(?:(?s-i)more.*than).*million","VCDSmcyPW\\1&dg",[caseless])),
16015    <<"VCDSmcyPWmore
16016 than Milliondg">> = iolist_to_binary(re:replace("more
16017 than Million","(?:(?s-i)more.*than).*million","VCDSmcyPW\\1&dg",[caseless,
16018                                                                         global])),
16019    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(?s-i)more.*than).*million","\\1B&",[caseless])),
16020    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(?s-i)more.*than).*million","\\1B&",[caseless,
16021                                                                                                                                                                                                                                     global])),
16022    <<"MORE THAN MILLION">> = iolist_to_binary(re:replace("MORE THAN MILLION","(?:(?s-i)more.*than).*million","\\1R&\\1IUeeXdQa&",[caseless])),
16023    <<"MORE THAN MILLION">> = iolist_to_binary(re:replace("MORE THAN MILLION","(?:(?s-i)more.*than).*million","\\1R&\\1IUeeXdQa&",[caseless,
16024                                                                                                                                                                                                                                                                           global])),
16025    <<"more
16026 than
16027 million">> = iolist_to_binary(re:replace("more
16028 than
16029 million","(?:(?s-i)more.*than).*million","QA\\1&",[caseless])),
16030    <<"more
16031 than
16032 million">> = iolist_to_binary(re:replace("more
16033 than
16034 million","(?:(?s-i)more.*than).*million","QA\\1&",[caseless,global])),
16035    <<"DxMdabcH">> = iolist_to_binary(re:replace("abc","(?>a(?i)b+)+c","DxMd&H",[])),
16036    <<"DxMdabcH">> = iolist_to_binary(re:replace("abc","(?>a(?i)b+)+c","DxMd&H",[global])),
16037    <<"GBQiDroaaBbcF">> = iolist_to_binary(re:replace("aBbc","(?>a(?i)b+)+c","GBQiDroa&F\\1",[])),
16038    <<"GBQiDroaaBbcF">> = iolist_to_binary(re:replace("aBbc","(?>a(?i)b+)+c","GBQiDroa&F\\1",[global])),
16039    <<"daBBcvQhyA">> = iolist_to_binary(re:replace("aBBc","(?>a(?i)b+)+c","d&vQhyA",[])),
16040    <<"daBBcvQhyA">> = iolist_to_binary(re:replace("aBBc","(?>a(?i)b+)+c","d&vQhyA",[global])),
16041    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?>a(?i)b+)+c","htKB",[])),
16042    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?>a(?i)b+)+c","htKB",[global])),
16043    <<"Abc">> = iolist_to_binary(re:replace("Abc","(?>a(?i)b+)+c","vR&jLCa\\1y\\1cD",[])),
16044    <<"Abc">> = iolist_to_binary(re:replace("Abc","(?>a(?i)b+)+c","vR&jLCa\\1y\\1cD",[global])),
16045    <<"abAb">> = iolist_to_binary(re:replace("abAb","(?>a(?i)b+)+c","lG",[])),
16046    <<"abAb">> = iolist_to_binary(re:replace("abAb","(?>a(?i)b+)+c","lG",[global])),
16047    <<"abbC">> = iolist_to_binary(re:replace("abbC","(?>a(?i)b+)+c","cb&\\1",[])),
16048    <<"abbC">> = iolist_to_binary(re:replace("abbC","(?>a(?i)b+)+c","cb&\\1",[global])),
16049    <<"QBObvsfLS">> = iolist_to_binary(re:replace("abc","(?=a(?i)b)\\w\\wc","QBObvsfLS",[])),
16050    <<"QBObvsfLS">> = iolist_to_binary(re:replace("abc","(?=a(?i)b)\\w\\wc","QBObvsfLS",[global])),
16051    <<"muFQTEaBcEaBcPEBB">> = iolist_to_binary(re:replace("aBc","(?=a(?i)b)\\w\\wc","mu\\1FQ\\1TE&E&P\\1EBB\\1",[])),
16052    <<"muFQTEaBcEaBcPEBB">> = iolist_to_binary(re:replace("aBc","(?=a(?i)b)\\w\\wc","mu\\1FQ\\1TE&E&P\\1EBB\\1",[global])),
16053    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?=a(?i)b)\\w\\wc","drqTU\\1pJ\\1&vsu&",[])),
16054    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?=a(?i)b)\\w\\wc","drqTU\\1pJ\\1&vsu&",[global])),
16055    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?=a(?i)b)\\w\\wc","w&t\\1S\\1Q&",[])),
16056    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?=a(?i)b)\\w\\wc","w&t\\1S\\1Q&",[global])),
16057    <<"abC">> = iolist_to_binary(re:replace("abC","(?=a(?i)b)\\w\\wc","BU\\1mgeWbSPrmQu\\1h",[])),
16058    <<"abC">> = iolist_to_binary(re:replace("abC","(?=a(?i)b)\\w\\wc","BU\\1mgeWbSPrmQu\\1h",[global])),
16059    <<"aBC">> = iolist_to_binary(re:replace("aBC","(?=a(?i)b)\\w\\wc","Ahi\\1D",[])),
16060    <<"aBC">> = iolist_to_binary(re:replace("aBC","(?=a(?i)b)\\w\\wc","Ahi\\1D",[global])),
16061    <<"abxJwrB">> = iolist_to_binary(re:replace("abxxc","(?<=a(?i)b)(\\w\\w)c","xJwrB",[])),
16062    <<"abxJwrB">> = iolist_to_binary(re:replace("abxxc","(?<=a(?i)b)(\\w\\w)c","xJwrB",[global])),
16063    <<"aBWqYokXSFmo">> = iolist_to_binary(re:replace("aBxxc","(?<=a(?i)b)(\\w\\w)c","WqYokXSFmo",[])),
16064    <<"aBWqYokXSFmo">> = iolist_to_binary(re:replace("aBxxc","(?<=a(?i)b)(\\w\\w)c","WqYokXSFmo",[global])),
16065    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=a(?i)b)(\\w\\w)c","ViVjAQCNIlGCB\\1RW\\1Ks",[])),
16066    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=a(?i)b)(\\w\\w)c","ViVjAQCNIlGCB\\1RW\\1Ks",[global])),
16067    <<"Abxxc">> = iolist_to_binary(re:replace("Abxxc","(?<=a(?i)b)(\\w\\w)c","c&\\1y&",[])),
16068    <<"Abxxc">> = iolist_to_binary(re:replace("Abxxc","(?<=a(?i)b)(\\w\\w)c","c&\\1y&",[global])),
16069    <<"ABxxc">> = iolist_to_binary(re:replace("ABxxc","(?<=a(?i)b)(\\w\\w)c","U",[])),
16070    <<"ABxxc">> = iolist_to_binary(re:replace("ABxxc","(?<=a(?i)b)(\\w\\w)c","U",[global])),
16071    <<"abxxC">> = iolist_to_binary(re:replace("abxxC","(?<=a(?i)b)(\\w\\w)c","\\1qT\\1bjyP\\1\\1Ki\\1iMujiN",[])),
16072    <<"abxxC">> = iolist_to_binary(re:replace("abxxC","(?<=a(?i)b)(\\w\\w)c","\\1qT\\1bjyP\\1\\1Ki\\1iMujiN",[global])),
16073    <<"PLaeaJqVIraaAoco">> = iolist_to_binary(re:replace("aA","(?:(a)|b)(?(1)A|B)","PLae\\1JqVIra&oco",[])),
16074    <<"PLaeaJqVIraaAoco">> = iolist_to_binary(re:replace("aA","(?:(a)|b)(?(1)A|B)","PLae\\1JqVIra&oco",[global])),
16075    <<"GsAhcAqbBHmjdSmKbBt">> = iolist_to_binary(re:replace("bB","(?:(a)|b)(?(1)A|B)","GsAhcAq&HmjdSm\\1K&t",[])),
16076    <<"GsAhcAqbBHmjdSmKbBt">> = iolist_to_binary(re:replace("bB","(?:(a)|b)(?(1)A|B)","GsAhcAq&HmjdSm\\1K&t",[global])),
16077    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(a)|b)(?(1)A|B)","jMnYwcU\\1q\\1D\\1",[])),
16078    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(a)|b)(?(1)A|B)","jMnYwcU\\1q\\1D\\1",[global])),
16079    <<"aB">> = iolist_to_binary(re:replace("aB","(?:(a)|b)(?(1)A|B)","B&\\1\\1fcB\\1IWxCjS&liri",[])),
16080    <<"aB">> = iolist_to_binary(re:replace("aB","(?:(a)|b)(?(1)A|B)","B&\\1\\1fcB\\1IWxCjS&liri",[global])),
16081    <<"bA">> = iolist_to_binary(re:replace("bA","(?:(a)|b)(?(1)A|B)","wN&v\\1em",[])),
16082    <<"bA">> = iolist_to_binary(re:replace("bA","(?:(a)|b)(?(1)A|B)","wN&v\\1em",[global])),
16083    <<"oX">> = iolist_to_binary(re:replace("aa","^(a)?(?(1)a|b)+$","oX",[])),
16084    <<"oX">> = iolist_to_binary(re:replace("aa","^(a)?(?(1)a|b)+$","oX",[global])),
16085    <<"EjqBbBji">> = iolist_to_binary(re:replace("b","^(a)?(?(1)a|b)+$","Ej\\1qB&Bj\\1i",[])),
16086    <<"EjqBbBji">> = iolist_to_binary(re:replace("b","^(a)?(?(1)a|b)+$","Ej\\1qB&Bj\\1i",[global])),
16087    <<"">> = iolist_to_binary(re:replace("bb","^(a)?(?(1)a|b)+$","\\1",[])),
16088    <<"">> = iolist_to_binary(re:replace("bb","^(a)?(?(1)a|b)+$","\\1",[global])),
16089    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a)?(?(1)a|b)+$","ra",[])),
16090    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a)?(?(1)a|b)+$","ra",[global])),
16091    <<"ab">> = iolist_to_binary(re:replace("ab","^(a)?(?(1)a|b)+$","EHLgXekX",[])),
16092    <<"ab">> = iolist_to_binary(re:replace("ab","^(a)?(?(1)a|b)+$","EHLgXekX",[global])),
16093    ok.
16094run13() ->
16095    <<"rabc:abc:Kabc:rcuwyQBhDRgB">> = iolist_to_binary(re:replace("abc:","^(?(?=abc)\\w{3}:|\\d\\d)$","r&&K&\\1rcuwyQBhD\\1RgB",[])),
16096    <<"rabc:abc:Kabc:rcuwyQBhDRgB">> = iolist_to_binary(re:replace("abc:","^(?(?=abc)\\w{3}:|\\d\\d)$","r&&K&\\1rcuwyQBhD\\1RgB",[global])),
16097    <<"DMbrBdk">> = iolist_to_binary(re:replace("12","^(?(?=abc)\\w{3}:|\\d\\d)$","DM\\1br\\1Bdk",[])),
16098    <<"DMbrBdk">> = iolist_to_binary(re:replace("12","^(?(?=abc)\\w{3}:|\\d\\d)$","DM\\1br\\1Bdk",[global])),
16099    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?(?=abc)\\w{3}:|\\d\\d)$","XeCprJu&qUw\\1Af&&",[])),
16100    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?(?=abc)\\w{3}:|\\d\\d)$","XeCprJu&qUw\\1Af&&",[global])),
16101    <<"123">> = iolist_to_binary(re:replace("123","^(?(?=abc)\\w{3}:|\\d\\d)$","r\\1jcw",[])),
16102    <<"123">> = iolist_to_binary(re:replace("123","^(?(?=abc)\\w{3}:|\\d\\d)$","r\\1jcw",[global])),
16103    <<"xyz">> = iolist_to_binary(re:replace("xyz","^(?(?=abc)\\w{3}:|\\d\\d)$","\\1usowFJ\\1EG\\1MYM",[])),
16104    <<"xyz">> = iolist_to_binary(re:replace("xyz","^(?(?=abc)\\w{3}:|\\d\\d)$","\\1usowFJ\\1EG\\1MYM",[global])),
16105    <<"Aabc:Fabc:tlJ">> = iolist_to_binary(re:replace("abc:","^(?(?!abc)\\d\\d|\\w{3}:)$","A&F&tlJ",[])),
16106    <<"Aabc:Fabc:tlJ">> = iolist_to_binary(re:replace("abc:","^(?(?!abc)\\d\\d|\\w{3}:)$","A&F&tlJ",[global])),
16107    <<"iX">> = iolist_to_binary(re:replace("12","^(?(?!abc)\\d\\d|\\w{3}:)$","iX",[])),
16108    <<"iX">> = iolist_to_binary(re:replace("12","^(?(?!abc)\\d\\d|\\w{3}:)$","iX",[global])),
16109    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?(?!abc)\\d\\d|\\w{3}:)$","j&&J\\1&I",[])),
16110    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?(?!abc)\\d\\d|\\w{3}:)$","j&&J\\1&I",[global])),
16111    <<"123">> = iolist_to_binary(re:replace("123","^(?(?!abc)\\d\\d|\\w{3}:)$","kj\\1lukbPh&su\\1Cghlveb",[])),
16112    <<"123">> = iolist_to_binary(re:replace("123","^(?(?!abc)\\d\\d|\\w{3}:)$","kj\\1lukbPh&su\\1Cghlveb",[global])),
16113    <<"xyz">> = iolist_to_binary(re:replace("xyz","^(?(?!abc)\\d\\d|\\w{3}:)$","uXqdQvfv&\\1tC\\1ipRP",[])),
16114    <<"xyz">> = iolist_to_binary(re:replace("xyz","^(?(?!abc)\\d\\d|\\w{3}:)$","uXqdQvfv&\\1tC\\1ipRP",[global])),
16115    <<"foopoYUMCLsWcRfrX">> = iolist_to_binary(re:replace("foobar","(?(?<=foo)bar|cat)","poYUMCLsWcR\\1fr\\1X\\1",[])),
16116    <<"foopoYUMCLsWcRfrX">> = iolist_to_binary(re:replace("foobar","(?(?<=foo)bar|cat)","poYUMCLsWcR\\1fr\\1X\\1",[global])),
16117    <<"EcatihCGRgMPqq">> = iolist_to_binary(re:replace("cat","(?(?<=foo)bar|cat)","E&ihCGRgMPqq\\1",[])),
16118    <<"EcatihCGRgMPqq">> = iolist_to_binary(re:replace("cat","(?(?<=foo)bar|cat)","E&ihCGRgMPqq\\1",[global])),
16119    <<"fQRocatSScatcat">> = iolist_to_binary(re:replace("fcat","(?(?<=foo)bar|cat)","QRo&SS&&",[])),
16120    <<"fQRocatSScatcat">> = iolist_to_binary(re:replace("fcat","(?(?<=foo)bar|cat)","QRo&SS&&",[global])),
16121    <<"foDk">> = iolist_to_binary(re:replace("focat","(?(?<=foo)bar|cat)","D\\1k\\1",[])),
16122    <<"foDk">> = iolist_to_binary(re:replace("focat","(?(?<=foo)bar|cat)","D\\1k\\1",[global])),
16123    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?(?<=foo)bar|cat)","soL&R\\1GSAmJChxOln",[])),
16124    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?(?<=foo)bar|cat)","soL&R\\1GSAmJChxOln",[global])),
16125    <<"foocat">> = iolist_to_binary(re:replace("foocat","(?(?<=foo)bar|cat)","y&e",[])),
16126    <<"foocat">> = iolist_to_binary(re:replace("foocat","(?(?<=foo)bar|cat)","y&e",[global])),
16127    <<"fookbarnSruMXTFCE">> = iolist_to_binary(re:replace("foobar","(?(?<!foo)cat|bar)","k\\1&nSruMXTFCE\\1",[])),
16128    <<"fookbarnSruMXTFCE">> = iolist_to_binary(re:replace("foobar","(?(?<!foo)cat|bar)","k\\1&nSruMXTFCE\\1",[global])),
16129    <<"ynvicatccatYCXYPUdcatHi">> = iolist_to_binary(re:replace("cat","(?(?<!foo)cat|bar)","\\1y\\1\\1nvi&c&YCXYPUd&Hi",[])),
16130    <<"ynvicatccatYCXYPUdcatHi">> = iolist_to_binary(re:replace("cat","(?(?<!foo)cat|bar)","\\1y\\1\\1nvi&c&YCXYPUd&Hi",[global])),
16131    <<"fGOpcatbyuUbSQjcatV">> = iolist_to_binary(re:replace("fcat","(?(?<!foo)cat|bar)","GOp&by\\1uUbSQj&V",[])),
16132    <<"fGOpcatbyuUbSQjcatV">> = iolist_to_binary(re:replace("fcat","(?(?<!foo)cat|bar)","GOp&by\\1uUbSQj&V",[global])),
16133    <<"foU">> = iolist_to_binary(re:replace("focat","(?(?<!foo)cat|bar)","U",[])),
16134    <<"foU">> = iolist_to_binary(re:replace("focat","(?(?<!foo)cat|bar)","U",[global])),
16135    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?(?<!foo)cat|bar)","NglUgPv\\1IB&\\1XMXPO",[])),
16136    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?(?<!foo)cat|bar)","NglUgPv\\1IB&\\1XMXPO",[global])),
16137    <<"foocat">> = iolist_to_binary(re:replace("foocat","(?(?<!foo)cat|bar)","&tLnp",[])),
16138    <<"foocat">> = iolist_to_binary(re:replace("foocat","(?(?<!foo)cat|bar)","&tLnp",[global])),
16139    <<"vF">> = iolist_to_binary(re:replace("abcd","( \\( )? [^()]+ (?(1) \\) |) ","vF",[extended])),
16140    <<"vF">> = iolist_to_binary(re:replace("abcd","( \\( )? [^()]+ (?(1) \\) |) ","vF",[extended,
16141                                                                                                                                                                                                                 global])),
16142    <<"j(xp(abcd)mKu(HHgUS(abcd)IE(abcd)">> = iolist_to_binary(re:replace("(abcd)","( \\( )? [^()]+ (?(1) \\) |) ","j\\1xp&mKu\\1HHgUS&IE&",[extended])),
16143    <<"j(xp(abcd)mKu(HHgUS(abcd)IE(abcd)">> = iolist_to_binary(re:replace("(abcd)","( \\( )? [^()]+ (?(1) \\) |) ","j\\1xp&mKu\\1HHgUS&IE&",[extended,
16144                                                                                                                                                                                                                                                                  global])),
16145    <<"yiIibTMatthe quick Rkn(abcd) fox">> = iolist_to_binary(re:replace("the quick (abcd) fox","( \\( )? [^()]+ (?(1) \\) |) ","yi\\1IibTMat&Rkn",[extended])),
16146    <<"yiIibTMatthe quick Rknyi(IibTMat(abcd)RknyiIibTMat foxRkn">> = iolist_to_binary(re:replace("the quick (abcd) fox","( \\( )? [^()]+ (?(1) \\) |) ","yi\\1IibTMat&Rkn",[extended,
16147                                                                                                                                                                                                                                                                               global])),
16148    <<"(ruXsFSabcdLabcdbadX">> = iolist_to_binary(re:replace("(abcd","( \\( )? [^()]+ (?(1) \\) |) ","ruXsFS&L&b\\1adX",[extended])),
16149    <<"(ruXsFSabcdLabcdbadX">> = iolist_to_binary(re:replace("(abcd","( \\( )? [^()]+ (?(1) \\) |) ","ruXsFS&L&b\\1adX",[extended,
16150                                                                                                                                                                                                                                                  global])),
16151    <<"kCb">> = iolist_to_binary(re:replace("abcd","( \\( )? [^()]+ (?(1) \\) ) ","kCb",[extended])),
16152    <<"kCb">> = iolist_to_binary(re:replace("abcd","( \\( )? [^()]+ (?(1) \\) ) ","kCb",[extended,
16153                                                                                                                                                                                                                 global])),
16154    <<"ufsBIAN(">> = iolist_to_binary(re:replace("(abcd)","( \\( )? [^()]+ (?(1) \\) ) ","ufsBIAN\\1",[extended])),
16155    <<"ufsBIAN(">> = iolist_to_binary(re:replace("(abcd)","( \\( )? [^()]+ (?(1) \\) ) ","ufsBIAN\\1",[extended,
16156                                                                                                                                                                                                                                    global])),
16157    <<"VECNLXf(abcd) fox">> = iolist_to_binary(re:replace("the quick (abcd) fox","( \\( )? [^()]+ (?(1) \\) ) ","V\\1\\1ECNL\\1Xf",[extended])),
16158    <<"VECNLXfV((ECNL(XfVECNLXf">> = iolist_to_binary(re:replace("the quick (abcd) fox","( \\( )? [^()]+ (?(1) \\) ) ","V\\1\\1ECNL\\1Xf",[extended,
16159                                                                                                                                                                                                                                                                              global])),
16160    <<"(PBNukCrgiybP">> = iolist_to_binary(re:replace("(abcd","( \\( )? [^()]+ (?(1) \\) ) ","PBNukCrgiybP",[extended])),
16161    <<"(PBNukCrgiybP">> = iolist_to_binary(re:replace("(abcd","( \\( )? [^()]+ (?(1) \\) ) ","PBNukCrgiybP",[extended,
16162                                                                                                                                                                                                                                     global])),
16163    <<"eFGTe1q12hFWn12">> = iolist_to_binary(re:replace("12","^(?(2)a|(1)(2))+$","eFGTe\\1q&hFWn&",[])),
16164    <<"eFGTe1q12hFWn12">> = iolist_to_binary(re:replace("12","^(?(2)a|(1)(2))+$","eFGTe\\1q&hFWn&",[global])),
16165    <<"GQ">> = iolist_to_binary(re:replace("12a","^(?(2)a|(1)(2))+$","GQ",[])),
16166    <<"GQ">> = iolist_to_binary(re:replace("12a","^(?(2)a|(1)(2))+$","GQ",[global])),
16167    <<"t12aa">> = iolist_to_binary(re:replace("12aa","^(?(2)a|(1)(2))+$","t&",[])),
16168    <<"t12aa">> = iolist_to_binary(re:replace("12aa","^(?(2)a|(1)(2))+$","t&",[global])),
16169    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?(2)a|(1)(2))+$","PaHcMWBmFjXXO",[])),
16170    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?(2)a|(1)(2))+$","PaHcMWBmFjXXO",[global])),
16171    <<"1234">> = iolist_to_binary(re:replace("1234","^(?(2)a|(1)(2))+$","R\\1u",[])),
16172    <<"1234">> = iolist_to_binary(re:replace("1234","^(?(2)a|(1)(2))+$","R\\1u",[global])),
16173    <<"geopblahblah blah">> = iolist_to_binary(re:replace("blah blah","((?i)blah)\\s+\\1","geop\\1&",[])),
16174    <<"geopblahblah blah">> = iolist_to_binary(re:replace("blah blah","((?i)blah)\\s+\\1","geop\\1&",[global])),
16175    <<"JTHjDKqA">> = iolist_to_binary(re:replace("BLAH BLAH","((?i)blah)\\s+\\1","JTHjDKqA",[])),
16176    <<"JTHjDKqA">> = iolist_to_binary(re:replace("BLAH BLAH","((?i)blah)\\s+\\1","JTHjDKqA",[global])),
16177    <<"Blah BlahGvSBlahBlah BlahBlahtBhBlahBlah">> = iolist_to_binary(re:replace("Blah Blah","((?i)blah)\\s+\\1","&GvS\\1&\\1tBh\\1\\1",[])),
16178    <<"Blah BlahGvSBlahBlah BlahBlahtBhBlahBlah">> = iolist_to_binary(re:replace("Blah Blah","((?i)blah)\\s+\\1","&GvS\\1&\\1tBh\\1\\1",[global])),
16179    <<"iCveQdblaHWblaH blaH">> = iolist_to_binary(re:replace("blaH blaH","((?i)blah)\\s+\\1","iCveQd\\1W&",[])),
16180    <<"iCveQdblaHWblaH blaH">> = iolist_to_binary(re:replace("blaH blaH","((?i)blah)\\s+\\1","iCveQd\\1W&",[global])),
16181    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((?i)blah)\\s+\\1","thGaLpke&&mlDI",[])),
16182    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((?i)blah)\\s+\\1","thGaLpke&&mlDI",[global])),
16183    <<"blah BLAH">> = iolist_to_binary(re:replace("blah BLAH","((?i)blah)\\s+\\1","eIP\\1xN",[])),
16184    <<"blah BLAH">> = iolist_to_binary(re:replace("blah BLAH","((?i)blah)\\s+\\1","eIP\\1xN",[global])),
16185    <<"Blah blah">> = iolist_to_binary(re:replace("Blah blah","((?i)blah)\\s+\\1","KKqbLs",[])),
16186    <<"Blah blah">> = iolist_to_binary(re:replace("Blah blah","((?i)blah)\\s+\\1","KKqbLs",[global])),
16187    <<"blaH blah">> = iolist_to_binary(re:replace("blaH blah","((?i)blah)\\s+\\1","&jYN&OlnrIjJAVLKO",[])),
16188    <<"blaH blah">> = iolist_to_binary(re:replace("blaH blah","((?i)blah)\\s+\\1","&jYN&OlnrIjJAVLKO",[global])),
16189    <<"PYINshqOHfblah blahblah blahawstrlblahblah blah">> = iolist_to_binary(re:replace("blah blah","((?i)blah)\\s+(?i:\\1)","PYINshqOHf&&awstrl\\1&",[])),
16190    <<"PYINshqOHfblah blahblah blahawstrlblahblah blah">> = iolist_to_binary(re:replace("blah blah","((?i)blah)\\s+(?i:\\1)","PYINshqOHf&&awstrl\\1&",[global])),
16191    <<"HqueiI">> = iolist_to_binary(re:replace("BLAH BLAH","((?i)blah)\\s+(?i:\\1)","HqueiI",[])),
16192    <<"HqueiI">> = iolist_to_binary(re:replace("BLAH BLAH","((?i)blah)\\s+(?i:\\1)","HqueiI",[global])),
16193    <<"MRJcrKPNBlahhmh">> = iolist_to_binary(re:replace("Blah Blah","((?i)blah)\\s+(?i:\\1)","MRJcrKPN\\1hmh",[])),
16194    <<"MRJcrKPNBlahhmh">> = iolist_to_binary(re:replace("Blah Blah","((?i)blah)\\s+(?i:\\1)","MRJcrKPN\\1hmh",[global])),
16195    <<"blaH">> = iolist_to_binary(re:replace("blaH blaH","((?i)blah)\\s+(?i:\\1)","\\1",[])),
16196    <<"blaH">> = iolist_to_binary(re:replace("blaH blaH","((?i)blah)\\s+(?i:\\1)","\\1",[global])),
16197    <<"KVSblah BLAHlXp">> = iolist_to_binary(re:replace("blah BLAH","((?i)blah)\\s+(?i:\\1)","KVS&lXp",[])),
16198    <<"KVSblah BLAHlXp">> = iolist_to_binary(re:replace("blah BLAH","((?i)blah)\\s+(?i:\\1)","KVS&lXp",[global])),
16199    <<"grKSEVpBlah blah">> = iolist_to_binary(re:replace("Blah blah","((?i)blah)\\s+(?i:\\1)","grKSEVp&",[])),
16200    <<"grKSEVpBlah blah">> = iolist_to_binary(re:replace("Blah blah","((?i)blah)\\s+(?i:\\1)","grKSEVp&",[global])),
16201    <<"dblaHqblaHqQpRmENblaH blahKbSKWblaH blahx">> = iolist_to_binary(re:replace("blaH blah","((?i)blah)\\s+(?i:\\1)","d\\1q\\1qQpRmEN&KbSKW&x",[])),
16202    <<"dblaHqblaHqQpRmENblaH blahKbSKWblaH blahx">> = iolist_to_binary(re:replace("blaH blah","((?i)blah)\\s+(?i:\\1)","d\\1q\\1qQpRmEN&KbSKW&x",[global])),
16203    <<"WCdJaih">> = iolist_to_binary(re:replace("a","(?>a*)*","WCdJ&ih",[])),
16204    <<"WCdJaihWCdJih">> = iolist_to_binary(re:replace("a","(?>a*)*","WCdJ&ih",[global])),
16205    <<"YjUDqaafbyqfUOv">> = iolist_to_binary(re:replace("aa","(?>a*)*","Yj\\1UDq&fbyqfUOv",[])),
16206    <<"YjUDqaafbyqfUOvYjUDqfbyqfUOv">> = iolist_to_binary(re:replace("aa","(?>a*)*","Yj\\1UDq&fbyqfUOv",[global])),
16207    <<"DuaOoTKn">> = iolist_to_binary(re:replace("aaaa","(?>a*)*","DuaOoTKn\\1",[])),
16208    <<"DuaOoTKnDuaOoTKn">> = iolist_to_binary(re:replace("aaaa","(?>a*)*","DuaOoTKn\\1",[global])),
16209    <<"lUAkQQE">> = iolist_to_binary(re:replace("abc","(abc|)+","lUAkQQE",[])),
16210    <<"lUAkQQElUAkQQE">> = iolist_to_binary(re:replace("abc","(abc|)+","lUAkQQE",[global])),
16211    <<"e">> = iolist_to_binary(re:replace("abcabc","(abc|)+","e",[])),
16212    <<"ee">> = iolist_to_binary(re:replace("abcabc","(abc|)+","e",[global])),
16213    <<"LOeabcabcabcRabcabcabcxkWabcabcabcFSngiabcabcabcdabcabcabcDm">> = iolist_to_binary(re:replace("abcabcabc","(abc|)+","LOe&R&xkW&FSngi&d&Dm",[])),
16214    <<"LOeabcabcabcRabcabcabcxkWabcabcabcFSngiabcabcabcdabcabcabcDmLOeRxkWFSngidDm">> = iolist_to_binary(re:replace("abcabcabc","(abc|)+","LOe&R&xkW&FSngi&d&Dm",[global])),
16215    <<"IFSvaLmRAwsxyz">> = iolist_to_binary(re:replace("xyz","(abc|)+","IFSvaLmRAws",[])),
16216    <<"IFSvaLmRAwsxIFSvaLmRAwsyIFSvaLmRAwszIFSvaLmRAws">> = iolist_to_binary(re:replace("xyz","(abc|)+","IFSvaLmRAws",[global])),
16217    <<"DQUraaUYwApYRiYSqa">> = iolist_to_binary(re:replace("a","([a]*)*","DQUr\\1&&\\1UYwApYRiYSq&",[])),
16218    <<"DQUraaUYwApYRiYSqaDQUrUYwApYRiYSq">> = iolist_to_binary(re:replace("a","([a]*)*","DQUr\\1&&\\1UYwApYRiYSq&",[global])),
16219    <<"pfGYlaaaaadNpJmOaQHl">> = iolist_to_binary(re:replace("aaaaa","([a]*)*","pfGYl&dNpJm\\1OaQHl",[])),
16220    <<"pfGYlaaaaadNpJmOaQHlpfGYldNpJmOaQHl">> = iolist_to_binary(re:replace("aaaaa","([a]*)*","pfGYl&dNpJm\\1OaQHl",[global])),
16221    <<"IHNVcUg">> = iolist_to_binary(re:replace("a","([ab]*)*","\\1IHNVcUg",[])),
16222    <<"IHNVcUgIHNVcUg">> = iolist_to_binary(re:replace("a","([ab]*)*","\\1IHNVcUg",[global])),
16223    <<"N">> = iolist_to_binary(re:replace("b","([ab]*)*","N",[])),
16224    <<"NN">> = iolist_to_binary(re:replace("b","([ab]*)*","N",[global])),
16225    <<"dxkmabababdmRGQJb">> = iolist_to_binary(re:replace("ababab","([ab]*)*","dxkm&dmRGQJb",[])),
16226    <<"dxkmabababdmRGQJbdxkmdmRGQJb">> = iolist_to_binary(re:replace("ababab","([ab]*)*","dxkm&dmRGQJb",[global])),
16227    <<"urCYmaaaabYvaaaabFcde">> = iolist_to_binary(re:replace("aaaabcde","([ab]*)*","urCY\\1m&Yv&F",[])),
16228    <<"urCYmaaaabYvaaaabFurCYmYvFcurCYmYvFdurCYmYvFeurCYmYvF">> = iolist_to_binary(re:replace("aaaabcde","([ab]*)*","urCY\\1m&Yv&F",[global])),
16229    <<"W">> = iolist_to_binary(re:replace("bbbb","([ab]*)*","W\\1",[])),
16230    <<"WW">> = iolist_to_binary(re:replace("bbbb","([ab]*)*","W\\1",[global])),
16231    <<"LocbFbvgb">> = iolist_to_binary(re:replace("b","([^a]*)*","Loc&F&vg&",[])),
16232    <<"LocbFbvgbLocFvg">> = iolist_to_binary(re:replace("b","([^a]*)*","Loc&F&vg&",[global])),
16233    <<"tWIlHMJfBx">> = iolist_to_binary(re:replace("bbbb","([^a]*)*","tWIlHMJ\\1\\1fBx\\1",[])),
16234    <<"tWIlHMJfBxtWIlHMJfBx">> = iolist_to_binary(re:replace("bbbb","([^a]*)*","tWIlHMJ\\1\\1fBx\\1",[global])),
16235    <<"IoytBGaaa">> = iolist_to_binary(re:replace("aaa","([^a]*)*","Io\\1ytBG&",[])),
16236    <<"IoytBGaIoytBGaIoytBGaIoytBG">> = iolist_to_binary(re:replace("aaa","([^a]*)*","Io\\1ytBG&",[global])),
16237    <<"EPDyK">> = iolist_to_binary(re:replace("cccc","([^ab]*)*","EPDyK",[])),
16238    <<"EPDyKEPDyK">> = iolist_to_binary(re:replace("cccc","([^ab]*)*","EPDyK",[global])),
16239    <<"ovFfXExcDncDabab">> = iolist_to_binary(re:replace("abab","([^ab]*)*","ovFfXE\\1&x\\1cDncD",[])),
16240    <<"ovFfXExcDncDaovFfXExcDncDbovFfXExcDncDaovFfXExcDncDbovFfXExcDncD">> = iolist_to_binary(re:replace("abab","([^ab]*)*","ovFfXE\\1&x\\1cDncD",[global])),
16241    <<"DJadEBdkEMaRtCWFGEa">> = iolist_to_binary(re:replace("a","([a]*?)*","DJadEBdkEMa&RtCWFGE",[])),
16242    <<"DJadEBdkEMaRtCWFGEDJadEBdkEMaaRtCWFGEDJadEBdkEMaRtCWFGE">> = iolist_to_binary(re:replace("a","([a]*?)*","DJadEBdkEMa&RtCWFGE",[global])),
16243    <<"Tdgoaaaa">> = iolist_to_binary(re:replace("aaaa","([a]*?)*","T\\1dgo",[])),
16244    <<"TdgoTdgoTdgoTdgoTdgoTdgoTdgoTdgoTdgo">> = iolist_to_binary(re:replace("aaaa","([a]*?)*","T\\1dgo",[global])),
16245    <<"rvda">> = iolist_to_binary(re:replace("a","([ab]*?)*","&&rvd",[])),
16246    <<"rvdaarvdrvd">> = iolist_to_binary(re:replace("a","([ab]*?)*","&&rvd",[global])),
16247    <<"JEKgTqgvKb">> = iolist_to_binary(re:replace("b","([ab]*?)*","JEKgT\\1q&gvK",[])),
16248    <<"JEKgTqgvKJEKgTqbgvKJEKgTqgvK">> = iolist_to_binary(re:replace("b","([ab]*?)*","JEKgT\\1q&gvK",[global])),
16249    <<"UPWVyabab">> = iolist_to_binary(re:replace("abab","([ab]*?)*","UP\\1WVy",[])),
16250    <<"UPWVyUPWVyUPWVyUPWVyUPWVyUPWVyUPWVyUPWVyUPWVy">> = iolist_to_binary(re:replace("abab","([ab]*?)*","UP\\1WVy",[global])),
16251    <<"AbOomfYRdLAuDFGbaba">> = iolist_to_binary(re:replace("baba","([ab]*?)*","\\1AbO&omfYRdL\\1Au&DFG\\1",[])),
16252    <<"AbOomfYRdLAuDFGAbObomfYRdLAubDFGAbOomfYRdLAuDFGAbOaomfYRdLAuaDFGAbOomfYRdLAuDFGAbObomfYRdLAubDFGAbOomfYRdLAuDFGAbOaomfYRdLAuaDFGAbOomfYRdLAuDFG">> = iolist_to_binary(re:replace("baba","([ab]*?)*","\\1AbO&omfYRdL\\1Au&DFG\\1",[global])),
16253    <<"vpmFxwVLtNDmRVb">> = iolist_to_binary(re:replace("b","([^a]*?)*","v\\1pmFxwVLtNDmRV",[])),
16254    <<"vpmFxwVLtNDmRVvpmFxwVLtNDmRVvpmFxwVLtNDmRV">> = iolist_to_binary(re:replace("b","([^a]*?)*","v\\1pmFxwVLtNDmRV",[global])),
16255    <<"yVlokOKtokQKSbbbb">> = iolist_to_binary(re:replace("bbbb","([^a]*?)*","yVlokOK\\1\\1tok\\1\\1Q&KS&",[])),
16256    <<"yVlokOKtokQKSyVlokOKtokQbKSbyVlokOKtokQKSyVlokOKtokQbKSbyVlokOKtokQKSyVlokOKtokQbKSbyVlokOKtokQKSyVlokOKtokQbKSbyVlokOKtokQKS">> = iolist_to_binary(re:replace("bbbb","([^a]*?)*","yVlokOK\\1\\1tok\\1\\1Q&KS&",[global])),
16257    <<"eMcDykUaaa">> = iolist_to_binary(re:replace("aaa","([^a]*?)*","e\\1&McDykU\\1&",[])),
16258    <<"eMcDykUaeMcDykUaeMcDykUaeMcDykU">> = iolist_to_binary(re:replace("aaa","([^a]*?)*","e\\1&McDykU\\1&",[global])),
16259    <<"QEARocc">> = iolist_to_binary(re:replace("c","([^ab]*?)*","QEARo&c",[])),
16260    <<"QEARocQEARoccQEARoc">> = iolist_to_binary(re:replace("c","([^ab]*?)*","QEARo&c",[global])),
16261    <<"KFGQOVcccc">> = iolist_to_binary(re:replace("cccc","([^ab]*?)*","KFG&QO\\1V",[])),
16262    <<"KFGQOVKFGcQOVKFGQOVKFGcQOVKFGQOVKFGcQOVKFGQOVKFGcQOVKFGQOV">> = iolist_to_binary(re:replace("cccc","([^ab]*?)*","KFG&QO\\1V",[global])),
16263    <<"bhTlpTdfebaba">> = iolist_to_binary(re:replace("baba","([^ab]*?)*","bhTlp\\1Tdfe\\1",[])),
16264    <<"bhTlpTdfebbhTlpTdfeabhTlpTdfebbhTlpTdfeabhTlpTdfe">> = iolist_to_binary(re:replace("baba","([^ab]*?)*","bhTlp\\1Tdfe\\1",[global])),
16265    <<"PJllegKeFhjiLa">> = iolist_to_binary(re:replace("a","(?>a*)*","PJllegKeFh\\1j\\1iL&",[])),
16266    <<"PJllegKeFhjiLaPJllegKeFhjiL">> = iolist_to_binary(re:replace("a","(?>a*)*","PJllegKeFh\\1j\\1iL&",[global])),
16267    <<"gUuqhRhIObcde">> = iolist_to_binary(re:replace("aaabcde","(?>a*)*","\\1g\\1U\\1\\1uqhRh\\1IO",[])),
16268    <<"gUuqhRhIOgUuqhRhIObgUuqhRhIOcgUuqhRhIOdgUuqhRhIOegUuqhRhIO">> = iolist_to_binary(re:replace("aaabcde","(?>a*)*","\\1g\\1U\\1\\1uqhRh\\1IO",[global])),
16269    ok.
16270run14() ->
16271    <<"QVEsbJSBcadjBEjT">> = iolist_to_binary(re:replace("aaaaa","((?>a*))*","QVEsbJSBcadjB\\1EjT\\1",[])),
16272    <<"QVEsbJSBcadjBEjTQVEsbJSBcadjBEjT">> = iolist_to_binary(re:replace("aaaaa","((?>a*))*","QVEsbJSBcadjB\\1EjT\\1",[global])),
16273    <<"aajWaaDjOsitnxUkGdbbaa">> = iolist_to_binary(re:replace("aabbaa","((?>a*))*","&j\\1W&DjOsitnxUkGd",[])),
16274    <<"aajWaaDjOsitnxUkGdjWDjOsitnxUkGdbjWDjOsitnxUkGdbaajWaaDjOsitnxUkGdjWDjOsitnxUkGd">> = iolist_to_binary(re:replace("aabbaa","((?>a*))*","&j\\1W&DjOsitnxUkGd",[global])),
16275    <<"mpYoteiaaaaa">> = iolist_to_binary(re:replace("aaaaa","((?>a*?))*","&mpYotei",[])),
16276    <<"mpYoteiampYoteiampYoteiampYoteiampYoteiampYotei">> = iolist_to_binary(re:replace("aaaaa","((?>a*?))*","&mpYotei",[global])),
16277    <<"xwNaabbaa">> = iolist_to_binary(re:replace("aabbaa","((?>a*?))*","xwN",[])),
16278    <<"xwNaxwNaxwNbxwNbxwNaxwNaxwN">> = iolist_to_binary(re:replace("aabbaa","((?>a*?))*","xwN",[global])),
16279    <<"MHqWb12-sep-98tn12-sep-98">> = iolist_to_binary(re:replace("12-sep-98","(?(?=[^a-z]+[a-z])  \\d{2}-[a-z]{3}-\\d{2}  |  \\d{2}-\\d{2}-\\d{2} ) ","MHqWb\\1&\\1\\1tn&",[extended])),
16280    <<"MHqWb12-sep-98tn12-sep-98">> = iolist_to_binary(re:replace("12-sep-98","(?(?=[^a-z]+[a-z])  \\d{2}-[a-z]{3}-\\d{2}  |  \\d{2}-\\d{2}-\\d{2} ) ","MHqWb\\1&\\1\\1tn&",[extended,
16281                                                                                                                                                                                                                                                                                                                                                     global])),
16282    <<"DgNMNfEyu">> = iolist_to_binary(re:replace("12-09-98","(?(?=[^a-z]+[a-z])  \\d{2}-[a-z]{3}-\\d{2}  |  \\d{2}-\\d{2}-\\d{2} ) ","DgNM\\1NfEyu",[extended])),
16283    <<"DgNMNfEyu">> = iolist_to_binary(re:replace("12-09-98","(?(?=[^a-z]+[a-z])  \\d{2}-[a-z]{3}-\\d{2}  |  \\d{2}-\\d{2}-\\d{2} ) ","DgNM\\1NfEyu",[extended,
16284                                                                                                                                                                                                                                                                                                                                   global])),
16285    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?(?=[^a-z]+[a-z])  \\d{2}-[a-z]{3}-\\d{2}  |  \\d{2}-\\d{2}-\\d{2} ) ","dJbs&PvrBmxnM",[extended])),
16286    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?(?=[^a-z]+[a-z])  \\d{2}-[a-z]{3}-\\d{2}  |  \\d{2}-\\d{2}-\\d{2} ) ","dJbs&PvrBmxnM",[extended,
16287                                                                                                                                                                                                                                                                                                                                           global])),
16288    <<"sep-12-98">> = iolist_to_binary(re:replace("sep-12-98","(?(?=[^a-z]+[a-z])  \\d{2}-[a-z]{3}-\\d{2}  |  \\d{2}-\\d{2}-\\d{2} ) ","WdMj&nqA\\1",[extended])),
16289    <<"sep-12-98">> = iolist_to_binary(re:replace("sep-12-98","(?(?=[^a-z]+[a-z])  \\d{2}-[a-z]{3}-\\d{2}  |  \\d{2}-\\d{2}-\\d{2} ) ","WdMj&nqA\\1",[extended,
16290                                                                                                                                                                                                                                                                                                                                    global])),
16291    <<"fooKBbarfooDAfoofbarfooMfooDQfqvJdYVQ">> = iolist_to_binary(re:replace("foobarfoo","(?<=(foo))bar\\1","KB&DA\\1f&M\\1DQfqvJdYVQ",[])),
16292    <<"fooKBbarfooDAfoofbarfooMfooDQfqvJdYVQ">> = iolist_to_binary(re:replace("foobarfoo","(?<=(foo))bar\\1","KB&DA\\1f&M\\1DQfqvJdYVQ",[global])),
16293    <<"foofKNfoofooQlDdcmBPbarfooCfooUbarfoofootling">> = iolist_to_binary(re:replace("foobarfootling","(?<=(foo))bar\\1","fKN\\1\\1QlDdcmBP&C\\1U&\\1",[])),
16294    <<"foofKNfoofooQlDdcmBPbarfooCfooUbarfoofootling">> = iolist_to_binary(re:replace("foobarfootling","(?<=(foo))bar\\1","fKN\\1\\1QlDdcmBP&C\\1U&\\1",[global])),
16295    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=(foo))bar\\1","aN&pf\\1\\1\\1mf\\1frWLf&d&m",[])),
16296    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=(foo))bar\\1","aN&pf\\1\\1\\1mf\\1frWLf&d&m",[global])),
16297    <<"foobar">> = iolist_to_binary(re:replace("foobar","(?<=(foo))bar\\1","NQ&IvkhD&RYe\\1\\1\\1",[])),
16298    <<"foobar">> = iolist_to_binary(re:replace("foobar","(?<=(foo))bar\\1","NQ&IvkhD&RYe\\1\\1\\1",[global])),
16299    <<"barfoo">> = iolist_to_binary(re:replace("barfoo","(?<=(foo))bar\\1","RV\\1lCqK\\1k",[])),
16300    <<"barfoo">> = iolist_to_binary(re:replace("barfoo","(?<=(foo))bar\\1","RV\\1lCqK\\1k",[global])),
16301    <<"WXSaOsXBjgsaturdayx">> = iolist_to_binary(re:replace("saturday","(?i:saturday|sunday)","W\\1X\\1S\\1aOsXBj\\1g&x",[])),
16302    <<"WXSaOsXBjgsaturdayx">> = iolist_to_binary(re:replace("saturday","(?i:saturday|sunday)","W\\1X\\1S\\1aOsXBj\\1g&x",[global])),
16303    <<"LogM">> = iolist_to_binary(re:replace("sunday","(?i:saturday|sunday)","Lo\\1gM",[])),
16304    <<"LogM">> = iolist_to_binary(re:replace("sunday","(?i:saturday|sunday)","Lo\\1gM",[global])),
16305    <<"bAkcTSaturdayamcSaturdayx">> = iolist_to_binary(re:replace("Saturday","(?i:saturday|sunday)","bAk\\1cT&amc&x",[])),
16306    <<"bAkcTSaturdayamcSaturdayx">> = iolist_to_binary(re:replace("Saturday","(?i:saturday|sunday)","bAk\\1cT&amc&x",[global])),
16307    <<"WJeSunday">> = iolist_to_binary(re:replace("Sunday","(?i:saturday|sunday)","WJe&",[])),
16308    <<"WJeSunday">> = iolist_to_binary(re:replace("Sunday","(?i:saturday|sunday)","WJe&",[global])),
16309    <<"HPSATURDAYOIKerWiY">> = iolist_to_binary(re:replace("SATURDAY","(?i:saturday|sunday)","HP&OIKerWi\\1Y",[])),
16310    <<"HPSATURDAYOIKerWiY">> = iolist_to_binary(re:replace("SATURDAY","(?i:saturday|sunday)","HP&OIKerWi\\1Y",[global])),
16311    <<"OgUOq">> = iolist_to_binary(re:replace("SUNDAY","(?i:saturday|sunday)","\\1OgUOq",[])),
16312    <<"OgUOq">> = iolist_to_binary(re:replace("SUNDAY","(?i:saturday|sunday)","\\1OgUOq",[global])),
16313    <<"UKulSunDaykpSunDayv">> = iolist_to_binary(re:replace("SunDay","(?i:saturday|sunday)","UKul&kp&v",[])),
16314    <<"UKulSunDaykpSunDayv">> = iolist_to_binary(re:replace("SunDay","(?i:saturday|sunday)","UKul&kp&v",[global])),
16315    <<"uKOqaabcexabcxpabcsJydJMabchE">> = iolist_to_binary(re:replace("abcx","(a(?i)bc|BB)x","uKOqa\\1ex&p\\1sJydJM\\1hE",[])),
16316    <<"uKOqaabcexabcxpabcsJydJMabchE">> = iolist_to_binary(re:replace("abcx","(a(?i)bc|BB)x","uKOqa\\1ex&p\\1sJydJM\\1hE",[global])),
16317    <<"rRNaBC">> = iolist_to_binary(re:replace("aBCx","(a(?i)bc|BB)x","rRN\\1",[])),
16318    <<"rRNaBC">> = iolist_to_binary(re:replace("aBCx","(a(?i)bc|BB)x","rRN\\1",[global])),
16319    <<"oJ">> = iolist_to_binary(re:replace("bbx","(a(?i)bc|BB)x","oJ",[])),
16320    <<"oJ">> = iolist_to_binary(re:replace("bbx","(a(?i)bc|BB)x","oJ",[global])),
16321    <<"BBxR">> = iolist_to_binary(re:replace("BBx","(a(?i)bc|BB)x","&R",[])),
16322    <<"BBxR">> = iolist_to_binary(re:replace("BBx","(a(?i)bc|BB)x","&R",[global])),
16323    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a(?i)bc|BB)x","T&",[])),
16324    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(a(?i)bc|BB)x","T&",[global])),
16325    <<"abcX">> = iolist_to_binary(re:replace("abcX","(a(?i)bc|BB)x","whvhAvFn",[])),
16326    <<"abcX">> = iolist_to_binary(re:replace("abcX","(a(?i)bc|BB)x","whvhAvFn",[global])),
16327    <<"aBCX">> = iolist_to_binary(re:replace("aBCX","(a(?i)bc|BB)x","Nb&vemA",[])),
16328    <<"aBCX">> = iolist_to_binary(re:replace("aBCX","(a(?i)bc|BB)x","Nb&vemA",[global])),
16329    <<"bbX">> = iolist_to_binary(re:replace("bbX","(a(?i)bc|BB)x","s\\1GdP\\1\\1dEQ\\1YO",[])),
16330    <<"bbX">> = iolist_to_binary(re:replace("bbX","(a(?i)bc|BB)x","s\\1GdP\\1\\1dEQ\\1YO",[global])),
16331    <<"BBX">> = iolist_to_binary(re:replace("BBX","(a(?i)bc|BB)x","oFBOVOb",[])),
16332    <<"BBX">> = iolist_to_binary(re:replace("BBX","(a(?i)bc|BB)x","oFBOVOb",[global])),
16333    <<"tacacotHFLuTEAHCbR">> = iolist_to_binary(re:replace("ac","^([ab](?i)[cd]|[ef])","t&\\1otHFLuTEAHCbR",[])),
16334    <<"tacacotHFLuTEAHCbR">> = iolist_to_binary(re:replace("ac","^([ab](?i)[cd]|[ef])","t&\\1otHFLuTEAHCbR",[global])),
16335    <<"BaCaCJ">> = iolist_to_binary(re:replace("aC","^([ab](?i)[cd]|[ef])","B&\\1J",[])),
16336    <<"BaCaCJ">> = iolist_to_binary(re:replace("aC","^([ab](?i)[cd]|[ef])","B&\\1J",[global])),
16337    <<"vbDvbDMbDnOy">> = iolist_to_binary(re:replace("bD","^([ab](?i)[cd]|[ef])","v&v\\1M&nOy",[])),
16338    <<"vbDvbDMbDnOy">> = iolist_to_binary(re:replace("bD","^([ab](?i)[cd]|[ef])","v&v\\1M&nOy",[global])),
16339    <<"HSegelephant">> = iolist_to_binary(re:replace("elephant","^([ab](?i)[cd]|[ef])","HS&ge",[])),
16340    <<"HSegelephant">> = iolist_to_binary(re:replace("elephant","^([ab](?i)[cd]|[ef])","HS&ge",[global])),
16341    <<"KmuWEkIQYqurope">> = iolist_to_binary(re:replace("Europe","^([ab](?i)[cd]|[ef])","KmuW&kIQYq",[])),
16342    <<"KmuWEkIQYqurope">> = iolist_to_binary(re:replace("Europe","^([ab](?i)[cd]|[ef])","KmuW&kIQYq",[global])),
16343    <<"qwwffEncmLfJNGOfOrog">> = iolist_to_binary(re:replace("frog","^([ab](?i)[cd]|[ef])","qww\\1&EncmL\\1JNGO&O",[])),
16344    <<"qwwffEncmLfJNGOfOrog">> = iolist_to_binary(re:replace("frog","^([ab](?i)[cd]|[ef])","qww\\1&EncmL\\1JNGO&O",[global])),
16345    <<"uVBupFMFDFFBwfMmnlfFrance">> = iolist_to_binary(re:replace("France","^([ab](?i)[cd]|[ef])","uVBup\\1M&D\\1\\1BwfMmnlf&",[])),
16346    <<"uVBupFMFDFFBwfMmnlfFrance">> = iolist_to_binary(re:replace("France","^([ab](?i)[cd]|[ef])","uVBup\\1M&D\\1\\1BwfMmnlf&",[global])),
16347    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^([ab](?i)[cd]|[ef])","\\1cOIQhxWWs\\1F\\1&nEAw",[])),
16348    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^([ab](?i)[cd]|[ef])","\\1cOIQhxWWs\\1F\\1&nEAw",[global])),
16349    <<"Africa">> = iolist_to_binary(re:replace("Africa","^([ab](?i)[cd]|[ef])","h",[])),
16350    <<"Africa">> = iolist_to_binary(re:replace("Africa","^([ab](?i)[cd]|[ef])","h",[global])),
16351    <<"rWababXF">> = iolist_to_binary(re:replace("ab","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","rW\\1&XF",[])),
16352    <<"rWababXF">> = iolist_to_binary(re:replace("ab","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","rW\\1&XF",[global])),
16353    <<"wlBBHaBdG">> = iolist_to_binary(re:replace("aBd","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","wlBBH&G",[])),
16354    <<"wlBBHaBdG">> = iolist_to_binary(re:replace("aBd","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","wlBBH&G",[global])),
16355    <<"vxyxyyCoOgxy">> = iolist_to_binary(re:replace("xy","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","v\\1\\1yCoOg&",[])),
16356    <<"vxyxyyCoOgxy">> = iolist_to_binary(re:replace("xy","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","v\\1\\1yCoOg&",[global])),
16357    <<"sEBLg">> = iolist_to_binary(re:replace("xY","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","sEBLg",[])),
16358    <<"sEBLg">> = iolist_to_binary(re:replace("xY","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","sEBLg",[global])),
16359    <<"CxGBTmzFzaoxSvnzIJzxebra">> = iolist_to_binary(re:replace("zebra","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","CxGBTm&F&aoxSvn&IJ&x",[])),
16360    <<"CxGBTmzFzaoxSvnzIJzxebra">> = iolist_to_binary(re:replace("zebra","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","CxGBTm&F&aoxSvn&IJ&x",[global])),
16361    <<"tcaZQambesi">> = iolist_to_binary(re:replace("Zambesi","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","tca\\1Q",[])),
16362    <<"tcaZQambesi">> = iolist_to_binary(re:replace("Zambesi","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","tca\\1Q",[global])),
16363    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","tSnco&",[])),
16364    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","tSnco&",[global])),
16365    <<"aCD">> = iolist_to_binary(re:replace("aCD","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","dfo",[])),
16366    <<"aCD">> = iolist_to_binary(re:replace("aCD","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","dfo",[global])),
16367    <<"XY">> = iolist_to_binary(re:replace("XY","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","U",[])),
16368    <<"XY">> = iolist_to_binary(re:replace("XY","^(ab|a(?i)[b-c](?m-i)d|x(?i)y|z)","U",[global])),
16369    <<"foo
16370NRWmeVkGqvP">> = iolist_to_binary(re:replace("foo
16371bar","(?<=foo\\n)^bar","NRWmeVkGqv\\1P",[multiline])),
16372    <<"foo
16373NRWmeVkGqvP">> = iolist_to_binary(re:replace("foo
16374bar","(?<=foo\\n)^bar","NRWmeVkGqv\\1P",[multiline,global])),
16375    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=foo\\n)^bar","pcR&ta\\1wJMdM&KPN",[multiline])),
16376    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=foo\\n)^bar","pcR&ta\\1wJMdM&KPN",[multiline,
16377                                                                                                                                                                                                                                     global])),
16378    <<"bar">> = iolist_to_binary(re:replace("bar","(?<=foo\\n)^bar","jByCJtDS\\1o&THKBAM&y",[multiline])),
16379    <<"bar">> = iolist_to_binary(re:replace("bar","(?<=foo\\n)^bar","jByCJtDS\\1o&THKBAM&y",[multiline,
16380                                                                                                                                                                                                                           global])),
16381    <<"baz
16382bar">> = iolist_to_binary(re:replace("baz
16383bar","(?<=foo\\n)^bar","qsa\\1EcHRVFjLsoO&fk",[multiline])),
16384    <<"baz
16385bar">> = iolist_to_binary(re:replace("baz
16386bar","(?<=foo\\n)^bar","qsa\\1EcHRVFjLsoO&fk",[multiline,global])),
16387    <<"barrVqQArLvUbazrlnI">> = iolist_to_binary(re:replace("barbaz","(?<=(?<!foo)bar)baz","r\\1\\1VqQArLvU&r\\1lnI",[])),
16388    <<"barrVqQArLvUbazrlnI">> = iolist_to_binary(re:replace("barbaz","(?<=(?<!foo)bar)baz","r\\1\\1VqQArLvU&r\\1lnI",[global])),
16389    <<"barbargh">> = iolist_to_binary(re:replace("barbarbaz","(?<=(?<!foo)bar)baz","gh",[])),
16390    <<"barbargh">> = iolist_to_binary(re:replace("barbarbaz","(?<=(?<!foo)bar)baz","gh",[global])),
16391    <<"koobarvdKYQDIVnwbazbazQWKBgh">> = iolist_to_binary(re:replace("koobarbaz","(?<=(?<!foo)bar)baz","vdKYQDIVnw&&QWKBgh",[])),
16392    <<"koobarvdKYQDIVnwbazbazQWKBgh">> = iolist_to_binary(re:replace("koobarbaz","(?<=(?<!foo)bar)baz","vdKYQDIVnw&&QWKBgh",[global])),
16393    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=(?<!foo)bar)baz","FjVsA\\1&B",[])),
16394    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=(?<!foo)bar)baz","FjVsA\\1&B",[global])),
16395    <<"baz">> = iolist_to_binary(re:replace("baz","(?<=(?<!foo)bar)baz","HgWqxfrr\\1qYwT",[])),
16396    <<"baz">> = iolist_to_binary(re:replace("baz","(?<=(?<!foo)bar)baz","HgWqxfrr\\1qYwT",[global])),
16397    <<"foobarbaz">> = iolist_to_binary(re:replace("foobarbaz","(?<=(?<!foo)bar)baz","yjWsT\\1DYmUlc",[])),
16398    <<"foobarbaz">> = iolist_to_binary(re:replace("foobarbaz","(?<=(?<!foo)bar)baz","yjWsT\\1DYmUlc",[global])),
16399    <<"a">> = iolist_to_binary(re:replace("a","^(a\\1?){4}$","xfcMrdAu",[])),
16400    <<"a">> = iolist_to_binary(re:replace("a","^(a\\1?){4}$","xfcMrdAu",[global])),
16401    <<"aa">> = iolist_to_binary(re:replace("aa","^(a\\1?){4}$","\\1BliC&LQrU\\1r",[])),
16402    <<"aa">> = iolist_to_binary(re:replace("aa","^(a\\1?){4}$","\\1BliC&LQrU\\1r",[global])),
16403    <<"aaa">> = iolist_to_binary(re:replace("aaa","^(a\\1?){4}$","TeTeD\\1X&&l\\1w",[])),
16404    <<"aaa">> = iolist_to_binary(re:replace("aaa","^(a\\1?){4}$","TeTeD\\1X&&l\\1w",[global])),
16405    <<"HV">> = iolist_to_binary(re:replace("aaaaa","^(a\\1?){4}$","HV",[])),
16406    <<"HV">> = iolist_to_binary(re:replace("aaaaa","^(a\\1?){4}$","HV",[global])),
16407    <<"GmaaaaaaaawlpUaaaaaaaOy">> = iolist_to_binary(re:replace("aaaaaaa","^(a\\1?){4}$","Gm\\1&wlpU&Oy",[])),
16408    <<"GmaaaaaaaawlpUaaaaaaaOy">> = iolist_to_binary(re:replace("aaaaaaa","^(a\\1?){4}$","Gm\\1&wlpU&Oy",[global])),
16409    <<"aaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaa","^(a\\1?){4}$","snNvqcf\\1mxQ\\1DRPIP",[])),
16410    <<"aaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaa","^(a\\1?){4}$","snNvqcf\\1mxQ\\1DRPIP",[global])),
16411    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a\\1?){4}$","\\1RtbPoOkgRgQnokJdP",[])),
16412    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a\\1?){4}$","\\1RtbPoOkgRgQnokJdP",[global])),
16413    <<"aaaaaaaaaaaaaagBhaaaaaaaaaaIaaaaaaaaaaKaaaaaaaaaaeSvaaaanYhNTc">> = iolist_to_binary(re:replace("aaaaaaaaaa","^(a\\1?){4}$","&\\1gBh&I&K&eSv\\1nYhNTc",[])),
16414    <<"aaaaaaaaaaaaaagBhaaaaaaaaaaIaaaaaaaaaaKaaaaaaaaaaeSvaaaanYhNTc">> = iolist_to_binary(re:replace("aaaaaaaaaa","^(a\\1?){4}$","&\\1gBh&I&K&eSv\\1nYhNTc",[global])),
16415    <<"aaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaa","^(a\\1?){4}$","\\1O",[])),
16416    <<"aaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaa","^(a\\1?){4}$","\\1O",[global])),
16417    <<"aaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaa","^(a\\1?){4}$","\\1&&",[])),
16418    <<"aaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaa","^(a\\1?){4}$","\\1&&",[global])),
16419    <<"aaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaa","^(a\\1?){4}$","gbGDh\\1\\1\\1PlvFnq",[])),
16420    <<"aaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaa","^(a\\1?){4}$","gbGDh\\1\\1\\1PlvFnq",[global])),
16421    <<"aaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaa","^(a\\1?){4}$","o\\1\\1\\1nIbiYVy&",[])),
16422    <<"aaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaa","^(a\\1?){4}$","o\\1\\1\\1nIbiYVy&",[global])),
16423    <<"aaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaa","^(a\\1?){4}$","K\\1IGHABBJDNX",[])),
16424    <<"aaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaa","^(a\\1?){4}$","K\\1IGHABBJDNX",[global])),
16425    <<"aaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaa","^(a\\1?){4}$","\\1&\\1wvNlo",[])),
16426    <<"aaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaa","^(a\\1?){4}$","\\1&\\1wvNlo",[global])),
16427    <<"a">> = iolist_to_binary(re:replace("a","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","MMsqXp\\1L\\1",[])),
16428    <<"a">> = iolist_to_binary(re:replace("a","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","MMsqXp\\1L\\1",[global])),
16429    <<"aa">> = iolist_to_binary(re:replace("aa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","&\\1\\1cblGbrY\\1\\1sIosd",[])),
16430    <<"aa">> = iolist_to_binary(re:replace("aa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","&\\1\\1cblGbrY\\1\\1sIosd",[global])),
16431    <<"aaa">> = iolist_to_binary(re:replace("aaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","WyI\\1\\1fd&A\\1",[])),
16432    <<"aaa">> = iolist_to_binary(re:replace("aaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","WyI\\1\\1fd&A\\1",[global])),
16433    <<"hJaaaaKOGfPaaaanTbA">> = iolist_to_binary(re:replace("aaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","hJ&KOGfP&nTbA",[])),
16434    <<"hJaaaaKOGfPaaaanTbA">> = iolist_to_binary(re:replace("aaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","hJ&KOGfP&nTbA",[global])),
16435    <<"akBaaaaaaJapLD">> = iolist_to_binary(re:replace("aaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","\\1kB&aJ\\1pLD",[])),
16436    <<"akBaaaaaaJapLD">> = iolist_to_binary(re:replace("aaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","\\1kB&aJ\\1pLD",[global])),
16437    <<"aaadYLlnNBfn">> = iolist_to_binary(re:replace("aaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","a\\1adYLlnNBfn",[])),
16438    <<"aaadYLlnNBfn">> = iolist_to_binary(re:replace("aaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","a\\1adYLlnNBfn",[global])),
16439    <<"haaaaaaaMn">> = iolist_to_binary(re:replace("aaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","h&Mn",[])),
16440    <<"haaaaaaaMn">> = iolist_to_binary(re:replace("aaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","h&Mn",[global])),
16441    <<"aaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","F&\\1&",[])),
16442    <<"aaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","F&\\1&",[global])),
16443    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","ig&\\1hVNoqXY\\1kTDTB\\1qO",[])),
16444    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","ig&\\1hVNoqXY\\1kTDTB\\1qO",[global])),
16445    <<"jRaaaaaaaaaamEaTlkygaaaaaaaaaadSaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","jR&mE\\1Tlkyg&dS&",[])),
16446    <<"jRaaaaaaaaaamEaTlkygaaaaaaaaaadSaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","jR&mE\\1Tlkyg&dS&",[global])),
16447    <<"aaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","Tec&gBdh\\1x",[])),
16448    <<"aaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","Tec&gBdh\\1x",[global])),
16449    <<"aaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","MMXY&yRoehQihV&b\\1txa",[])),
16450    <<"aaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","MMXY&yRoehQihV&b\\1txa",[global])),
16451    <<"aaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","&",[])),
16452    <<"aaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","&",[global])),
16453    <<"aaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","SnhXn&km\\1BaVtSJUu",[])),
16454    <<"aaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","SnhXn&km\\1BaVtSJUu",[global])),
16455    <<"aaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","FToR",[])),
16456    <<"aaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","FToR",[global])),
16457    <<"aaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","\\1",[])),
16458    <<"aaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaa","^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$","\\1",[global])),
16459    <<"abcJJvjL">> = iolist_to_binary(re:replace("abc","abc","&J\\1\\1JvjL",[])),
16460    <<"abcJJvjL">> = iolist_to_binary(re:replace("abc","abc","&J\\1\\1JvjL",[global])),
16461    <<"xtsyy">> = iolist_to_binary(re:replace("xabcy","abc","tsy",[])),
16462    <<"xtsyy">> = iolist_to_binary(re:replace("xabcy","abc","tsy",[global])),
16463    <<"abr">> = iolist_to_binary(re:replace("ababc","abc","r",[])),
16464    <<"abr">> = iolist_to_binary(re:replace("ababc","abc","r",[global])),
16465    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc","&CvW\\1J&hP\\1kp",[])),
16466    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc","&CvW\\1J&hP\\1kp",[global])),
16467    <<"xbc">> = iolist_to_binary(re:replace("xbc","abc","xONy",[])),
16468    <<"xbc">> = iolist_to_binary(re:replace("xbc","abc","xONy",[global])),
16469    <<"axc">> = iolist_to_binary(re:replace("axc","abc","O&RYgOFW&\\1b",[])),
16470    <<"axc">> = iolist_to_binary(re:replace("axc","abc","O&RYgOFW&\\1b",[global])),
16471    <<"abx">> = iolist_to_binary(re:replace("abx","abc","\\1wEEGj\\1Pu\\1E",[])),
16472    <<"abx">> = iolist_to_binary(re:replace("abx","abc","\\1wEEGj\\1Pu\\1E",[global])),
16473    <<"HnabcabcrHTQ">> = iolist_to_binary(re:replace("abc","ab*c","Hn&&rHTQ",[])),
16474    <<"HnabcabcrHTQ">> = iolist_to_binary(re:replace("abc","ab*c","Hn&&rHTQ",[global])),
16475    <<"xTpXkabc">> = iolist_to_binary(re:replace("abc","ab*bc","xTpXk&",[])),
16476    <<"xTpXkabc">> = iolist_to_binary(re:replace("abc","ab*bc","xTpXk&",[global])),
16477    <<"xLoabbchcabbckehh">> = iolist_to_binary(re:replace("abbc","ab*bc","xLo&hc&k\\1ehh",[])),
16478    <<"xLoabbchcabbckehh">> = iolist_to_binary(re:replace("abbc","ab*bc","xLo&hc&k\\1ehh",[global])),
16479    <<"Tkaj">> = iolist_to_binary(re:replace("abbbbc","ab*bc","Tkaj",[])),
16480    <<"Tkaj">> = iolist_to_binary(re:replace("abbbbc","ab*bc","Tkaj",[global])),
16481    <<"KJCYEgbbbbc">> = iolist_to_binary(re:replace("abbbbc",".{1}","\\1KJCYEg",[])),
16482    <<"KJCYEgKJCYEgKJCYEgKJCYEgKJCYEgKJCYEg">> = iolist_to_binary(re:replace("abbbbc",".{1}","\\1KJCYEg",[global])),
16483    <<"XabbbOSpFbFfabbbbc">> = iolist_to_binary(re:replace("abbbbc",".{3,4}","X&O\\1SpFbFf&",[])),
16484    <<"XabbbOSpFbFfabbbbc">> = iolist_to_binary(re:replace("abbbbc",".{3,4}","X&O\\1SpFbFf&",[global])),
16485    <<"FMabbbbcELDoDirqkHb">> = iolist_to_binary(re:replace("abbbbc","ab{0,}bc","FM&ELDoDirqkHb",[])),
16486    <<"FMabbbbcELDoDirqkHb">> = iolist_to_binary(re:replace("abbbbc","ab{0,}bc","FM&ELDoDirqkHb",[global])),
16487    <<"nVWfSGeKlL">> = iolist_to_binary(re:replace("abbc","ab+bc","n\\1VWfSGe\\1KlL",[])),
16488    <<"nVWfSGeKlL">> = iolist_to_binary(re:replace("abbc","ab+bc","n\\1VWfSGe\\1KlL",[global])),
16489    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab+bc","\\1jmWD&n\\1\\1mX&mJMl\\1X",[])),
16490    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab+bc","\\1jmWD&n\\1\\1mX&mJMl\\1X",[global])),
16491    <<"abc">> = iolist_to_binary(re:replace("abc","ab+bc","\\1&W&Kf&\\1dU&T",[])),
16492    <<"abc">> = iolist_to_binary(re:replace("abc","ab+bc","\\1&W&Kf&\\1dU&T",[global])),
16493    <<"abq">> = iolist_to_binary(re:replace("abq","ab+bc","l\\1yn\\1E&P\\1JeWGV",[])),
16494    <<"abq">> = iolist_to_binary(re:replace("abq","ab+bc","l\\1yn\\1E&P\\1JeWGV",[global])),
16495    ok.
16496run15() ->
16497    <<"oOAIabbbbcabbbbcabbbbcio">> = iolist_to_binary(re:replace("abbbbc","ab+bc","oOAI&&&io",[])),
16498    <<"oOAIabbbbcabbbbcabbbbcio">> = iolist_to_binary(re:replace("abbbbc","ab+bc","oOAI&&&io",[global])),
16499    <<"eKDbRMig">> = iolist_to_binary(re:replace("abbbbc","ab{1,}bc","\\1eKDb\\1R\\1Mig",[])),
16500    <<"eKDbRMig">> = iolist_to_binary(re:replace("abbbbc","ab{1,}bc","\\1eKDb\\1R\\1Mig",[global])),
16501    <<"abbbbc">> = iolist_to_binary(re:replace("abbbbc","ab{1,3}bc","&\\1",[])),
16502    <<"abbbbc">> = iolist_to_binary(re:replace("abbbbc","ab{1,3}bc","&\\1",[global])),
16503    <<"lLsEYiU">> = iolist_to_binary(re:replace("abbbbc","ab{3,4}bc","lLsEYiU",[])),
16504    <<"lLsEYiU">> = iolist_to_binary(re:replace("abbbbc","ab{3,4}bc","lLsEYiU",[global])),
16505    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab{4,5}bc","K\\1Q\\1Sjr&\\1&e&V\\1TQy",[])),
16506    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab{4,5}bc","K\\1Q\\1Sjr&\\1&e&V\\1TQy",[global])),
16507    <<"abq">> = iolist_to_binary(re:replace("abq","ab{4,5}bc","O&C",[])),
16508    <<"abq">> = iolist_to_binary(re:replace("abq","ab{4,5}bc","O&C",[global])),
16509    <<"abbbbc">> = iolist_to_binary(re:replace("abbbbc","ab{4,5}bc","iqc",[])),
16510    <<"abbbbc">> = iolist_to_binary(re:replace("abbbbc","ab{4,5}bc","iqc",[global])),
16511    <<"epUFDnxBdDXmIWF">> = iolist_to_binary(re:replace("abbc","ab?bc","epUFDnxBdDXmIW\\1F\\1",[])),
16512    <<"epUFDnxBdDXmIWF">> = iolist_to_binary(re:replace("abbc","ab?bc","epUFDnxBdDXmIW\\1F\\1",[global])),
16513    <<"WhqERQJGEPXkYabcqW">> = iolist_to_binary(re:replace("abc","ab?bc","Whq\\1ERQJGEPXkY&qW",[])),
16514    <<"WhqERQJGEPXkYabcqW">> = iolist_to_binary(re:replace("abc","ab?bc","Whq\\1ERQJGEPXkY&qW",[global])),
16515    <<"aabcLmSkjuaNwdKc">> = iolist_to_binary(re:replace("abc","ab{0,1}bc","\\1a&\\1LmSkjuaNwd\\1Kc\\1",[])),
16516    <<"aabcLmSkjuaNwdKc">> = iolist_to_binary(re:replace("abc","ab{0,1}bc","\\1a&\\1LmSkjuaNwd\\1Kc\\1",[global])),
16517    <<"bpSabcEqqmi">> = iolist_to_binary(re:replace("abc","ab?c","bp\\1S&Eqqmi\\1",[])),
16518    <<"bpSabcEqqmi">> = iolist_to_binary(re:replace("abc","ab?c","bp\\1S&Eqqmi\\1",[global])),
16519    <<"Clxabc">> = iolist_to_binary(re:replace("abc","ab{0,1}c","Clx&",[])),
16520    <<"Clxabc">> = iolist_to_binary(re:replace("abc","ab{0,1}c","Clx&",[global])),
16521    <<"SlhQaJwtnpw">> = iolist_to_binary(re:replace("abc","^abc$","Sl\\1h\\1Q\\1aJwtnpw",[])),
16522    <<"SlhQaJwtnpw">> = iolist_to_binary(re:replace("abc","^abc$","Sl\\1h\\1Q\\1aJwtnpw",[global])),
16523    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^abc$","eiP",[])),
16524    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^abc$","eiP",[global])),
16525    <<"abbbbc">> = iolist_to_binary(re:replace("abbbbc","^abc$","g\\1Qnq\\1jC&jh\\1wFsOwY\\1",[])),
16526    <<"abbbbc">> = iolist_to_binary(re:replace("abbbbc","^abc$","g\\1Qnq\\1jC&jh\\1wFsOwY\\1",[global])),
16527    <<"abcc">> = iolist_to_binary(re:replace("abcc","^abc$","CjHXsgNepVYlWp",[])),
16528    <<"abcc">> = iolist_to_binary(re:replace("abcc","^abc$","CjHXsgNepVYlWp",[global])),
16529    <<"HETabcc">> = iolist_to_binary(re:replace("abcc","^abc","HE\\1T&",[])),
16530    <<"HETabcc">> = iolist_to_binary(re:replace("abcc","^abc","HE\\1T&",[global])),
16531    <<"aodabcujLupqR">> = iolist_to_binary(re:replace("aabc","abc$","od&ujLupqR",[])),
16532    <<"aodabcujLupqR">> = iolist_to_binary(re:replace("aabc","abc$","od&ujLupqR",[global])),
16533    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc$","R",[])),
16534    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc$","R",[global])),
16535    <<"aFvyvrxXtabcs">> = iolist_to_binary(re:replace("aabc","abc$","Fvyvrx\\1Xt&s",[])),
16536    <<"aFvyvrxXtabcs">> = iolist_to_binary(re:replace("aabc","abc$","Fvyvrx\\1Xt&s",[global])),
16537    <<"aabcd">> = iolist_to_binary(re:replace("aabcd","abc$","Pj\\1wNa&XbegI&F",[])),
16538    <<"aabcd">> = iolist_to_binary(re:replace("aabcd","abc$","Pj\\1wNa&XbegI&F",[global])),
16539    <<"ABvCLJOpNeVHhabc">> = iolist_to_binary(re:replace("abc","^","ABvC&&LJOpNeVH\\1h",[])),
16540    <<"ABvCLJOpNeVHhabc">> = iolist_to_binary(re:replace("abc","^","ABvC&&LJOpNeVH\\1h",[global])),
16541    <<"abcJEFEIGYBydFwJM">> = iolist_to_binary(re:replace("abc","$","JEFEIG&&&Y\\1BydFwJM",[])),
16542    <<"abcJEFEIGYBydFwJM">> = iolist_to_binary(re:replace("abc","$","JEFEIG&&&Y\\1BydFwJM",[global])),
16543    <<"UEUMgabcabclGDFuMsIl">> = iolist_to_binary(re:replace("abc","a.c","UEUMg&&lGDFu\\1MsIl",[])),
16544    <<"UEUMgabcabclGDFuMsIl">> = iolist_to_binary(re:replace("abc","a.c","UEUMg&&lGDFu\\1MsIl",[global])),
16545    <<"LAYr">> = iolist_to_binary(re:replace("axc","a.c","LAYr",[])),
16546    <<"LAYr">> = iolist_to_binary(re:replace("axc","a.c","LAYr",[global])),
16547    <<"EoYP">> = iolist_to_binary(re:replace("axyzc","a.*c","EoY\\1P",[])),
16548    <<"EoYP">> = iolist_to_binary(re:replace("axyzc","a.*c","EoY\\1P",[global])),
16549    <<"qYbmPPabd">> = iolist_to_binary(re:replace("abd","a[bc]d","qYbmPP&",[])),
16550    <<"qYbmPPabd">> = iolist_to_binary(re:replace("abd","a[bc]d","qYbmPP&",[global])),
16551    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[bc]d","\\1C\\1SFfkHmrCTJ",[])),
16552    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[bc]d","\\1C\\1SFfkHmrCTJ",[global])),
16553    <<"axyzd">> = iolist_to_binary(re:replace("axyzd","a[bc]d","J&\\1J&",[])),
16554    <<"axyzd">> = iolist_to_binary(re:replace("axyzd","a[bc]d","J&\\1J&",[global])),
16555    <<"abc">> = iolist_to_binary(re:replace("abc","a[bc]d","Q&HAQK&t",[])),
16556    <<"abc">> = iolist_to_binary(re:replace("abc","a[bc]d","Q&HAQK&t",[global])),
16557    <<"WbKKCNjyC">> = iolist_to_binary(re:replace("ace","a[b-d]e","\\1WbKKCNjyC",[])),
16558    <<"WbKKCNjyC">> = iolist_to_binary(re:replace("ace","a[b-d]e","\\1WbKKCNjyC",[global])),
16559    ok.
16560run16() ->
16561    <<"aTHHUYacigdJtNac">> = iolist_to_binary(re:replace("aac","a[b-d]","THHUY&igdJt\\1N&",[])),
16562    <<"aTHHUYacigdJtNac">> = iolist_to_binary(re:replace("aac","a[b-d]","THHUY&igdJt\\1N&",[global])),
16563    <<"JdNla-BpgoAJobghPXXK">> = iolist_to_binary(re:replace("a-","a[-b]","JdNl&BpgoAJobghPXXK",[])),
16564    <<"JdNla-BpgoAJobghPXXK">> = iolist_to_binary(re:replace("a-","a[-b]","JdNl&BpgoAJobghPXXK",[global])),
16565    <<"ka-a-">> = iolist_to_binary(re:replace("a-","a[b-]","k&&\\1",[])),
16566    <<"ka-a-">> = iolist_to_binary(re:replace("a-","a[b-]","k&&\\1",[global])),
16567    <<"hXKn">> = iolist_to_binary(re:replace("a]","a]","hXKn",[])),
16568    <<"hXKn">> = iolist_to_binary(re:replace("a]","a]","hXKn",[global])),
16569    <<"Mpa]bJQ">> = iolist_to_binary(re:replace("a]b","a[]]b","\\1Mp&JQ",[])),
16570    <<"Mpa]bJQ">> = iolist_to_binary(re:replace("a]b","a[]]b","\\1Mp&JQ",[global])),
16571    <<"BqnaedgwNu">> = iolist_to_binary(re:replace("aed","a[^bc]d","Bqn\\1&gw\\1Nu",[])),
16572    <<"BqnaedgwNu">> = iolist_to_binary(re:replace("aed","a[^bc]d","Bqn\\1&gw\\1Nu",[global])),
16573    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[^bc]d","\\1BbD&v",[])),
16574    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[^bc]d","\\1BbD&v",[global])),
16575    <<"abd">> = iolist_to_binary(re:replace("abd","a[^bc]d","wsTKas&SjtLxJf\\1\\1hMC",[])),
16576    <<"abd">> = iolist_to_binary(re:replace("abd","a[^bc]d","wsTKas&SjtLxJf\\1\\1hMC",[global])),
16577    <<"abd">> = iolist_to_binary(re:replace("abd","a[^bc]d","NeK&\\1F",[])),
16578    <<"abd">> = iolist_to_binary(re:replace("abd","a[^bc]d","NeK&\\1F",[global])),
16579    <<"hLeXkpLIvadcW">> = iolist_to_binary(re:replace("adc","a[^-b]c","hLeXkpLIv&W",[])),
16580    <<"hLeXkpLIvadcW">> = iolist_to_binary(re:replace("adc","a[^-b]c","hLeXkpLIv&W",[global])),
16581    <<"adcadc">> = iolist_to_binary(re:replace("adc","a[^]b]c","&&\\1",[])),
16582    <<"adcadc">> = iolist_to_binary(re:replace("adc","a[^]b]c","&&\\1",[global])),
16583    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[^]b]c","aELhPe\\1sLAnpxtxB",[])),
16584    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[^]b]c","aELhPe\\1sLAnpxtxB",[global])),
16585    <<"SKH">> = iolist_to_binary(re:replace("a-c","a[^]b]c","SKH",[])),
16586    <<"SKH">> = iolist_to_binary(re:replace("a-c","a[^]b]c","SKH",[global])),
16587    <<"a]c">> = iolist_to_binary(re:replace("a]c","a[^]b]c","IB",[])),
16588    <<"a]c">> = iolist_to_binary(re:replace("a]c","a[^]b]c","IB",[global])),
16589    <<"COboVXMd-">> = iolist_to_binary(re:replace("a-","\\ba\\b","COboVXMd",[])),
16590    <<"COboVXMd-">> = iolist_to_binary(re:replace("a-","\\ba\\b","COboVXMd",[global])),
16591    <<"-ydGtl">> = iolist_to_binary(re:replace("-a","\\ba\\b","\\1ydGtl",[])),
16592    <<"-ydGtl">> = iolist_to_binary(re:replace("-a","\\ba\\b","\\1ydGtl",[global])),
16593    <<"-awxvweaXGdlD-">> = iolist_to_binary(re:replace("-a-","\\ba\\b","&wx\\1vweaX\\1GdlD",[])),
16594    <<"-awxvweaXGdlD-">> = iolist_to_binary(re:replace("-a-","\\ba\\b","&wx\\1vweaX\\1GdlD",[global])),
16595    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\by\\b","V&Yu",[])),
16596    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\by\\b","V&Yu",[global])),
16597    <<"xy">> = iolist_to_binary(re:replace("xy","\\by\\b","&uQiJpvCwJtLUQ&n&e",[])),
16598    <<"xy">> = iolist_to_binary(re:replace("xy","\\by\\b","&uQiJpvCwJtLUQ&n&e",[global])),
16599    <<"yz">> = iolist_to_binary(re:replace("yz","\\by\\b","JnTOLWX\\1&mW&F\\1",[])),
16600    <<"yz">> = iolist_to_binary(re:replace("yz","\\by\\b","JnTOLWX\\1&mW&F\\1",[global])),
16601    <<"xyz">> = iolist_to_binary(re:replace("xyz","\\by\\b","y&h\\1&u",[])),
16602    <<"xyz">> = iolist_to_binary(re:replace("xyz","\\by\\b","y&h\\1&u",[global])),
16603    <<"*** Fdailers">> = iolist_to_binary(re:replace("*** Failers","\\Ba\\B","d&\\1",[])),
16604    <<"*** Fdailers">> = iolist_to_binary(re:replace("*** Failers","\\Ba\\B","d&\\1",[global])),
16605    <<"a-">> = iolist_to_binary(re:replace("a-","\\Ba\\B","sfBOnWLWdrl",[])),
16606    <<"a-">> = iolist_to_binary(re:replace("a-","\\Ba\\B","sfBOnWLWdrl",[global])),
16607    <<"-a">> = iolist_to_binary(re:replace("-a","\\Ba\\B","kQ",[])),
16608    <<"-a">> = iolist_to_binary(re:replace("-a","\\Ba\\B","kQ",[global])),
16609    <<"-a-">> = iolist_to_binary(re:replace("-a-","\\Ba\\B","&jYf&iIQh\\1",[])),
16610    <<"-a-">> = iolist_to_binary(re:replace("-a-","\\Ba\\B","&jYf&iIQh\\1",[global])),
16611    <<"xyyEyso">> = iolist_to_binary(re:replace("xy","\\By\\b","y&E&so",[])),
16612    <<"xyyEyso">> = iolist_to_binary(re:replace("xy","\\By\\b","y&E&so",[global])),
16613    <<"yymuiNz">> = iolist_to_binary(re:replace("yz","\\by\\B","\\1&&\\1muiN",[])),
16614    <<"yymuiNz">> = iolist_to_binary(re:replace("yz","\\by\\B","\\1&&\\1muiN",[global])),
16615    <<"xUyz">> = iolist_to_binary(re:replace("xyz","\\By\\B","U&",[])),
16616    <<"xUyz">> = iolist_to_binary(re:replace("xyz","\\By\\B","U&",[global])),
16617    <<"yohceaHvakiaxgGAPsc">> = iolist_to_binary(re:replace("a","\\w","yohce&Hv&ki&xgGAPsc",[])),
16618    <<"yohceaHvakiaxgGAPsc">> = iolist_to_binary(re:replace("a","\\w","yohce&Hv&ki&xgGAPsc",[global])),
16619    <<"t--q">> = iolist_to_binary(re:replace("-","\\W","t&&q",[])),
16620    <<"t--q">> = iolist_to_binary(re:replace("-","\\W","t&&q",[global])),
16621    <<"wSEi*VKdBOyBw** Failers">> = iolist_to_binary(re:replace("*** Failers","\\W","w\\1SEi\\1&VKdBOyB\\1w",[])),
16622    <<"wSEi*VKdBOyBwwSEi*VKdBOyBwwSEi*VKdBOyBwwSEi VKdBOyBwFailers">> = iolist_to_binary(re:replace("*** Failers","\\W","w\\1SEi\\1&VKdBOyB\\1w",[global])),
16623    <<"nI-H">> = iolist_to_binary(re:replace("-","\\W","nI&H",[])),
16624    <<"nI-H">> = iolist_to_binary(re:replace("-","\\W","nI&H",[global])),
16625    <<"a">> = iolist_to_binary(re:replace("a","\\W","kxKDSoW",[])),
16626    <<"a">> = iolist_to_binary(re:replace("a","\\W","kxKDSoW",[global])),
16627    <<"d">> = iolist_to_binary(re:replace("a b","a\\sb","d",[])),
16628    <<"d">> = iolist_to_binary(re:replace("a b","a\\sb","d",[global])),
16629    <<"IQboAe">> = iolist_to_binary(re:replace("a-b","a\\Sb","IQboAe",[])),
16630    <<"IQboAe">> = iolist_to_binary(re:replace("a-b","a\\Sb","IQboAe",[global])),
16631    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a\\Sb","Ii&smqXytI\\1w\\1",[])),
16632    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a\\Sb","Ii&smqXytI\\1w\\1",[global])),
16633    <<"fXa-bEijX">> = iolist_to_binary(re:replace("a-b","a\\Sb","fX&EijX",[])),
16634    <<"fXa-bEijX">> = iolist_to_binary(re:replace("a-b","a\\Sb","fX&EijX",[global])),
16635    <<"a b">> = iolist_to_binary(re:replace("a b","a\\Sb","u&WnxKsF\\1EaL\\1",[])),
16636    <<"a b">> = iolist_to_binary(re:replace("a b","a\\Sb","u&WnxKsF\\1EaL\\1",[global])),
16637    <<"VOo1">> = iolist_to_binary(re:replace("1","\\d","VOo&",[])),
16638    <<"VOo1">> = iolist_to_binary(re:replace("1","\\d","VOo&",[global])),
16639    <<"--GGkJ---qWNn">> = iolist_to_binary(re:replace("-","\\D","&&GG\\1k\\1J&&&qWNn",[])),
16640    <<"--GGkJ---qWNn">> = iolist_to_binary(re:replace("-","\\D","&&GG\\1k\\1J&&&qWNn",[global])),
16641    <<"QOREoyFBbWu** Failers">> = iolist_to_binary(re:replace("*** Failers","\\D","QOREo\\1y\\1FBbWu",[])),
16642    <<"QOREoyFBbWuQOREoyFBbWuQOREoyFBbWuQOREoyFBbWuQOREoyFBbWuQOREoyFBbWuQOREoyFBbWuQOREoyFBbWuQOREoyFBbWuQOREoyFBbWuQOREoyFBbWu">> = iolist_to_binary(re:replace("*** Failers","\\D","QOREo\\1y\\1FBbWu",[global])),
16643    <<"Pcnt-nSAvUGvRwiwct">> = iolist_to_binary(re:replace("-","\\D","\\1Pcn\\1t&nSAvUGvRwiwct",[])),
16644    <<"Pcnt-nSAvUGvRwiwct">> = iolist_to_binary(re:replace("-","\\D","\\1Pcn\\1t&nSAvUGvRwiwct",[global])),
16645    <<"1">> = iolist_to_binary(re:replace("1","\\D","WOH\\1UuhFQnuf&u",[])),
16646    <<"1">> = iolist_to_binary(re:replace("1","\\D","WOH\\1UuhFQnuf&u",[global])),
16647    ok.
16648run17() ->
16649    <<"ayglGX">> = iolist_to_binary(re:replace("a","[\\w]","&yglGX",[])),
16650    <<"ayglGX">> = iolist_to_binary(re:replace("a","[\\w]","&yglGX",[global])),
16651    <<"xHBNG-KPNeTiy--ANU">> = iolist_to_binary(re:replace("-","[\\W]","\\1xHBNG&KPNeTiy&&ANU",[])),
16652    <<"xHBNG-KPNeTiy--ANU">> = iolist_to_binary(re:replace("-","[\\W]","\\1xHBNG&KPNeTiy&&ANU",[global])),
16653    <<"dLaJCwC** Failers">> = iolist_to_binary(re:replace("*** Failers","[\\W]","dLaJCwC",[])),
16654    <<"dLaJCwCdLaJCwCdLaJCwCdLaJCwCFailers">> = iolist_to_binary(re:replace("*** Failers","[\\W]","dLaJCwC",[global])),
16655    <<"wRDLkv-">> = iolist_to_binary(re:replace("-","[\\W]","wRDLkv\\1&",[])),
16656    <<"wRDLkv-">> = iolist_to_binary(re:replace("-","[\\W]","wRDLkv\\1&",[global])),
16657    <<"a">> = iolist_to_binary(re:replace("a","[\\W]","y&sFW&WNGfXd\\1gihko&",[])),
16658    <<"a">> = iolist_to_binary(re:replace("a","[\\W]","y&sFW&WNGfXd\\1gihko&",[global])),
16659    <<"PTJaa bD">> = iolist_to_binary(re:replace("a b","a[\\s]b","PT\\1Ja&D",[])),
16660    <<"PTJaa bD">> = iolist_to_binary(re:replace("a b","a[\\s]b","PT\\1Ja&D",[global])),
16661    <<"a-bDGOD">> = iolist_to_binary(re:replace("a-b","a[\\S]b","&DGOD",[])),
16662    <<"a-bDGOD">> = iolist_to_binary(re:replace("a-b","a[\\S]b","&DGOD",[global])),
16663    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[\\S]b","KI\\1qEIlJv\\1cnqM&pJC\\1",[])),
16664    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[\\S]b","KI\\1qEIlJv\\1cnqM&pJC\\1",[global])),
16665    <<"gSDxa-bBtYNus">> = iolist_to_binary(re:replace("a-b","a[\\S]b","gSDx&BtYNus",[])),
16666    <<"gSDxa-bBtYNus">> = iolist_to_binary(re:replace("a-b","a[\\S]b","gSDx&BtYNus",[global])),
16667    <<"a b">> = iolist_to_binary(re:replace("a b","a[\\S]b","&h",[])),
16668    <<"a b">> = iolist_to_binary(re:replace("a b","a[\\S]b","&h",[global])),
16669    <<"ykt1W1">> = iolist_to_binary(re:replace("1","[\\d]","ykt&W&",[])),
16670    <<"ykt1W1">> = iolist_to_binary(re:replace("1","[\\d]","ykt&W&",[global])),
16671    <<"-a">> = iolist_to_binary(re:replace("-","[\\D]","&a",[])),
16672    <<"-a">> = iolist_to_binary(re:replace("-","[\\D]","&a",[global])),
16673    <<"*WbIHLJ** Failers">> = iolist_to_binary(re:replace("*** Failers","[\\D]","&WbIHLJ",[])),
16674    <<"*WbIHLJ*WbIHLJ*WbIHLJ WbIHLJFWbIHLJaWbIHLJiWbIHLJlWbIHLJeWbIHLJrWbIHLJsWbIHLJ">> = iolist_to_binary(re:replace("*** Failers","[\\D]","&WbIHLJ",[global])),
16675    <<"-ktR-">> = iolist_to_binary(re:replace("-","[\\D]","&kt\\1\\1R&",[])),
16676    <<"-ktR-">> = iolist_to_binary(re:replace("-","[\\D]","&kt\\1\\1R&",[global])),
16677    <<"1">> = iolist_to_binary(re:replace("1","[\\D]","ux",[])),
16678    <<"1">> = iolist_to_binary(re:replace("1","[\\D]","ux",[global])),
16679    <<"qKHabdvc">> = iolist_to_binary(re:replace("abc","ab|cd","qKH&dv",[])),
16680    <<"qKHabdvc">> = iolist_to_binary(re:replace("abc","ab|cd","qKH&dv",[global])),
16681    <<"DUTiacd">> = iolist_to_binary(re:replace("abcd","ab|cd","DUTia",[])),
16682    <<"DUTiaDUTia">> = iolist_to_binary(re:replace("abcd","ab|cd","DUTia",[global])),
16683    <<"dydMawOaiUefuVTct">> = iolist_to_binary(re:replace("def","()ef","ydMawOai\\1U&\\1uVTct",[])),
16684    <<"dydMawOaiUefuVTct">> = iolist_to_binary(re:replace("def","()ef","ydMawOai\\1U&\\1uVTct",[global])),
16685    <<"sca(bMyXpsUtrgSD">> = iolist_to_binary(re:replace("a(b","a\\(b","sc&MyXpsUtrgSD",[])),
16686    <<"sca(bMyXpsUtrgSD">> = iolist_to_binary(re:replace("a(b","a\\(b","sc&MyXpsUtrgSD",[global])),
16687    <<"tkabU">> = iolist_to_binary(re:replace("ab","a\\(*b","tk&U\\1",[])),
16688    <<"tkabU">> = iolist_to_binary(re:replace("ab","a\\(*b","tk&U\\1",[global])),
16689    <<"dETFop">> = iolist_to_binary(re:replace("a((b","a\\(*b","dE\\1TFop\\1",[])),
16690    <<"dETFop">> = iolist_to_binary(re:replace("a((b","a\\(*b","dE\\1TFop\\1",[global])),
16691    <<"a">> = iolist_to_binary(re:replace("a","a\\\\b","&wTiaRcRV",[])),
16692    <<"a">> = iolist_to_binary(re:replace("a","a\\\\b","&wTiaRcRV",[global])),
16693    <<"aDOaQaITtabc">> = iolist_to_binary(re:replace("abc","((a))","\\1DO\\1Q&ITt&",[])),
16694    <<"aDOaQaITtabc">> = iolist_to_binary(re:replace("abc","((a))","\\1DO\\1Q&ITt&",[global])),
16695    <<"SQSxbQRhSUBA">> = iolist_to_binary(re:replace("abc","(a)b(c)","SQSxbQRhSUBA",[])),
16696    <<"SQSxbQRhSUBA">> = iolist_to_binary(re:replace("abc","(a)b(c)","SQSxbQRhSUBA",[global])),
16697    <<"aabbKDx">> = iolist_to_binary(re:replace("aabbabc","a+b+c","KDx",[])),
16698    <<"aabbKDx">> = iolist_to_binary(re:replace("aabbabc","a+b+c","KDx",[global])),
16699    <<"aabbabcVFjoRUjDtvnALeSGQ">> = iolist_to_binary(re:replace("aabbabc","a{1,}b{1,}c","&VFjoRU\\1jDtvnALeSGQ",[])),
16700    <<"aabbabcVFjoRUjDtvnALeSGQ">> = iolist_to_binary(re:replace("aabbabc","a{1,}b{1,}c","&VFjoRU\\1jDtvnALeSGQ",[global])),
16701    <<"abcWvfQRkKyUAabc">> = iolist_to_binary(re:replace("abcabc","a.+?c","&WvfQRkK\\1y\\1UA",[])),
16702    <<"abcWvfQRkKyUAabcWvfQRkKyUA">> = iolist_to_binary(re:replace("abcabc","a.+?c","&WvfQRkK\\1y\\1UA",[global])),
16703    <<"jiaeNJbKxbe">> = iolist_to_binary(re:replace("ab","(a+|b)*","jiaeNJ\\1Kx\\1e",[])),
16704    <<"jiaeNJbKxbejiaeNJKxe">> = iolist_to_binary(re:replace("ab","(a+|b)*","jiaeNJ\\1Kx\\1e",[global])),
16705    <<"EVnwucab">> = iolist_to_binary(re:replace("ab","(a+|b){0,}","EVnwuc&",[])),
16706    <<"EVnwucabEVnwuc">> = iolist_to_binary(re:replace("ab","(a+|b){0,}","EVnwuc&",[global])),
16707    <<"aKTbabLK">> = iolist_to_binary(re:replace("ab","(a+|b)+","aKT\\1&LK",[])),
16708    <<"aKTbabLK">> = iolist_to_binary(re:replace("ab","(a+|b)+","aKT\\1&LK",[global])),
16709    ok.
16710run18() ->
16711    <<"RgGBbwcmabTgNL">> = iolist_to_binary(re:replace("ab","(a+|b){1,}","RgGB\\1wcm&TgNL",[])),
16712    <<"RgGBbwcmabTgNL">> = iolist_to_binary(re:replace("ab","(a+|b){1,}","RgGB\\1wcm&TgNL",[global])),
16713    <<"TawgaFaOxEylUb">> = iolist_to_binary(re:replace("ab","(a+|b)?","T&wg&F\\1OxEylU",[])),
16714    <<"TawgaFaOxEylUTbwgbFbOxEylUTwgFOxEylU">> = iolist_to_binary(re:replace("ab","(a+|b)?","T&wg&F\\1OxEylU",[global])),
16715    <<"aaaLnab">> = iolist_to_binary(re:replace("ab","(a+|b){0,1}","\\1&&Ln&",[])),
16716    <<"aaaLnabbbLnbLn">> = iolist_to_binary(re:replace("ab","(a+|b){0,1}","\\1&&Ln&",[global])),
16717    <<"slxWNnoiUcdeJcdercde">> = iolist_to_binary(re:replace("cde","[^ab]*","s\\1lxW\\1NnoiU\\1&J\\1&r&",[])),
16718    <<"slxWNnoiUcdeJcdercdeslxWNnoiUJr">> = iolist_to_binary(re:replace("cde","[^ab]*","s\\1lxW\\1NnoiU\\1&J\\1&r&",[global])),
16719    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc","vVEiRHOJeg&j\\1CJbVaYo",[])),
16720    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc","vVEiRHOJeg&j\\1CJbVaYo",[global])),
16721    <<"b">> = iolist_to_binary(re:replace("b","abc","G\\1tppsRP\\1RDSBHMk&kQ",[])),
16722    <<"b">> = iolist_to_binary(re:replace("b","abc","G\\1tppsRP\\1RDSBHMk&kQ",[global])),
16723    <<"clNPcDSOUbWFhRtX">> = iolist_to_binary(re:replace("abbbcd","([abc])*d","\\1lNP\\1DSOUbWFhRtX",[])),
16724    <<"clNPcDSOUbWFhRtX">> = iolist_to_binary(re:replace("abbbcd","([abc])*d","\\1lNP\\1DSOUbWFhRtX",[global])),
16725    <<"bIaKUaabcdabcdjUqa">> = iolist_to_binary(re:replace("abcd","([abc])*bcd","bI\\1KU\\1&&jUq\\1",[])),
16726    <<"bIaKUaabcdabcdjUqa">> = iolist_to_binary(re:replace("abcd","([abc])*bcd","bI\\1KU\\1&&jUq\\1",[global])),
16727    <<"vBRef">> = iolist_to_binary(re:replace("e","a|b|c|d|e","vBR&f",[])),
16728    <<"vBRef">> = iolist_to_binary(re:replace("e","a|b|c|d|e","vBR&f",[global])),
16729    <<"eesSfPHTpUXDPv">> = iolist_to_binary(re:replace("ef","(a|b|c|d|e)f","\\1\\1sSfPHTpUXDPv",[])),
16730    <<"eesSfPHTpUXDPv">> = iolist_to_binary(re:replace("ef","(a|b|c|d|e)f","\\1\\1sSfPHTpUXDPv",[global])),
16731    <<"srtWRpRn">> = iolist_to_binary(re:replace("abcdefg","abcd*efg","sr\\1tWRpRn",[])),
16732    <<"srtWRpRn">> = iolist_to_binary(re:replace("abcdefg","abcd*efg","sr\\1tWRpRn",[global])),
16733    <<"xpLuYECabyabbbz">> = iolist_to_binary(re:replace("xabyabbbz","ab*","pLuYEC&",[])),
16734    <<"xpLuYECabypLuYECabbbz">> = iolist_to_binary(re:replace("xabyabbbz","ab*","pLuYEC&",[global])),
16735    <<"xGaaxBDcnaOuAXyabbbz">> = iolist_to_binary(re:replace("xayabbbz","ab*","G&&xBDc\\1n&O\\1\\1uAX\\1\\1\\1\\1",[])),
16736    <<"xGaaxBDcnaOuAXyGabbbabbbxBDcnabbbOuAXz">> = iolist_to_binary(re:replace("xayabbbz","ab*","G&&xBDc\\1n&O\\1\\1uAX\\1\\1\\1\\1",[global])),
16737    <<"abJiuiBBGK">> = iolist_to_binary(re:replace("abcde","(ab|cd)e","JiuiBBGK",[])),
16738    <<"abJiuiBBGK">> = iolist_to_binary(re:replace("abcde","(ab|cd)e","JiuiBBGK",[global])),
16739    <<"QIhijHNIh">> = iolist_to_binary(re:replace("hij","[abhgefdc]ij","QI\\1&HNI\\1h",[])),
16740    <<"QIhijHNIh">> = iolist_to_binary(re:replace("hij","[abhgefdc]ij","QI\\1&HNI\\1h",[global])),
16741    <<"abcdNy">> = iolist_to_binary(re:replace("abcdef","(abc|)ef","Ny",[])),
16742    <<"abcdNy">> = iolist_to_binary(re:replace("abcdef","(abc|)ef","Ny",[global])),
16743    <<"ahYR">> = iolist_to_binary(re:replace("abcd","(a|b)c*d","hYR",[])),
16744    <<"ahYR">> = iolist_to_binary(re:replace("abcd","(a|b)c*d","hYR",[global])),
16745    <<"LaabcUlMoCaAoluf">> = iolist_to_binary(re:replace("abc","(ab|ab*)bc","L\\1&UlMoC\\1Aoluf",[])),
16746    <<"LaabcUlMoCaAoluf">> = iolist_to_binary(re:replace("abc","(ab|ab*)bc","L\\1&UlMoC\\1Aoluf",[global])),
16747    <<"babcqrDkwikibc">> = iolist_to_binary(re:replace("abc","a([bc]*)c*","b&qrDkwiki\\1",[])),
16748    <<"babcqrDkwikibc">> = iolist_to_binary(re:replace("abc","a([bc]*)c*","b&qrDkwiki\\1",[global])),
16749    <<"VrVOACabcdHnObcsbc">> = iolist_to_binary(re:replace("abcd","a([bc]*)(c*d)","VrVOAC&HnO\\1s\\1",[])),
16750    <<"VrVOACabcdHnObcsbc">> = iolist_to_binary(re:replace("abcd","a([bc]*)(c*d)","VrVOAC&HnO\\1s\\1",[global])),
16751    ok.
16752run19() ->
16753    <<"KBrNXAjqQYabcdRvj">> = iolist_to_binary(re:replace("abcd","a([bc]+)(c*d)","KBrNXAjqQY&Rvj",[])),
16754    <<"KBrNXAjqQYabcdRvj">> = iolist_to_binary(re:replace("abcd","a([bc]+)(c*d)","KBrNXAjqQY&Rvj",[global])),
16755    <<"o">> = iolist_to_binary(re:replace("abcd","a([bc]*)(c+d)","o",[])),
16756    <<"o">> = iolist_to_binary(re:replace("abcd","a([bc]*)(c+d)","o",[global])),
16757    <<"mXgwSISPpB">> = iolist_to_binary(re:replace("adcdcde","a[bcd]*dcdcde","mXgw\\1S\\1ISPpB",[])),
16758    <<"mXgwSISPpB">> = iolist_to_binary(re:replace("adcdcde","a[bcd]*dcdcde","mXgw\\1S\\1ISPpB",[global])),
16759    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[bcd]+dcdcde","uJpSxOBN",[])),
16760    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[bcd]+dcdcde","uJpSxOBN",[global])),
16761    <<"abcde">> = iolist_to_binary(re:replace("abcde","a[bcd]+dcdcde","aDD\\1OV",[])),
16762    <<"abcde">> = iolist_to_binary(re:replace("abcde","a[bcd]+dcdcde","aDD\\1OV",[global])),
16763    <<"adcdcde">> = iolist_to_binary(re:replace("adcdcde","a[bcd]+dcdcde","sSDdKN\\1SAhXJR\\1Xwp",[])),
16764    <<"adcdcde">> = iolist_to_binary(re:replace("adcdcde","a[bcd]+dcdcde","sSDdKN\\1SAhXJR\\1Xwp",[global])),
16765    <<"HHwQpababUNd">> = iolist_to_binary(re:replace("abc","(ab|a)b*c","HHwQp\\1\\1UNd",[])),
16766    <<"HHwQpababUNd">> = iolist_to_binary(re:replace("abc","(ab|a)b*c","HHwQp\\1\\1UNd",[global])),
16767    <<"kvabcDX">> = iolist_to_binary(re:replace("abcd","((a)(b)c)(d)","kv\\1DX",[])),
16768    <<"kvabcDX">> = iolist_to_binary(re:replace("abcd","((a)(b)c)(d)","kv\\1DX",[global])),
16769    <<"odmopDrikjpbalphaalphaV">> = iolist_to_binary(re:replace("alpha","[a-zA-Z_][a-zA-Z0-9_]*","odmop\\1Drikjpb\\1&&V",[])),
16770    <<"odmopDrikjpbalphaalphaV">> = iolist_to_binary(re:replace("alpha","[a-zA-Z_][a-zA-Z0-9_]*","odmop\\1Drikjpb\\1&&V",[global])),
16771    <<"aJBuUN">> = iolist_to_binary(re:replace("abh","^a(bc+|b[eh])g|.h$","JBuU\\1N",[])),
16772    <<"aJBuUN">> = iolist_to_binary(re:replace("abh","^a(bc+|b[eh])g|.h$","JBuU\\1N",[global])),
16773    <<"GeffgzTeffgzeffgzVpRCp">> = iolist_to_binary(re:replace("effgz","(bc+d$|ef*g.|h?i(j|k))","G\\1T\\1\\1VpRCp",[])),
16774    <<"GeffgzTeffgzeffgzVpRCp">> = iolist_to_binary(re:replace("effgz","(bc+d$|ef*g.|h?i(j|k))","G\\1T\\1\\1VpRCp",[global])),
16775    <<"aqNijfRFijIAijWeij">> = iolist_to_binary(re:replace("ij","(bc+d$|ef*g.|h?i(j|k))","aqN&fRF\\1IA\\1We&",[])),
16776    <<"aqNijfRFijIAijWeij">> = iolist_to_binary(re:replace("ij","(bc+d$|ef*g.|h?i(j|k))","aqN&fRF\\1IA\\1We&",[global])),
16777    <<"roTeffgzdfhkqWsMVteffgzL">> = iolist_to_binary(re:replace("reffgz","(bc+d$|ef*g.|h?i(j|k))","oT\\1dfhkqWsMVt&L",[])),
16778    <<"roTeffgzdfhkqWsMVteffgzL">> = iolist_to_binary(re:replace("reffgz","(bc+d$|ef*g.|h?i(j|k))","oT\\1dfhkqWsMVt&L",[global])),
16779    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(bc+d$|ef*g.|h?i(j|k))","Dq&f&xNUnXDDAU",[])),
16780    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(bc+d$|ef*g.|h?i(j|k))","Dq&f&xNUnXDDAU",[global])),
16781    <<"effg">> = iolist_to_binary(re:replace("effg","(bc+d$|ef*g.|h?i(j|k))","qtqCY\\1k",[])),
16782    <<"effg">> = iolist_to_binary(re:replace("effg","(bc+d$|ef*g.|h?i(j|k))","qtqCY\\1k",[global])),
16783    <<"bcdd">> = iolist_to_binary(re:replace("bcdd","(bc+d$|ef*g.|h?i(j|k))","JuBrHsMekXgTKSL&",[])),
16784    <<"bcdd">> = iolist_to_binary(re:replace("bcdd","(bc+d$|ef*g.|h?i(j|k))","JuBrHsMekXgTKSL&",[global])),
16785    <<"aDaQVaKxbaaHaatahXTm">> = iolist_to_binary(re:replace("a","((((((((((a))))))))))","\\1DaQV&Kxb\\1\\1H\\1&t\\1hXTm",[])),
16786    <<"aDaQVaKxbaaHaatahXTm">> = iolist_to_binary(re:replace("a","((((((((((a))))))))))","\\1DaQV&Kxb\\1\\1H\\1&t\\1hXTm",[global])),
16787    <<"m">> = iolist_to_binary(re:replace("aa","((((((((((a))))))))))\\10","m",[])),
16788    <<"m">> = iolist_to_binary(re:replace("aa","((((((((((a))))))))))\\10","m",[global])),
16789    <<"jaakGadYaFafTMa">> = iolist_to_binary(re:replace("a","(((((((((a)))))))))","j\\1&kGadY&F\\1fTM\\1",[])),
16790    <<"jaakGadYaFafTMa">> = iolist_to_binary(re:replace("a","(((((((((a)))))))))","j\\1&kGadY&F\\1fTM\\1",[global])),
16791    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","multiple words of text","WEPrQ&rD&usui\\1D\\1VY",[])),
16792    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","multiple words of text","WEPrQ&rD&usui\\1D\\1VY",[global])),
16793    <<"aa">> = iolist_to_binary(re:replace("aa","multiple words of text","&wQ\\1",[])),
16794    <<"aa">> = iolist_to_binary(re:replace("aa","multiple words of text","&wQ\\1",[global])),
16795    <<"uh-uh">> = iolist_to_binary(re:replace("uh-uh","multiple words of text","SLs\\1",[])),
16796    <<"uh-uh">> = iolist_to_binary(re:replace("uh-uh","multiple words of text","SLs\\1",[global])),
16797    <<"CRemultiple wordsKmultiple wordsQICTcCoH, yeah">> = iolist_to_binary(re:replace("multiple words, yeah","multiple words","CRe&K&QICT\\1cCoH",[])),
16798    <<"CRemultiple wordsKmultiple wordsQICTcCoH, yeah">> = iolist_to_binary(re:replace("multiple words, yeah","multiple words","CRe&K&QICT\\1cCoH",[global])),
16799    <<"hsyabSabFJkfGRG">> = iolist_to_binary(re:replace("abcde","(.*)c(.*)","hsy\\1S\\1FJkfGRG",[])),
16800    <<"hsyabSabFJkfGRG">> = iolist_to_binary(re:replace("abcde","(.*)c(.*)","hsy\\1S\\1FJkfGRG",[global])),
16801    <<"aOu">> = iolist_to_binary(re:replace("(a, b)","\\((.*), (.*)\\)","\\1Ou",[])),
16802    <<"aOu">> = iolist_to_binary(re:replace("(a, b)","\\((.*), (.*)\\)","\\1Ou",[global])),
16803    <<"WCvfBkLabcd">> = iolist_to_binary(re:replace("abcd","abcd","WCvfBkL&",[])),
16804    <<"WCvfBkLabcd">> = iolist_to_binary(re:replace("abcd","abcd","WCvfBkL&",[global])),
16805    <<"bcNBWgjxabcdFGdbcabcdw">> = iolist_to_binary(re:replace("abcd","a(bc)d","\\1NBWgjx&FGd\\1&w",[])),
16806    <<"bcNBWgjxabcdFGdbcabcdw">> = iolist_to_binary(re:replace("abcd","a(bc)d","\\1NBWgjx&FGd\\1&w",[global])),
16807    <<"acx">> = iolist_to_binary(re:replace("ac","a[-]?c","&x\\1",[])),
16808    <<"acx">> = iolist_to_binary(re:replace("ac","a[-]?c","&x\\1",[global])),
16809    ok.
16810run20() ->
16811    <<"huMWbabcsRaEC">> = iolist_to_binary(re:replace("abcabc","(abc)\\1","huMWb\\1sRaEC",[])),
16812    <<"huMWbabcsRaEC">> = iolist_to_binary(re:replace("abcabc","(abc)\\1","huMWb\\1sRaEC",[global])),
16813    <<"iexabcabcabcabcNCHabcabcvuWaLb">> = iolist_to_binary(re:replace("abcabc","([a-c]*)\\1","iex&&NCH&vuWaLb",[])),
16814    <<"iexabcabcabcabcNCHabcabcvuWaLbiexNCHvuWaLb">> = iolist_to_binary(re:replace("abcabc","([a-c]*)\\1","iex&&NCH&vuWaLb",[global])),
16815    <<"yJihtasaOaRaI">> = iolist_to_binary(re:replace("a","(a)|\\1","yJihtas&O&R&I",[])),
16816    <<"yJihtasaOaRaI">> = iolist_to_binary(re:replace("a","(a)|\\1","yJihtas&O&R&I",[global])),
16817    <<"*** FIaHjkilers">> = iolist_to_binary(re:replace("*** Failers","(a)|\\1","I\\1Hjk",[])),
16818    <<"*** FIaHjkilers">> = iolist_to_binary(re:replace("*** Failers","(a)|\\1","I\\1Hjk",[global])),
16819    <<"EamavFGoBaaBPRaFOhib">> = iolist_to_binary(re:replace("ab","(a)|\\1","E\\1m\\1vFGoB\\1&BPR\\1FOhi",[])),
16820    <<"EamavFGoBaaBPRaFOhib">> = iolist_to_binary(re:replace("ab","(a)|\\1","E\\1m\\1vFGoB\\1&BPR\\1FOhi",[global])),
16821    <<"x">> = iolist_to_binary(re:replace("x","(a)|\\1","NnSvRd&pb",[])),
16822    <<"x">> = iolist_to_binary(re:replace("x","(a)|\\1","NnSvRd&pb",[global])),
16823    <<"uBuYmababbcqWpqxebcbc">> = iolist_to_binary(re:replace("ababbbcbc","(([a-c])b*?\\2)*","uBuYm&cqWpqxe",[])),
16824    <<"uBuYmababbcqWpqxeuBuYmcqWpqxebuBuYmcbccqWpqxeuBuYmcqWpqxe">> = iolist_to_binary(re:replace("ababbbcbc","(([a-c])b*?\\2)*","uBuYm&cqWpqxe",[global])),
16825    <<"EcbcOTScbccbc">> = iolist_to_binary(re:replace("ababbbcbc","(([a-c])b*?\\2){3}","E\\1OTS\\1\\1",[])),
16826    <<"EcbcOTScbccbc">> = iolist_to_binary(re:replace("ababbbcbc","(([a-c])b*?\\2){3}","E\\1OTS\\1\\1",[global])),
16827    <<"aaaxabaxbaaxMcBMqqECobbaxAWhbbax">> = iolist_to_binary(re:replace("aaaxabaxbaaxbbax","((\\3|b)\\2(a)x)+","McBMqqECo\\1AWh\\1",[])),
16828    <<"aaaxabaxbaaxMcBMqqECobbaxAWhbbax">> = iolist_to_binary(re:replace("aaaxabaxbaaxbbax","((\\3|b)\\2(a)x)+","McBMqqECo\\1AWh\\1",[global])),
16829    <<"bbaababbabaaaaaqjbbaaaabbabbaVgmcpcbbajpNX">> = iolist_to_binary(re:replace("bbaababbabaaaaabbaaaabba","((\\3|b)\\2(a)){2,}","qj&\\1Vgmcpc\\1jpNX",[])),
16830    <<"bbaababbabaaaaaqjbbaaaabbabbaVgmcpcbbajpNX">> = iolist_to_binary(re:replace("bbaababbabaaaaabbaaaabba","((\\3|b)\\2(a)){2,}","qj&\\1Vgmcpc\\1jpNX",[global])),
16831    <<"ABCyABCdyvLRsRMABCihr">> = iolist_to_binary(re:replace("ABC","abc","&y&dy\\1vLRsRM&ihr",[caseless])),
16832    <<"ABCyABCdyvLRsRMABCihr">> = iolist_to_binary(re:replace("ABC","abc","&y&dy\\1vLRsRM&ihr",[caseless,
16833                                                                                                                                                                                             global])),
16834    <<"XfgcwoIpABCY">> = iolist_to_binary(re:replace("XABCY","abc","fgcwoIp&",[caseless])),
16835    <<"XfgcwoIpABCY">> = iolist_to_binary(re:replace("XABCY","abc","fgcwoIp&",[caseless,
16836                                                                                                                                                                          global])),
16837    <<"ABWoWCFrcHpLABCpDF">> = iolist_to_binary(re:replace("ABABC","abc","WoW\\1CFrcHpL&p\\1DF",[caseless])),
16838    <<"ABWoWCFrcHpLABCpDF">> = iolist_to_binary(re:replace("ABABC","abc","WoW\\1CFrcHpL&p\\1DF",[caseless,
16839                                                                                                                                                                                                    global])),
16840    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc","\\1dHtGrvxuN&bjVI\\1LF&",[caseless])),
16841    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","abc","\\1dHtGrvxuN&bjVI\\1LF&",[caseless,
16842                                                                                                                                                                                                                       global])),
16843    <<"aaxabxbaxbbx">> = iolist_to_binary(re:replace("aaxabxbaxbbx","abc","FMCY&jfPDp&ePPmkBaNK",[caseless])),
16844    <<"aaxabxbaxbbx">> = iolist_to_binary(re:replace("aaxabxbaxbbx","abc","FMCY&jfPDp&ePPmkBaNK",[caseless,
16845                                                                                                                                                                                                                 global])),
16846    <<"XBC">> = iolist_to_binary(re:replace("XBC","abc","yK",[caseless])),
16847    <<"XBC">> = iolist_to_binary(re:replace("XBC","abc","yK",[caseless,
16848                                                                                                                                                         global])),
16849    <<"AXC">> = iolist_to_binary(re:replace("AXC","abc","y\\1Bxx\\1c",[caseless])),
16850    <<"AXC">> = iolist_to_binary(re:replace("AXC","abc","y\\1Bxx\\1c",[caseless,
16851                                                                                                                                                                             global])),
16852    <<"ABX">> = iolist_to_binary(re:replace("ABX","abc","&e\\1",[caseless])),
16853    <<"ABX">> = iolist_to_binary(re:replace("ABX","abc","&e\\1",[caseless,
16854                                                                                                                                                                 global])),
16855    <<"wIDivFpmRD">> = iolist_to_binary(re:replace("ABC","ab*c","w\\1IDivFpmRD",[caseless])),
16856    <<"wIDivFpmRD">> = iolist_to_binary(re:replace("ABC","ab*c","w\\1IDivFpmRD",[caseless,
16857                                                                                                                                                                                  global])),
16858    <<"mjJOdABCVwUnuEHfFUblABCE">> = iolist_to_binary(re:replace("ABC","ab*bc","mjJOd&VwUnuEHfFUbl&E",[caseless])),
16859    <<"mjJOdABCVwUnuEHfFUblABCE">> = iolist_to_binary(re:replace("ABC","ab*bc","mjJOd&VwUnuEHfFUbl&E",[caseless,
16860                                                                                                                                                                                                   global])),
16861    <<"aqlXiaaCABBCtGMyJr">> = iolist_to_binary(re:replace("ABBC","ab*bc","aqlXia\\1aC\\1&tGMyJr",[caseless])),
16862    <<"aqlXiaaCABBCtGMyJr">> = iolist_to_binary(re:replace("ABBC","ab*bc","aqlXia\\1aC\\1&tGMyJr",[caseless,
16863                                                                                                                                                                                                        global])),
16864    <<"QsHTFT">> = iolist_to_binary(re:replace("ABBBBC","ab*?bc","Q\\1sHTFT",[caseless])),
16865    <<"QsHTFT">> = iolist_to_binary(re:replace("ABBBBC","ab*?bc","Q\\1sHTFT",[caseless,
16866                                                                                                                                                                                    global])),
16867    <<"UdwHeAkxpFABBBBCTJI">> = iolist_to_binary(re:replace("ABBBBC","ab{0,}?bc","\\1UdwHeAk\\1xpF&\\1T\\1JI",[caseless])),
16868    <<"UdwHeAkxpFABBBBCTJI">> = iolist_to_binary(re:replace("ABBBBC","ab{0,}?bc","\\1UdwHeAk\\1xpF&\\1T\\1JI",[caseless,
16869                                                                                                                                                                                                                                global])),
16870    <<"paupnNUOYjABBCXABBC">> = iolist_to_binary(re:replace("ABBC","ab+?bc","pa\\1upnNUO\\1Yj&\\1X&",[caseless])),
16871    <<"paupnNUOYjABBCXABBC">> = iolist_to_binary(re:replace("ABBC","ab+?bc","pa\\1upnNUO\\1Yj&\\1X&",[caseless,
16872                                                                                                                                                                                                              global])),
16873    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab+bc","uD\\1trygh\\1FV&xf&I",[caseless])),
16874    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab+bc","uD\\1trygh\\1FV&xf&I",[caseless,
16875                                                                                                                                                                                                                     global])),
16876    <<"ABC">> = iolist_to_binary(re:replace("ABC","ab+bc","&yTFr&\\1OfkVpLjJ",[caseless])),
16877    <<"ABC">> = iolist_to_binary(re:replace("ABC","ab+bc","&yTFr&\\1OfkVpLjJ",[caseless,
16878                                                                                                                                                                                              global])),
16879    <<"ABQ">> = iolist_to_binary(re:replace("ABQ","ab+bc","D\\1MfU\\1&",[caseless])),
16880    <<"ABQ">> = iolist_to_binary(re:replace("ABQ","ab+bc","D\\1MfU\\1&",[caseless,
16881                                                                                                                                                                                  global])),
16882    <<"jLBDBABBBBCVABBBBCCLPUeBABBBBCE">> = iolist_to_binary(re:replace("ABBBBC","ab+bc","jLBDB&V&CLPU\\1eB&E",[caseless])),
16883    <<"jLBDBABBBBCVABBBBCCLPUeBABBBBCE">> = iolist_to_binary(re:replace("ABBBBC","ab+bc","jLBDB&V&CLPU\\1eB&E",[caseless,
16884                                                                                                                                                                                                         global])),
16885    <<"vXw">> = iolist_to_binary(re:replace("ABBBBC","ab{1,}?bc","vXw",[caseless])),
16886    <<"vXw">> = iolist_to_binary(re:replace("ABBBBC","ab{1,}?bc","vXw",[caseless,
16887                                                                                                                                                                             global])),
16888    <<"DE">> = iolist_to_binary(re:replace("ABBBBC","ab{1,3}?bc","DE",[caseless])),
16889    <<"DE">> = iolist_to_binary(re:replace("ABBBBC","ab{1,3}?bc","DE",[caseless,
16890                                                                                                                                                                             global])),
16891    <<"oIRAABBBBCABBBBCoXH">> = iolist_to_binary(re:replace("ABBBBC","ab{3,4}?bc","oIRA&&oXH",[caseless])),
16892    <<"oIRAABBBBCABBBBCoXH">> = iolist_to_binary(re:replace("ABBBBC","ab{3,4}?bc","oIRA&&oXH",[caseless,
16893                                                                                                                                                                                             global])),
16894    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab{4,5}?bc","&&JUwgUCSBcHYmFv&OQ",[caseless])),
16895    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","ab{4,5}?bc","&&JUwgUCSBcHYmFv&OQ",[caseless,
16896                                                                                                                                                                                                                            global])),
16897    <<"ABQ">> = iolist_to_binary(re:replace("ABQ","ab{4,5}?bc","\\1&yu&\\1ps&A",[caseless])),
16898    <<"ABQ">> = iolist_to_binary(re:replace("ABQ","ab{4,5}?bc","\\1&yu&\\1ps&A",[caseless,
16899                                                                                                                                                                                                    global])),
16900    <<"ABBBBC">> = iolist_to_binary(re:replace("ABBBBC","ab{4,5}?bc","TgOJWMyTNuK&rOFr\\1n",[caseless])),
16901    <<"ABBBBC">> = iolist_to_binary(re:replace("ABBBBC","ab{4,5}?bc","TgOJWMyTNuK&rOFr\\1n",[caseless,
16902                                                                                                                                                                                                                   global])),
16903    ok.
16904run21() ->
16905    <<"DxABBCYABBCEhABBCISWH">> = iolist_to_binary(re:replace("ABBC","ab??bc","Dx\\1&Y&E\\1h\\1&ISWH",[caseless])),
16906    <<"DxABBCYABBCEhABBCISWH">> = iolist_to_binary(re:replace("ABBC","ab??bc","Dx\\1&Y&E\\1h\\1&ISWH",[caseless,
16907                                                                                                                                                                                                             global])),
16908    <<"Qw">> = iolist_to_binary(re:replace("ABC","ab??bc","Qw",[caseless])),
16909    <<"Qw">> = iolist_to_binary(re:replace("ABC","ab??bc","Qw",[caseless,
16910                                                                                                                                                               global])),
16911    <<"O">> = iolist_to_binary(re:replace("ABC","ab{0,1}?bc","O",[caseless])),
16912    <<"O">> = iolist_to_binary(re:replace("ABC","ab{0,1}?bc","O",[caseless,
16913                                                                                                                                                                     global])),
16914    <<"vABCwErLBABCFLQaOAoABCJPx">> = iolist_to_binary(re:replace("ABC","ab??c","v&wErLB\\1&FLQaOAo&JPx",[caseless])),
16915    <<"vABCwErLBABCFLQaOAoABCJPx">> = iolist_to_binary(re:replace("ABC","ab??c","v&wErLB\\1&FLQaOAo&JPx",[caseless,
16916                                                                                                                                                                                                         global])),
16917    <<"lphGtTIqlw">> = iolist_to_binary(re:replace("ABC","ab{0,1}?c","lph\\1GtTIqlw",[caseless])),
16918    <<"lphGtTIqlw">> = iolist_to_binary(re:replace("ABC","ab{0,1}?c","lph\\1GtTIqlw",[caseless,
16919                                                                                                                                                                                            global])),
16920    <<"Ubn">> = iolist_to_binary(re:replace("ABC","^abc$","Ubn",[caseless])),
16921    <<"Ubn">> = iolist_to_binary(re:replace("ABC","^abc$","Ubn",[caseless,
16922                                                                                                                                                                global])),
16923    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^abc$","&DcgWCx",[caseless])),
16924    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^abc$","&DcgWCx",[caseless,
16925                                                                                                                                                                                         global])),
16926    <<"ABBBBC">> = iolist_to_binary(re:replace("ABBBBC","^abc$","H",[caseless])),
16927    <<"ABBBBC">> = iolist_to_binary(re:replace("ABBBBC","^abc$","H",[caseless,
16928                                                                                                                                                                  global])),
16929    <<"ABCC">> = iolist_to_binary(re:replace("ABCC","^abc$","NmNp",[caseless])),
16930    <<"ABCC">> = iolist_to_binary(re:replace("ABCC","^abc$","NmNp",[caseless,
16931                                                                                                                                                                    global])),
16932    <<"ABCABCSTBJNuWABCfUXC">> = iolist_to_binary(re:replace("ABCC","^abc","&&STBJNu\\1W\\1&fUX",[caseless])),
16933    <<"ABCABCSTBJNuWABCfUXC">> = iolist_to_binary(re:replace("ABCC","^abc","&&STBJNu\\1W\\1&fUX",[caseless,
16934                                                                                                                                                                                                    global])),
16935    <<"Aotm">> = iolist_to_binary(re:replace("AABC","abc$","otm\\1",[caseless])),
16936    <<"Aotm">> = iolist_to_binary(re:replace("AABC","abc$","otm\\1",[caseless,
16937                                                                                                                                                                       global])),
16938    <<"wnRBtWpABC">> = iolist_to_binary(re:replace("ABC","^","\\1wnR\\1Bt\\1Wp",[caseless])),
16939    <<"wnRBtWpABC">> = iolist_to_binary(re:replace("ABC","^","\\1wnR\\1Bt\\1Wp",[caseless,
16940                                                                                                                                                                                    global])),
16941    <<"ABCcfCNQPaSTn">> = iolist_to_binary(re:replace("ABC","$","\\1\\1\\1cfCNQPaST\\1n",[caseless])),
16942    <<"ABCcfCNQPaSTn">> = iolist_to_binary(re:replace("ABC","$","\\1\\1\\1cfCNQPaST\\1n",[caseless,
16943                                                                                                                                                                                                  global])),
16944    <<"KqbIu">> = iolist_to_binary(re:replace("ABC","a.c","KqbIu\\1",[caseless])),
16945    <<"KqbIu">> = iolist_to_binary(re:replace("ABC","a.c","KqbIu\\1",[caseless,
16946                                                                                                                                                                      global])),
16947    <<"mSBBDWnWtWlJVLdWWAXC">> = iolist_to_binary(re:replace("AXC","a.c","mSBBDWnWtWlJVLdWW\\1&\\1",[caseless])),
16948    <<"mSBBDWnWtWlJVLdWWAXC">> = iolist_to_binary(re:replace("AXC","a.c","mSBBDWnWtWlJVLdWW\\1&\\1",[caseless,
16949                                                                                                                                                                                                        global])),
16950    <<"gIkgDqEBaPTmSAXYZC">> = iolist_to_binary(re:replace("AXYZC","a.*?c","gIkgDq\\1EBa\\1PTmS&",[caseless])),
16951    <<"gIkgDqEBaPTmSAXYZC">> = iolist_to_binary(re:replace("AXYZC","a.*?c","gIkgDq\\1EBa\\1PTmS&",[caseless,
16952                                                                                                                                                                                                        global])),
16953    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a.*c","Sg&&rIwBxW&MAd",[caseless])),
16954    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a.*c","Sg&&rIwBxW&MAd",[caseless,
16955                                                                                                                                                                                                      global])),
16956    <<"IkVJFLsCAABCqbiO">> = iolist_to_binary(re:replace("AABC","a.*c","\\1\\1IkVJFLsC\\1&qbiO",[caseless])),
16957    <<"IkVJFLsCAABCqbiO">> = iolist_to_binary(re:replace("AABC","a.*c","\\1\\1IkVJFLsC\\1&qbiO",[caseless,
16958                                                                                                                                                                                                         global])),
16959    <<"AXYZD">> = iolist_to_binary(re:replace("AXYZD","a.*c","&r",[caseless])),
16960    <<"AXYZD">> = iolist_to_binary(re:replace("AXYZD","a.*c","&r",[caseless,
16961                                                                                                                                                                global])),
16962    <<"mABDJFh">> = iolist_to_binary(re:replace("ABD","a[bc]d","m&J\\1\\1Fh",[caseless])),
16963    <<"mABDJFh">> = iolist_to_binary(re:replace("ABD","a[bc]d","m&J\\1\\1Fh",[caseless,
16964                                                                                                                                                                                    global])),
16965    <<"ysVqaiqxHWEb">> = iolist_to_binary(re:replace("ACE","a[b-d]e","ys\\1\\1Vqai\\1qx\\1HWEb",[caseless])),
16966    <<"ysVqaiqxHWEb">> = iolist_to_binary(re:replace("ACE","a[b-d]e","ys\\1\\1Vqai\\1qx\\1HWEb",[caseless,
16967                                                                                                                                                                                                                 global])),
16968    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[b-d]e","\\1eIyFD\\1",[caseless])),
16969    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[b-d]e","\\1eIyFD\\1",[caseless,
16970                                                                                                                                                                                                     global])),
16971    <<"ABC">> = iolist_to_binary(re:replace("ABC","a[b-d]e","UU&&GPw&AHE",[caseless])),
16972    <<"ABC">> = iolist_to_binary(re:replace("ABC","a[b-d]e","UU&&GPw&AHE",[caseless,
16973                                                                                                                                                                                      global])),
16974    <<"ABD">> = iolist_to_binary(re:replace("ABD","a[b-d]e","SKAyypUXUE\\1IHTdcqv&r",[caseless])),
16975    <<"ABD">> = iolist_to_binary(re:replace("ABD","a[b-d]e","SKAyypUXUE\\1IHTdcqv&r",[caseless,
16976                                                                                                                                                                                                           global])),
16977    <<"AqACkKluACPPACf">> = iolist_to_binary(re:replace("AAC","a[b-d]","q&kKlu&PP&f",[caseless])),
16978    <<"AqACkKluACPPACf">> = iolist_to_binary(re:replace("AAC","a[b-d]","q&kKlu&PP&f",[caseless,
16979                                                                                                                                                                                    global])),
16980    <<"A-Wnm">> = iolist_to_binary(re:replace("A-","a[-b]","&Wnm",[caseless])),
16981    <<"A-Wnm">> = iolist_to_binary(re:replace("A-","a[-b]","&Wnm",[caseless,
16982                                                                                                                                                                global])),
16983    <<"paPAAKruyA-Wwd">> = iolist_to_binary(re:replace("A-","a[b-]","paPAAKruy&Wwd",[caseless])),
16984    <<"paPAAKruyA-Wwd">> = iolist_to_binary(re:replace("A-","a[b-]","paPAAKruy&Wwd",[caseless,
16985                                                                                                                                                                                  global])),
16986    <<"ImJu">> = iolist_to_binary(re:replace("A]","a]","I\\1m\\1Ju",[caseless])),
16987    <<"ImJu">> = iolist_to_binary(re:replace("A]","a]","I\\1m\\1Ju",[caseless,
16988                                                                                                                                                                       global])),
16989    ok.
16990run22() ->
16991    <<"kdsETioUcshOFDldx">> = iolist_to_binary(re:replace("A]B","a[]]b","k\\1dsET\\1ioU\\1cshOFDldx",[caseless])),
16992    <<"kdsETioUcshOFDldx">> = iolist_to_binary(re:replace("A]B","a[]]b","k\\1dsET\\1ioU\\1cshOFDldx",[caseless,
16993                                                                                                                                                                                                                global])),
16994    <<"uv">> = iolist_to_binary(re:replace("AED","a[^bc]d","uv\\1",[caseless])),
16995    <<"uv">> = iolist_to_binary(re:replace("AED","a[^bc]d","uv\\1",[caseless,
16996                                                                                                                                                                        global])),
16997    <<"l">> = iolist_to_binary(re:replace("ADC","a[^-b]c","l",[caseless])),
16998    <<"l">> = iolist_to_binary(re:replace("ADC","a[^-b]c","l",[caseless,
16999                                                                                                                                                               global])),
17000    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[^-b]c","vyfP\\1yX\\1onrR&f\\1\\1J&",[caseless])),
17001    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a[^-b]c","vyfP\\1yX\\1onrR&f\\1\\1J&",[caseless,
17002                                                                                                                                                                                                                                       global])),
17003    <<"ABD">> = iolist_to_binary(re:replace("ABD","a[^-b]c","gE&RxnGk&&\\1\\1mK",[caseless])),
17004    <<"ABD">> = iolist_to_binary(re:replace("ABD","a[^-b]c","gE&RxnGk&&\\1\\1mK",[caseless,
17005                                                                                                                                                                                                      global])),
17006    <<"A-C">> = iolist_to_binary(re:replace("A-C","a[^-b]c","xJw&DKvLJC",[caseless])),
17007    <<"A-C">> = iolist_to_binary(re:replace("A-C","a[^-b]c","xJw&DKvLJC",[caseless,
17008                                                                                                                                                                                  global])),
17009    <<"gm">> = iolist_to_binary(re:replace("ADC","a[^]b]c","gm",[caseless])),
17010    <<"gm">> = iolist_to_binary(re:replace("ADC","a[^]b]c","gm",[caseless,
17011                                                                                                                                                                 global])),
17012    <<"RrLABABABUVLUehwC">> = iolist_to_binary(re:replace("ABC","ab|cd","RrL\\1&&&UVLUehw",[caseless])),
17013    <<"RrLABABABUVLUehwC">> = iolist_to_binary(re:replace("ABC","ab|cd","RrL\\1&&&UVLUehw",[caseless,
17014                                                                                                                                                                                             global])),
17015    <<"giABOABABqXGgxFhABdprogCD">> = iolist_to_binary(re:replace("ABCD","ab|cd","gi&O&&qXGgxFh&dprog",[caseless])),
17016    <<"giABOABABqXGgxFhABdproggiCDOCDCDqXGgxFhCDdprog">> = iolist_to_binary(re:replace("ABCD","ab|cd","gi&O&&qXGgxFh&dprog",[caseless,
17017                                                                                                                                                                                                     global])),
17018    <<"DqEFRtXCOkEFdCHWAxqmEF">> = iolist_to_binary(re:replace("DEF","()ef","q&Rt\\1XCOk&dCHWAxqm&",[caseless])),
17019    <<"DqEFRtXCOkEFdCHWAxqmEF">> = iolist_to_binary(re:replace("DEF","()ef","q&Rt\\1XCOk&dCHWAxqm&",[caseless,
17020                                                                                                                                                                                                     global])),
17021    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","$b","e&y",[caseless])),
17022    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","$b","e&y",[caseless,
17023                                                                                                                                                                            global])),
17024    <<"A]C">> = iolist_to_binary(re:replace("A]C","$b","Mu&NYopF&e\\1u",[caseless])),
17025    <<"A]C">> = iolist_to_binary(re:replace("A]C","$b","Mu&NYopF&e\\1u",[caseless,
17026                                                                                                                                                                                    global])),
17027    <<"B">> = iolist_to_binary(re:replace("B","$b","PgdiGyTFyntpg\\1",[caseless])),
17028    <<"B">> = iolist_to_binary(re:replace("B","$b","PgdiGyTFyntpg\\1",[caseless,
17029                                                                                                                                                                                  global])),
17030    <<"h">> = iolist_to_binary(re:replace("A(B","a\\(b","h",[caseless])),
17031    <<"h">> = iolist_to_binary(re:replace("A(B","a\\(b","h",[caseless,
17032                                                                                                                                                            global])),
17033    <<"UwxbpwNvAsyQI">> = iolist_to_binary(re:replace("AB","a\\(*b","\\1UwxbpwNvAsyQI",[caseless])),
17034    <<"UwxbpwNvAsyQI">> = iolist_to_binary(re:replace("AB","a\\(*b","\\1UwxbpwNvAsyQI",[caseless,
17035                                                                                                                                                                                           global])),
17036    <<"M">> = iolist_to_binary(re:replace("A((B","a\\(*b","M",[caseless])),
17037    <<"M">> = iolist_to_binary(re:replace("A((B","a\\(*b","M",[caseless,
17038                                                                                                                                                                global])),
17039    <<"A">> = iolist_to_binary(re:replace("A","a\\\\b","h&t",[caseless,
17040                                                                                                                                                               notbol])),
17041    <<"A">> = iolist_to_binary(re:replace("A","a\\\\b","h&t",[caseless,
17042                                                                                                                                                                notbol,
17043                                                                                                                                                                global])),
17044    <<"vMPmAAlHguqIoSmcuudIBC">> = iolist_to_binary(re:replace("ABC","((a))","vMPm\\1&lHguqIoSmcuudI",[caseless])),
17045    <<"vMPmAAlHguqIoSmcuudIBC">> = iolist_to_binary(re:replace("ABC","((a))","vMPm\\1&lHguqIoSmcuudI",[caseless,
17046                                                                                                                                                                                                       global])),
17047    <<"RhLw">> = iolist_to_binary(re:replace("ABC","(a)b(c)","RhLw",[caseless])),
17048    <<"RhLw">> = iolist_to_binary(re:replace("ABC","(a)b(c)","RhLw",[caseless,
17049                                                                                                                                                                     global])),
17050    <<"AABBABCJqvleABCABCoABCmABCFUTm">> = iolist_to_binary(re:replace("AABBABC","a+b+c","&Jqvle\\1&&o&m&FUTm",[caseless])),
17051    <<"AABBABCJqvleABCABCoABCmABCFUTm">> = iolist_to_binary(re:replace("AABBABC","a+b+c","&Jqvle\\1&&o&m&FUTm",[caseless,
17052                                                                                                                                                                                                             global])),
17053    <<"AABBac">> = iolist_to_binary(re:replace("AABBABC","a{1,}b{1,}c","ac",[caseless])),
17054    <<"AABBac">> = iolist_to_binary(re:replace("AABBABC","a{1,}b{1,}c","ac",[caseless,
17055                                                                                                                                                                                 global])),
17056    <<"OABC">> = iolist_to_binary(re:replace("ABCABC","a.+?c","O",[caseless])),
17057    <<"OO">> = iolist_to_binary(re:replace("ABCABC","a.+?c","O",[caseless,
17058                                                                                                                                                                 global])),
17059    <<"scmlABC">> = iolist_to_binary(re:replace("ABCABC","a.*?c","scml",[caseless])),
17060    <<"scmlscml">> = iolist_to_binary(re:replace("ABCABC","a.*?c","scml",[caseless,
17061                                                                                                                                                                       global])),
17062    <<"lPmBjogUPNEABC">> = iolist_to_binary(re:replace("ABCABC","a.{0,5}?c","lPmB\\1jogUPNE\\1",[caseless])),
17063    <<"lPmBjogUPNElPmBjogUPNE">> = iolist_to_binary(re:replace("ABCABC","a.{0,5}?c","lPmB\\1jogUPNE\\1",[caseless,
17064                                                                                                                                                                                                           global])),
17065    <<"lytYeABWABABFmABccWBV">> = iolist_to_binary(re:replace("AB","(a+|b)*","lytYe&W&&Fm&ccW\\1V",[caseless])),
17066    <<"lytYeABWABABFmABccWBVlytYeWFmccWV">> = iolist_to_binary(re:replace("AB","(a+|b)*","lytYe&W&&Fm&ccW\\1V",[caseless,
17067                                                                                                                                                                                                      global])),
17068    <<"BBq">> = iolist_to_binary(re:replace("AB","(a+|b){0,}","\\1\\1q",[caseless])),
17069    <<"BBqq">> = iolist_to_binary(re:replace("AB","(a+|b){0,}","\\1\\1q",[caseless,
17070                                                                                                                                                                                 global])),
17071    <<"xBPvBwqaXlIBysBBNnQs">> = iolist_to_binary(re:replace("AB","(a+|b)+","x\\1Pv\\1wqaXlIBys\\1BNnQs",[caseless])),
17072    <<"xBPvBwqaXlIBysBBNnQs">> = iolist_to_binary(re:replace("AB","(a+|b)+","x\\1Pv\\1wqaXlIBys\\1BNnQs",[caseless,
17073                                                                                                                                                                                                                  global])),
17074    ok.
17075run23() ->
17076    <<"vJrBABXpcvqi">> = iolist_to_binary(re:replace("AB","(a+|b){1,}","vJr\\1&Xpcvqi",[caseless])),
17077    <<"vJrBABXpcvqi">> = iolist_to_binary(re:replace("AB","(a+|b){1,}","vJr\\1&Xpcvqi",[caseless,
17078                                                                                                                                                                                             global])),
17079    <<"hAKhhwB">> = iolist_to_binary(re:replace("AB","(a+|b)?","h&Khhw",[caseless])),
17080    <<"hAKhhwhBKhhwhKhhw">> = iolist_to_binary(re:replace("AB","(a+|b)?","h&Khhw",[caseless,
17081                                                                                                                                                                        global])),
17082    <<"rfOTAksYhKEDAAKAoWuB">> = iolist_to_binary(re:replace("AB","(a+|b){0,1}","rfOT\\1ksYhKED&&K\\1oWu",[caseless])),
17083    <<"rfOTAksYhKEDAAKAoWurfOTBksYhKEDBBKBoWurfOTksYhKEDKoWu">> = iolist_to_binary(re:replace("AB","(a+|b){0,1}","rfOT\\1ksYhKED&&K\\1oWu",[caseless,
17084                                                                                                                                                                                                                     global])),
17085    <<"MGbpmvAB">> = iolist_to_binary(re:replace("AB","(a+|b){0,1}?","\\1MGbpmv",[caseless])),
17086    <<"MGbpmvAMGbpmvMGbpmvBMGbpmvMGbpmv">> = iolist_to_binary(re:replace("AB","(a+|b){0,1}?","\\1MGbpmv",[caseless,
17087                                                                                                                                                                                        global])),
17088    <<"udAFEstNiUeKkd">> = iolist_to_binary(re:replace("CDE","[^ab]*","udAFEstNiUeKkd",[caseless])),
17089    <<"udAFEstNiUeKkdudAFEstNiUeKkd">> = iolist_to_binary(re:replace("CDE","[^ab]*","udAFEstNiUeKkd",[caseless,
17090                                                                                                                                                                                       global])),
17091    <<"ABBBCDvDABBBCDABBBCDGllMCdwv">> = iolist_to_binary(re:replace("ABBBCD","([abc])*d","&vD&&GllMCdwv",[caseless])),
17092    <<"ABBBCDvDABBBCDABBBCDGllMCdwv">> = iolist_to_binary(re:replace("ABBBCD","([abc])*d","&vD&&GllMCdwv",[caseless,
17093                                                                                                                                                                                                    global])),
17094    <<"SAABCDbA">> = iolist_to_binary(re:replace("ABCD","([abc])*bcd","S\\1&b\\1",[caseless])),
17095    <<"SAABCDbA">> = iolist_to_binary(re:replace("ABCD","([abc])*bcd","S\\1&b\\1",[caseless,
17096                                                                                                                                                                                            global])),
17097    <<"COkGEqEpREwm">> = iolist_to_binary(re:replace("E","a|b|c|d|e","COkG&q&pR&wm\\1",[caseless])),
17098    <<"COkGEqEpREwm">> = iolist_to_binary(re:replace("E","a|b|c|d|e","COkG&q&pR&wm\\1",[caseless,
17099                                                                                                                                                                                               global])),
17100    <<"EFEYUF">> = iolist_to_binary(re:replace("EF","(a|b|c|d|e)f","&\\1YUF",[caseless])),
17101    <<"EFEYUF">> = iolist_to_binary(re:replace("EF","(a|b|c|d|e)f","&\\1YUF",[caseless,
17102                                                                                                                                                                                     global])),
17103    <<"keABCDEFGn">> = iolist_to_binary(re:replace("ABCDEFG","abcd*efg","\\1ke&n",[caseless])),
17104    <<"keABCDEFGn">> = iolist_to_binary(re:replace("ABCDEFG","abcd*efg","\\1ke&n",[caseless,
17105                                                                                                                                                                                       global])),
17106    <<"XTpYABBBZ">> = iolist_to_binary(re:replace("XABYABBBZ","ab*","Tp",[caseless])),
17107    <<"XTpYTpZ">> = iolist_to_binary(re:replace("XABYABBBZ","ab*","Tp",[caseless,
17108                                                                                                                                                                     global])),
17109    <<"XcWRYABBBZ">> = iolist_to_binary(re:replace("XAYABBBZ","ab*","cWR\\1",[caseless])),
17110    <<"XcWRYcWRZ">> = iolist_to_binary(re:replace("XAYABBBZ","ab*","cWR\\1",[caseless,
17111                                                                                                                                                                            global])),
17112    <<"ABICDg">> = iolist_to_binary(re:replace("ABCDE","(ab|cd)e","I\\1g",[caseless])),
17113    <<"ABICDg">> = iolist_to_binary(re:replace("ABCDE","(ab|cd)e","I\\1g",[caseless,
17114                                                                                                                                                                              global])),
17115    <<"HIJe">> = iolist_to_binary(re:replace("HIJ","[abhgefdc]ij","&\\1e",[caseless])),
17116    <<"HIJe">> = iolist_to_binary(re:replace("HIJ","[abhgefdc]ij","&\\1e",[caseless,
17117                                                                                                                                                                                   global])),
17118    <<"ABCDE">> = iolist_to_binary(re:replace("ABCDE","^(ab|cd)e","YHPf",[caseless])),
17119    <<"ABCDE">> = iolist_to_binary(re:replace("ABCDE","^(ab|cd)e","YHPf",[caseless,
17120                                                                                                                                                                             global])),
17121    <<"ABCDqDYnUXHWSlxXQRHVxU">> = iolist_to_binary(re:replace("ABCDEF","(abc|)ef","qDYnUXHWSlxXQRHVxU\\1",[caseless])),
17122    <<"ABCDqDYnUXHWSlxXQRHVxU">> = iolist_to_binary(re:replace("ABCDEF","(abc|)ef","qDYnUXHWSlxXQRHVxU\\1",[caseless,
17123                                                                                                                                                                                                                global])),
17124    <<"ApMu">> = iolist_to_binary(re:replace("ABCD","(a|b)c*d","pMu",[caseless])),
17125    <<"ApMu">> = iolist_to_binary(re:replace("ABCD","(a|b)c*d","pMu",[caseless,
17126                                                                                                                                                                       global])),
17127    <<"ntLDenfA">> = iolist_to_binary(re:replace("ABC","(ab|ab*)bc","ntLDenf\\1",[caseless])),
17128    <<"ntLDenfA">> = iolist_to_binary(re:replace("ABC","(ab|ab*)bc","ntLDenf\\1",[caseless,
17129                                                                                                                                                                                        global])),
17130    <<"kBC">> = iolist_to_binary(re:replace("ABC","a([bc]*)c*","k\\1",[caseless])),
17131    <<"kBC">> = iolist_to_binary(re:replace("ABC","a([bc]*)c*","k\\1",[caseless,
17132                                                                                                                                                                            global])),
17133    ok.
17134run24() ->
17135    <<"dDECvKABCDBCABCDKBC">> = iolist_to_binary(re:replace("ABCD","a([bc]*)(c*d)","dDECvK&\\1&K\\1",[caseless])),
17136    <<"dDECvKABCDBCABCDKBC">> = iolist_to_binary(re:replace("ABCD","a([bc]*)(c*d)","dDECvK&\\1&K\\1",[caseless,
17137                                                                                                                                                                                                             global])),
17138    <<"BCVkXABCDROnLhn">> = iolist_to_binary(re:replace("ABCD","a([bc]+)(c*d)","\\1VkX&ROnLhn",[caseless])),
17139    <<"BCVkXABCDROnLhn">> = iolist_to_binary(re:replace("ABCD","a([bc]+)(c*d)","\\1VkX&ROnLhn",[caseless,
17140                                                                                                                                                                                                       global])),
17141    <<"sABCDfIigwcUBfcAtBAdBd">> = iolist_to_binary(re:replace("ABCD","a([bc]*)(c+d)","s&fIigwcU\\1fcAt\\1Ad\\1d",[caseless])),
17142    <<"sABCDfIigwcUBfcAtBAdBd">> = iolist_to_binary(re:replace("ABCD","a([bc]*)(c+d)","s&fIigwcU\\1fcAt\\1Ad\\1d",[caseless,
17143                                                                                                                                                                                                                                 global])),
17144    <<"wkVJSCADCDCDEbeusn">> = iolist_to_binary(re:replace("ADCDCDE","a[bcd]*dcdcde","w\\1kVJSC&beus\\1\\1n",[caseless])),
17145    <<"wkVJSCADCDCDEbeusn">> = iolist_to_binary(re:replace("ADCDCDE","a[bcd]*dcdcde","w\\1kVJSC&beus\\1\\1n",[caseless,
17146                                                                                                                                                                                                                               global])),
17147    <<"fIEmgxyABXgAmoxnNTABCb">> = iolist_to_binary(re:replace("ABC","(ab|a)b*c","fIEmgxy\\1XgAmoxnNT&b",[caseless])),
17148    <<"fIEmgxyABXgAmoxnNTABCb">> = iolist_to_binary(re:replace("ABC","(ab|a)b*c","fIEmgxy\\1XgAmoxnNT&b",[caseless,
17149                                                                                                                                                                                                             global])),
17150    <<"YSwweMKEtREGmRxABCEp">> = iolist_to_binary(re:replace("ABCD","((a)(b)c)(d)","YSwweMKEtREGmRx\\1Ep",[caseless])),
17151    <<"YSwweMKEtREGmRxABCEp">> = iolist_to_binary(re:replace("ABCD","((a)(b)c)(d)","YSwweMKEtREGmRx\\1Ep",[caseless,
17152                                                                                                                                                                                                                  global])),
17153    <<"JMWvNALPHAHEALPHAgTLgLgw">> = iolist_to_binary(re:replace("ALPHA","[a-zA-Z_][a-zA-Z0-9_]*","JMWvN&HE&\\1gTLgLgw",[caseless])),
17154    <<"JMWvNALPHAHEALPHAgTLgLgw">> = iolist_to_binary(re:replace("ALPHA","[a-zA-Z_][a-zA-Z0-9_]*","JMWvN&HE&\\1gTLgLgw",[caseless,
17155                                                                                                                                                                                                                                        global])),
17156    <<"ALoaDSHAABHcNcg">> = iolist_to_binary(re:replace("ABH","^a(bc+|b[eh])g|.h$","LoaDSHAA&c\\1Ncg",[caseless])),
17157    <<"ALoaDSHAABHcNcg">> = iolist_to_binary(re:replace("ABH","^a(bc+|b[eh])g|.h$","LoaDSHAA&c\\1Ncg",[caseless,
17158                                                                                                                                                                                                                      global])),
17159    <<"AWnYrnkPEFFGZ">> = iolist_to_binary(re:replace("EFFGZ","(bc+d$|ef*g.|h?i(j|k))","AWnYrnkP&",[caseless])),
17160    <<"AWnYrnkPEFFGZ">> = iolist_to_binary(re:replace("EFFGZ","(bc+d$|ef*g.|h?i(j|k))","AWnYrnkP&",[caseless,
17161                                                                                                                                                                                                                   global])),
17162    <<"iIJYPJxCXsht">> = iolist_to_binary(re:replace("IJ","(bc+d$|ef*g.|h?i(j|k))","i&YPJxCXsht",[caseless])),
17163    <<"iIJYPJxCXsht">> = iolist_to_binary(re:replace("IJ","(bc+d$|ef*g.|h?i(j|k))","i&YPJxCXsht",[caseless,
17164                                                                                                                                                                                                                 global])),
17165    <<"ROdSmgEnEFFGZbUEFFGZxEFFGZEFFGZjiEFFGZD">> = iolist_to_binary(re:replace("REFFGZ","(bc+d$|ef*g.|h?i(j|k))","OdSmgEn&bU&x&&ji\\1D",[caseless])),
17166    <<"ROdSmgEnEFFGZbUEFFGZxEFFGZEFFGZjiEFFGZD">> = iolist_to_binary(re:replace("REFFGZ","(bc+d$|ef*g.|h?i(j|k))","OdSmgEn&bU&x&&ji\\1D",[caseless,
17167                                                                                                                                                                                                                                               global])),
17168    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(bc+d$|ef*g.|h?i(j|k))","ITOSQR&JRMPdo",[caseless])),
17169    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(bc+d$|ef*g.|h?i(j|k))","ITOSQR&JRMPdo",[caseless,
17170                                                                                                                                                                                                                                       global])),
17171    <<"ADCDCDE">> = iolist_to_binary(re:replace("ADCDCDE","(bc+d$|ef*g.|h?i(j|k))","Vy&&ec&TLeQ",[caseless])),
17172    <<"ADCDCDE">> = iolist_to_binary(re:replace("ADCDCDE","(bc+d$|ef*g.|h?i(j|k))","Vy&&ec&TLeQ",[caseless,
17173                                                                                                                                                                                                                             global])),
17174    <<"EFFG">> = iolist_to_binary(re:replace("EFFG","(bc+d$|ef*g.|h?i(j|k))","PCmRtstvtrOjn",[caseless])),
17175    <<"EFFG">> = iolist_to_binary(re:replace("EFFG","(bc+d$|ef*g.|h?i(j|k))","PCmRtstvtrOjn",[caseless,
17176                                                                                                                                                                                                                        global])),
17177    <<"BCDD">> = iolist_to_binary(re:replace("BCDD","(bc+d$|ef*g.|h?i(j|k))","Sa\\1",[caseless])),
17178    <<"BCDD">> = iolist_to_binary(re:replace("BCDD","(bc+d$|ef*g.|h?i(j|k))","Sa\\1",[caseless,
17179                                                                                                                                                                                                         global])),
17180    <<"ApAYGkIxvjAQAXrHAAD">> = iolist_to_binary(re:replace("A","((((((((((a))))))))))","\\1p&YGkIxvjAQ&XrH\\1\\1D",[caseless])),
17181    <<"ApAYGkIxvjAQAXrHAAD">> = iolist_to_binary(re:replace("A","((((((((((a))))))))))","\\1p&YGkIxvjAQ&XrH\\1\\1D",[caseless,
17182                                                                                                                                                                                                                                            global])),
17183    <<"ggQ">> = iolist_to_binary(re:replace("AA","((((((((((a))))))))))\\10","ggQ",[caseless])),
17184    <<"ggQ">> = iolist_to_binary(re:replace("AA","((((((((((a))))))))))\\10","ggQ",[caseless,
17185                                                                                                                                                                                                      global])),
17186    <<"hdkAdxeeAQGHCDfdU">> = iolist_to_binary(re:replace("A","(((((((((a)))))))))","hdk\\1dxee\\1QGHCDfdU",[caseless])),
17187    <<"hdkAdxeeAQGHCDfdU">> = iolist_to_binary(re:replace("A","(((((((((a)))))))))","hdk\\1dxee\\1QGHCDfdU",[caseless,
17188                                                                                                                                                                                                                             global])),
17189    <<"fnjTAfWdAoA">> = iolist_to_binary(re:replace("A","(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))","fnjT\\1fWd\\1o&",[caseless])),
17190    <<"fnjTAfWdAoA">> = iolist_to_binary(re:replace("A","(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))","fnjT\\1fWd\\1o&",[caseless,
17191                                                                                                                                                                                                                                                          global])),
17192    <<"GqCEOfPIdb">> = iolist_to_binary(re:replace("C","(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))","Gq\\1EOfPIdb",[caseless])),
17193    <<"GqCEOfPIdb">> = iolist_to_binary(re:replace("C","(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))","Gq\\1EOfPIdb",[caseless,
17194                                                                                                                                                                                                                                                          global])),
17195    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","multiple words of text","Q&",[caseless])),
17196    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","multiple words of text","Q&",[caseless,
17197                                                                                                                                                                                                                global])),
17198    <<"AA">> = iolist_to_binary(re:replace("AA","multiple words of text","gEn\\1",[caseless])),
17199    <<"AA">> = iolist_to_binary(re:replace("AA","multiple words of text","gEn\\1",[caseless,
17200                                                                                                                                                                                                      global])),
17201    <<"UH-UH">> = iolist_to_binary(re:replace("UH-UH","multiple words of text","P\\1ls&muNytHsf",[caseless])),
17202    <<"UH-UH">> = iolist_to_binary(re:replace("UH-UH","multiple words of text","P\\1ls&muNytHsf",[caseless,
17203                                                                                                                                                                                                                               global])),
17204    <<"SJgPidMULTIPLE WORDS, YEAH">> = iolist_to_binary(re:replace("MULTIPLE WORDS, YEAH","multiple words","SJgPid&",[caseless])),
17205    <<"SJgPidMULTIPLE WORDS, YEAH">> = iolist_to_binary(re:replace("MULTIPLE WORDS, YEAH","multiple words","SJgPid&",[caseless,
17206                                                                                                                                                                                                                            global])),
17207    <<"NJFRwABCDEpl">> = iolist_to_binary(re:replace("ABCDE","(.*)c(.*)","NJFRw&pl",[caseless])),
17208    <<"NJFRwABCDEpl">> = iolist_to_binary(re:replace("ABCDE","(.*)c(.*)","NJFRw&pl",[caseless,
17209                                                                                                                                                                                      global])),
17210    <<"(A, B)E">> = iolist_to_binary(re:replace("(A, B)","\\((.*), (.*)\\)","&E",[caseless])),
17211    <<"(A, B)E">> = iolist_to_binary(re:replace("(A, B)","\\((.*), (.*)\\)","&E",[caseless,
17212                                                                                                                                                                                            global])),
17213    ok.
17214run25() ->
17215    <<"owcnsqyFeABCDEQABCD">> = iolist_to_binary(re:replace("ABCD","abcd","owcnsqyFe&EQ&",[caseless])),
17216    <<"owcnsqyFeABCDEQABCD">> = iolist_to_binary(re:replace("ABCD","abcd","owcnsqyFe&EQ&",[caseless,
17217                                                                                                                                                                                     global])),
17218    <<"ruKABCDABCDABCDjGNABCDoQdaABCDO">> = iolist_to_binary(re:replace("ABCD","a(bc)d","ruK&&&jGN&oQda&O",[caseless])),
17219    <<"ruKABCDABCDABCDjGNABCDoQdaABCDO">> = iolist_to_binary(re:replace("ABCD","a(bc)d","ruK&&&jGN&oQda&O",[caseless,
17220                                                                                                                                                                                                  global])),
17221    <<"NACWHMsODnACQCvNsAC">> = iolist_to_binary(re:replace("AC","a[-]?c","N&WHM\\1sODn&QCvN\\1s&",[caseless])),
17222    <<"NACWHMsODnACQCvNsAC">> = iolist_to_binary(re:replace("AC","a[-]?c","N&WHM\\1sODn&QCvN\\1s&",[caseless,
17223                                                                                                                                                                                                          global])),
17224    <<"sABCgQuaFABCh">> = iolist_to_binary(re:replace("ABCABC","(abc)\\1","s\\1gQuaF\\1h",[caseless])),
17225    <<"sABCgQuaFABCh">> = iolist_to_binary(re:replace("ABCABC","(abc)\\1","s\\1gQuaF\\1h",[caseless,
17226                                                                                                                                                                                                  global])),
17227    <<"lABCmSQABCABCaXJqwxUYswqABCABC">> = iolist_to_binary(re:replace("ABCABC","([a-c]*)\\1","l\\1mSQ&aXJqwxUYswq&",[caseless])),
17228    <<"lABCmSQABCABCaXJqwxUYswqABCABClmSQaXJqwxUYswq">> = iolist_to_binary(re:replace("ABCABC","([a-c]*)\\1","l\\1mSQ&aXJqwxUYswq&",[caseless,
17229                                                                                                                                                                                                                       global])),
17230    <<"abdSPadcRcbUkgXmcHGW">> = iolist_to_binary(re:replace("abad","a(?!b).","dSP&\\1cRcbUkgXmcHGW\\1",[])),
17231    <<"abdSPadcRcbUkgXmcHGW">> = iolist_to_binary(re:replace("abad","a(?!b).","dSP&\\1cRcbUkgXmcHGW\\1",[global])),
17232    <<"abIRqW">> = iolist_to_binary(re:replace("abad","a(?=d).","IRqW",[])),
17233    <<"abIRqW">> = iolist_to_binary(re:replace("abad","a(?=d).","IRqW",[global])),
17234    <<"abykWXvthadUfKUlbLTp">> = iolist_to_binary(re:replace("abad","a(?=c|d).","y\\1kWXv\\1th&UfKUlbLTp",[])),
17235    <<"abykWXvthadUfKUlbLTp">> = iolist_to_binary(re:replace("abad","a(?=c|d).","y\\1kWXv\\1th&UfKUlbLTp",[global])),
17236    <<"pelUw">> = iolist_to_binary(re:replace("ace","a(?:b|c|d)(.)","pelUw",[])),
17237    <<"pelUw">> = iolist_to_binary(re:replace("ace","a(?:b|c|d)(.)","pelUw",[global])),
17238    <<"cfhcWSNABYeNMLh">> = iolist_to_binary(re:replace("ace","a(?:b|c|d)*(.)","cfhcWSNABY\\1NMLh",[])),
17239    <<"cfhcWSNABYeNMLh">> = iolist_to_binary(re:replace("ace","a(?:b|c|d)*(.)","cfhcWSNABY\\1NMLh",[global])),
17240    <<"etfeq">> = iolist_to_binary(re:replace("ace","a(?:b|c|d)+?(.)","\\1tf\\1q",[])),
17241    <<"etfeq">> = iolist_to_binary(re:replace("ace","a(?:b|c|d)+?(.)","\\1tf\\1q",[global])),
17242    <<"acdOEfbcdbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d)+?(.)","&OEf",[])),
17243    <<"acdOEfbcdbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d)+?(.)","&OEf",[global])),
17244    <<"Vmfyu">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d)+(.)","Vmfyu",[])),
17245    <<"Vmfyu">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d)+(.)","Vmfyu",[global])),
17246    <<"FIbbMUVjTEcdbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){2}(.)","FI\\1\\1MUVjTE",[])),
17247    <<"FIbbMUVjTEcdbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){2}(.)","FI\\1\\1MUVjTE",[global])),
17248    <<"eicDcYacdbcdboLhMacdbcdbacdbcdbKRqe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){4,5}(.)","eicDcY&oLhM&&KRq",[])),
17249    <<"eicDcYacdbcdboLhMacdbcdbacdbcdbKRqe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){4,5}(.)","eicDcY&oLhM&&KRq",[global])),
17250    <<"acdbcdqsacdbcdrbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){4,5}?(.)","&qs&r",[])),
17251    <<"acdbcdqsacdbcdrbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){4,5}?(.)","&qs&r",[global])),
17252    <<"barbarOSJfoobar">> = iolist_to_binary(re:replace("foobar","((foo)|(bar))*","\\1\\1OSJ&",[])),
17253    <<"barbarOSJfoobarOSJ">> = iolist_to_binary(re:replace("foobar","((foo)|(bar))*","\\1\\1OSJ&",[global])),
17254    <<"HYIAacdbcdbeeRhacdbcdbeacdbcdbeacdbcdbeGQ">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){6,7}(.)","HYIA&\\1Rh&&&GQ",[])),
17255    <<"HYIAacdbcdbeeRhacdbcdbeacdbcdbeacdbcdbeGQ">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){6,7}(.)","HYIA&\\1Rh&&&GQ",[global])),
17256    <<"eacdbcdbeBcQacdbcdbewOmacdbcdbeacdbcdbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){6,7}?(.)","\\1&BcQ&wOm&&",[])),
17257    <<"eacdbcdbeBcQacdbcdbewOmacdbcdbeacdbcdbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){6,7}?(.)","\\1&BcQ&wOm&&",[global])),
17258    <<"xacdbcdbeN">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){5,6}(.)","x&N",[])),
17259    <<"xacdbcdbeN">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){5,6}(.)","x&N",[global])),
17260    <<"bWxPOAbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){5,6}?(.)","\\1WxPOA\\1",[])),
17261    <<"bWxPOAbe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){5,6}?(.)","\\1WxPOA\\1",[global])),
17262    ok.
17263run26() ->
17264    <<"DJeLeA">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){5,7}(.)","DJ\\1LeA",[])),
17265    <<"DJeLeA">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){5,7}(.)","DJ\\1LeA",[global])),
17266    <<"qinMoe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){5,7}?(.)","qinMo",[])),
17267    <<"qinMoe">> = iolist_to_binary(re:replace("acdbcdbe","a(?:b|c|d){5,7}?(.)","qinMo",[global])),
17268    <<"acecXdaceaKTrIIqhpiWP">> = iolist_to_binary(re:replace("ace","a(?:b|(c|e){1,2}?|d)+?(.)","&\\1Xd&aKTrIIqhpiWP",[])),
17269    <<"acecXdaceaKTrIIqhpiWP">> = iolist_to_binary(re:replace("ace","a(?:b|(c|e){1,2}?|d)+?(.)","&\\1Xd&aKTrIIqhpiWP",[global])),
17270    <<"CiaeiABbFyjW">> = iolist_to_binary(re:replace("AB","^(.+)?B","Ciaei&bFyjW",[])),
17271    <<"CiaeiABbFyjW">> = iolist_to_binary(re:replace("AB","^(.+)?B","Ciaei&bFyjW",[global])),
17272    <<"..Ch.IWXxoeCE">> = iolist_to_binary(re:replace(".","^([^a-z])|(\\^)$","\\1&Ch&IWXxoeCE",[])),
17273    <<"..Ch.IWXxoeCE">> = iolist_to_binary(re:replace(".","^([^a-z])|(\\^)$","\\1&Ch&IWXxoeCE",[global])),
17274    <<"<&<&tOUT">> = iolist_to_binary(re:replace("<&OUT","^[<>]&","&&t",[])),
17275    <<"<&<&tOUT">> = iolist_to_binary(re:replace("<&OUT","^[<>]&","&&t",[global])),
17276    <<"Paaaaaaaaaaw">> = iolist_to_binary(re:replace("aaaaaaaaaa","^(a\\1?){4}$","P&w",[])),
17277    <<"Paaaaaaaaaaw">> = iolist_to_binary(re:replace("aaaaaaaaaa","^(a\\1?){4}$","P&w",[global])),
17278    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a\\1?){4}$","&jEcxWNe",[])),
17279    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a\\1?){4}$","&jEcxWNe",[global])),
17280    <<"AB">> = iolist_to_binary(re:replace("AB","^(a\\1?){4}$","&QByhvIPMdVCvMAk",[])),
17281    <<"AB">> = iolist_to_binary(re:replace("AB","^(a\\1?){4}$","&QByhvIPMdVCvMAk",[global])),
17282    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a\\1?){4}$","LKyhXCAKO&fKp&",[])),
17283    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a\\1?){4}$","LKyhXCAKO&fKp&",[global])),
17284    <<"aaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaa","^(a\\1?){4}$","PktYBS",[])),
17285    <<"aaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaa","^(a\\1?){4}$","PktYBS",[global])),
17286    <<"aaaaaaaaaaLaaaaaaaaaaaaaaaaaaaaAB">> = iolist_to_binary(re:replace("aaaaaaaaaa","^(a(?(1)\\1)){4}$","&L&&AB",[])),
17287    <<"aaaaaaaaaaLaaaaaaaaaaaaaaaaaaaaAB">> = iolist_to_binary(re:replace("aaaaaaaaaa","^(a(?(1)\\1)){4}$","&L&&AB",[global])),
17288    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a(?(1)\\1)){4}$","&NExLuXAoRv",[])),
17289    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a(?(1)\\1)){4}$","&NExLuXAoRv",[global])),
17290    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a(?(1)\\1)){4}$","TNhbF",[])),
17291    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a(?(1)\\1)){4}$","TNhbF",[global])),
17292    <<"aaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaa","^(a(?(1)\\1)){4}$","Nc\\1&GIjjbuiMOSVl",[])),
17293    <<"aaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaa","^(a(?(1)\\1)){4}$","Nc\\1&GIjjbuiMOSVl",[global])),
17294    <<"OO">> = iolist_to_binary(re:replace("foobar","(?:(f)(o)(o)|(b)(a)(r))*","OO",[])),
17295    <<"OOOO">> = iolist_to_binary(re:replace("foobar","(?:(f)(o)(o)|(b)(a)(r))*","OO",[global])),
17296    <<"aOVOqSRYFwv">> = iolist_to_binary(re:replace("ab","(?<=a)b","OVOqSRYFwv",[])),
17297    <<"aOVOqSRYFwv">> = iolist_to_binary(re:replace("ab","(?<=a)b","OVOqSRYFwv",[global])),
17298    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=a)b","fIH\\1c\\1A\\1&&sdSLy",[])),
17299    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=a)b","fIH\\1c\\1A\\1&&sdSLy",[global])),
17300    <<"cb">> = iolist_to_binary(re:replace("cb","(?<=a)b","ncyI",[])),
17301    <<"cb">> = iolist_to_binary(re:replace("cb","(?<=a)b","ncyI",[global])),
17302    <<"b">> = iolist_to_binary(re:replace("b","(?<=a)b","suOoPj&\\1M",[])),
17303    <<"b">> = iolist_to_binary(re:replace("b","(?<=a)b","suOoPj&\\1M",[global])),
17304    <<"abriAFAbbvRIl">> = iolist_to_binary(re:replace("ab","(?<!c)b","&riAFA&&vR\\1Il",[])),
17305    <<"abriAFAbbvRIl">> = iolist_to_binary(re:replace("ab","(?<!c)b","&riAFA&&vR\\1Il",[global])),
17306    <<"oBIIxbHJbHrNT">> = iolist_to_binary(re:replace("b","(?<!c)b","oBIIx&HJ&H\\1rNT",[])),
17307    <<"oBIIxbHJbHrNT">> = iolist_to_binary(re:replace("b","(?<!c)b","oBIIx&HJ&H\\1rNT",[global])),
17308    <<"wWbIuHcu">> = iolist_to_binary(re:replace("b","(?<!c)b","wWbIuHcu",[])),
17309    <<"wWbIuHcu">> = iolist_to_binary(re:replace("b","(?<!c)b","wWbIuHcu",[global])),
17310    <<"abaNabaabaaba">> = iolist_to_binary(re:replace("aba","(?:..)*a","&N&&&",[])),
17311    <<"abaNabaabaaba">> = iolist_to_binary(re:replace("aba","(?:..)*a","&N&&&",[global])),
17312    <<"dmba">> = iolist_to_binary(re:replace("aba","(?:..)*?a","d\\1m",[])),
17313    <<"dmbdm">> = iolist_to_binary(re:replace("aba","(?:..)*?a","d\\1m",[global])),
17314    <<"Ywc">> = iolist_to_binary(re:replace("abc","^(?:b|a(?=(.)))*\\1","Yw",[])),
17315    <<"Ywc">> = iolist_to_binary(re:replace("abc","^(?:b|a(?=(.)))*\\1","Yw",[global])),
17316    <<"mwetmXoabc">> = iolist_to_binary(re:replace("abc","^(){3,5}","mwet\\1mXo",[])),
17317    <<"mwetmXoabc">> = iolist_to_binary(re:replace("abc","^(){3,5}","mwet\\1mXo",[global])),
17318    <<"agaYaDwEIxdcATaajdie">> = iolist_to_binary(re:replace("aax","^(a+)*ax","\\1g\\1Y\\1DwEIxdcAT\\1\\1jdie",[])),
17319    <<"agaYaDwEIxdcATaajdie">> = iolist_to_binary(re:replace("aax","^(a+)*ax","\\1g\\1Y\\1DwEIxdcAT\\1\\1jdie",[global])),
17320    <<"oOs">> = iolist_to_binary(re:replace("aax","^((a|b)+)*ax","oOs",[])),
17321    <<"oOs">> = iolist_to_binary(re:replace("aax","^((a|b)+)*ax","oOs",[global])),
17322    <<"XhaaxEdaassqaxiHJabBaK">> = iolist_to_binary(re:replace("aax","^((a|bc)+)*ax","Xh&Ed\\1\\1ssq\\1xiHJ\\1bB\\1K",[])),
17323    <<"XhaaxEdaassqaxiHJabBaK">> = iolist_to_binary(re:replace("aax","^((a|bc)+)*ax","Xh&Ed\\1\\1ssq\\1xiHJ\\1bB\\1K",[global])),
17324    <<"cXkxsSHRksqVJf">> = iolist_to_binary(re:replace("cab","(a|x)*ab","XkxsSHRk\\1sqVJf",[])),
17325    <<"cXkxsSHRksqVJf">> = iolist_to_binary(re:replace("cab","(a|x)*ab","XkxsSHRk\\1sqVJf",[global])),
17326    <<"cTOrWuaboDtjqjUj">> = iolist_to_binary(re:replace("cab","(a)*ab","TOrWu\\1&o\\1D\\1tjqjUj\\1\\1\\1",[])),
17327    <<"cTOrWuaboDtjqjUj">> = iolist_to_binary(re:replace("cab","(a)*ab","TOrWu\\1&o\\1D\\1tjqjUj\\1\\1\\1",[global])),
17328    ok.
17329run27() ->
17330    <<"itod">> = iolist_to_binary(re:replace("ab","(?:(?i)a)b","itod",[])),
17331    <<"itod">> = iolist_to_binary(re:replace("ab","(?:(?i)a)b","itod",[global])),
17332    <<"WjabMNVeskabFabMkNj">> = iolist_to_binary(re:replace("ab","((?i)a)b","Wj&MNVesk&F&MkNj",[])),
17333    <<"WjabMNVeskabFabMkNj">> = iolist_to_binary(re:replace("ab","((?i)a)b","Wj&MNVesk&F&MkNj",[global])),
17334    <<"K">> = iolist_to_binary(re:replace("Ab","(?:(?i)a)b","K\\1",[])),
17335    <<"K">> = iolist_to_binary(re:replace("Ab","(?:(?i)a)b","K\\1",[global])),
17336    <<"KAbmpSqMJmrScTHEHA">> = iolist_to_binary(re:replace("Ab","((?i)a)b","K&mpSqMJmrScTHEH\\1",[])),
17337    <<"KAbmpSqMJmrScTHEHA">> = iolist_to_binary(re:replace("Ab","((?i)a)b","K&mpSqMJmrScTHEH\\1",[global])),
17338    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(?i)a)b","jONwRrcyS&bFO",[])),
17339    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(?i)a)b","jONwRrcyS&bFO",[global])),
17340    <<"cb">> = iolist_to_binary(re:replace("cb","(?:(?i)a)b","DIfuf&vF\\1&o&yYq",[])),
17341    <<"cb">> = iolist_to_binary(re:replace("cb","(?:(?i)a)b","DIfuf&vF\\1&o&yYq",[global])),
17342    <<"aB">> = iolist_to_binary(re:replace("aB","(?:(?i)a)b","\\1\\1ntgcmKqp",[])),
17343    <<"aB">> = iolist_to_binary(re:replace("aB","(?:(?i)a)b","\\1\\1ntgcmKqp",[global])),
17344    <<"jI">> = iolist_to_binary(re:replace("ab","(?i:a)b","jI",[])),
17345    <<"jI">> = iolist_to_binary(re:replace("ab","(?i:a)b","jI",[global])),
17346    <<"bVgmsFMa">> = iolist_to_binary(re:replace("ab","((?i:a))b","bVgmsFMa",[])),
17347    <<"bVgmsFMa">> = iolist_to_binary(re:replace("ab","((?i:a))b","bVgmsFMa",[global])),
17348    <<"cEcAlebAbOIAbmOu">> = iolist_to_binary(re:replace("Ab","(?i:a)b","cEcAl\\1eb\\1&OI&\\1mOu",[])),
17349    <<"cEcAlebAbOIAbmOu">> = iolist_to_binary(re:replace("Ab","(?i:a)b","cEcAl\\1eb\\1&OI&\\1mOu",[global])),
17350    <<"hA">> = iolist_to_binary(re:replace("Ab","((?i:a))b","h\\1",[])),
17351    <<"hA">> = iolist_to_binary(re:replace("Ab","((?i:a))b","h\\1",[global])),
17352    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?i:a)b","ip",[])),
17353    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?i:a)b","ip",[global])),
17354    <<"aB">> = iolist_to_binary(re:replace("aB","(?i:a)b","\\1pL",[])),
17355    <<"aB">> = iolist_to_binary(re:replace("aB","(?i:a)b","\\1pL",[global])),
17356    <<"aB">> = iolist_to_binary(re:replace("aB","(?i:a)b","qL&OvIX\\1G&&rRe&x\\1o\\1",[])),
17357    <<"aB">> = iolist_to_binary(re:replace("aB","(?i:a)b","qL&OvIX\\1G&&rRe&x\\1o\\1",[global])),
17358    <<"RsYIqopkaabwdwdgKabT">> = iolist_to_binary(re:replace("ab","(?:(?-i)a)b","RsYIqopka&\\1wdwdgK&T",[caseless])),
17359    <<"RsYIqopkaabwdwdgKabT">> = iolist_to_binary(re:replace("ab","(?:(?-i)a)b","RsYIqopka&\\1wdwdgK&T",[caseless,
17360                                                                                                                                                                                                                global])),
17361    <<"lLfababYHTqsmO">> = iolist_to_binary(re:replace("ab","((?-i)a)b","lLf&&YHTqsmO",[caseless])),
17362    <<"lLfababYHTqsmO">> = iolist_to_binary(re:replace("ab","((?-i)a)b","lLf&&YHTqsmO",[caseless,
17363                                                                                                                                                                                         global])),
17364    <<"JCuXbQvaBXV">> = iolist_to_binary(re:replace("aB","(?:(?-i)a)b","JCuXbQv&XV",[caseless])),
17365    <<"JCuXbQvaBXV">> = iolist_to_binary(re:replace("aB","(?:(?-i)a)b","JCuXbQv&XV",[caseless,
17366                                                                                                                                                                                        global])),
17367    <<"najlatTu">> = iolist_to_binary(re:replace("aB","((?-i)a)b","n\\1jl\\1tTu",[caseless])),
17368    <<"najlatTu">> = iolist_to_binary(re:replace("aB","((?-i)a)b","n\\1jl\\1tTu",[caseless,
17369                                                                                                                                                                                         global])),
17370    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(?-i)a)b","oRHrhfYgmYE",[caseless])),
17371    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(?-i)a)b","oRHrhfYgmYE",[caseless,
17372                                                                                                                                                                                                           global])),
17373    <<"C">> = iolist_to_binary(re:replace("aB","(?:(?-i)a)b","C",[caseless])),
17374    <<"C">> = iolist_to_binary(re:replace("aB","(?:(?-i)a)b","C",[caseless,
17375                                                                                                                                                                     global])),
17376    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?:(?-i)a)b","MbmyjKDJY",[caseless])),
17377    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?:(?-i)a)b","MbmyjKDJY",[caseless,
17378                                                                                                                                                                                     global])),
17379    <<"KRBaBYDPTaBIetfKafk">> = iolist_to_binary(re:replace("aB","(?:(?-i)a)b","K\\1RB&YDPT&Ietf\\1Kafk",[caseless])),
17380    <<"KRBaBYDPTaBIetfKafk">> = iolist_to_binary(re:replace("aB","(?:(?-i)a)b","K\\1RB&YDPT&Ietf\\1Kafk",[caseless,
17381                                                                                                                                                                                                                     global])),
17382    <<"FAeMLQgRgVVahad">> = iolist_to_binary(re:replace("aB","((?-i)a)b","FAeMLQgRgVV\\1h\\1d",[caseless])),
17383    <<"FAeMLQgRgVVahad">> = iolist_to_binary(re:replace("aB","((?-i)a)b","FAeMLQgRgVV\\1h\\1d",[caseless,
17384                                                                                                                                                                                                       global])),
17385    ok.
17386run28() ->
17387    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(?-i)a)b","V",[caseless])),
17388    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?:(?-i)a)b","V",[caseless,
17389                                                                                                                                                                                       global])),
17390    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?:(?-i)a)b","vOEiltgjc",[caseless])),
17391    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?:(?-i)a)b","vOEiltgjc",[caseless,
17392                                                                                                                                                                                     global])),
17393    <<"AB">> = iolist_to_binary(re:replace("AB","(?:(?-i)a)b","hCMP",[caseless])),
17394    <<"AB">> = iolist_to_binary(re:replace("AB","(?:(?-i)a)b","hCMP",[caseless,
17395                                                                                                                                                                           global])),
17396    <<"WVjqJoaFabihXyIK">> = iolist_to_binary(re:replace("ab","(?-i:a)b","WVjqJoaF&\\1ihXy\\1IK",[caseless])),
17397    <<"WVjqJoaFabihXyIK">> = iolist_to_binary(re:replace("ab","(?-i:a)b","WVjqJoaF&\\1ihXy\\1IK",[caseless,
17398                                                                                                                                                                                                          global])),
17399    <<"hEauHabaabI">> = iolist_to_binary(re:replace("ab","((?-i:a))b","hE\\1uH&\\1&I",[caseless])),
17400    <<"hEauHabaabI">> = iolist_to_binary(re:replace("ab","((?-i:a))b","hE\\1uH&\\1&I",[caseless,
17401                                                                                                                                                                                               global])),
17402    <<"PyNYkfxaBaFAYik">> = iolist_to_binary(re:replace("aB","(?-i:a)b","PyNYkfx&aFAYi\\1k",[caseless])),
17403    <<"PyNYkfxaBaFAYik">> = iolist_to_binary(re:replace("aB","(?-i:a)b","PyNYkfx&aFAYi\\1k",[caseless,
17404                                                                                                                                                                                                 global])),
17405    <<"laBaBG">> = iolist_to_binary(re:replace("aB","((?-i:a))b","l&&G",[caseless])),
17406    <<"laBaBG">> = iolist_to_binary(re:replace("aB","((?-i:a))b","l&&G",[caseless,
17407                                                                                                                                                                           global])),
17408    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?-i:a)b","eS\\1dn",[caseless])),
17409    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?-i:a)b","eS\\1dn",[caseless,
17410                                                                                                                                                                                              global])),
17411    <<"AB">> = iolist_to_binary(re:replace("AB","(?-i:a)b","MhsbM&x\\1ydTksl",[caseless])),
17412    <<"AB">> = iolist_to_binary(re:replace("AB","(?-i:a)b","MhsbM&x\\1ydTksl",[caseless,
17413                                                                                                                                                                                               global])),
17414    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?-i:a)b","\\1srennTK\\1qOyk&LVOv",[caseless])),
17415    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?-i:a)b","\\1srennTK\\1qOyk&LVOv",[caseless,
17416                                                                                                                                                                                                            global])),
17417    <<"JJVTKIsthgwfb">> = iolist_to_binary(re:replace("aB","(?-i:a)b","JJVTKIst\\1hgwfb",[caseless])),
17418    <<"JJVTKIsthgwfb">> = iolist_to_binary(re:replace("aB","(?-i:a)b","JJVTKIst\\1hgwfb",[caseless,
17419                                                                                                                                                                                              global])),
17420    <<"CyLaBaaBaFaBUQLaBYD">> = iolist_to_binary(re:replace("aB","((?-i:a))b","CyL&a&aF&UQL&YD",[caseless])),
17421    <<"CyLaBaaBaFaBUQLaBYD">> = iolist_to_binary(re:replace("aB","((?-i:a))b","CyL&a&aF&UQL&YD",[caseless,
17422                                                                                                                                                                                                   global])),
17423    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?-i:a)b","mWmXxiABWTMo&\\1bHX&m",[caseless])),
17424    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?-i:a)b","mWmXxiABWTMo&\\1bHX&m",[caseless,
17425                                                                                                                                                                                                                            global])),
17426    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?-i:a)b","KxfwWNxNB&uWywN",[caseless])),
17427    <<"Ab">> = iolist_to_binary(re:replace("Ab","(?-i:a)b","KxfwWNxNB&uWywN",[caseless,
17428                                                                                                                                                                                            global])),
17429    <<"AB">> = iolist_to_binary(re:replace("AB","(?-i:a)b","FB&EbQh",[caseless])),
17430    <<"AB">> = iolist_to_binary(re:replace("AB","(?-i:a)b","FB&EbQh",[caseless,
17431                                                                                                                                                                            global])),
17432    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((?-i:a.))b","GeHOW",[caseless])),
17433    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((?-i:a.))b","GeHOW",[caseless,
17434                                                                                                                                                                                               global])),
17435    <<"AB">> = iolist_to_binary(re:replace("AB","((?-i:a.))b","t&\\1\\1wNwJd&umtr&\\1P&v",[caseless])),
17436    <<"AB">> = iolist_to_binary(re:replace("AB","((?-i:a.))b","t&\\1\\1wNwJd&umtr&\\1P&v",[caseless,
17437                                                                                                                                                                                                                            global])),
17438    <<"a
17439B">> = iolist_to_binary(re:replace("a
17440B","((?-i:a.))b","xLBhf&h",[caseless])),
17441    <<"a
17442B">> = iolist_to_binary(re:replace("a
17443B","((?-i:a.))b","xLBhf&h",[caseless,global])),
17444    <<"a
17445BeNa
17446a
17447ra
17448B">> = iolist_to_binary(re:replace("a
17449B","((?s-i:a.))b","&eN\\1\\1r&",[caseless])),
17450    <<"a
17451BeNa
17452a
17453ra
17454B">> = iolist_to_binary(re:replace("a
17455B","((?s-i:a.))b","&eN\\1\\1r&",[caseless,global])),
17456    <<"xDgxGuTySBL">> = iolist_to_binary(re:replace("cabbbb","(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))","xDgxGuTySB\\1L",[])),
17457    <<"xDgxGuTySBL">> = iolist_to_binary(re:replace("cabbbb","(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))","xDgxGuTySB\\1L",[global])),
17458    <<"S">> = iolist_to_binary(re:replace("caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))","S",[])),
17459    <<"S">> = iolist_to_binary(re:replace("caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))","S",[global])),
17460    <<"oAb4abQPdAAb">> = iolist_to_binary(re:replace("Ab4ab","(ab)\\d\\1","o&QPdA\\1",[caseless])),
17461    <<"oAb4abQPdAAb">> = iolist_to_binary(re:replace("Ab4ab","(ab)\\d\\1","o&QPdA\\1",[caseless,
17462                                                                                                                                                                                             global])),
17463    <<"xDxHH">> = iolist_to_binary(re:replace("ab4Ab","(ab)\\d\\1","xDxHH",[caseless])),
17464    <<"xDxHH">> = iolist_to_binary(re:replace("ab4Ab","(ab)\\d\\1","xDxHH",[caseless,
17465                                                                                                                                                                                   global])),
17466    <<"iEooNfoobar1234bazWrIlfoobar1234baznlqjBfoobar1234bazb">> = iolist_to_binary(re:replace("foobar1234baz","foo\\w*\\d{4}baz","iEooN&WrIl&nlqjB&\\1b",[])),
17467    <<"iEooNfoobar1234bazWrIlfoobar1234baznlqjBfoobar1234bazb">> = iolist_to_binary(re:replace("foobar1234baz","foo\\w*\\d{4}baz","iEooN&WrIl&nlqjB&\\1b",[global])),
17468    <<"dph">> = iolist_to_binary(re:replace("x~~","x(~~)*(?:(?:F)?)?","dph",[])),
17469    <<"dph">> = iolist_to_binary(re:replace("x~~","x(~~)*(?:(?:F)?)?","dph",[global])),
17470    <<"aaacCaaaciHua">> = iolist_to_binary(re:replace("aaac","^a(?#xxx){3}c","&C&iHua",[])),
17471    <<"aaacCaaaciHua">> = iolist_to_binary(re:replace("aaac","^a(?#xxx){3}c","&C&iHua",[global])),
17472    ok.
17473run29() ->
17474    <<"UkKlOLQggowaaaclFkU">> = iolist_to_binary(re:replace("aaac","^a (?#xxx) (?#yyy) {3}c","UkKlO\\1LQggow&lFkU",[extended])),
17475    <<"UkKlOLQggowaaaclFkU">> = iolist_to_binary(re:replace("aaac","^a (?#xxx) (?#yyy) {3}c","UkKlO\\1LQggow&lFkU",[extended,
17476                                                                                                                                                                                                                                       global])),
17477    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<![cd])b","qVEB\\1Buo",[])),
17478    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<![cd])b","qVEB\\1Buo",[global])),
17479    <<"B
17480B">> = iolist_to_binary(re:replace("B
17481B","(?<![cd])b","&PINm\\1tQW&u",[])),
17482    <<"B
17483B">> = iolist_to_binary(re:replace("B
17484B","(?<![cd])b","&PINm\\1tQW&u",[global])),
17485    <<"dbcb">> = iolist_to_binary(re:replace("dbcb","(?<![cd])b","JN\\1nXQWo\\1gpGr",[])),
17486    <<"dbcb">> = iolist_to_binary(re:replace("dbcb","(?<![cd])b","JN\\1nXQWo\\1gpGr",[global])),
17487    <<"dbgLxFuiCCrajPsTmTacb">> = iolist_to_binary(re:replace("dbaacb","(?<![cd])[ab]","gLxFuiCCrajP\\1sTmT",[])),
17488    <<"dbgLxFuiCCrajPsTmTgLxFuiCCrajPsTmTcb">> = iolist_to_binary(re:replace("dbaacb","(?<![cd])[ab]","gLxFuiCCrajP\\1sTmT",[global])),
17489    <<"dbiyqEacb">> = iolist_to_binary(re:replace("dbaacb","(?<!(c|d))[ab]","iyqE",[])),
17490    <<"dbiyqEiyqEcb">> = iolist_to_binary(re:replace("dbaacb","(?<!(c|d))[ab]","iyqE",[global])),
17491    <<"cdaccfGWRbbyWukeN">> = iolist_to_binary(re:replace("cdaccb","(?<!cd)[ab]","\\1\\1fGWR\\1&\\1&yWukeN",[])),
17492    <<"cdaccfGWRbbyWukeN">> = iolist_to_binary(re:replace("cdaccb","(?<!cd)[ab]","\\1\\1fGWR\\1&\\1&yWukeN",[global])),
17493    <<"radhOoMmkTyvp">> = iolist_to_binary(re:replace("","^(?:a?b?)*$","radhO&oMmkTy&vp",[])),
17494    <<"radhOoMmkTyvp">> = iolist_to_binary(re:replace("","^(?:a?b?)*$","radhO&oMmkTy&vp",[global])),
17495    <<"iaraX">> = iolist_to_binary(re:replace("a","^(?:a?b?)*$","i&r&X",[])),
17496    <<"iaraX">> = iolist_to_binary(re:replace("a","^(?:a?b?)*$","i&r&X",[global])),
17497    <<"uvabababcGDFD">> = iolist_to_binary(re:replace("ab","^(?:a?b?)*$","uv&&&cGDFD",[])),
17498    <<"uvabababcGDFD">> = iolist_to_binary(re:replace("ab","^(?:a?b?)*$","uv&&&cGDFD",[global])),
17499    <<"aaawlwIRsqaaallaaaAnaaaBraaa">> = iolist_to_binary(re:replace("aaa","^(?:a?b?)*$","&wlwIRsq&ll\\1&An&B\\1r&",[])),
17500    <<"aaawlwIRsqaaallaaaAnaaaBraaa">> = iolist_to_binary(re:replace("aaa","^(?:a?b?)*$","&wlwIRsq&ll\\1&An&B\\1r&",[global])),
17501    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?:a?b?)*$","HQDGKPOboFhEDT&FLu&D",[])),
17502    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?:a?b?)*$","HQDGKPOboFhEDT&FLu&D",[global])),
17503    <<"dbcb">> = iolist_to_binary(re:replace("dbcb","^(?:a?b?)*$","dWU\\1&MLWjnDLY\\1\\1M",[])),
17504    <<"dbcb">> = iolist_to_binary(re:replace("dbcb","^(?:a?b?)*$","dWU\\1&MLWjnDLY\\1\\1M",[global])),
17505    <<"a--">> = iolist_to_binary(re:replace("a--","^(?:a?b?)*$","\\1&KaprjNw&yXkKe",[])),
17506    <<"a--">> = iolist_to_binary(re:replace("a--","^(?:a?b?)*$","\\1&KaprjNw&yXkKe",[global])),
17507    <<"aa--">> = iolist_to_binary(re:replace("aa--","^(?:a?b?)*$","Rr&FlU",[])),
17508    <<"aa--">> = iolist_to_binary(re:replace("aa--","^(?:a?b?)*$","Rr&FlU",[global])),
17509    <<"Ta
17510ba
17511Bkga
17512bx
17513c">> = iolist_to_binary(re:replace("a
17514b
17515c","((?s)^a(.))((?m)^b$)","T&\\1Bkg&x",[])),
17516    <<"Ta
17517ba
17518Bkga
17519bx
17520c">> = iolist_to_binary(re:replace("a
17521b
17522c","((?s)^a(.))((?m)^b$)","T&\\1Bkg&x",[global])),
17523    <<"a
17524fRyiaWcebhcY
17525c">> = iolist_to_binary(re:replace("a
17526b
17527c","((?m)^b$)","fRyiaWce&hcY",[])),
17528    <<"a
17529fRyiaWcebhcY
17530c">> = iolist_to_binary(re:replace("a
17531b
17532c","((?m)^b$)","fRyiaWce&hcY",[global])),
17533    <<"a
17534j">> = iolist_to_binary(re:replace("a
17535b","(?m)^b","j\\1",[])),
17536    <<"a
17537j">> = iolist_to_binary(re:replace("a
17538b","(?m)^b","j\\1",[global])),
17539    <<"a
17540tbDLKbpbbqBbWXNbjBU">> = iolist_to_binary(re:replace("a
17541b","(?m)^(b)","t\\1DLK\\1p&\\1qB\\1WXNbjBU",[])),
17542    <<"a
17543tbDLKbpbbqBbWXNbjBU">> = iolist_to_binary(re:replace("a
17544b","(?m)^(b)","t\\1DLK\\1p&\\1qB\\1WXNbjBU",[global])),
17545    <<"a
17546hJUkbQmbMMdabmm">> = iolist_to_binary(re:replace("a
17547b","((?m)^b)","hJUk&Qm\\1MMda&mm",[])),
17548    <<"a
17549hJUkbQmbMMdabmm">> = iolist_to_binary(re:replace("a
17550b","((?m)^b)","hJUk&Qm\\1MMda&mm",[global])),
17551    <<"ad">> = iolist_to_binary(re:replace("a
17552b","\\n((?m)^b)","d",[])),
17553    <<"ad">> = iolist_to_binary(re:replace("a
17554b","\\n((?m)^b)","d",[global])),
17555    <<"a
17556bu">> = iolist_to_binary(re:replace("a
17557b
17558c","((?s).)c(?!.)","u",[])),
17559    <<"a
17560bu">> = iolist_to_binary(re:replace("a
17561b
17562c","((?s).)c(?!.)","u",[global])),
17563    <<"a
17564bpB">> = iolist_to_binary(re:replace("a
17565b
17566c","((?s).)c(?!.)","pB",[])),
17567    <<"a
17568bpB">> = iolist_to_binary(re:replace("a
17569b
17570c","((?s).)c(?!.)","pB",[global])),
17571    <<"a
17572b
17573cIe">> = iolist_to_binary(re:replace("a
17574b
17575c","((?s)b.)c(?!.)","&Ie",[])),
17576    <<"a
17577b
17578cIe">> = iolist_to_binary(re:replace("a
17579b
17580c","((?s)b.)c(?!.)","&Ie",[global])),
17581    <<"a
17582sqb
17583">> = iolist_to_binary(re:replace("a
17584b
17585c","((?s)b.)c(?!.)","sq\\1",[])),
17586    <<"a
17587sqb
17588">> = iolist_to_binary(re:replace("a
17589b
17590c","((?s)b.)c(?!.)","sq\\1",[global])),
17591    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","()^b","ov",[])),
17592    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","()^b","ov",[global])),
17593    <<"a
17594b
17595c">> = iolist_to_binary(re:replace("a
17596b
17597c","()^b","uMvMIoSdSSJ",[])),
17598    <<"a
17599b
17600c">> = iolist_to_binary(re:replace("a
17601b
17602c","()^b","uMvMIoSdSSJ",[global])),
17603    <<"a
17604b
17605c">> = iolist_to_binary(re:replace("a
17606b
17607c","()^b","CWpw",[])),
17608    <<"a
17609b
17610c">> = iolist_to_binary(re:replace("a
17611b
17612c","()^b","CWpw",[global])),
17613    <<"a
17614VJbfDbMGQCbssq
17615c">> = iolist_to_binary(re:replace("a
17616b
17617c","((?m)^b)","VJ&fD&MGQC&ssq",[])),
17618    <<"a
17619VJbfDbMGQCbssq
17620c">> = iolist_to_binary(re:replace("a
17621b
17622c","((?m)^b)","VJ&fD&MGQC&ssq",[global])),
17623    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(x)?(?(1)a|b)","LNqS&m",[])),
17624    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(x)?(?(1)a|b)","LNqS&m",[global])),
17625    <<"a">> = iolist_to_binary(re:replace("a","(x)?(?(1)a|b)","OkYauyNGxeWuW\\1\\1&MWr",[])),
17626    <<"a">> = iolist_to_binary(re:replace("a","(x)?(?(1)a|b)","OkYauyNGxeWuW\\1\\1&MWr",[global])),
17627    <<"a">> = iolist_to_binary(re:replace("a","(x)?(?(1)a|b)","scDk\\1nM",[])),
17628    <<"a">> = iolist_to_binary(re:replace("a","(x)?(?(1)a|b)","scDk\\1nM",[global])),
17629    <<"YcA">> = iolist_to_binary(re:replace("a","(x)?(?(1)b|a)","\\1YcA",[])),
17630    <<"YcA">> = iolist_to_binary(re:replace("a","(x)?(?(1)b|a)","\\1YcA",[global])),
17631    ok.
17632run30() ->
17633    <<"xNapUFFvOIj">> = iolist_to_binary(re:replace("a","()?(?(1)b|a)","xN&pU\\1FFvOIj",[])),
17634    <<"xNapUFFvOIj">> = iolist_to_binary(re:replace("a","()?(?(1)b|a)","xN&pU\\1FFvOIj",[global])),
17635    <<"XuaPbWvaWaalBtsa">> = iolist_to_binary(re:replace("a","()?(?(1)a|b)","Xu&PbWv&W&&lBts&",[])),
17636    <<"XuaPbWvaWaalBtsa">> = iolist_to_binary(re:replace("a","()?(?(1)a|b)","Xu&PbWv&W&&lBts&",[global])),
17637    <<"(fyCFuvHU((puIwItIx(">> = iolist_to_binary(re:replace("(blah)","^(\\()?blah(?(1)(\\)))$","\\1fyCFuvHU\\1\\1puIwItIx\\1",[])),
17638    <<"(fyCFuvHU((puIwItIx(">> = iolist_to_binary(re:replace("(blah)","^(\\()?blah(?(1)(\\)))$","\\1fyCFuvHU\\1\\1puIwItIx\\1",[global])),
17639    <<"AyRblahEPvK">> = iolist_to_binary(re:replace("blah","^(\\()?blah(?(1)(\\)))$","AyR&EPvK",[])),
17640    <<"AyRblahEPvK">> = iolist_to_binary(re:replace("blah","^(\\()?blah(?(1)(\\)))$","AyR&EPvK",[global])),
17641    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\()?blah(?(1)(\\)))$","SbDcblGvpFYoX&J&Gu",[])),
17642    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\()?blah(?(1)(\\)))$","SbDcblGvpFYoX&J&Gu",[global])),
17643    <<"a">> = iolist_to_binary(re:replace("a","^(\\()?blah(?(1)(\\)))$","&m",[])),
17644    <<"a">> = iolist_to_binary(re:replace("a","^(\\()?blah(?(1)(\\)))$","&m",[global])),
17645    <<"blah)">> = iolist_to_binary(re:replace("blah)","^(\\()?blah(?(1)(\\)))$","k\\1",[])),
17646    <<"blah)">> = iolist_to_binary(re:replace("blah)","^(\\()?blah(?(1)(\\)))$","k\\1",[global])),
17647    <<"(blah">> = iolist_to_binary(re:replace("(blah","^(\\()?blah(?(1)(\\)))$","BufqWrp\\1\\1UijV",[])),
17648    <<"(blah">> = iolist_to_binary(re:replace("(blah","^(\\()?blah(?(1)(\\)))$","BufqWrp\\1\\1UijV",[global])),
17649    <<"pIOc(eAW(">> = iolist_to_binary(re:replace("(blah)","^(\\(+)?blah(?(1)(\\)))$","pIOc\\1eAW\\1",[])),
17650    <<"pIOc(eAW(">> = iolist_to_binary(re:replace("(blah)","^(\\(+)?blah(?(1)(\\)))$","pIOc\\1eAW\\1",[global])),
17651    <<"p">> = iolist_to_binary(re:replace("blah","^(\\(+)?blah(?(1)(\\)))$","p",[])),
17652    <<"p">> = iolist_to_binary(re:replace("blah","^(\\(+)?blah(?(1)(\\)))$","p",[global])),
17653    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\(+)?blah(?(1)(\\)))$","y&&&AOp\\1",[])),
17654    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\(+)?blah(?(1)(\\)))$","y&&&AOp\\1",[global])),
17655    <<"blah)">> = iolist_to_binary(re:replace("blah)","^(\\(+)?blah(?(1)(\\)))$","\\1VJMcD\\1vw&NweMFm",[])),
17656    <<"blah)">> = iolist_to_binary(re:replace("blah)","^(\\(+)?blah(?(1)(\\)))$","\\1VJMcD\\1vw&NweMFm",[global])),
17657    <<"(blah">> = iolist_to_binary(re:replace("(blah","^(\\(+)?blah(?(1)(\\)))$","nmpAKxmhP\\1VH\\1DE\\1",[])),
17658    <<"(blah">> = iolist_to_binary(re:replace("(blah","^(\\(+)?blah(?(1)(\\)))$","nmpAKxmhP\\1VH\\1DE\\1",[global])),
17659    <<"sVrnWeaaBWqoEe">> = iolist_to_binary(re:replace("a","(?(?!a)b|a)","sVrnWea&BWqoE\\1e\\1",[])),
17660    <<"sVrnWeaaBWqoEe">> = iolist_to_binary(re:replace("a","(?(?!a)b|a)","sVrnWea&BWqoE\\1e\\1",[global])),
17661    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?(?=a)b|a)","yKlwaKvFuDaY&",[])),
17662    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?(?=a)b|a)","yKlwaKvFuDaY&",[global])),
17663    <<"a">> = iolist_to_binary(re:replace("a","(?(?=a)b|a)","a&xlo",[])),
17664    <<"a">> = iolist_to_binary(re:replace("a","(?(?=a)b|a)","a&xlo",[global])),
17665    <<"a">> = iolist_to_binary(re:replace("a","(?(?=a)b|a)","HA\\1fUFNxI",[])),
17666    <<"a">> = iolist_to_binary(re:replace("a","(?(?=a)b|a)","HA\\1fUFNxI",[global])),
17667    <<"UTGiYaXaqADaSaxgaG">> = iolist_to_binary(re:replace("a","(?(?=a)a|b)","UTGiY&\\1X&qAD\\1&S&xgaG",[])),
17668    <<"UTGiYaXaqADaSaxgaG">> = iolist_to_binary(re:replace("a","(?(?=a)a|b)","UTGiY&\\1X&qAD\\1&S&xgaG",[global])),
17669    <<"aTjaOYiTQLgjuOn">> = iolist_to_binary(re:replace("aaab","(?=(a+?))(\\1ab)","Tj\\1OYiTQLgjuOn",[])),
17670    <<"aTjaOYiTQLgjuOn">> = iolist_to_binary(re:replace("aaab","(?=(a+?))(\\1ab)","Tj\\1OYiTQLgjuOn",[global])),
17671    <<"one:Yone:hI">> = iolist_to_binary(re:replace("one:","(\\w+:)+","&Y&hI",[])),
17672    <<"one:Yone:hI">> = iolist_to_binary(re:replace("one:","(\\w+:)+","&Y&hI",[global])),
17673    <<"aJdMoadBqra">> = iolist_to_binary(re:replace("a","$(?<=^(a))","JdMo\\1&dBqr&\\1",[])),
17674    <<"aJdMoadBqra">> = iolist_to_binary(re:replace("a","$(?<=^(a))","JdMo\\1&dBqr&\\1",[global])),
17675    <<"aRayaTFQFN">> = iolist_to_binary(re:replace("aaab","(?=(a+?))(\\1ab)","R\\1yaTFQFN",[])),
17676    <<"aRayaTFQFN">> = iolist_to_binary(re:replace("aaab","(?=(a+?))(\\1ab)","R\\1yaTFQFN",[global])),
17677    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?=(a+?))\\1ab","w",[])),
17678    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?=(a+?))\\1ab","w",[global])),
17679    <<"aaab">> = iolist_to_binary(re:replace("aaab","^(?=(a+?))\\1ab","TAs",[])),
17680    <<"aaab">> = iolist_to_binary(re:replace("aaab","^(?=(a+?))\\1ab","TAs",[global])),
17681    <<"aaab">> = iolist_to_binary(re:replace("aaab","^(?=(a+?))\\1ab","gObuYj\\1f\\1&Y\\1&\\1",[])),
17682    <<"aaab">> = iolist_to_binary(re:replace("aaab","^(?=(a+?))\\1ab","gObuYj\\1f\\1&Y\\1&\\1",[global])),
17683    <<"WqUamivVmXabcdLd">> = iolist_to_binary(re:replace("abcd","([\\w:]+::)?(\\w+)$","W\\1qUamiv\\1V\\1mX&Ld",[])),
17684    <<"WqUamivVmXabcdLd">> = iolist_to_binary(re:replace("abcd","([\\w:]+::)?(\\w+)$","W\\1qUamiv\\1V\\1mX&Ld",[global])),
17685    <<"Ixy:z:::abcdxy:z:::abcdnxy:z:::xy:z:::abcdbsHvXRBC">> = iolist_to_binary(re:replace("xy:z:::abcd","([\\w:]+::)?(\\w+)$","I&&n\\1&bsHvXRBC",[])),
17686    <<"Ixy:z:::abcdxy:z:::abcdnxy:z:::xy:z:::abcdbsHvXRBC">> = iolist_to_binary(re:replace("xy:z:::abcd","([\\w:]+::)?(\\w+)$","I&&n\\1&bsHvXRBC",[global])),
17687    <<"Xd">> = iolist_to_binary(re:replace("aexycd","^[^bcd]*(c+)","X",[])),
17688    <<"Xd">> = iolist_to_binary(re:replace("aexycd","^[^bcd]*(c+)","X",[global])),
17689    <<"cxqAaaeaabaaLWaaaaQJTaaaaxG">> = iolist_to_binary(re:replace("caab","(a*)b+","xqA\\1e&\\1LW\\1\\1QJT\\1\\1xG",[])),
17690    <<"cxqAaaeaabaaLWaaaaQJTaaaaxG">> = iolist_to_binary(re:replace("caab","(a*)b+","xqA\\1e&\\1LW\\1\\1QJT\\1\\1xG",[global])),
17691    <<"PabcdoXTDiScdQabcdE">> = iolist_to_binary(re:replace("abcd","([\\w:]+::)?(\\w+)$","P&\\1o\\1XTDiScdQ&E",[])),
17692    <<"PabcdoXTDiScdQabcdE">> = iolist_to_binary(re:replace("abcd","([\\w:]+::)?(\\w+)$","P&\\1o\\1XTDiScdQ&E",[global])),
17693    <<"ltxy:z:::abcdOkVmTnmtexy:z:::MMY">> = iolist_to_binary(re:replace("xy:z:::abcd","([\\w:]+::)?(\\w+)$","lt&OkVmTnmte\\1MMY",[])),
17694    <<"ltxy:z:::abcdOkVmTnmtexy:z:::MMY">> = iolist_to_binary(re:replace("xy:z:::abcd","([\\w:]+::)?(\\w+)$","lt&OkVmTnmte\\1MMY",[global])),
17695    <<"*** hdDdHBCKXpUraMooFailersFailersW">> = iolist_to_binary(re:replace("*** Failers","([\\w:]+::)?(\\w+)$","hdDdHBCKXpUraMoo&\\1&W",[])),
17696    <<"*** hdDdHBCKXpUraMooFailersFailersW">> = iolist_to_binary(re:replace("*** Failers","([\\w:]+::)?(\\w+)$","hdDdHBCKXpUraMoo&\\1&W",[global])),
17697    <<"abcd:">> = iolist_to_binary(re:replace("abcd:","([\\w:]+::)?(\\w+)$","W&CE",[])),
17698    <<"abcd:">> = iolist_to_binary(re:replace("abcd:","([\\w:]+::)?(\\w+)$","W&CE",[global])),
17699    <<"abcd:">> = iolist_to_binary(re:replace("abcd:","([\\w:]+::)?(\\w+)$","HS&xAXhj\\1&h\\1oJanfg",[])),
17700    <<"abcd:">> = iolist_to_binary(re:replace("abcd:","([\\w:]+::)?(\\w+)$","HS&xAXhj\\1&h\\1oJanfg",[global])),
17701    <<"gncfaexycKcgd">> = iolist_to_binary(re:replace("aexycd","^[^bcd]*(c+)","gn\\1f&K\\1g",[])),
17702    <<"gncfaexycKcgd">> = iolist_to_binary(re:replace("aexycd","^[^bcd]*(c+)","gn\\1f&K\\1g",[global])),
17703    ok.
17704run31() ->
17705    <<"dIgTpbIaaabHEixaaaby">> = iolist_to_binary(re:replace("aaab","(?>a+)b","dI\\1gTpbI&HEix&y",[])),
17706    <<"dIgTpbIaaabHEixaaaby">> = iolist_to_binary(re:replace("aaab","(?>a+)b","dI\\1gTpbI&HEix&y",[global])),
17707    <<"a:[xKoXTWDN:[:[P:[b]:">> = iolist_to_binary(re:replace("a:[b]:","([[:]+)","&xKoXTWDN\\1\\1P\\1",[])),
17708    <<"a:[xKoXTWDN:[:[P:[b]:xKoXTWDN::P:">> = iolist_to_binary(re:replace("a:[b]:","([[:]+)","&xKoXTWDN\\1\\1P\\1",[global])),
17709    <<"a=[b]=">> = iolist_to_binary(re:replace("a=[b]=","([[=]+)","\\1",[])),
17710    <<"a=[b]=">> = iolist_to_binary(re:replace("a=[b]=","([[=]+)","\\1",[global])),
17711    <<"aAULOvS.[q.[cI.[O.[K.[WMIpb].">> = iolist_to_binary(re:replace("a.[b].","([[.]+)","AULOvS&q\\1cI\\1O&K&WMIp",[])),
17712    <<"aAULOvS.[q.[cI.[O.[K.[WMIpb]AULOvS.q.cI.O.K.WMIp">> = iolist_to_binary(re:replace("a.[b].","([[.]+)","AULOvS&q\\1cI\\1O&K&WMIp",[global])),
17713    <<"tkaYMfUUpaaabHTyQAreKh">> = iolist_to_binary(re:replace("aaab","((?>a+)b)","tkaYMfUUp&HTyQAreKh",[])),
17714    <<"tkaYMfUUpaaabHTyQAreKh">> = iolist_to_binary(re:replace("aaab","((?>a+)b)","tkaYMfUUp&HTyQAreKh",[global])),
17715    <<"EHaaaGtlKGyaaaEAaaaaaahAK">> = iolist_to_binary(re:replace("aaab","(?>(a+))b","EH\\1GtlKGy\\1EA\\1\\1hAK",[])),
17716    <<"EHaaaGtlKGyaaaEAaaaaaahAK">> = iolist_to_binary(re:replace("aaab","(?>(a+))b","EH\\1GtlKGy\\1EA\\1\\1hAK",[global])),
17717    <<"((GwfYxOabc(ade)ufh()()xW">> = iolist_to_binary(re:replace("((abc(ade)ufh()()x","((?>[^()]+)|\\([^()]*\\))+","GwfY\\1O&W",[])),
17718    <<"((GwfYxOabc(ade)ufh()()xW">> = iolist_to_binary(re:replace("((abc(ade)ufh()()x","((?>[^()]+)|\\([^()]*\\))+","GwfY\\1O&W",[global])),
17719    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a\\Z","mItu\\1oJX&CQC&UvIK",[])),
17720    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a\\Z","mItu\\1oJX&CQC&UvIK",[global])),
17721    <<"aaab">> = iolist_to_binary(re:replace("aaab","a\\Z","IaLyKsEnQnMtfj\\1",[])),
17722    <<"aaab">> = iolist_to_binary(re:replace("aaab","a\\Z","IaLyKsEnQnMtfj\\1",[global])),
17723    <<"a
17724b">> = iolist_to_binary(re:replace("a
17725b","a\\Z","eslV\\1s",[])),
17726    <<"a
17727b">> = iolist_to_binary(re:replace("a
17728b","a\\Z","eslV\\1s",[global])),
17729    <<"a
17730MKbmAwNCnGbLYb">> = iolist_to_binary(re:replace("a
17731b","b\\Z","M\\1K&mAwNCnG&LY\\1&",[])),
17732    <<"a
17733MKbmAwNCnGbLYb">> = iolist_to_binary(re:replace("a
17734b","b\\Z","M\\1K&mAwNCnG&LY\\1&",[global])),
17735    <<"a
17736YxEpUt">> = iolist_to_binary(re:replace("a
17737b","b\\Z","YxEpUt",[])),
17738    <<"a
17739YxEpUt">> = iolist_to_binary(re:replace("a
17740b","b\\Z","YxEpUt",[global])),
17741    <<"a
17742nocMyHoQWrYuE">> = iolist_to_binary(re:replace("a
17743b","b\\z","nocMyHoQ\\1WrY\\1uE",[])),
17744    <<"a
17745nocMyHoQWrYuE">> = iolist_to_binary(re:replace("a
17746b","b\\z","nocMyHoQ\\1WrY\\1uE",[global])),
17747    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","b\\z","WYbAyvR",[])),
17748    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","b\\z","WYbAyvR",[global])),
17749    <<"hnvNIpoJVjsUM">> = iolist_to_binary(re:replace("a","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","hnvNIpoJVjsU\\1M",[])),
17750    <<"hnvNIpoJVjsUM">> = iolist_to_binary(re:replace("a","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","hnvNIpoJVjsU\\1M",[global])),
17751    <<"hxMJiijTWX">> = iolist_to_binary(re:replace("abc","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","hxMJiijTWX",[])),
17752    <<"hxMJiijTWX">> = iolist_to_binary(re:replace("abc","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","hxMJiijTWX",[global])),
17753    <<"YbRuX">> = iolist_to_binary(re:replace("a-b","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","YbRuX",[])),
17754    <<"YbRuX">> = iolist_to_binary(re:replace("a-b","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","YbRuX",[global])),
17755    <<"SxvuEx0-9jSlY">> = iolist_to_binary(re:replace("0-9","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","SxvuEx\\1&j\\1\\1Sl\\1Y",[])),
17756    <<"SxvuEx0-9jSlY">> = iolist_to_binary(re:replace("0-9","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","SxvuEx\\1&j\\1\\1Sl\\1Y",[global])),
17757    <<"f">> = iolist_to_binary(re:replace("a.b","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","f",[])),
17758    <<"f">> = iolist_to_binary(re:replace("a.b","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","f",[global])),
17759    <<"ITsyB5.6.7Aaf">> = iolist_to_binary(re:replace("5.6.7","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","ITsyB&\\1Aaf",[])),
17760    <<"ITsyB5.6.7Aaf">> = iolist_to_binary(re:replace("5.6.7","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","ITsyB&\\1Aaf",[global])),
17761    <<"VwsTKcuXijrhthe.quick.brown.foxtk">> = iolist_to_binary(re:replace("the.quick.brown.fox","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","VwsTK\\1cu\\1Xijrh&tk",[])),
17762    <<"VwsTKcuXijrhthe.quick.brown.foxtk">> = iolist_to_binary(re:replace("the.quick.brown.fox","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","VwsTK\\1cu\\1Xijrh&tk",[global])),
17763    <<"nnlUga100.b200.300cnaspQDy">> = iolist_to_binary(re:replace("a100.b200.300c","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","nnlUg&\\1naspQDy",[])),
17764    <<"nnlUga100.b200.300cnaspQDy">> = iolist_to_binary(re:replace("a100.b200.300c","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","nnlUg&\\1naspQDy",[global])),
17765    <<"Dg12-ab.1245dwIGWfGU12-ab.1245G">> = iolist_to_binary(re:replace("12-ab.1245","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","Dg&\\1dwIGW\\1fGU&G",[])),
17766    <<"Dg12-ab.1245dwIGWfGU12-ab.1245G">> = iolist_to_binary(re:replace("12-ab.1245","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","Dg&\\1dwIGW\\1fGU&G",[global])),
17767    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","pRExPwXG\\1OMYxM&DJu",[])),
17768    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","pRExPwXG\\1OMYxM&DJu",[global])),
17769    <<"">> = iolist_to_binary(re:replace("","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","onWS&OuXOY\\1URE",[])),
17770    <<"">> = iolist_to_binary(re:replace("","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","onWS&OuXOY\\1URE",[global])),
17771    <<".a">> = iolist_to_binary(re:replace(".a","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","D\\1",[])),
17772    <<".a">> = iolist_to_binary(re:replace(".a","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","D\\1",[global])),
17773    <<"-a">> = iolist_to_binary(re:replace("-a","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","CU&qX&&",[])),
17774    <<"-a">> = iolist_to_binary(re:replace("-a","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","CU&qX&&",[global])),
17775    <<"a-">> = iolist_to_binary(re:replace("a-","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","AWEksHnb",[])),
17776    <<"a-">> = iolist_to_binary(re:replace("a-","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","AWEksHnb",[global])),
17777    <<"a.">> = iolist_to_binary(re:replace("a.","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","pDdW\\1Ja",[])),
17778    <<"a.">> = iolist_to_binary(re:replace("a.","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","pDdW\\1Ja",[global])),
17779    <<"a_b">> = iolist_to_binary(re:replace("a_b","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","sX\\1GuXg\\1M",[])),
17780    <<"a_b">> = iolist_to_binary(re:replace("a_b","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","sX\\1GuXg\\1M",[global])),
17781    <<"a.-">> = iolist_to_binary(re:replace("a.-","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","XerO",[])),
17782    <<"a.-">> = iolist_to_binary(re:replace("a.-","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","XerO",[global])),
17783    <<"a..">> = iolist_to_binary(re:replace("a..","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","c&oypUmVFTuQ\\1",[])),
17784    <<"a..">> = iolist_to_binary(re:replace("a..","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","c&oypUmVFTuQ\\1",[global])),
17785    <<"ab..bc">> = iolist_to_binary(re:replace("ab..bc","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","lfUtOX&i",[])),
17786    <<"ab..bc">> = iolist_to_binary(re:replace("ab..bc","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","lfUtOX&i",[global])),
17787    <<"the.quick.brown.fox-">> = iolist_to_binary(re:replace("the.quick.brown.fox-","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","d&SWUEw\\1lw&EK",[])),
17788    <<"the.quick.brown.fox-">> = iolist_to_binary(re:replace("the.quick.brown.fox-","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","d&SWUEw\\1lw&EK",[global])),
17789    <<"the.quick.brown.fox.">> = iolist_to_binary(re:replace("the.quick.brown.fox.","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","Sn\\1",[])),
17790    <<"the.quick.brown.fox.">> = iolist_to_binary(re:replace("the.quick.brown.fox.","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","Sn\\1",[global])),
17791    <<"the.quick.brown.fox_">> = iolist_to_binary(re:replace("the.quick.brown.fox_","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","&pfLJ",[])),
17792    <<"the.quick.brown.fox_">> = iolist_to_binary(re:replace("the.quick.brown.fox_","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","&pfLJ",[global])),
17793    <<"the.quick.brown.fox+">> = iolist_to_binary(re:replace("the.quick.brown.fox+","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","TgSSa",[])),
17794    <<"the.quick.brown.fox+">> = iolist_to_binary(re:replace("the.quick.brown.fox+","^(?>(?(1)\\.|())[^\\W_](?>[a-z0-9-]*[^\\W_])?)+$","TgSSa",[global])),
17795    <<"QalphabetabcdkrolcqqNP">> = iolist_to_binary(re:replace("alphabetabcd","(?>.*)(?<=(abcd|wxyz))","Q&krolcqqNP",[])),
17796    <<"QalphabetabcdkrolcqqNPQkrolcqqNP">> = iolist_to_binary(re:replace("alphabetabcd","(?>.*)(?<=(abcd|wxyz))","Q&krolcqqNP",[global])),
17797    <<"VIJWRwxyzSk">> = iolist_to_binary(re:replace("endingwxyz","(?>.*)(?<=(abcd|wxyz))","VIJWR\\1Sk",[])),
17798    <<"VIJWRwxyzSkVIJWRwxyzSk">> = iolist_to_binary(re:replace("endingwxyz","(?>.*)(?<=(abcd|wxyz))","VIJWR\\1Sk",[global])),
17799    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?>.*)(?<=(abcd|wxyz))","\\1&gWuF",[])),
17800    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?>.*)(?<=(abcd|wxyz))","\\1&gWuF",[global])),
17801    <<"a rather long string that doesn't end with one of them">> = iolist_to_binary(re:replace("a rather long string that doesn't end with one of them","(?>.*)(?<=(abcd|wxyz))","H&ltPpih\\1o",[])),
17802    <<"a rather long string that doesn't end with one of them">> = iolist_to_binary(re:replace("a rather long string that doesn't end with one of them","(?>.*)(?<=(abcd|wxyz))","H&ltPpih\\1o",[global])),
17803    <<"EJTgrword cat dog elephant mussel cow horse canary baboon snake shark otherwordMRkhYV">> = iolist_to_binary(re:replace("word cat dog elephant mussel cow horse canary baboon snake shark otherword","word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword","EJ\\1Tgr&MRk\\1h\\1YV",[])),
17804    <<"EJTgrword cat dog elephant mussel cow horse canary baboon snake shark otherwordMRkhYV">> = iolist_to_binary(re:replace("word cat dog elephant mussel cow horse canary baboon snake shark otherword","word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword","EJ\\1Tgr&MRk\\1h\\1YV",[global])),
17805    <<"word cat dog elephant mussel cow horse canary baboon snake shark">> = iolist_to_binary(re:replace("word cat dog elephant mussel cow horse canary baboon snake shark","word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword","AJGCQ&uuuLVT",[])),
17806    <<"word cat dog elephant mussel cow horse canary baboon snake shark">> = iolist_to_binary(re:replace("word cat dog elephant mussel cow horse canary baboon snake shark","word (?>(?:(?!otherword)[a-zA-Z0-9]+ ){0,30})otherword","AJGCQ&uuuLVT",[global])),
17807    <<"word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope">> = iolist_to_binary(re:replace("word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope","word (?>[a-zA-Z0-9]+ ){0,30}otherword","ncMPhkKY&ume",[])),
17808    <<"word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope">> = iolist_to_binary(re:replace("word cat dog elephant mussel cow horse canary baboon snake shark the quick brown fox and the lazy dog and several other words getting close to thirty by now I hope","word (?>[a-zA-Z0-9]+ ){0,30}otherword","ncMPhkKY&ume",[global])),
17809    <<"999Kofooh">> = iolist_to_binary(re:replace("999foo","(?<=\\d{3}(?!999))foo","Ko&h",[])),
17810    <<"999Kofooh">> = iolist_to_binary(re:replace("999foo","(?<=\\d{3}(?!999))foo","Ko&h",[global])),
17811    <<"123999eqaOjvQcm">> = iolist_to_binary(re:replace("123999foo","(?<=\\d{3}(?!999))foo","\\1eqaO\\1jvQc\\1m",[])),
17812    <<"123999eqaOjvQcm">> = iolist_to_binary(re:replace("123999foo","(?<=\\d{3}(?!999))foo","\\1eqaO\\1jvQc\\1m",[global])),
17813    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=\\d{3}(?!999))foo","Re\\1UYpTHfhCxdlxiq",[])),
17814    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=\\d{3}(?!999))foo","Re\\1UYpTHfhCxdlxiq",[global])),
17815    <<"123abcfoo">> = iolist_to_binary(re:replace("123abcfoo","(?<=\\d{3}(?!999))foo","ww",[])),
17816    <<"123abcfoo">> = iolist_to_binary(re:replace("123abcfoo","(?<=\\d{3}(?!999))foo","ww",[global])),
17817    <<"999yvTHkcfoofoo">> = iolist_to_binary(re:replace("999foo","(?<=(?!...999)\\d{3})foo","yvT\\1Hkc\\1&&",[])),
17818    <<"999yvTHkcfoofoo">> = iolist_to_binary(re:replace("999foo","(?<=(?!...999)\\d{3})foo","yvT\\1Hkc\\1&&",[global])),
17819    <<"123999yatIrmp">> = iolist_to_binary(re:replace("123999foo","(?<=(?!...999)\\d{3})foo","yatIrmp",[])),
17820    <<"123999yatIrmp">> = iolist_to_binary(re:replace("123999foo","(?<=(?!...999)\\d{3})foo","yatIrmp",[global])),
17821    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=(?!...999)\\d{3})foo","QnIaJrp\\1SWvhckCE",[])),
17822    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=(?!...999)\\d{3})foo","QnIaJrp\\1SWvhckCE",[global])),
17823    <<"123abcfoo">> = iolist_to_binary(re:replace("123abcfoo","(?<=(?!...999)\\d{3})foo","racp\\1ypxW",[])),
17824    <<"123abcfoo">> = iolist_to_binary(re:replace("123abcfoo","(?<=(?!...999)\\d{3})foo","racp\\1ypxW",[global])),
17825    <<"123abcHMcfoofoofoofooSLctffooFhIYC">> = iolist_to_binary(re:replace("123abcfoo","(?<=\\d{3}(?!999)...)foo","HMc&&&&SLctf&FhIYC",[])),
17826    <<"123abcHMcfoofoofoofooSLctffooFhIYC">> = iolist_to_binary(re:replace("123abcfoo","(?<=\\d{3}(?!999)...)foo","HMc&&&&SLctf&FhIYC",[global])),
17827    <<"123456tDCqfoo">> = iolist_to_binary(re:replace("123456foo","(?<=\\d{3}(?!999)...)foo","t\\1DCq&",[])),
17828    <<"123456tDCqfoo">> = iolist_to_binary(re:replace("123456foo","(?<=\\d{3}(?!999)...)foo","t\\1DCq&",[global])),
17829    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=\\d{3}(?!999)...)foo","hME",[])),
17830    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=\\d{3}(?!999)...)foo","hME",[global])),
17831    <<"123999foo">> = iolist_to_binary(re:replace("123999foo","(?<=\\d{3}(?!999)...)foo","UyaU\\1e&PfYQtNU",[])),
17832    <<"123999foo">> = iolist_to_binary(re:replace("123999foo","(?<=\\d{3}(?!999)...)foo","UyaU\\1e&PfYQtNU",[global])),
17833    ok.
17834run32() ->
17835    <<"123abccaCEM">> = iolist_to_binary(re:replace("123abcfoo","(?<=\\d{3}...)(?<!999)foo","caCEM",[])),
17836    <<"123abccaCEM">> = iolist_to_binary(re:replace("123abcfoo","(?<=\\d{3}...)(?<!999)foo","caCEM",[global])),
17837    <<"123456fSpVHIfooj">> = iolist_to_binary(re:replace("123456foo","(?<=\\d{3}...)(?<!999)foo","fSpVHI&j",[])),
17838    <<"123456fSpVHIfooj">> = iolist_to_binary(re:replace("123456foo","(?<=\\d{3}...)(?<!999)foo","fSpVHI&j",[global])),
17839    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=\\d{3}...)(?<!999)foo","eLqPt",[])),
17840    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?<=\\d{3}...)(?<!999)foo","eLqPt",[global])),
17841    <<"123999foo">> = iolist_to_binary(re:replace("123999foo","(?<=\\d{3}...)(?<!999)foo","&ORV",[])),
17842    <<"123999foo">> = iolist_to_binary(re:replace("123999foo","(?<=\\d{3}...)(?<!999)foo","&ORV",[global])),
17843    <<"gIWbF<a href=abcdNFWj xyz">> = iolist_to_binary(re:replace("<a href=abcd xyz","<a[\\s]+href[\\s]*=[\\s]*          # find <a href=
17844 ([\\\"\\'])?                       # find single or double quote
17845 (?(1) (.*?)\\1 | ([^\\s]+))       # if quote found, match up to next matching
17846                                 # quote, otherwise match up to next space","gIWbF&NFWj",[caseless,
17847                                                                                             dotall,
17848                                                                                             extended])),
17849    <<"gIWbF<a href=abcdNFWj xyz">> = iolist_to_binary(re:replace("<a href=abcd xyz","<a[\\s]+href[\\s]*=[\\s]*          # find <a href=
17850 ([\\\"\\'])?                       # find single or double quote
17851 (?(1) (.*?)\\1 | ([^\\s]+))       # if quote found, match up to next matching
17852                                 # quote, otherwise match up to next space","gIWbF&NFWj",[caseless,
17853                                                                                             dotall,
17854                                                                                             extended,
17855                                                                                             global])),
17856    <<"l\"Ac cats">> = iolist_to_binary(re:replace("<a href=\"abcd xyz pqr\" cats","<a[\\s]+href[\\s]*=[\\s]*          # find <a href=
17857 ([\\\"\\'])?                       # find single or double quote
17858 (?(1) (.*?)\\1 | ([^\\s]+))       # if quote found, match up to next matching
17859                                 # quote, otherwise match up to next space","l\\1Ac",[caseless,
17860                                                                                           dotall,
17861                                                                                           extended])),
17862    <<"l\"Ac cats">> = iolist_to_binary(re:replace("<a href=\"abcd xyz pqr\" cats","<a[\\s]+href[\\s]*=[\\s]*          # find <a href=
17863 ([\\\"\\'])?                       # find single or double quote
17864 (?(1) (.*?)\\1 | ([^\\s]+))       # if quote found, match up to next matching
17865                                 # quote, otherwise match up to next space","l\\1Ac",[caseless,
17866                                                                                           dotall,
17867                                                                                           extended,
17868                                                                                           global])),
17869    <<"wMK'N'IKKxMErnc cats">> = iolist_to_binary(re:replace("<a href='abcd xyz pqr' cats","<a[\\s]+href[\\s]*=[\\s]*          # find <a href=
17870 ([\\\"\\'])?                       # find single or double quote
17871 (?(1) (.*?)\\1 | ([^\\s]+))       # if quote found, match up to next matching
17872                                 # quote, otherwise match up to next space","wMK\\1N\\1IKKxMErnc",[caseless,
17873                                                                                                          dotall,
17874                                                                                                          extended])),
17875    <<"wMK'N'IKKxMErnc cats">> = iolist_to_binary(re:replace("<a href='abcd xyz pqr' cats","<a[\\s]+href[\\s]*=[\\s]*          # find <a href=
17876 ([\\\"\\'])?                       # find single or double quote
17877 (?(1) (.*?)\\1 | ([^\\s]+))       # if quote found, match up to next matching
17878                                 # quote, otherwise match up to next space","wMK\\1N\\1IKKxMErnc",[caseless,
17879                                                                                                          dotall,
17880                                                                                                          extended,
17881                                                                                                          global])),
17882    <<"OB<a href=abcdNftFV<a href=abcd xyz">> = iolist_to_binary(re:replace("<a href=abcd xyz","<a\\s+href\\s*=\\s*                # find <a href=
17883 ([\"'])?                         # find single or double quote
17884 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
17885                                 # quote, otherwise match up to next space","OB&NftFV&\\1",[caseless,
17886                                                                                                 dotall,
17887                                                                                                 extended])),
17888    <<"OB<a href=abcdNftFV<a href=abcd xyz">> = iolist_to_binary(re:replace("<a href=abcd xyz","<a\\s+href\\s*=\\s*                # find <a href=
17889 ([\"'])?                         # find single or double quote
17890 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
17891                                 # quote, otherwise match up to next space","OB&NftFV&\\1",[caseless,
17892                                                                                                 dotall,
17893                                                                                                 extended,
17894                                                                                                 global])),
17895    <<"<a href=\"abcd xyz pqr\"LxBb<a href=\"abcd xyz pqr\"\"EuHPuB\"\"dqn\"U cats">> = iolist_to_binary(re:replace("<a href=\"abcd xyz pqr\" cats","<a\\s+href\\s*=\\s*                # find <a href=
17896 ([\"'])?                         # find single or double quote
17897 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
17898                                 # quote, otherwise match up to next space","&LxBb&\\1EuHPuB\\1\\1dqn\\1U",[caseless,
17899                                                                                                                       dotall,
17900                                                                                                                       extended])),
17901    <<"<a href=\"abcd xyz pqr\"LxBb<a href=\"abcd xyz pqr\"\"EuHPuB\"\"dqn\"U cats">> = iolist_to_binary(re:replace("<a href=\"abcd xyz pqr\" cats","<a\\s+href\\s*=\\s*                # find <a href=
17902 ([\"'])?                         # find single or double quote
17903 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
17904                                 # quote, otherwise match up to next space","&LxBb&\\1EuHPuB\\1\\1dqn\\1U",[caseless,
17905                                                                                                                       dotall,
17906                                                                                                                       extended,
17907                                                                                                                       global])),
17908    <<"KCm'''H'Sd'O cats">> = iolist_to_binary(re:replace("<a href       =       'abcd xyz pqr' cats","<a\\s+href\\s*=\\s*                # find <a href=
17909 ([\"'])?                         # find single or double quote
17910 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
17911                                 # quote, otherwise match up to next space","KCm\\1\\1\\1H\\1Sd\\1O",[caseless,
17912                                                                                                                   dotall,
17913                                                                                                                   extended])),
17914    <<"KCm'''H'Sd'O cats">> = iolist_to_binary(re:replace("<a href       =       'abcd xyz pqr' cats","<a\\s+href\\s*=\\s*                # find <a href=
17915 ([\"'])?                         # find single or double quote
17916 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
17917                                 # quote, otherwise match up to next space","KCm\\1\\1\\1H\\1Sd\\1O",[caseless,
17918                                                                                                                   dotall,
17919                                                                                                                   extended,
17920                                                                                                                   global])),
17921    <<"hnRxfhjlJxA xyz">> = iolist_to_binary(re:replace("<a href=abcd xyz","<a\\s+href(?>\\s*)=(?>\\s*)        # find <a href=
17922 ([\"'])?                         # find single or double quote
17923 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
17924                                 # quote, otherwise match up to next space","hnRxfhjlJxA",[caseless,
17925                                                                                              dotall,
17926                                                                                              extended])),
17927    <<"hnRxfhjlJxA xyz">> = iolist_to_binary(re:replace("<a href=abcd xyz","<a\\s+href(?>\\s*)=(?>\\s*)        # find <a href=
17928 ([\"'])?                         # find single or double quote
17929 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
17930                                 # quote, otherwise match up to next space","hnRxfhjlJxA",[caseless,
17931                                                                                              dotall,
17932                                                                                              extended,
17933                                                                                              global])),
17934    <<"Md cats">> = iolist_to_binary(re:replace("<a href=\"abcd xyz pqr\" cats","<a\\s+href(?>\\s*)=(?>\\s*)        # find <a href=
17935 ([\"'])?                         # find single or double quote
17936 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
17937                                 # quote, otherwise match up to next space","Md",[caseless,
17938                                                                                     dotall,
17939                                                                                     extended])),
17940    <<"Md cats">> = iolist_to_binary(re:replace("<a href=\"abcd xyz pqr\" cats","<a\\s+href(?>\\s*)=(?>\\s*)        # find <a href=
17941 ([\"'])?                         # find single or double quote
17942 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
17943                                 # quote, otherwise match up to next space","Md",[caseless,
17944                                                                                     dotall,
17945                                                                                     extended,
17946                                                                                     global])),
17947    <<"TYyXigPSfkp<a href       =       'abcd xyz pqr'vsJ'B cats">> = iolist_to_binary(re:replace("<a href       =       'abcd xyz pqr' cats","<a\\s+href(?>\\s*)=(?>\\s*)        # find <a href=
17948 ([\"'])?                         # find single or double quote
17949 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
17950                                 # quote, otherwise match up to next space","TYyXigPSfkp&vsJ\\1B",[caseless,
17951                                                                                                        dotall,
17952                                                                                                        extended])),
17953    <<"TYyXigPSfkp<a href       =       'abcd xyz pqr'vsJ'B cats">> = iolist_to_binary(re:replace("<a href       =       'abcd xyz pqr' cats","<a\\s+href(?>\\s*)=(?>\\s*)        # find <a href=
17954 ([\"'])?                         # find single or double quote
17955 (?(1) (.*?)\\1 | (\\S+))          # if quote found, match up to next matching
17956                                 # quote, otherwise match up to next space","TYyXigPSfkp&vsJ\\1B",[caseless,
17957                                                                                                        dotall,
17958                                                                                                        extended,
17959                                                                                                        global])),
17960    <<"wMBCDEFG">> = iolist_to_binary(re:replace("ZABCDEFG","((Z)+|A)*","wM",[])),
17961    <<"wMwMBwMCwMDwMEwMFwMGwM">> = iolist_to_binary(re:replace("ZABCDEFG","((Z)+|A)*","wM",[global])),
17962    <<"bbZAKgAEEXBCDEFG">> = iolist_to_binary(re:replace("ZABCDEFG","(Z()|A)*","bb&Kg\\1EEX",[])),
17963    <<"bbZAKgAEEXbbKgEEXBbbKgEEXCbbKgEEXDbbKgEEXEbbKgEEXFbbKgEEXGbbKgEEX">> = iolist_to_binary(re:replace("ZABCDEFG","(Z()|A)*","bb&Kg\\1EEX",[global])),
17964    <<"dNoAtAFSCaAAZAXLDIZATBCDEFG">> = iolist_to_binary(re:replace("ZABCDEFG","(Z(())|A)*","dNo\\1t\\1FSCa\\1A&XLDI&T",[])),
17965    <<"dNoAtAFSCaAAZAXLDIZATdNotFSCaAXLDITBdNotFSCaAXLDITCdNotFSCaAXLDITDdNotFSCaAXLDITEdNotFSCaAXLDITFdNotFSCaAXLDITGdNotFSCaAXLDIT">> = iolist_to_binary(re:replace("ZABCDEFG","(Z(())|A)*","dNo\\1t\\1FSCa\\1A&XLDI&T",[global])),
17966    <<"ALpUZABCDEFG">> = iolist_to_binary(re:replace("ZABCDEFG","((?>Z)+|A)*","\\1LpU&",[])),
17967    <<"ALpUZALpUBLpUCLpUDLpUELpUFLpUGLpU">> = iolist_to_binary(re:replace("ZABCDEFG","((?>Z)+|A)*","\\1LpU&",[global])),
17968    <<"cMqaXsBwaDZABCDEFG">> = iolist_to_binary(re:replace("ZABCDEFG","((?>)+|A)*","cMq\\1\\1aX&sBw\\1aD",[])),
17969    <<"cMqaXsBwaDZcMqaXsBwaDcMqaXAsBwaDcMqaXsBwaDBcMqaXsBwaDCcMqaXsBwaDDcMqaXsBwaDEcMqaXsBwaDFcMqaXsBwaDGcMqaXsBwaD">> = iolist_to_binary(re:replace("ZABCDEFG","((?>)+|A)*","cMq\\1\\1aX&sBw\\1aD",[global])),
17970    <<"akaDGHXFpdvXlyHabbab">> = iolist_to_binary(re:replace("abbab","a*","&k&DGHXFpdvXlyH&",[])),
17971    <<"akaDGHXFpdvXlyHakDGHXFpdvXlyHbkDGHXFpdvXlyHbakaDGHXFpdvXlyHakDGHXFpdvXlyHbkDGHXFpdvXlyH">> = iolist_to_binary(re:replace("abbab","a*","&k&DGHXFpdvXlyH&",[global])),
17972    <<"YudMQIhVhnAHEwYsbcde">> = iolist_to_binary(re:replace("abcde","^[\\d-a]","YudMQIhVhnA\\1HE\\1wYs",[])),
17973    <<"YudMQIhVhnAHEwYsbcde">> = iolist_to_binary(re:replace("abcde","^[\\d-a]","YudMQIhVhnA\\1HE\\1wYs",[global])),
17974    <<"ITGPfithings">> = iolist_to_binary(re:replace("-things","^[\\d-a]","ITGPfi",[])),
17975    <<"ITGPfithings">> = iolist_to_binary(re:replace("-things","^[\\d-a]","ITGPfi",[global])),
17976    <<"LnPbdQ0digit">> = iolist_to_binary(re:replace("0digit","^[\\d-a]","\\1L\\1nP\\1\\1bdQ&",[])),
17977    <<"LnPbdQ0digit">> = iolist_to_binary(re:replace("0digit","^[\\d-a]","\\1L\\1nP\\1\\1bdQ&",[global])),
17978    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[\\d-a]","iDE&bvLKwXgDAsFK\\1Bjx",[])),
17979    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^[\\d-a]","iDE&bvLKwXgDAsFK\\1Bjx",[global])),
17980    <<"bcdef">> = iolist_to_binary(re:replace("bcdef","^[\\d-a]","Hni&",[])),
17981    <<"bcdef">> = iolist_to_binary(re:replace("bcdef","^[\\d-a]","Hni&",[global])),
17982    <<">Aqg<">> = iolist_to_binary(re:replace(">
17983
17984<","[[:space:]]+","Aqg",[])),
17985    <<">Aqg<">> = iolist_to_binary(re:replace(">
17986
17987<","[[:space:]]+","Aqg",[global])),
17988    <<"> 	p 	 	EdRI 	wCXk 	jvFPn
17989
17990<">> = iolist_to_binary(re:replace(">
17991
17992<","[[:blank:]]+","&p&&\\1EdRI&wCXk&jvFPn",[])),
17993    <<"> 	p 	 	EdRI 	wCXk 	jvFPn
17994
17995<">> = iolist_to_binary(re:replace(">
17996
17997<","[[:blank:]]+","&p&&\\1EdRI&wCXk&jvFPn",[global])),
17998    <<">uUfO
17999
18000Y
18001
18002
18003
18004kF
18005
18006yXDhdgEU<">> = iolist_to_binary(re:replace(">
18007
18008<","[\\s]+","uUfO&Y&&kF&yXDhdgEU",[])),
18009    <<">uUfO
18010
18011Y
18012
18013
18014
18015kF
18016
18017yXDhdgEU<">> = iolist_to_binary(re:replace(">
18018
18019<","[\\s]+","uUfO&Y&&kF&yXDhdgEU",[global])),
18020    <<">LJx
18021
18022SrSQ
18023
18024LLV
18025
18026c<">> = iolist_to_binary(re:replace(">
18027
18028<","\\s+","L\\1Jx&SrSQ&LLV&c",[])),
18029    <<">LJx
18030
18031SrSQ
18032
18033LLV
18034
18035c<">> = iolist_to_binary(re:replace(">
18036
18037<","\\s+","L\\1Jx&SrSQ&LLV&c",[global])),
18038    <<"hjBvDrJpGabab">> = iolist_to_binary(re:replace("ab","ab","hjBv\\1DrJpG&&",[extended])),
18039    <<"hjBvDrJpGabab">> = iolist_to_binary(re:replace("ab","ab","hjBv\\1DrJpG&&",[extended,
18040                                                                                                                                                                                  global])),
18041    <<"a
18042MHFuJMpPfb">> = iolist_to_binary(re:replace("a
18043xb","(?!\\A)x","MHFuJ\\1MpPf",[multiline])),
18044    <<"a
18045MHFuJMpPfb">> = iolist_to_binary(re:replace("a
18046xb","(?!\\A)x","MHFuJ\\1MpPf",[multiline,global])),
18047    <<"a
18048xb">> = iolist_to_binary(re:replace("a
18049xb","(?!^)x","\\1&MUUB\\1&cvVsiXTO",[multiline])),
18050    <<"a
18051xb">> = iolist_to_binary(re:replace("a
18052xb","(?!^)x","\\1&MUUB\\1&cvVsiXTO",[multiline,global])),
18053    <<"ACPKQHic">> = iolist_to_binary(re:replace("abcabcabc","abc\\Qabc\\Eabc","ACPKQHic",[])),
18054    <<"ACPKQHic">> = iolist_to_binary(re:replace("abcabcabc","abc\\Qabc\\Eabc","ACPKQHic",[global])),
18055    <<"egYBIabc(*+|abciLq">> = iolist_to_binary(re:replace("abc(*+|abc","abc\\Q(*+|\\Eabc","\\1\\1e\\1gYBI&iLq",[])),
18056    <<"egYBIabc(*+|abciLq">> = iolist_to_binary(re:replace("abc(*+|abc","abc\\Q(*+|\\Eabc","\\1\\1e\\1gYBI&iLq",[global])),
18057    ok.
18058run33() ->
18059    <<"AbfsJWLabc abcabcptMOXYup">> = iolist_to_binary(re:replace("abc abcabc","   abc\\Q abc\\Eabc","AbfsJWL\\1&ptMOXYup",[extended])),
18060    <<"AbfsJWLabc abcabcptMOXYup">> = iolist_to_binary(re:replace("abc abcabc","   abc\\Q abc\\Eabc","AbfsJWL\\1&ptMOXYup",[extended,
18061                                                                                                                                                                                                                                             global])),
18062    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","   abc\\Q abc\\Eabc","GICvX&n",[extended])),
18063    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","   abc\\Q abc\\Eabc","GICvX&n",[extended,
18064                                                                                                                                                                                                                      global])),
18065    <<"abcabcabc">> = iolist_to_binary(re:replace("abcabcabc","   abc\\Q abc\\Eabc","BJk\\1",[extended])),
18066    <<"abcabcabc">> = iolist_to_binary(re:replace("abcabcabc","   abc\\Q abc\\Eabc","BJk\\1",[extended,
18067                                                                                                                                                                                                                global])),
18068    <<"mabc#not comment
18069    literalBadWyqAUwNabc#not comment
18070    literalabc#not comment
18071    literalC">> = iolist_to_binary(re:replace("abc#not comment
18072    literal","abc#comment
18073    \\Q#not comment
18074    literal\\E","m\\1&BadWyqAUwN&&C",[extended])),
18075    <<"mabc#not comment
18076    literalBadWyqAUwNabc#not comment
18077    literalabc#not comment
18078    literalC">> = iolist_to_binary(re:replace("abc#not comment
18079    literal","abc#comment
18080    \\Q#not comment
18081    literal\\E","m\\1&BadWyqAUwN&&C",[extended,global])),
18082    <<"Ywruhyabc#not comment
18083    literal">> = iolist_to_binary(re:replace("abc#not comment
18084    literal","abc#comment
18085    \\Q#not comment
18086    literal","Ywr\\1uh\\1y&",[extended])),
18087    <<"Ywruhyabc#not comment
18088    literal">> = iolist_to_binary(re:replace("abc#not comment
18089    literal","abc#comment
18090    \\Q#not comment
18091    literal","Ywr\\1uh\\1y&",[extended,global])),
18092    <<"FWoMpwmabc#not comment
18093    literalabc#not comment
18094    literalAabc#not comment
18095    literalpnsNM">> = iolist_to_binary(re:replace("abc#not comment
18096    literal","abc#comment
18097    \\Q#not comment
18098    literal\\E #more comment
18099    ","FW\\1oMpwm&&A&pnsNM",[extended])),
18100    <<"FWoMpwmabc#not comment
18101    literalabc#not comment
18102    literalAabc#not comment
18103    literalpnsNM">> = iolist_to_binary(re:replace("abc#not comment
18104    literal","abc#comment
18105    \\Q#not comment
18106    literal\\E #more comment
18107    ","FW\\1oMpwm&&A&pnsNM",[extended,global])),
18108    <<"j">> = iolist_to_binary(re:replace("abc#not comment
18109    literal","abc#comment
18110    \\Q#not comment
18111    literal\\E #more comment","j",[extended])),
18112    <<"j">> = iolist_to_binary(re:replace("abc#not comment
18113    literal","abc#comment
18114    \\Q#not comment
18115    literal\\E #more comment","j",[extended,global])),
18116    <<"ChAMNBQIJQHq">> = iolist_to_binary(re:replace("abc\\$xyz","\\Qabc\\$xyz\\E","ChAMNBQIJQHq",[])),
18117    <<"ChAMNBQIJQHq">> = iolist_to_binary(re:replace("abc\\$xyz","\\Qabc\\$xyz\\E","ChAMNBQIJQHq",[global])),
18118    <<"Qabc$xyzKpQ">> = iolist_to_binary(re:replace("abc$xyz","\\Qabc\\E\\$\\Qxyz\\E","Q&KpQ",[])),
18119    <<"Qabc$xyzKpQ">> = iolist_to_binary(re:replace("abc$xyz","\\Qabc\\E\\$\\Qxyz\\E","Q&KpQ",[global])),
18120    <<"iDjabcXpqUmXasnjCabc">> = iolist_to_binary(re:replace("abc","\\Gabc","\\1i\\1Dj&XpqUmXasnj\\1C\\1&",[])),
18121    <<"iDjabcXpqUmXasnjCabc">> = iolist_to_binary(re:replace("abc","\\Gabc","\\1i\\1Dj&XpqUmXasnj\\1C\\1&",[global])),
18122    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\Gabc","i\\1joBu\\1ebM",[])),
18123    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\Gabc","i\\1joBu\\1ebM",[global])),
18124    <<"xyzabc">> = iolist_to_binary(re:replace("xyzabc","\\Gabc","pJK&la&\\1NSiseJOytL",[])),
18125    <<"xyzabc">> = iolist_to_binary(re:replace("xyzabc","\\Gabc","pJK&la&\\1NSiseJOytL",[global])),
18126    <<"ohvLabc2xyzabc3">> = iolist_to_binary(re:replace("abc1abc2xyzabc3","\\Gabc.","ohvL",[])),
18127    <<"ohvLohvLxyzabc3">> = iolist_to_binary(re:replace("abc1abc2xyzabc3","\\Gabc.","ohvL",[global])),
18128    <<"HJiFabc1Chbjabc2xyzabc3">> = iolist_to_binary(re:replace("abc1abc2xyzabc3","abc.","HJiF&Chbj",[])),
18129    <<"HJiFabc1ChbjHJiFabc2ChbjxyzHJiFabc3Chbj">> = iolist_to_binary(re:replace("abc1abc2xyzabc3","abc.","HJiF&Chbj",[global])),
18130    <<"XxabcdrWcHPabcdKQabcdY">> = iolist_to_binary(re:replace("XabcdY","a(?x: b c )d","\\1x&rWcH\\1P&KQ&",[])),
18131    <<"XxabcdrWcHPabcdKQabcdY">> = iolist_to_binary(re:replace("XabcdY","a(?x: b c )d","\\1x&rWcH\\1P&KQ&",[global])),
18132    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?x: b c )d","yTwKPU\\1&NhlmWO",[])),
18133    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","a(?x: b c )d","yTwKPU\\1&NhlmWO",[global])),
18134    <<"Xa b c d Y">> = iolist_to_binary(re:replace("Xa b c d Y","a(?x: b c )d","psI",[])),
18135    <<"Xa b c d Y">> = iolist_to_binary(re:replace("Xa b c d Y","a(?x: b c )d","psI",[global])),
18136    <<"XOabccFXabcgY">> = iolist_to_binary(re:replace("XabcY","((?x)x y z | a b c)","O&cFX\\1g",[])),
18137    <<"XOabccFXabcgY">> = iolist_to_binary(re:replace("XabcY","((?x)x y z | a b c)","O&cFX\\1g",[global])),
18138    <<"AxyzaoxyzB">> = iolist_to_binary(re:replace("AxyzB","((?x)x y z | a b c)","\\1ao&",[])),
18139    <<"AxyzaoxyzB">> = iolist_to_binary(re:replace("AxyzB","((?x)x y z | a b c)","\\1ao&",[global])),
18140    <<"XibY">> = iolist_to_binary(re:replace("XabCY","(?i)AB(?-i)C","ib",[])),
18141    <<"XibY">> = iolist_to_binary(re:replace("XabCY","(?i)AB(?-i)C","ib",[global])),
18142    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?i)AB(?-i)C","wYYUWrmo",[])),
18143    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(?i)AB(?-i)C","wYYUWrmo",[global])),
18144    <<"XabcY">> = iolist_to_binary(re:replace("XabcY","(?i)AB(?-i)C","o&CXr&jJvHyaNHQ",[])),
18145    <<"XabcY">> = iolist_to_binary(re:replace("XabcY","(?i)AB(?-i)C","o&CXr&jJvHyaNHQ",[global])),
18146    <<"ouJo">> = iolist_to_binary(re:replace("abCE","((?i)AB(?-i)C|D)E","ouJo",[])),
18147    <<"ouJo">> = iolist_to_binary(re:replace("abCE","((?i)AB(?-i)C|D)E","ouJo",[global])),
18148    <<"OcHODINyYSDEpUbBfxDEGM">> = iolist_to_binary(re:replace("DE","((?i)AB(?-i)C|D)E","OcHO\\1INyYS&pUbBfx&GM",[])),
18149    <<"OcHODINyYSDEpUbBfxDEGM">> = iolist_to_binary(re:replace("DE","((?i)AB(?-i)C|D)E","OcHO\\1INyYS&pUbBfx&GM",[global])),
18150    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((?i)AB(?-i)C|D)E","BYe",[])),
18151    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((?i)AB(?-i)C|D)E","BYe",[global])),
18152    <<"abcE">> = iolist_to_binary(re:replace("abcE","((?i)AB(?-i)C|D)E","&rB\\1CAA",[])),
18153    <<"abcE">> = iolist_to_binary(re:replace("abcE","((?i)AB(?-i)C|D)E","&rB\\1CAA",[global])),
18154    <<"abCe">> = iolist_to_binary(re:replace("abCe","((?i)AB(?-i)C|D)E","a&LpvMhr",[])),
18155    <<"abCe">> = iolist_to_binary(re:replace("abCe","((?i)AB(?-i)C|D)E","a&LpvMhr",[global])),
18156    <<"dE">> = iolist_to_binary(re:replace("dE","((?i)AB(?-i)C|D)E","dS",[])),
18157    <<"dE">> = iolist_to_binary(re:replace("dE","((?i)AB(?-i)C|D)E","dS",[global])),
18158    <<"De">> = iolist_to_binary(re:replace("De","((?i)AB(?-i)C|D)E","cCfly&",[])),
18159    <<"De">> = iolist_to_binary(re:replace("De","((?i)AB(?-i)C|D)E","cCfly&",[global])),
18160    <<"Qabc123abcabcLBDabcXabca">> = iolist_to_binary(re:replace("abc123abc","(.*)\\d+\\1","Q&\\1LBD\\1X\\1a",[])),
18161    <<"Qabc123abcabcLBDabcXabca">> = iolist_to_binary(re:replace("abc123abc","(.*)\\d+\\1","Q&\\1LBD\\1X\\1a",[global])),
18162    <<"anTeSdybc123bcHldppbc123bcDx">> = iolist_to_binary(re:replace("abc123bc","(.*)\\d+\\1","nTeSdy&Hldpp&Dx",[])),
18163    <<"anTeSdybc123bcHldppbc123bcDx">> = iolist_to_binary(re:replace("abc123bc","(.*)\\d+\\1","nTeSdy&Hldpp&Dx",[global])),
18164    <<"pGabcabcabcabc123abcabc123abcawKG">> = iolist_to_binary(re:replace("abc123abc","(.*)\\d+\\1","pG\\1\\1\\1&&awKG",[dotall])),
18165    <<"pGabcabcabcabc123abcabc123abcawKG">> = iolist_to_binary(re:replace("abc123abc","(.*)\\d+\\1","pG\\1\\1\\1&&awKG",[dotall,
18166                                                                                                                                                                                                                          global])),
18167    <<"aMMJMXbc123bcGqwwAbc123bcEnL">> = iolist_to_binary(re:replace("abc123bc","(.*)\\d+\\1","MMJMX&GqwwA&EnL",[dotall])),
18168    <<"aMMJMXbc123bcGqwwAbc123bcEnL">> = iolist_to_binary(re:replace("abc123bc","(.*)\\d+\\1","MMJMX&GqwwA&EnL",[dotall,
18169                                                                                                                                                                                                                 global])),
18170    <<"qrVVkabc123abcwTosM">> = iolist_to_binary(re:replace("abc123abc","((.*))\\d+\\1","qrVVk&wTosM",[])),
18171    <<"qrVVkabc123abcwTosM">> = iolist_to_binary(re:replace("abc123abc","((.*))\\d+\\1","qrVVk&wTosM",[global])),
18172    <<"ayYbc123bcbcPPbcCodRbc123bcKbcVM">> = iolist_to_binary(re:replace("abc123bc","((.*))\\d+\\1","yY&\\1PP\\1CodR&K\\1VM",[])),
18173    <<"ayYbc123bcbcPPbcCodRbc123bcKbcVM">> = iolist_to_binary(re:replace("abc123bc","((.*))\\d+\\1","yY&\\1PP\\1CodR&K\\1VM",[global])),
18174    <<"LwcvndSdaPKHex">> = iolist_to_binary(re:replace("a123::a123","^(?!:)                       # colon disallowed at start
18175  (?:                         # start of item
18176    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18177    (?(1)0 | () ) )           # if null previously matched, fail; else null
18178    :                         # followed by colon
18179  ){1,7}                      # end item; 1-7 of them required
18180  [0-9a-f]{1,4} $             # final hex number at end of string
18181  (?(1)|.)                    # check that there was an empty component
18182  ","LwcvndSdaPKHex",[extended,caseless])),
18183    <<"LwcvndSdaPKHex">> = iolist_to_binary(re:replace("a123::a123","^(?!:)                       # colon disallowed at start
18184  (?:                         # start of item
18185    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18186    (?(1)0 | () ) )           # if null previously matched, fail; else null
18187    :                         # followed by colon
18188  ){1,7}                      # end item; 1-7 of them required
18189  [0-9a-f]{1,4} $             # final hex number at end of string
18190  (?(1)|.)                    # check that there was an empty component
18191  ","LwcvndSdaPKHex",[extended,caseless,global])),
18192    <<"RfGpa123:b342::abcdjkWGiWxPCIAx">> = iolist_to_binary(re:replace("a123:b342::abcd","^(?!:)                       # colon disallowed at start
18193  (?:                         # start of item
18194    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18195    (?(1)0 | () ) )           # if null previously matched, fail; else null
18196    :                         # followed by colon
18197  ){1,7}                      # end item; 1-7 of them required
18198  [0-9a-f]{1,4} $             # final hex number at end of string
18199  (?(1)|.)                    # check that there was an empty component
18200  ","R\\1fGp&\\1jkWGiWxPCIAx",[extended,caseless])),
18201    <<"RfGpa123:b342::abcdjkWGiWxPCIAx">> = iolist_to_binary(re:replace("a123:b342::abcd","^(?!:)                       # colon disallowed at start
18202  (?:                         # start of item
18203    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18204    (?(1)0 | () ) )           # if null previously matched, fail; else null
18205    :                         # followed by colon
18206  ){1,7}                      # end item; 1-7 of them required
18207  [0-9a-f]{1,4} $             # final hex number at end of string
18208  (?(1)|.)                    # check that there was an empty component
18209  ","R\\1fGp&\\1jkWGiWxPCIAx",[extended,caseless,global])),
18210    <<"FBOvYuiruXBa123:b342::324e:abcdaag">> = iolist_to_binary(re:replace("a123:b342::324e:abcd","^(?!:)                       # colon disallowed at start
18211  (?:                         # start of item
18212    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18213    (?(1)0 | () ) )           # if null previously matched, fail; else null
18214    :                         # followed by colon
18215  ){1,7}                      # end item; 1-7 of them required
18216  [0-9a-f]{1,4} $             # final hex number at end of string
18217  (?(1)|.)                    # check that there was an empty component
18218  ","FBOvYuir\\1uXB&aag",[extended,caseless])),
18219    <<"FBOvYuiruXBa123:b342::324e:abcdaag">> = iolist_to_binary(re:replace("a123:b342::324e:abcd","^(?!:)                       # colon disallowed at start
18220  (?:                         # start of item
18221    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18222    (?(1)0 | () ) )           # if null previously matched, fail; else null
18223    :                         # followed by colon
18224  ){1,7}                      # end item; 1-7 of them required
18225  [0-9a-f]{1,4} $             # final hex number at end of string
18226  (?(1)|.)                    # check that there was an empty component
18227  ","FBOvYuir\\1uXB&aag",[extended,caseless,global])),
18228    <<"krOa123:ddde:b342::324e:abcdnoa123:ddde:b342::324e:abcdAqWa123:ddde:b342::324e:abcdLa123:ddde:b342::324e:abcdkpysY">> = iolist_to_binary(re:replace("a123:ddde:b342::324e:abcd","^(?!:)                       # colon disallowed at start
18229  (?:                         # start of item
18230    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18231    (?(1)0 | () ) )           # if null previously matched, fail; else null
18232    :                         # followed by colon
18233  ){1,7}                      # end item; 1-7 of them required
18234  [0-9a-f]{1,4} $             # final hex number at end of string
18235  (?(1)|.)                    # check that there was an empty component
18236  ","krO&no&\\1Aq\\1W&L&kpysY",[extended,caseless])),
18237    <<"krOa123:ddde:b342::324e:abcdnoa123:ddde:b342::324e:abcdAqWa123:ddde:b342::324e:abcdLa123:ddde:b342::324e:abcdkpysY">> = iolist_to_binary(re:replace("a123:ddde:b342::324e:abcd","^(?!:)                       # colon disallowed at start
18238  (?:                         # start of item
18239    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18240    (?(1)0 | () ) )           # if null previously matched, fail; else null
18241    :                         # followed by colon
18242  ){1,7}                      # end item; 1-7 of them required
18243  [0-9a-f]{1,4} $             # final hex number at end of string
18244  (?(1)|.)                    # check that there was an empty component
18245  ","krO&no&\\1Aq\\1W&L&kpysY",[extended,caseless,global])),
18246    <<"DkvAQa123:ddde:b342::324e:dcba:abcdJw">> = iolist_to_binary(re:replace("a123:ddde:b342::324e:dcba:abcd","^(?!:)                       # colon disallowed at start
18247  (?:                         # start of item
18248    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18249    (?(1)0 | () ) )           # if null previously matched, fail; else null
18250    :                         # followed by colon
18251  ){1,7}                      # end item; 1-7 of them required
18252  [0-9a-f]{1,4} $             # final hex number at end of string
18253  (?(1)|.)                    # check that there was an empty component
18254  ","Dk\\1vAQ&J\\1w",[extended,caseless])),
18255    <<"DkvAQa123:ddde:b342::324e:dcba:abcdJw">> = iolist_to_binary(re:replace("a123:ddde:b342::324e:dcba:abcd","^(?!:)                       # colon disallowed at start
18256  (?:                         # start of item
18257    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18258    (?(1)0 | () ) )           # if null previously matched, fail; else null
18259    :                         # followed by colon
18260  ){1,7}                      # end item; 1-7 of them required
18261  [0-9a-f]{1,4} $             # final hex number at end of string
18262  (?(1)|.)                    # check that there was an empty component
18263  ","Dk\\1vAQ&J\\1w",[extended,caseless,global])),
18264    <<"peonyvOkMFYpa123:ddde:9999:b342::324e:dcba:abcdp">> = iolist_to_binary(re:replace("a123:ddde:9999:b342::324e:dcba:abcd","^(?!:)                       # colon disallowed at start
18265  (?:                         # start of item
18266    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18267    (?(1)0 | () ) )           # if null previously matched, fail; else null
18268    :                         # followed by colon
18269  ){1,7}                      # end item; 1-7 of them required
18270  [0-9a-f]{1,4} $             # final hex number at end of string
18271  (?(1)|.)                    # check that there was an empty component
18272  ","peo\\1n\\1yvOkMFY\\1\\1p&p",[extended,caseless])),
18273    <<"peonyvOkMFYpa123:ddde:9999:b342::324e:dcba:abcdp">> = iolist_to_binary(re:replace("a123:ddde:9999:b342::324e:dcba:abcd","^(?!:)                       # colon disallowed at start
18274  (?:                         # start of item
18275    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18276    (?(1)0 | () ) )           # if null previously matched, fail; else null
18277    :                         # followed by colon
18278  ){1,7}                      # end item; 1-7 of them required
18279  [0-9a-f]{1,4} $             # final hex number at end of string
18280  (?(1)|.)                    # check that there was an empty component
18281  ","peo\\1n\\1yvOkMFY\\1\\1p&p",[extended,caseless,global])),
18282    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?!:)                       # colon disallowed at start
18283  (?:                         # start of item
18284    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18285    (?(1)0 | () ) )           # if null previously matched, fail; else null
18286    :                         # followed by colon
18287  ){1,7}                      # end item; 1-7 of them required
18288  [0-9a-f]{1,4} $             # final hex number at end of string
18289  (?(1)|.)                    # check that there was an empty component
18290  ","qiY&iLNeXJ",[extended,caseless])),
18291    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?!:)                       # colon disallowed at start
18292  (?:                         # start of item
18293    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18294    (?(1)0 | () ) )           # if null previously matched, fail; else null
18295    :                         # followed by colon
18296  ){1,7}                      # end item; 1-7 of them required
18297  [0-9a-f]{1,4} $             # final hex number at end of string
18298  (?(1)|.)                    # check that there was an empty component
18299  ","qiY&iLNeXJ",[extended,caseless,global])),
18300    <<"1:2:3:4:5:6:7:8">> = iolist_to_binary(re:replace("1:2:3:4:5:6:7:8","^(?!:)                       # colon disallowed at start
18301  (?:                         # start of item
18302    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18303    (?(1)0 | () ) )           # if null previously matched, fail; else null
18304    :                         # followed by colon
18305  ){1,7}                      # end item; 1-7 of them required
18306  [0-9a-f]{1,4} $             # final hex number at end of string
18307  (?(1)|.)                    # check that there was an empty component
18308  ","O\\1E\\1yvbw\\1G&eF",[extended,caseless])),
18309    <<"1:2:3:4:5:6:7:8">> = iolist_to_binary(re:replace("1:2:3:4:5:6:7:8","^(?!:)                       # colon disallowed at start
18310  (?:                         # start of item
18311    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18312    (?(1)0 | () ) )           # if null previously matched, fail; else null
18313    :                         # followed by colon
18314  ){1,7}                      # end item; 1-7 of them required
18315  [0-9a-f]{1,4} $             # final hex number at end of string
18316  (?(1)|.)                    # check that there was an empty component
18317  ","O\\1E\\1yvbw\\1G&eF",[extended,caseless,global])),
18318    <<"a123:bce:ddde:9999:b342::324e:dcba:abcd">> = iolist_to_binary(re:replace("a123:bce:ddde:9999:b342::324e:dcba:abcd","^(?!:)                       # colon disallowed at start
18319  (?:                         # start of item
18320    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18321    (?(1)0 | () ) )           # if null previously matched, fail; else null
18322    :                         # followed by colon
18323  ){1,7}                      # end item; 1-7 of them required
18324  [0-9a-f]{1,4} $             # final hex number at end of string
18325  (?(1)|.)                    # check that there was an empty component
18326  ","dLaiU",[extended,caseless])),
18327    <<"a123:bce:ddde:9999:b342::324e:dcba:abcd">> = iolist_to_binary(re:replace("a123:bce:ddde:9999:b342::324e:dcba:abcd","^(?!:)                       # colon disallowed at start
18328  (?:                         # start of item
18329    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18330    (?(1)0 | () ) )           # if null previously matched, fail; else null
18331    :                         # followed by colon
18332  ){1,7}                      # end item; 1-7 of them required
18333  [0-9a-f]{1,4} $             # final hex number at end of string
18334  (?(1)|.)                    # check that there was an empty component
18335  ","dLaiU",[extended,caseless,global])),
18336    <<"a123::9999:b342::324e:dcba:abcd">> = iolist_to_binary(re:replace("a123::9999:b342::324e:dcba:abcd","^(?!:)                       # colon disallowed at start
18337  (?:                         # start of item
18338    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18339    (?(1)0 | () ) )           # if null previously matched, fail; else null
18340    :                         # followed by colon
18341  ){1,7}                      # end item; 1-7 of them required
18342  [0-9a-f]{1,4} $             # final hex number at end of string
18343  (?(1)|.)                    # check that there was an empty component
18344  ","wLFUSYFg&aIH\\1g&V",[extended,caseless])),
18345    <<"a123::9999:b342::324e:dcba:abcd">> = iolist_to_binary(re:replace("a123::9999:b342::324e:dcba:abcd","^(?!:)                       # colon disallowed at start
18346  (?:                         # start of item
18347    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18348    (?(1)0 | () ) )           # if null previously matched, fail; else null
18349    :                         # followed by colon
18350  ){1,7}                      # end item; 1-7 of them required
18351  [0-9a-f]{1,4} $             # final hex number at end of string
18352  (?(1)|.)                    # check that there was an empty component
18353  ","wLFUSYFg&aIH\\1g&V",[extended,caseless,global])),
18354    <<"abcde:2:3:4:5:6:7:8">> = iolist_to_binary(re:replace("abcde:2:3:4:5:6:7:8","^(?!:)                       # colon disallowed at start
18355  (?:                         # start of item
18356    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18357    (?(1)0 | () ) )           # if null previously matched, fail; else null
18358    :                         # followed by colon
18359  ){1,7}                      # end item; 1-7 of them required
18360  [0-9a-f]{1,4} $             # final hex number at end of string
18361  (?(1)|.)                    # check that there was an empty component
18362  ","giXrPJTSn\\1MX\\1C",[extended,caseless])),
18363    <<"abcde:2:3:4:5:6:7:8">> = iolist_to_binary(re:replace("abcde:2:3:4:5:6:7:8","^(?!:)                       # colon disallowed at start
18364  (?:                         # start of item
18365    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18366    (?(1)0 | () ) )           # if null previously matched, fail; else null
18367    :                         # followed by colon
18368  ){1,7}                      # end item; 1-7 of them required
18369  [0-9a-f]{1,4} $             # final hex number at end of string
18370  (?(1)|.)                    # check that there was an empty component
18371  ","giXrPJTSn\\1MX\\1C",[extended,caseless,global])),
18372    <<"::1">> = iolist_to_binary(re:replace("::1","^(?!:)                       # colon disallowed at start
18373  (?:                         # start of item
18374    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18375    (?(1)0 | () ) )           # if null previously matched, fail; else null
18376    :                         # followed by colon
18377  ){1,7}                      # end item; 1-7 of them required
18378  [0-9a-f]{1,4} $             # final hex number at end of string
18379  (?(1)|.)                    # check that there was an empty component
18380  ","vQ&R&",[extended,caseless])),
18381    <<"::1">> = iolist_to_binary(re:replace("::1","^(?!:)                       # colon disallowed at start
18382  (?:                         # start of item
18383    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18384    (?(1)0 | () ) )           # if null previously matched, fail; else null
18385    :                         # followed by colon
18386  ){1,7}                      # end item; 1-7 of them required
18387  [0-9a-f]{1,4} $             # final hex number at end of string
18388  (?(1)|.)                    # check that there was an empty component
18389  ","vQ&R&",[extended,caseless,global])),
18390    <<"abcd:fee0:123::">> = iolist_to_binary(re:replace("abcd:fee0:123::","^(?!:)                       # colon disallowed at start
18391  (?:                         # start of item
18392    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18393    (?(1)0 | () ) )           # if null previously matched, fail; else null
18394    :                         # followed by colon
18395  ){1,7}                      # end item; 1-7 of them required
18396  [0-9a-f]{1,4} $             # final hex number at end of string
18397  (?(1)|.)                    # check that there was an empty component
18398  ","wNB\\1C\\1T&k&vkfjS",[extended,caseless])),
18399    <<"abcd:fee0:123::">> = iolist_to_binary(re:replace("abcd:fee0:123::","^(?!:)                       # colon disallowed at start
18400  (?:                         # start of item
18401    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18402    (?(1)0 | () ) )           # if null previously matched, fail; else null
18403    :                         # followed by colon
18404  ){1,7}                      # end item; 1-7 of them required
18405  [0-9a-f]{1,4} $             # final hex number at end of string
18406  (?(1)|.)                    # check that there was an empty component
18407  ","wNB\\1C\\1T&k&vkfjS",[extended,caseless,global])),
18408    <<":1">> = iolist_to_binary(re:replace(":1","^(?!:)                       # colon disallowed at start
18409  (?:                         # start of item
18410    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18411    (?(1)0 | () ) )           # if null previously matched, fail; else null
18412    :                         # followed by colon
18413  ){1,7}                      # end item; 1-7 of them required
18414  [0-9a-f]{1,4} $             # final hex number at end of string
18415  (?(1)|.)                    # check that there was an empty component
18416  ","akxV\\1iHF&SgDPd&",[extended,caseless])),
18417    <<":1">> = iolist_to_binary(re:replace(":1","^(?!:)                       # colon disallowed at start
18418  (?:                         # start of item
18419    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18420    (?(1)0 | () ) )           # if null previously matched, fail; else null
18421    :                         # followed by colon
18422  ){1,7}                      # end item; 1-7 of them required
18423  [0-9a-f]{1,4} $             # final hex number at end of string
18424  (?(1)|.)                    # check that there was an empty component
18425  ","akxV\\1iHF&SgDPd&",[extended,caseless,global])),
18426    <<"1:">> = iolist_to_binary(re:replace("1:","^(?!:)                       # colon disallowed at start
18427  (?:                         # start of item
18428    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18429    (?(1)0 | () ) )           # if null previously matched, fail; else null
18430    :                         # followed by colon
18431  ){1,7}                      # end item; 1-7 of them required
18432  [0-9a-f]{1,4} $             # final hex number at end of string
18433  (?(1)|.)                    # check that there was an empty component
18434  ","QtJG\\1",[extended,caseless])),
18435    <<"1:">> = iolist_to_binary(re:replace("1:","^(?!:)                       # colon disallowed at start
18436  (?:                         # start of item
18437    (?: [0-9a-f]{1,4} |       # 1-4 hex digits or
18438    (?(1)0 | () ) )           # if null previously matched, fail; else null
18439    :                         # followed by colon
18440  ){1,7}                      # end item; 1-7 of them required
18441  [0-9a-f]{1,4} $             # final hex number at end of string
18442  (?(1)|.)                    # check that there was an empty component
18443  ","QtJG\\1",[extended,caseless,global])),
18444    <<"thCzKtzX">> = iolist_to_binary(re:replace("z","[z\\Qa-d]\\E]","thC&Kt&X",[])),
18445    <<"thCzKtzX">> = iolist_to_binary(re:replace("z","[z\\Qa-d]\\E]","thC&Kt&X",[global])),
18446    <<"OWpbwPvaaDXmmr">> = iolist_to_binary(re:replace("a","[z\\Qa-d]\\E]","OWpbwPv&&DXmmr",[])),
18447    <<"OWpbwPvaaDXmmr">> = iolist_to_binary(re:replace("a","[z\\Qa-d]\\E]","OWpbwPv&&DXmmr",[global])),
18448    <<"vRf--tS-JWPTPl">> = iolist_to_binary(re:replace("-","[z\\Qa-d]\\E]","vR\\1\\1\\1f&&tS&JWPTPl",[])),
18449    <<"vRf--tS-JWPTPl">> = iolist_to_binary(re:replace("-","[z\\Qa-d]\\E]","vR\\1\\1\\1f&&tS&JWPTPl",[global])),
18450    <<"jExdDgrsjrfGMEAj">> = iolist_to_binary(re:replace("d","[z\\Qa-d]\\E]","j\\1Ex&Dgrsjrf\\1GMEA\\1j",[])),
18451    <<"jExdDgrsjrfGMEAj">> = iolist_to_binary(re:replace("d","[z\\Qa-d]\\E]","j\\1Ex&Dgrsjrf\\1GMEA\\1j",[global])),
18452    <<"BvV]Aqf">> = iolist_to_binary(re:replace("]","[z\\Qa-d]\\E]","BvV&Aqf",[])),
18453    <<"BvV]Aqf">> = iolist_to_binary(re:replace("]","[z\\Qa-d]\\E]","BvV&Aqf",[global])),
18454    <<"*** FhQsGEilers">> = iolist_to_binary(re:replace("*** Failers","[z\\Qa-d]\\E]","hQsG\\1E",[])),
18455    <<"*** FhQsGEilers">> = iolist_to_binary(re:replace("*** Failers","[z\\Qa-d]\\E]","hQsG\\1E",[global])),
18456    <<"b">> = iolist_to_binary(re:replace("b","[z\\Qa-d]\\E]","W\\1Au",[])),
18457    <<"b">> = iolist_to_binary(re:replace("b","[z\\Qa-d]\\E]","W\\1Au",[global])),
18458    ok.
18459run34() ->
18460    <<"KdrNqNfSzzqidyBChn">> = iolist_to_binary(re:replace("z","[\\z\\C]","KdrNqNfS\\1&&qidyBChn",[])),
18461    <<"KdrNqNfSzzqidyBChn">> = iolist_to_binary(re:replace("z","[\\z\\C]","KdrNqNfS\\1&&qidyBChn",[global])),
18462    <<"FWM">> = iolist_to_binary(re:replace("C","[\\z\\C]","FW\\1M",[])),
18463    <<"FWM">> = iolist_to_binary(re:replace("C","[\\z\\C]","FW\\1M",[global])),
18464    <<"FxjIeXxjLM">> = iolist_to_binary(re:replace("M","\\M","FxjIeXxjL&",[])),
18465    <<"FxjIeXxjLM">> = iolist_to_binary(re:replace("M","\\M","FxjIeXxjL&",[global])),
18466    <<"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","(a+)*b","\\1AGI&o&owvv&Ew",[])),
18467    <<"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","(a+)*b","\\1AGI&o&owvv&Ew",[global])),
18468    <<"„XAZidYPfGETo">> = iolist_to_binary(re:replace("„XAZXB","(?<=Z)X.","\\1\\1\\1idYPfGETo",[])),
18469    <<"„XAZidYPfGETo">> = iolist_to_binary(re:replace("„XAZXB","(?<=Z)X.","\\1\\1\\1idYPfGETo",[global])),
18470    <<"bNQDHCQab cd defgab cd defgLqxKPLt">> = iolist_to_binary(re:replace("ab cd defg","ab cd (?x) de fg","bNQDHCQ&&LqxKPLt",[])),
18471    <<"bNQDHCQab cd defgab cd defgLqxKPLt">> = iolist_to_binary(re:replace("ab cd defg","ab cd (?x) de fg","bNQDHCQ&&LqxKPLt",[global])),
18472    <<"kPHqOwBhoab cddefgWcAxPfqs">> = iolist_to_binary(re:replace("ab cddefg","ab cd(?x) de fg","k\\1PHqOwBho&WcAxP\\1fqs",[])),
18473    <<"kPHqOwBhoab cddefgWcAxPfqs">> = iolist_to_binary(re:replace("ab cddefg","ab cd(?x) de fg","k\\1PHqOwBho&WcAxP\\1fqs",[global])),
18474    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","ab cd(?x) de fg","puhITHF\\1GmjJlsK",[])),
18475    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","ab cd(?x) de fg","puhITHF\\1GmjJlsK",[global])),
18476    <<"abcddefg">> = iolist_to_binary(re:replace("abcddefg","ab cd(?x) de fg","\\1UHa&nN\\1cm",[])),
18477    <<"abcddefg">> = iolist_to_binary(re:replace("abcddefg","ab cd(?x) de fg","\\1UHa&nN\\1cm",[global])),
18478    <<"foobarX">> = iolist_to_binary(re:replace("foobarX","(?<![^f]oo)(bar)","&",[])),
18479    <<"foobarX">> = iolist_to_binary(re:replace("foobarX","(?<![^f]oo)(bar)","&",[global])),
18480    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<![^f]oo)(bar)","\\1Mu\\1yADtGr",[])),
18481    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<![^f]oo)(bar)","\\1Mu\\1yADtGr",[global])),
18482    <<"boobarX">> = iolist_to_binary(re:replace("boobarX","(?<![^f]oo)(bar)","xE&\\1\\1\\1oKH",[])),
18483    <<"boobarX">> = iolist_to_binary(re:replace("boobarX","(?<![^f]oo)(bar)","xE&\\1\\1\\1oKH",[global])),
18484    <<"offYXXLgEkUWX">> = iolist_to_binary(re:replace("offX","(?<![^f])X","Y&&L\\1gEkUW&",[])),
18485    <<"offYXXLgEkUWX">> = iolist_to_binary(re:replace("offX","(?<![^f])X","Y&&L\\1gEkUW&",[global])),
18486    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<![^f])X","WPlO&&XQQJOC&\\1SLu&I\\1",[])),
18487    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<![^f])X","WPlO&&XQQJOC&\\1SLu&I\\1",[global])),
18488    <<"onyX">> = iolist_to_binary(re:replace("onyX","(?<![^f])X","&&",[])),
18489    <<"onyX">> = iolist_to_binary(re:replace("onyX","(?<![^f])X","&&",[global])),
18490    <<"onyGaqXoXBMVBEXtSYRHR">> = iolist_to_binary(re:replace("onyX","(?<=[^f])X","Gaq&oXBMVBE&tSYRHR",[])),
18491    <<"onyGaqXoXBMVBEXtSYRHR">> = iolist_to_binary(re:replace("onyX","(?<=[^f])X","Gaq&oXBMVBE&tSYRHR",[global])),
18492    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=[^f])X","Djt&",[])),
18493    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=[^f])X","Djt&",[global])),
18494    <<"offX">> = iolist_to_binary(re:replace("offX","(?<=[^f])X","GvvcQ\\1\\1&lBxPYfk&",[])),
18495    <<"offX">> = iolist_to_binary(re:replace("offX","(?<=[^f])X","GvvcQ\\1\\1&lBxPYfk&",[global])),
18496    <<"CrHVKxYsa
18497b
18498c">> = iolist_to_binary(re:replace("a
18499b
18500c","^","\\1CrHVKxYs",[multiline])),
18501    <<"CrHVKxYsa
18502CrHVKxYsb
18503CrHVKxYsc">> = iolist_to_binary(re:replace("a
18504b
18505c","^","\\1CrHVKxYs",[multiline,global])),
18506    <<"tQATKgVWcvM">> = iolist_to_binary(re:replace("","^","tQATKgVW&cvM",[multiline])),
18507    <<"tQATKgVWcvM">> = iolist_to_binary(re:replace("","^","tQATKgVW&cvM",[multiline,
18508                                                                                                                                                                    global])),
18509    <<"A
18510C
18511mnoJCDrViHC">> = iolist_to_binary(re:replace("A
18512C
18513C","(?<=C\\n)^","&mnoJCD&rV&iH",[multiline])),
18514    <<"A
18515C
18516mnoJCDrViHC">> = iolist_to_binary(re:replace("A
18517C
18518C","(?<=C\\n)^","&mnoJCD&rV&iH",[multiline,global])),
18519    <<"sybXaXBDYtXeaMXPXnbXaXbXaXC">> = iolist_to_binary(re:replace("bXaX","(?:(?(1)a|b)(X))+","sy&BDYt\\1eaM\\1P\\1n&&C",[])),
18520    <<"sybXaXBDYtXeaMXPXnbXaXbXaXC">> = iolist_to_binary(re:replace("bXaX","(?:(?(1)a|b)(X))+","sy&BDYt\\1eaM\\1P\\1n&&C",[global])),
18521    <<"KbXXaYYaYufAhHxbYRbXXaYYaYEGpjWY">> = iolist_to_binary(re:replace("bXXaYYaY","(?:(?(1)\\1a|b)(X|Y))+","K&ufAhHxb\\1R&EGpjW\\1",[])),
18522    <<"KbXXaYYaYufAhHxbYRbXXaYYaYEGpjWY">> = iolist_to_binary(re:replace("bXXaYYaY","(?:(?(1)\\1a|b)(X|Y))+","K&ufAhHxb\\1R&EGpjW\\1",[global])),
18523    <<"bXsOgbTHbXCbXuonYaXXaX">> = iolist_to_binary(re:replace("bXYaXXaX","(?:(?(1)\\1a|b)(X|Y))+","&sOgbTH&C&uon",[])),
18524    <<"bXsOgbTHbXCbXuonYaXXaX">> = iolist_to_binary(re:replace("bXYaXXaX","(?:(?(1)\\1a|b)(X|Y))+","&sOgbTH&C&uon",[global])),
18525    <<"JneobXbXBXXaYYaY">> = iolist_to_binary(re:replace("bXXaYYaY","()()()()()()()()()(?:(?(10)\\10a|b)(X|Y))+","Jn\\1eo&&BX\\1\\1",[])),
18526    <<"JneobXbXBXXaYYaY">> = iolist_to_binary(re:replace("bXXaYYaY","()()()()()()()()()(?:(?(10)\\10a|b)(X|Y))+","Jn\\1eo&&BX\\1\\1",[global])),
18527    <<"MGXaAc">> = iolist_to_binary(re:replace("abc]","[[,abc,]+]","MGXaAc",[])),
18528    <<"MGXaAc">> = iolist_to_binary(re:replace("abc]","[[,abc,]+]","MGXaAc",[global])),
18529    <<"QLdwhNFO">> = iolist_to_binary(re:replace("a,b]","[[,abc,]+]","QLdw\\1hNFO",[])),
18530    <<"QLdwhNFO">> = iolist_to_binary(re:replace("a,b]","[[,abc,]+]","QLdw\\1hNFO",[global])),
18531    <<"mrAsBve[a,b,c]UksE[a,b,c]">> = iolist_to_binary(re:replace("[a,b,c]","[[,abc,]+]","mrAsBve&U\\1k\\1sE&",[])),
18532    <<"mrAsBve[a,b,c]UksE[a,b,c]">> = iolist_to_binary(re:replace("[a,b,c]","[[,abc,]+]","mrAsBve&U\\1k\\1sE&",[global])),
18533    <<"AiIoucpHiJtVB">> = iolist_to_binary(re:replace("A B","(?-x: )","iI\\1oucpHiJtV",[extended])),
18534    <<"AiIoucpHiJtVB">> = iolist_to_binary(re:replace("A B","(?-x: )","iI\\1oucpHiJtV",[extended,
18535                                                                                                                                                                                          global])),
18536    <<"AfRWj # PetBdVWqyB">> = iolist_to_binary(re:replace("A # B","(?x)(?-x: \\s*#\\s*)","fRWj\\1&Pe\\1\\1tBdVW\\1qy",[])),
18537    <<"AfRWj # PetBdVWqyB">> = iolist_to_binary(re:replace("A # B","(?x)(?-x: \\s*#\\s*)","fRWj\\1&Pe\\1\\1tBdVW\\1qy",[global])),
18538    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?x)(?-x: \\s*#\\s*)","thjvygK\\1p&pYs\\1uBr",[])),
18539    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?x)(?-x: \\s*#\\s*)","thjvygK\\1p&pYs\\1uBr",[global])),
18540    <<"#">> = iolist_to_binary(re:replace("#","(?x)(?-x: \\s*#\\s*)","tbFvq\\1IQg\\1RTAxEph",[])),
18541    <<"#">> = iolist_to_binary(re:replace("#","(?x)(?-x: \\s*#\\s*)","tbFvq\\1IQg\\1RTAxEph",[global])),
18542    <<"AVTpQN #includeS">> = iolist_to_binary(re:replace("A #include","(?x-is)(?:(?-ixs) \\s*#\\s*) include","V\\1TpQN&S",[])),
18543    <<"AVTpQN #includeS">> = iolist_to_binary(re:replace("A #include","(?x-is)(?:(?-ixs) \\s*#\\s*) include","V\\1TpQN&S",[global])),
18544    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?x-is)(?:(?-ixs) \\s*#\\s*) include","wlsB\\1O",[])),
18545    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?x-is)(?:(?-ixs) \\s*#\\s*) include","wlsB\\1O",[global])),
18546    <<"A#include">> = iolist_to_binary(re:replace("A#include","(?x-is)(?:(?-ixs) \\s*#\\s*) include","Yo\\1qtePMHamKUo&",[])),
18547    <<"A#include">> = iolist_to_binary(re:replace("A#include","(?x-is)(?:(?-ixs) \\s*#\\s*) include","Yo\\1qtePMHamKUo&",[global])),
18548    <<"A #Include">> = iolist_to_binary(re:replace("A #Include","(?x-is)(?:(?-ixs) \\s*#\\s*) include","\\1e&&X&vW",[])),
18549    <<"A #Include">> = iolist_to_binary(re:replace("A #Include","(?x-is)(?:(?-ixs) \\s*#\\s*) include","\\1e&&X&vW",[global])),
18550    ok.
18551run35() ->
18552    <<"bKrRGsoSckoSG">> = iolist_to_binary(re:replace("aaabbbb","a*b*\\w","bKrRGsoSckoSG",[])),
18553    <<"bKrRGsoSckoSG">> = iolist_to_binary(re:replace("aaabbbb","a*b*\\w","bKrRGsoSckoSG",[global])),
18554    <<"xc">> = iolist_to_binary(re:replace("aaaa","a*b*\\w","\\1xc",[])),
18555    <<"xc">> = iolist_to_binary(re:replace("aaaa","a*b*\\w","\\1xc",[global])),
18556    <<"DiagFR">> = iolist_to_binary(re:replace("a","a*b*\\w","Di&\\1gFR",[])),
18557    <<"DiagFR">> = iolist_to_binary(re:replace("a","a*b*\\w","Di&\\1gFR",[global])),
18558    <<"xSaaabbESTgXbkTtoCbb">> = iolist_to_binary(re:replace("aaabbbb","a*b?\\w","\\1xS&E\\1STgXb\\1kTtoC",[])),
18559    <<"xSaaabbESTgXbkTtoCxSbbESTgXbkTtoC">> = iolist_to_binary(re:replace("aaabbbb","a*b?\\w","\\1xS&E\\1STgXb\\1kTtoC",[global])),
18560    <<"NFFaaaaAMaaaakpmD">> = iolist_to_binary(re:replace("aaaa","a*b?\\w","NFF&AM&kp\\1mD",[])),
18561    <<"NFFaaaaAMaaaakpmD">> = iolist_to_binary(re:replace("aaaa","a*b?\\w","NFF&AM&kp\\1mD",[global])),
18562    <<"KCaDnJouY">> = iolist_to_binary(re:replace("a","a*b?\\w","\\1KC&DnJouY",[])),
18563    <<"KCaDnJouY">> = iolist_to_binary(re:replace("a","a*b?\\w","\\1KC&DnJouY",[global])),
18564    <<"ItNl">> = iolist_to_binary(re:replace("aaabbbb","a*b{0,4}\\w","ItNl",[])),
18565    <<"ItNl">> = iolist_to_binary(re:replace("aaabbbb","a*b{0,4}\\w","ItNl",[global])),
18566    <<"SpCeqD">> = iolist_to_binary(re:replace("aaaa","a*b{0,4}\\w","SpCeqD",[])),
18567    <<"SpCeqD">> = iolist_to_binary(re:replace("aaaa","a*b{0,4}\\w","SpCeqD",[global])),
18568    <<"VwueYyNFc">> = iolist_to_binary(re:replace("a","a*b{0,4}\\w","Vwu\\1eYyN\\1Fc",[])),
18569    <<"VwueYyNFc">> = iolist_to_binary(re:replace("a","a*b{0,4}\\w","Vwu\\1eYyN\\1Fc",[global])),
18570    <<"KjgaaabbbbAaaabbbbJXahPyE">> = iolist_to_binary(re:replace("aaabbbb","a*b{0,}\\w","Kjg&A&JXahP\\1yE",[])),
18571    <<"KjgaaabbbbAaaabbbbJXahPyE">> = iolist_to_binary(re:replace("aaabbbb","a*b{0,}\\w","Kjg&A&JXahP\\1yE",[global])),
18572    <<"ngvFLRPw">> = iolist_to_binary(re:replace("aaaa","a*b{0,}\\w","ngvFLRPw",[])),
18573    <<"ngvFLRPw">> = iolist_to_binary(re:replace("aaaa","a*b{0,}\\w","ngvFLRPw",[global])),
18574    <<"DnucmfFKuYp">> = iolist_to_binary(re:replace("a","a*b{0,}\\w","Dn\\1ucm\\1\\1fFKuYp",[])),
18575    <<"DnucmfFKuYp">> = iolist_to_binary(re:replace("a","a*b{0,}\\w","Dn\\1ucm\\1\\1fFKuYp",[global])),
18576    <<"0aY">> = iolist_to_binary(re:replace("0a","a*\\d*\\w","&Y",[])),
18577    <<"0aY">> = iolist_to_binary(re:replace("0a","a*\\d*\\w","&Y",[global])),
18578    <<"xanCBUCkGaPAtML">> = iolist_to_binary(re:replace("a","a*\\d*\\w","x&nCBUCkG&PAt\\1ML",[])),
18579    <<"xanCBUCkGaPAtML">> = iolist_to_binary(re:replace("a","a*\\d*\\w","x&nCBUCkG&PAt\\1ML",[global])),
18580    <<"ii">> = iolist_to_binary(re:replace("a","a*b *\\w","ii",[extended])),
18581    <<"ii">> = iolist_to_binary(re:replace("a","a*b *\\w","ii",[extended,
18582                                                                                                                                                                global])),
18583    <<"VaGxIwMeaq">> = iolist_to_binary(re:replace("a","a*b#comment
18584  *\\w","V&GxIwMeaq",[extended])),
18585    <<"VaGxIwMeaq">> = iolist_to_binary(re:replace("a","a*b#comment
18586  *\\w","V&GxIwMeaq",[extended,global])),
18587    <<"AaapTXaPHaekH">> = iolist_to_binary(re:replace("a","a* b *\\w","Aa&pTX&PHaekH",[extended])),
18588    <<"AaapTXaPHaekH">> = iolist_to_binary(re:replace("a","a* b *\\w","Aa&pTX&PHaekH",[extended,
18589                                                                                                                                                                                          global])),
18590    <<"abc=xyz\\vmPNciE
18591pqr">> = iolist_to_binary(re:replace("abc=xyz\\
18592pqr","^\\w+=.*(\\\\\\n.*)*","&vmPNciE",[])),
18593    <<"abc=xyz\\vmPNciE
18594pqr">> = iolist_to_binary(re:replace("abc=xyz\\
18595pqr","^\\w+=.*(\\\\\\n.*)*","&vmPNciE",[global])),
18596    <<"oabcd:pabcd:qOabcdGfIeV">> = iolist_to_binary(re:replace("abcd:","(?=(\\w+))\\1:","o&p&qO\\1GfIeV",[])),
18597    <<"oabcd:pabcd:qOabcdGfIeV">> = iolist_to_binary(re:replace("abcd:","(?=(\\w+))\\1:","o&p&qO\\1GfIeV",[global])),
18598    <<"LTrSmxIPabcdOKMqwVAA">> = iolist_to_binary(re:replace("abcd:","^(?=(\\w+))\\1:","LTrSmxIP\\1OKMqwVAA",[])),
18599    <<"LTrSmxIPabcdOKMqwVAA">> = iolist_to_binary(re:replace("abcd:","^(?=(\\w+))\\1:","LTrSmxIP\\1OKMqwVAA",[global])),
18600    <<"aKjwwmYIpW">> = iolist_to_binary(re:replace("abc","^\\Eabc","aKj\\1w\\1wmY\\1Ip\\1W",[])),
18601    <<"aKjwwmYIpW">> = iolist_to_binary(re:replace("abc","^\\Eabc","aKj\\1w\\1wmY\\1Ip\\1W",[global])),
18602    <<"l">> = iolist_to_binary(re:replace("a","^[\\Eabc]","l",[])),
18603    <<"l">> = iolist_to_binary(re:replace("a","^[\\Eabc]","l",[global])),
18604    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[\\Eabc]","bQ&mb\\1I&",[])),
18605    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[\\Eabc]","bQ&mb\\1I&",[global])),
18606    <<"E">> = iolist_to_binary(re:replace("E","^[\\Eabc]","&qof&K&",[])),
18607    <<"E">> = iolist_to_binary(re:replace("E","^[\\Eabc]","&qof&K&",[global])),
18608    <<"LbOibbFEALmTbt">> = iolist_to_binary(re:replace("b","^[a-\\Ec]","Lb\\1Oi&\\1\\1&FEA\\1Lm\\1T&t",[])),
18609    <<"LbOibbFEALmTbt">> = iolist_to_binary(re:replace("b","^[a-\\Ec]","Lb\\1Oi&\\1\\1&FEA\\1Lm\\1T&t",[global])),
18610    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[a-\\Ec]","PtF&e\\1KFwR&E",[])),
18611    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[a-\\Ec]","PtF&e\\1KFwR&E",[global])),
18612    <<"-">> = iolist_to_binary(re:replace("-","^[a-\\Ec]","N&Vuwq\\1D&\\1PXO&qg&Y",[])),
18613    <<"-">> = iolist_to_binary(re:replace("-","^[a-\\Ec]","N&Vuwq\\1D&\\1PXO&qg&Y",[global])),
18614    <<"E">> = iolist_to_binary(re:replace("E","^[a-\\Ec]","gfw",[])),
18615    <<"E">> = iolist_to_binary(re:replace("E","^[a-\\Ec]","gfw",[global])),
18616    <<"m">> = iolist_to_binary(re:replace("b","^[a\\E\\E-\\Ec]","m",[])),
18617    <<"m">> = iolist_to_binary(re:replace("b","^[a\\E\\E-\\Ec]","m",[global])),
18618    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[a\\E\\E-\\Ec]","pr\\1hSV&a\\1Tq\\1uk\\1lGQn",[])),
18619    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[a\\E\\E-\\Ec]","pr\\1hSV&a\\1Tq\\1uk\\1lGQn",[global])),
18620    <<"-">> = iolist_to_binary(re:replace("-","^[a\\E\\E-\\Ec]","PLu\\1jRBxH&j",[])),
18621    <<"-">> = iolist_to_binary(re:replace("-","^[a\\E\\E-\\Ec]","PLu\\1jRBxH&j",[global])),
18622    <<"E">> = iolist_to_binary(re:replace("E","^[a\\E\\E-\\Ec]","\\1RonyFdbw&\\1UT",[])),
18623    <<"E">> = iolist_to_binary(re:replace("E","^[a\\E\\E-\\Ec]","\\1RonyFdbw&\\1UT",[global])),
18624    <<"LtmFeEubbhDoqNG">> = iolist_to_binary(re:replace("b","^[\\E\\Qa\\E-\\Qz\\E]+","L\\1tmF\\1eEu&&hDoqNG",[])),
18625    <<"LtmFeEubbhDoqNG">> = iolist_to_binary(re:replace("b","^[\\E\\Qa\\E-\\Qz\\E]+","L\\1tmF\\1eEu&&hDoqNG",[global])),
18626    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[\\E\\Qa\\E-\\Qz\\E]+","ks\\1",[])),
18627    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[\\E\\Qa\\E-\\Qz\\E]+","ks\\1",[global])),
18628    <<"-">> = iolist_to_binary(re:replace("-","^[\\E\\Qa\\E-\\Qz\\E]+","DNi",[])),
18629    <<"-">> = iolist_to_binary(re:replace("-","^[\\E\\Qa\\E-\\Qz\\E]+","DNi",[global])),
18630    <<"UoqHQfFfbONSGdk">> = iolist_to_binary(re:replace("a","^[a\\Q]bc\\E]","\\1UoqHQfFf\\1bONSGd\\1k",[])),
18631    <<"UoqHQfFfbONSGdk">> = iolist_to_binary(re:replace("a","^[a\\Q]bc\\E]","\\1UoqHQfFf\\1bONSGd\\1k",[global])),
18632    <<"eMWv]QMxjJL]v">> = iolist_to_binary(re:replace("]","^[a\\Q]bc\\E]","eMWv&QMxjJL&v",[])),
18633    <<"eMWv]QMxjJL]v">> = iolist_to_binary(re:replace("]","^[a\\Q]bc\\E]","eMWv&QMxjJL&v",[global])),
18634    <<"sDtJKXcbIVQesK">> = iolist_to_binary(re:replace("c","^[a\\Q]bc\\E]","sD\\1tJKX&bI\\1V\\1QesK",[])),
18635    <<"sDtJKXcbIVQesK">> = iolist_to_binary(re:replace("c","^[a\\Q]bc\\E]","sD\\1tJKX&bI\\1V\\1QesK",[global])),
18636    <<"phuiWK">> = iolist_to_binary(re:replace("a","^[a-\\Q\\E]","phuiWK",[])),
18637    <<"phuiWK">> = iolist_to_binary(re:replace("a","^[a-\\Q\\E]","phuiWK",[global])),
18638    <<"e-EpaKAPD-M-">> = iolist_to_binary(re:replace("-","^[a-\\Q\\E]","e&Epa\\1KAPD\\1&M&",[])),
18639    <<"e-EpaKAPD-M-">> = iolist_to_binary(re:replace("-","^[a-\\Q\\E]","e&Epa\\1KAPD\\1&M&",[global])),
18640    <<"VKXawWoyOhQtKatma">> = iolist_to_binary(re:replace("aaaa","^(a()*)*","VKX\\1wWoyOhQtK\\1tm\\1",[])),
18641    <<"VKXawWoyOhQtKatma">> = iolist_to_binary(re:replace("aaaa","^(a()*)*","VKX\\1wWoyOhQtK\\1tm\\1",[global])),
18642    <<"tPRweiQ">> = iolist_to_binary(re:replace("aaaa","^(?:a(?:(?:))*)*","tPRweiQ",[])),
18643    <<"tPRweiQ">> = iolist_to_binary(re:replace("aaaa","^(?:a(?:(?:))*)*","tPRweiQ",[global])),
18644    ok.
18645run36() ->
18646    <<"n">> = iolist_to_binary(re:replace("aaaa","^(a()+)+","n",[])),
18647    <<"n">> = iolist_to_binary(re:replace("aaaa","^(a()+)+","n",[global])),
18648    <<"bI">> = iolist_to_binary(re:replace("aaaa","^(?:a(?:(?:))+)+","bI",[])),
18649    <<"bI">> = iolist_to_binary(re:replace("aaaa","^(?:a(?:(?:))+)+","bI",[global])),
18650    <<"GabbDDae">> = iolist_to_binary(re:replace("abbD","(a){0,3}(?(1)b|(c|))*D","G&D\\1e",[])),
18651    <<"GabbDDae">> = iolist_to_binary(re:replace("abbD","(a){0,3}(?(1)b|(c|))*D","G&D\\1e",[global])),
18652    <<"OV">> = iolist_to_binary(re:replace("ccccD","(a){0,3}(?(1)b|(c|))*D","OV",[])),
18653    <<"OV">> = iolist_to_binary(re:replace("ccccD","(a){0,3}(?(1)b|(c|))*D","OV",[global])),
18654    <<"XhjfKDReHaDNMSf">> = iolist_to_binary(re:replace("D","(a){0,3}(?(1)b|(c|))*D","Xhjf\\1K&ReHa&NM\\1Sf",[])),
18655    <<"XhjfKDReHaDNMSf">> = iolist_to_binary(re:replace("D","(a){0,3}(?(1)b|(c|))*D","Xhjf\\1K&ReHa&NM\\1Sf",[global])),
18656    <<"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","(a|)*\\d","SbOGt&K",[])),
18657    <<"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","(a|)*\\d","SbOGt&K",[global])),
18658    <<"xJrtco">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4","(a|)*\\d","\\1x\\1Jrtco",[])),
18659    <<"xJrtco">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4","(a|)*\\d","\\1x\\1Jrtco",[global])),
18660    <<"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","(?>a|)*\\d","Y\\1\\1Fq&&Lb&&T&\\1&\\1\\1T",[])),
18661    <<"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","(?>a|)*\\d","Y\\1\\1Fq&&Lb&&T&\\1&\\1\\1T",[global])),
18662    <<"ucWrNuavax">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4","(?>a|)*\\d","ucWrNuavax",[])),
18663    <<"ucWrNuavax">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4","(?>a|)*\\d","ucWrNuavax",[global])),
18664    <<"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","(?:a|)*\\d","i\\1cf\\1CEE&\\1itOwcw&BF",[])),
18665    <<"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","(?:a|)*\\d","i\\1cf\\1CEE&\\1itOwcw&BF",[global])),
18666    <<"WvhbrstiFWO">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4","(?:a|)*\\d","Wv\\1hbrstiFWO",[])),
18667    <<"WvhbrstiFWO">> = iolist_to_binary(re:replace("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4","(?:a|)*\\d","Wv\\1hbrstiFWO",[global])),
18668    <<"abcUhNS">> = iolist_to_binary(re:replace("abc","\\Z","UhNS&\\1\\1",[])),
18669    <<"abcUhNS">> = iolist_to_binary(re:replace("abc","\\Z","UhNS&\\1\\1",[global])),
18670    <<"FEgUNUkGWxyqopsabc">> = iolist_to_binary(re:replace("abc","^(?s)(?>.*)(?<!\\n)","\\1FEgUNUkGWxyqops&\\1",[])),
18671    <<"FEgUNUkGWxyqopsabc">> = iolist_to_binary(re:replace("abc","^(?s)(?>.*)(?<!\\n)","\\1FEgUNUkGWxyqops&\\1",[global])),
18672    <<"O">> = iolist_to_binary(re:replace("abc","^(?s)(?>.*)(?<!\\n)","O\\1",[])),
18673    <<"O">> = iolist_to_binary(re:replace("abc","^(?s)(?>.*)(?<!\\n)","O\\1",[global])),
18674    <<"xSVoQWsKeMpGQabc">> = iolist_to_binary(re:replace("abc","^(?![^\\n]*\\n\\z)","xSV&oQWsKe&MpG&Q",[])),
18675    <<"xSVoQWsKeMpGQabc">> = iolist_to_binary(re:replace("abc","^(?![^\\n]*\\n\\z)","xSV&oQWsKe&MpG&Q",[global])),
18676    <<"hAqynOabc">> = iolist_to_binary(re:replace("abc","^(?![^\\n]*\\n\\z)","hA&qy\\1nO",[])),
18677    <<"hAqynOabc">> = iolist_to_binary(re:replace("abc","^(?![^\\n]*\\n\\z)","hA&qy\\1nO",[global])),
18678    <<"abcbboJlolQwgwa">> = iolist_to_binary(re:replace("abc","\\z(?<!\\n)","bbo\\1JlolQ\\1\\1wgwa",[])),
18679    <<"abcbboJlolQwgwa">> = iolist_to_binary(re:replace("abc","\\z(?<!\\n)","bbo\\1JlolQ\\1\\1wgwa",[global])),
18680    <<"abcSrDg">> = iolist_to_binary(re:replace("abc","\\z(?<!\\n)","SrDg&",[])),
18681    <<"abcSrDg">> = iolist_to_binary(re:replace("abc","\\z(?<!\\n)","SrDg&",[global])),
18682    <<"aabcdiFPR">> = iolist_to_binary(re:replace("abcd","(.*(.)?)*","\\1a&iFPR\\1",[])),
18683    <<"aabcdiFPRaiFPR">> = iolist_to_binary(re:replace("abcd","(.*(.)?)*","\\1a&iFPR\\1",[global])),
18684    <<"uQWHjmFmJgqpvabcd">> = iolist_to_binary(re:replace("abcd","( (A | (?(1)0|) )*   )","u&QWHjmFmJgq\\1pv",[extended])),
18685    <<"uQWHjmFmJgqpvauQWHjmFmJgqpvbuQWHjmFmJgqpvcuQWHjmFmJgqpvduQWHjmFmJgqpv">> = iolist_to_binary(re:replace("abcd","( (A | (?(1)0|) )*   )","u&QWHjmFmJgq\\1pv",[extended,
18686                                                                                                                                                                                                                                 global])),
18687    <<"tgtbuAeydNDbQksBabcd">> = iolist_to_binary(re:replace("abcd","( ( (?(1)0|) )*   )","tg\\1tbuAe\\1ydNDbQksB\\1",[extended])),
18688    <<"tgtbuAeydNDbQksBatgtbuAeydNDbQksBbtgtbuAeydNDbQksBctgtbuAeydNDbQksBdtgtbuAeydNDbQksB">> = iolist_to_binary(re:replace("abcd","( ( (?(1)0|) )*   )","tg\\1tbuAe\\1ydNDbQksB\\1",[extended,
18689                                                                                                                                                                                                                                            global])),
18690    <<"geoFaKtBOldabcd">> = iolist_to_binary(re:replace("abcd","(  (?(1)0|)*   )","geoFa\\1K\\1\\1tBOld",[extended])),
18691    <<"geoFaKtBOldageoFaKtBOldbgeoFaKtBOldcgeoFaKtBOlddgeoFaKtBOld">> = iolist_to_binary(re:replace("abcd","(  (?(1)0|)*   )","geoFa\\1K\\1\\1tBOld",[extended,
18692                                                                                                                                                                                                                            global])),
18693    <<"a]FIQJiJK">> = iolist_to_binary(re:replace("a]","[[:abcd:xyz]]","&F\\1IQJiJK",[])),
18694    <<"a]FIQJiJK">> = iolist_to_binary(re:replace("a]","[[:abcd:xyz]]","&F\\1IQJiJK",[global])),
18695    <<"WWYQ:]Cfo:]">> = iolist_to_binary(re:replace(":]","[[:abcd:xyz]]","WWYQ&Cfo&\\1",[])),
18696    <<"WWYQ:]Cfo:]">> = iolist_to_binary(re:replace(":]","[[:abcd:xyz]]","WWYQ&Cfo&\\1",[global])),
18697    <<"qDnjOTLaOgtwATf">> = iolist_to_binary(re:replace("a","[abc[:x\\]pqr]","q\\1DnjOTL\\1&Og\\1twATf",[])),
18698    <<"qDnjOTLaOgtwATf">> = iolist_to_binary(re:replace("a","[abc[:x\\]pqr]","q\\1DnjOTL\\1&Og\\1twATf",[global])),
18699    <<"[">> = iolist_to_binary(re:replace("[","[abc[:x\\]pqr]","&\\1",[])),
18700    <<"[">> = iolist_to_binary(re:replace("[","[abc[:x\\]pqr]","&\\1",[global])),
18701    <<"mcQylXKI">> = iolist_to_binary(re:replace(":","[abc[:x\\]pqr]","\\1mcQy\\1\\1\\1lXKI",[])),
18702    <<"mcQylXKI">> = iolist_to_binary(re:replace(":","[abc[:x\\]pqr]","\\1mcQy\\1\\1\\1lXKI",[global])),
18703    <<"yLoVOOvX]MsmpqoJL">> = iolist_to_binary(re:replace("]","[abc[:x\\]pqr]","yLoVOOvX&MsmpqoJ\\1L",[])),
18704    <<"yLoVOOvX]MsmpqoJL">> = iolist_to_binary(re:replace("]","[abc[:x\\]pqr]","yLoVOOvX&MsmpqoJ\\1L",[global])),
18705    <<"X">> = iolist_to_binary(re:replace("p","[abc[:x\\]pqr]","\\1\\1X",[])),
18706    <<"X">> = iolist_to_binary(re:replace("p","[abc[:x\\]pqr]","\\1\\1X",[global])),
18707    <<"fooabcfoo">> = iolist_to_binary(re:replace("fooabcfoo",".*[op][xyz]","U&xA\\1PsdeOWUae&&Yna",[])),
18708    <<"fooabcfoo">> = iolist_to_binary(re:replace("fooabcfoo",".*[op][xyz]","U&xA\\1PsdeOWUae&&Yna",[global])),
18709    <<"QIBuirGXrnadc">> = iolist_to_binary(re:replace("adc","(?(?=.*b)b|^)","QIBuirGXrn",[])),
18710    <<"QIBuirGXrnadc">> = iolist_to_binary(re:replace("adc","(?(?=.*b)b|^)","QIBuirGXrn",[global])),
18711    <<"awbDHBgVdwqBlbic">> = iolist_to_binary(re:replace("abc","(?(?=.*b)b|^)","\\1w&DHBgVdwqBl&i",[])),
18712    <<"awbDHBgVdwqBlbic">> = iolist_to_binary(re:replace("abc","(?(?=.*b)b|^)","\\1w&DHBgVdwqBl&i",[global])),
18713    <<"bMxcDhNdGOtJIJBuCaadc">> = iolist_to_binary(re:replace("adc","(?(?=^.*b)b|^)","bMx\\1cDhNdGOtJIJBuCa&",[])),
18714    <<"bMxcDhNdGOtJIJBuCaadc">> = iolist_to_binary(re:replace("adc","(?(?=^.*b)b|^)","bMx\\1cDhNdGOtJIJBuCa&",[global])),
18715    <<"abc">> = iolist_to_binary(re:replace("abc","(?(?=^.*b)b|^)","nnHoU&\\1CMWtr",[])),
18716    <<"abc">> = iolist_to_binary(re:replace("abc","(?(?=^.*b)b|^)","nnHoU&\\1CMWtr",[global])),
18717    <<"PXRohlVadc">> = iolist_to_binary(re:replace("adc","(?(?=.*b)b|^)*","PX\\1\\1RohlV",[])),
18718    <<"PXRohlVaPXRohlVdPXRohlVcPXRohlV">> = iolist_to_binary(re:replace("adc","(?(?=.*b)b|^)*","PX\\1\\1RohlV",[global])),
18719    <<"qnabc">> = iolist_to_binary(re:replace("abc","(?(?=.*b)b|^)*","&&qn",[])),
18720    <<"qnabbqnqncqn">> = iolist_to_binary(re:replace("abc","(?(?=.*b)b|^)*","&&qn",[global])),
18721    ok.
18722run37() ->
18723    <<"rFmutNbLVErIdadc">> = iolist_to_binary(re:replace("adc","(?(?=.*b)b|^)+","rFmutN\\1bLVE\\1r&Id",[])),
18724    <<"rFmutNbLVErIdadc">> = iolist_to_binary(re:replace("adc","(?(?=.*b)b|^)+","rFmutN\\1bLVE\\1r&Id",[global])),
18725    <<"auGFbmOYWc">> = iolist_to_binary(re:replace("abc","(?(?=.*b)b|^)+","uGF&mOYW",[])),
18726    <<"auGFbmOYWc">> = iolist_to_binary(re:replace("abc","(?(?=.*b)b|^)+","uGF&mOYW",[global])),
18727    <<"aLwwyNOhXnbPc">> = iolist_to_binary(re:replace("abc","(?(?=b).*b|^d)","L\\1wwyNOhXn&P",[])),
18728    <<"aLwwyNOhXnbPc">> = iolist_to_binary(re:replace("abc","(?(?=b).*b|^d)","L\\1wwyNOhXn&P",[global])),
18729    <<"asLUhduQyBc">> = iolist_to_binary(re:replace("abc","(?(?=.*b).*b|^d)","asLUhdu\\1Q\\1yB",[])),
18730    <<"asLUhduQyBc">> = iolist_to_binary(re:replace("abc","(?(?=.*b).*b|^d)","asLUhdu\\1Q\\1yB",[global])),
18731    <<"fiC%ab%h%ab%TxFpRPHS">> = iolist_to_binary(re:replace("%ab%","^%((?(?=[a])[^%])|b)*%$","fiC\\1&h&\\1TxFpRPHS",[])),
18732    <<"fiC%ab%h%ab%TxFpRPHS">> = iolist_to_binary(re:replace("%ab%","^%((?(?=[a])[^%])|b)*%$","fiC\\1&h&\\1TxFpRPHS",[global])),
18733    <<"XRMNILOabxXkxRwpX">> = iolist_to_binary(re:replace("XabX","(?i)a(?-i)b|c","\\1RMNILO&xX\\1kxRwp\\1",[])),
18734    <<"XRMNILOabxXkxRwpX">> = iolist_to_binary(re:replace("XabX","(?i)a(?-i)b|c","\\1RMNILO&xX\\1kxRwp\\1",[global])),
18735    <<"XvAGipJAbWX">> = iolist_to_binary(re:replace("XAbX","(?i)a(?-i)b|c","vAGipJ&W",[])),
18736    <<"XvAGipJAbWX">> = iolist_to_binary(re:replace("XAbX","(?i)a(?-i)b|c","vAGipJ&W",[global])),
18737    <<"CecknrhbVOUlbPhcC">> = iolist_to_binary(re:replace("CcC","(?i)a(?-i)b|c","e&knr\\1hbV\\1O\\1\\1UlbPh&",[])),
18738    <<"CecknrhbVOUlbPhcC">> = iolist_to_binary(re:replace("CcC","(?i)a(?-i)b|c","e&knr\\1hbV\\1O\\1\\1UlbPh&",[global])),
18739    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?i)a(?-i)b|c","oY\\1",[])),
18740    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?i)a(?-i)b|c","oY\\1",[global])),
18741    <<"XABX">> = iolist_to_binary(re:replace("XABX","(?i)a(?-i)b|c","nMN",[])),
18742    <<"XABX">> = iolist_to_binary(re:replace("XABX","(?i)a(?-i)b|c","nMN",[global])),
18743    <<"
18744
18745uhYqCJYVNVkjTafan">> = iolist_to_binary(re:replace("
18746
18747","[\\x00-\\xff\\s]+","&uhY\\1qCJYVNVkj\\1Tafan",[])),
18748    <<"
18749
18750uhYqCJYVNVkjTafan">> = iolist_to_binary(re:replace("
18751
18752","[\\x00-\\xff\\s]+","&uhY\\1qCJYVNVkj\\1Tafan",[global])),
18753    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1","kAbCkN\\1XOTPWkPh",[caseless])),
18754    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1","kAbCkN\\1XOTPWkPh",[caseless,
18755                                                                                                                                                                                                   global])),
18756    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1","&LHRW\\1vSiG&pKPe",[])),
18757    <<"abc">> = iolist_to_binary(re:replace("abc","(abc)\\1","&LHRW\\1vSiG&pKPe",[global])),
18758    <<"FPw12SGgbdRnHYs12Gabc">> = iolist_to_binary(re:replace("12abc","[^a]*","FPw&\\1SGgbdRnHYs&\\1G\\1",[caseless])),
18759    <<"FPw12SGgbdRnHYs12GFPwSGgbdRnHYsGaFPwbcSGgbdRnHYsbcGFPwSGgbdRnHYsG">> = iolist_to_binary(re:replace("12abc","[^a]*","FPw&\\1SGgbdRnHYs&\\1G\\1",[caseless,
18760                                                                                                                                                                                                                    global])),
18761    <<"ABC">> = iolist_to_binary(re:replace("12ABC","[^a]*","\\1",[caseless])),
18762    <<"A">> = iolist_to_binary(re:replace("12ABC","[^a]*","\\1",[caseless,
18763                                                                                                                                                                    global])),
18764    <<"rwrXcjPYabc">> = iolist_to_binary(re:replace("12abc","[^a]*+","rw\\1r\\1XcjPY",[caseless])),
18765    <<"rwrXcjPYrwrXcjPYarwrXcjPYrwrXcjPY">> = iolist_to_binary(re:replace("12abc","[^a]*+","rw\\1r\\1XcjPY",[caseless,
18766                                                                                                                                                                                             global])),
18767    <<"12Ebhb12ABC">> = iolist_to_binary(re:replace("12ABC","[^a]*+","&Ebhb\\1&",[caseless])),
18768    <<"12Ebhb12EbhbABCEbhbBCEbhb">> = iolist_to_binary(re:replace("12ABC","[^a]*+","&Ebhb\\1&",[caseless,
18769                                                                                                                                                                                    global])),
18770    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","[^a]*?X","vUGseV",[caseless])),
18771    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","[^a]*?X","vUGseV",[caseless,
18772                                                                                                                                                                                       global])),
18773    <<"12abc">> = iolist_to_binary(re:replace("12abc","[^a]*?X","p\\1\\1IMIKml&O&E",[caseless])),
18774    <<"12abc">> = iolist_to_binary(re:replace("12abc","[^a]*?X","p\\1\\1IMIKml&O&E",[caseless,
18775                                                                                                                                                                                                       global])),
18776    <<"12ABC">> = iolist_to_binary(re:replace("12ABC","[^a]*?X","x\\1",[caseless])),
18777    <<"12ABC">> = iolist_to_binary(re:replace("12ABC","[^a]*?X","x\\1",[caseless,
18778                                                                                                                                                                          global])),
18779    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","[^a]+?X","Y\\1KYtfghC",[caseless])),
18780    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","[^a]+?X","Y\\1KYtfghC",[caseless,
18781                                                                                                                                                                                                  global])),
18782    <<"12abc">> = iolist_to_binary(re:replace("12abc","[^a]+?X","CjJxtxeRkNqWb",[caseless])),
18783    <<"12abc">> = iolist_to_binary(re:replace("12abc","[^a]+?X","CjJxtxeRkNqWb",[caseless,
18784                                                                                                                                                                                           global])),
18785    <<"12ABC">> = iolist_to_binary(re:replace("12ABC","[^a]+?X","\\1T&I\\1\\1UFIhN&\\1a",[caseless])),
18786    <<"12ABC">> = iolist_to_binary(re:replace("12ABC","[^a]+?X","\\1T&I\\1\\1UFIhN&\\1a",[caseless,
18787                                                                                                                                                                                                                   global])),
18788    <<"12aTtXNbcX">> = iolist_to_binary(re:replace("12aXbcX","[^a]?X","Tt&N",[caseless])),
18789    <<"12aTtXNbTtcXN">> = iolist_to_binary(re:replace("12aXbcX","[^a]?X","Tt&N",[caseless,
18790                                                                                                                                                                            global])),
18791    <<"12AXkPyHlRCnbcTxXoIkgXPBCX">> = iolist_to_binary(re:replace("12AXBCX","[^a]?X","&kPyHlRCnbcTx&oIkg&P",[caseless])),
18792    <<"12AXkPyHlRCnbcTxXoIkgXPBCXkPyHlRCnbcTxCXoIkgCXP">> = iolist_to_binary(re:replace("12AXBCX","[^a]?X","&kPyHlRCnbcTx&oIkg&P",[caseless,
18793                                                                                                                                                                                                              global])),
18794    <<"BCXABigfWDnwCXJ">> = iolist_to_binary(re:replace("BCX","[^a]?X","&ABigfWDnw&J",[caseless])),
18795    <<"BCXABigfWDnwCXJ">> = iolist_to_binary(re:replace("BCX","[^a]?X","&ABigfWDnw&J",[caseless,
18796                                                                                                                                                                                     global])),
18797    <<"12aYXWbgOvNcDMXVYThubcX">> = iolist_to_binary(re:replace("12aXbcX","[^a]??X","YX\\1\\1WbgOvNcDM&VYTh\\1u",[caseless])),
18798    <<"12aYXWbgOvNcDMXVYThubYXWbgOvNcDMcXVYThu">> = iolist_to_binary(re:replace("12aXbcX","[^a]??X","YX\\1\\1WbgOvNcDM&VYTh\\1u",[caseless,
18799                                                                                                                                                                                                                             global])),
18800    <<"12AEpmXPCouNXdKStKXBCX">> = iolist_to_binary(re:replace("12AXBCX","[^a]??X","Epm&PCouN&dKStK&",[caseless])),
18801    <<"12AEpmXPCouNXdKStKXBEpmCXPCouNCXdKStKCX">> = iolist_to_binary(re:replace("12AXBCX","[^a]??X","Epm&PCouN&dKStK&",[caseless,
18802                                                                                                                                                                                                        global])),
18803    <<"BaCXpoxfpseXfNhG">> = iolist_to_binary(re:replace("BCX","[^a]??X","a\\1&po\\1x\\1fps\\1eXfNhG",[caseless])),
18804    <<"BaCXpoxfpseXfNhG">> = iolist_to_binary(re:replace("BCX","[^a]??X","a\\1&po\\1x\\1fps\\1eXfNhG",[caseless,
18805                                                                                                                                                                                                                      global])),
18806    <<"12aXbgfcXfFQYBVbwm">> = iolist_to_binary(re:replace("12aXbcX","[^a]?+X","gf&fFQYBVbwm",[caseless])),
18807    <<"12aXbgfcXfFQYBVbwm">> = iolist_to_binary(re:replace("12aXbcX","[^a]?+X","gf&fFQYBVbwm",[caseless,
18808                                                                                                                                                                                              global])),
18809    <<"12AXBehBuhCXqmVsCXWtCXg">> = iolist_to_binary(re:replace("12AXBCX","[^a]?+X","ehBuh&q\\1\\1mV\\1s\\1&Wt&g",[caseless])),
18810    <<"12AXBehBuhCXqmVsCXWtCXg">> = iolist_to_binary(re:replace("12AXBCX","[^a]?+X","ehBuh&q\\1\\1mV\\1s\\1&Wt&g",[caseless,
18811                                                                                                                                                                                                                                  global])),
18812    <<"BQ">> = iolist_to_binary(re:replace("BCX","[^a]?+X","Q",[caseless])),
18813    <<"BQ">> = iolist_to_binary(re:replace("BCX","[^a]?+X","Q",[caseless,
18814                                                                                                                                                               global])),
18815    <<"ayFHgvqLgSIvMef">> = iolist_to_binary(re:replace("abcdef","[^a]{2,3}","\\1yFHgvq\\1LgSIvM",[caseless])),
18816    <<"ayFHgvqLgSIvMyFHgvqLgSIvM">> = iolist_to_binary(re:replace("abcdef","[^a]{2,3}","\\1yFHgvq\\1LgSIvM",[caseless,
18817                                                                                                                                                                                                             global])),
18818    <<"ADLEECoGfLBCDtOKBYRuEPEF">> = iolist_to_binary(re:replace("ABCDEF","[^a]{2,3}","\\1DLEECoGfL&tOKBYRuEP",[caseless])),
18819    <<"ADLEECoGfLBCDtOKBYRuEPDLEECoGfLEFtOKBYRuEP">> = iolist_to_binary(re:replace("ABCDEF","[^a]{2,3}","\\1DLEECoGfL&tOKBYRuEP",[caseless,
18820                                                                                                                                                                                                                     global])),
18821    <<"aUeRruprbcLyGdbcOBlHdef">> = iolist_to_binary(re:replace("abcdef","[^a]{2,3}?","UeRrup\\1r\\1&Ly\\1Gd&OBlH",[caseless])),
18822    <<"aUeRruprbcLyGdbcOBlHUeRruprdeLyGddeOBlHf">> = iolist_to_binary(re:replace("abcdef","[^a]{2,3}?","UeRrup\\1r\\1&Ly\\1Gd&OBlH",[caseless,
18823                                                                                                                                                                                                                                  global])),
18824    <<"AmqfmUDEF">> = iolist_to_binary(re:replace("ABCDEF","[^a]{2,3}?","mqfmU",[caseless])),
18825    <<"AmqfmUmqfmUF">> = iolist_to_binary(re:replace("ABCDEF","[^a]{2,3}?","mqfmU",[caseless,
18826                                                                                                                                                                                   global])),
18827    <<"ajef">> = iolist_to_binary(re:replace("abcdef","[^a]{2,3}+","j",[caseless])),
18828    <<"ajj">> = iolist_to_binary(re:replace("abcdef","[^a]{2,3}+","j",[caseless,
18829                                                                                                                                                                           global])),
18830    <<"AmBCDGmEF">> = iolist_to_binary(re:replace("ABCDEF","[^a]{2,3}+","m\\1&Gm",[caseless])),
18831    <<"AmBCDGmmEFGm">> = iolist_to_binary(re:replace("ABCDEF","[^a]{2,3}+","m\\1&Gm",[caseless,
18832                                                                                                                                                                                         global])),
18833    <<"VQZqc">> = iolist_to_binary(re:replace("Z","((a|)+)+Z","VQ&qc",[])),
18834    <<"VQZqc">> = iolist_to_binary(re:replace("Z","((a|)+)+Z","VQ&qc",[global])),
18835    ok.
18836run38() ->
18837    <<"PuyLdacsxAquacIQeUSo">> = iolist_to_binary(re:replace("ac","(a)b|(a)c","PuyLd&sxAqu&IQ\\1\\1eUSo",[])),
18838    <<"PuyLdacsxAquacIQeUSo">> = iolist_to_binary(re:replace("ac","(a)b|(a)c","PuyLd&sxAqu&IQ\\1\\1eUSo",[global])),
18839    <<"PfacaR">> = iolist_to_binary(re:replace("ac","(?>(a))b|(a)c","Pf&aR",[])),
18840    <<"PfacaR">> = iolist_to_binary(re:replace("ac","(?>(a))b|(a)c","Pf&aR",[global])),
18841    <<"acFJaBfLkqacLOtea">> = iolist_to_binary(re:replace("ac","(?=(a))ab|(a)c","&FJaBfLkq&LOtea",[])),
18842    <<"acFJaBfLkqacLOtea">> = iolist_to_binary(re:replace("ac","(?=(a))ab|(a)c","&FJaBfLkq&LOtea",[global])),
18843    <<"acGacsLawsVtbac">> = iolist_to_binary(re:replace("ac","((?>(a))b|(a)c)","\\1G&sLawsVtb\\1",[])),
18844    <<"acGacsLawsVtbac">> = iolist_to_binary(re:replace("ac","((?>(a))b|(a)c)","\\1G&sLawsVtb\\1",[global])),
18845    <<"acacoiIuacXacacraccbxYvQLU">> = iolist_to_binary(re:replace("ac","((?>(a))b|(a)c)++","&&oiIu&X\\1&r\\1cbxYvQLU",[])),
18846    <<"acacoiIuacXacacraccbxYvQLU">> = iolist_to_binary(re:replace("ac","((?>(a))b|(a)c)++","&&oiIu&X\\1&r\\1cbxYvQLU",[global])),
18847    <<"Gg">> = iolist_to_binary(re:replace("ac","(?:(?>(a))b|(a)c)++","\\1Gg",[])),
18848    <<"Gg">> = iolist_to_binary(re:replace("ac","(?:(?>(a))b|(a)c)++","\\1Gg",[global])),
18849    <<"unjEacjaceFacYac">> = iolist_to_binary(re:replace("ac","(?=(?>(a))b|(a)c)(..)","\\1u\\1njE&\\1j\\1&e\\1F&Y&\\1",[])),
18850    <<"unjEacjaceFacYac">> = iolist_to_binary(re:replace("ac","(?=(?>(a))b|(a)c)(..)","\\1u\\1njE&\\1j\\1&e\\1F&Y&\\1",[global])),
18851    <<"vacJbYTacPQOPmacrKp">> = iolist_to_binary(re:replace("ac","(?>(?>(a))b|(a)c)","v&JbYT&PQOPm&rKp",[])),
18852    <<"vacJbYTacPQOPmacrKp">> = iolist_to_binary(re:replace("ac","(?>(?>(a))b|(a)c)","v&JbYT&PQOPm&rKp",[global])),
18853    <<"n">> = iolist_to_binary(re:replace("aaaabaaabaabab","((?>(a+)b)+(aabab))","n",[])),
18854    <<"n">> = iolist_to_binary(re:replace("aaaabaaabaabab","((?>(a+)b)+(aabab))","n",[global])),
18855    <<"aabc">> = iolist_to_binary(re:replace("aabc","(?>a+|ab)+?c","wTE",[])),
18856    <<"aabc">> = iolist_to_binary(re:replace("aabc","(?>a+|ab)+?c","wTE",[global])),
18857    <<"aabc">> = iolist_to_binary(re:replace("aabc","(?>a+|ab)+c","IcRpe",[])),
18858    <<"aabc">> = iolist_to_binary(re:replace("aabc","(?>a+|ab)+c","IcRpe",[global])),
18859    <<"DJtCudRWwbqgG">> = iolist_to_binary(re:replace("aabc","(?:a+|ab)+c","DJtCudRWwbqgG",[])),
18860    <<"DJtCudRWwbqgG">> = iolist_to_binary(re:replace("aabc","(?:a+|ab)+c","DJtCudRWwbqgG",[global])),
18861    <<"aaaSoBtHaacWirPkada">> = iolist_to_binary(re:replace("a","(?(?=(a))a)","\\1\\1&SoBtH&&cWirPk&da",[])),
18862    <<"aaaSoBtHaacWirPkadaSoBtHcWirPkda">> = iolist_to_binary(re:replace("a","(?(?=(a))a)","\\1\\1&SoBtH&&cWirPk&da",[global])),
18863    <<"xSIuiabsLIGaaPOY">> = iolist_to_binary(re:replace("ab","(?(?=(a))a)(b)","xSIui\\1bsLIG\\1\\1POY",[])),
18864    <<"xSIuiabsLIGaaPOY">> = iolist_to_binary(re:replace("ab","(?(?=(a))a)(b)","xSIui\\1bsLIG\\1\\1POY",[global])),
18865    <<"aaaabc">> = iolist_to_binary(re:replace("aaaabc","^(?:a|ab)++c","G",[])),
18866    <<"aaaabc">> = iolist_to_binary(re:replace("aaaabc","^(?:a|ab)++c","G",[global])),
18867    <<"aaaabc">> = iolist_to_binary(re:replace("aaaabc","^(?>a|ab)++c","DPoYmBjVu",[])),
18868    <<"aaaabc">> = iolist_to_binary(re:replace("aaaabc","^(?>a|ab)++c","DPoYmBjVu",[global])),
18869    <<"Khaaaabc">> = iolist_to_binary(re:replace("aaaabc","^(?:a|ab)+c","Kh&\\1",[])),
18870    <<"Khaaaabc">> = iolist_to_binary(re:replace("aaaabc","^(?:a|ab)+c","Kh&\\1",[global])),
18871    <<"hxyzMPAlxyzbeeMvcxyzFnYVJ">> = iolist_to_binary(re:replace("xyz","(?=abc){0}xyz","h&MPAl&beeMvc&FnYVJ",[])),
18872    <<"hxyzMPAlxyzbeeMvcxyzFnYVJ">> = iolist_to_binary(re:replace("xyz","(?=abc){0}xyz","h&MPAl&beeMvc&FnYVJ",[global])),
18873    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?=abc){1}xyz","pskDi\\1Vp\\1\\1KjCOoy&",[])),
18874    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?=abc){1}xyz","pskDi\\1Vp\\1\\1KjCOoy&",[global])),
18875    <<"xyz">> = iolist_to_binary(re:replace("xyz","(?=abc){1}xyz","\\1P\\1h&aRQ",[])),
18876    <<"xyz">> = iolist_to_binary(re:replace("xyz","(?=abc){1}xyz","\\1P\\1h&aRQ",[global])),
18877    <<"aaPvGqLaOcNadob">> = iolist_to_binary(re:replace("ab","(?=(a))?.","a\\1PvGqL&OcN&do",[])),
18878    <<"aaPvGqLaOcNadoaPvGqLbOcNbdo">> = iolist_to_binary(re:replace("ab","(?=(a))?.","a\\1PvGqL&OcN&do",[global])),
18879    <<"nEGDfiQkQbbc">> = iolist_to_binary(re:replace("bc","(?=(a))?.","nEGDfiQkQ&&",[])),
18880    <<"nEGDfiQkQbbnEGDfiQkQcc">> = iolist_to_binary(re:replace("bc","(?=(a))?.","nEGDfiQkQ&&",[global])),
18881    ok.
18882run39() ->
18883    <<"pHaPSTCOlNb">> = iolist_to_binary(re:replace("ab","(?=(a))??.","pH&PSTC\\1OlN",[])),
18884    <<"pHaPSTCOlNpHbPSTCOlN">> = iolist_to_binary(re:replace("ab","(?=(a))??.","pH&PSTC\\1OlN",[global])),
18885    <<"jnEANc">> = iolist_to_binary(re:replace("bc","(?=(a))??.","j\\1nEA\\1N",[])),
18886    <<"jnEANjnEAN">> = iolist_to_binary(re:replace("bc","(?=(a))??.","j\\1nEA\\1N",[global])),
18887    <<"abdKPLVefHPcQ">> = iolist_to_binary(re:replace("abd","^(?=(?1))?[az]([abc])d","&KPLVefHPcQ",[])),
18888    <<"abdKPLVefHPcQ">> = iolist_to_binary(re:replace("abd","^(?=(?1))?[az]([abc])d","&KPLVefHPcQ",[global])),
18889    <<"kdvlzcdSEgEzcdiczcdrnUyHFzcdxx">> = iolist_to_binary(re:replace("zcdxx","^(?=(?1))?[az]([abc])d","kdvl&SEgE&i\\1&rnUyHF&",[])),
18890    <<"kdvlzcdSEgEzcdiczcdrnUyHFzcdxx">> = iolist_to_binary(re:replace("zcdxx","^(?=(?1))?[az]([abc])d","kdvl&SEgE&i\\1&rnUyHF&",[global])),
18891    <<"WusspaaaaaeVjGLaaaaanwQKJ">> = iolist_to_binary(re:replace("aaaaa","^(?!a){0}\\w+","Wussp\\1&eVjGL&nwQKJ",[])),
18892    <<"WusspaaaaaeVjGLaaaaanwQKJ">> = iolist_to_binary(re:replace("aaaaa","^(?!a){0}\\w+","Wussp\\1&eVjGL&nwQKJ",[global])),
18893    <<"abcKabcxyz">> = iolist_to_binary(re:replace("abcxyz","(?<=(abc))?xyz","K\\1&",[])),
18894    <<"abcKabcxyz">> = iolist_to_binary(re:replace("abcxyz","(?<=(abc))?xyz","K\\1&",[global])),
18895    <<"pqrFntxyzt">> = iolist_to_binary(re:replace("pqrxyz","(?<=(abc))?xyz","F\\1nt&t",[])),
18896    <<"pqrFntxyzt">> = iolist_to_binary(re:replace("pqrxyz","(?<=(abc))?xyz","F\\1nt&t",[global])),
18897    <<"ggg<<<aaa>>>OCbsBdbMyTuvtAF">> = iolist_to_binary(re:replace("ggg<<<aaa>>>","^[\\g<a>]+","\\1\\1&OCbsBdbM\\1yTuvtAF",[])),
18898    <<"ggg<<<aaa>>>OCbsBdbMyTuvtAF">> = iolist_to_binary(re:replace("ggg<<<aaa>>>","^[\\g<a>]+","\\1\\1&OCbsBdbM\\1yTuvtAF",[global])),
18899    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[\\g<a>]+","emX&&&\\1S&&uUtF",[])),
18900    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^[\\g<a>]+","emX&&&\\1S&&uUtF",[global])),
18901    <<"\\ga">> = iolist_to_binary(re:replace("\\ga","^[\\g<a>]+","d&uwF&X",[])),
18902    <<"\\ga">> = iolist_to_binary(re:replace("\\ga","^[\\g<a>]+","d&uwF&X",[global])),
18903    <<"gggagagaaEPEjNmgggagagaxCdmimaxyz">> = iolist_to_binary(re:replace("gggagagaxyz","^[\\ga]+","&aEP\\1EjNm&xCdm\\1\\1ima",[])),
18904    <<"gggagagaaEPEjNmgggagagaxCdmimaxyz">> = iolist_to_binary(re:replace("gggagagaxyz","^[\\ga]+","&aEP\\1EjNm&xCdm\\1\\1ima",[global])),
18905    <<"LqguCZ">> = iolist_to_binary(re:replace("aaaa444:::Z","^[:a[:digit:]]+","LqguC",[])),
18906    <<"LqguCZ">> = iolist_to_binary(re:replace("aaaa444:::Z","^[:a[:digit:]]+","LqguC",[global])),
18907    <<"Yaaaa444:::bbbnaaaa444:::bbbOuZ">> = iolist_to_binary(re:replace("aaaa444:::bbbZ","^[:a[:digit:]:b]+","Y&n&Ou",[])),
18908    <<"Yaaaa444:::bbbnaaaa444:::bbbOuZ">> = iolist_to_binary(re:replace("aaaa444:::bbbZ","^[:a[:digit:]:b]+","Y&n&Ou",[global])),
18909    <<"n:xxx::xxx:H:xxx:u:xxx:EQfs">> = iolist_to_binary(re:replace(":xxx:","[:a]xxx[b:]","n&&H&\\1u&EQf\\1s",[])),
18910    <<"n:xxx::xxx:H:xxx:u:xxx:EQfs">> = iolist_to_binary(re:replace(":xxx:","[:a]xxx[b:]","n&&H&\\1u&EQf\\1s",[global])),
18911    <<"xaabErbtiYvhBJbTRc">> = iolist_to_binary(re:replace("xaabc","(?<=a{2})b","&Er&tiYv\\1hB\\1J&TR",[caseless])),
18912    <<"xaabErbtiYvhBJbTRc">> = iolist_to_binary(re:replace("xaabc","(?<=a{2})b","&Er&tiYv\\1hB\\1J&TR",[caseless,
18913                                                                                                                                                                                                                    global])),
18914    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=a{2})b","sIKbikA",[caseless])),
18915    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=a{2})b","sIKbikA",[caseless,
18916                                                                                                                                                                                               global])),
18917    <<"xabc">> = iolist_to_binary(re:replace("xabc","(?<=a{2})b","v\\1WGLw&Aj\\1&P&yFV\\1oME",[caseless])),
18918    <<"xabc">> = iolist_to_binary(re:replace("xabc","(?<=a{2})b","v\\1WGLw&Aj\\1&P&yFV\\1oME",[caseless,
18919                                                                                                                                                                                                                               global])),
18920    <<"xaOLJBdVsbrNnobNc">> = iolist_to_binary(re:replace("xabc","(?<!a{2})b","OL\\1\\1JBdVs&rNno\\1bN",[caseless])),
18921    <<"xaOLJBdVsbrNnobNc">> = iolist_to_binary(re:replace("xabc","(?<!a{2})b","OL\\1\\1JBdVs&rNno\\1bN",[caseless,
18922                                                                                                                                                                                                                       global])),
18923    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<!a{2})b","b\\1U",[caseless])),
18924    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<!a{2})b","b\\1U",[caseless,
18925                                                                                                                                                                                            global])),
18926    <<"xaabc">> = iolist_to_binary(re:replace("xaabc","(?<!a{2})b","o",[caseless])),
18927    <<"xaabc">> = iolist_to_binary(re:replace("xaabc","(?<!a{2})b","o",[caseless,
18928                                                                                                                                                                         global])),
18929    <<"xa is">> = iolist_to_binary(re:replace("xa c","(?<=a\\h)c","is",[])),
18930    <<"xa is">> = iolist_to_binary(re:replace("xa c","(?<=a\\h)c","is",[global])),
18931    <<"axxDuvhoTEpKLbLbc">> = iolist_to_binary(re:replace("axxbc","(?<=[^a]{2})b","DuvhoTEpKLbL&",[])),
18932    <<"axxDuvhoTEpKLbLbc">> = iolist_to_binary(re:replace("axxbc","(?<=[^a]{2})b","DuvhoTEpKLbL&",[global])),
18933    <<"aAAxbbbGc">> = iolist_to_binary(re:replace("aAAbc","(?<=[^a]{2})b","\\1\\1x&\\1&&G",[])),
18934    <<"aAAxbbbGc">> = iolist_to_binary(re:replace("aAAbc","(?<=[^a]{2})b","\\1\\1x&\\1&&G",[global])),
18935    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=[^a]{2})b","Nt&ll\\1w",[])),
18936    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=[^a]{2})b","Nt&ll\\1w",[global])),
18937    <<"xaabc">> = iolist_to_binary(re:replace("xaabc","(?<=[^a]{2})b","R",[])),
18938    <<"xaabc">> = iolist_to_binary(re:replace("xaabc","(?<=[^a]{2})b","R",[global])),
18939    <<"axxCbPYhXc">> = iolist_to_binary(re:replace("axxbc","(?<=[^a]{2})b","C&PYhX",[caseless])),
18940    <<"axxCbPYhXc">> = iolist_to_binary(re:replace("axxbc","(?<=[^a]{2})b","C&PYhX",[caseless,
18941                                                                                                                                                                                          global])),
18942    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=[^a]{2})b","d\\1jkBrqR&X&Fc\\1vd",[caseless])),
18943    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=[^a]{2})b","d\\1jkBrqR&X&Fc\\1vd",[caseless,
18944                                                                                                                                                                                                                                   global])),
18945    <<"aAAbc">> = iolist_to_binary(re:replace("aAAbc","(?<=[^a]{2})b","KNABa\\1\\1wON\\1S",[caseless])),
18946    <<"aAAbc">> = iolist_to_binary(re:replace("aAAbc","(?<=[^a]{2})b","KNABa\\1\\1wON\\1S",[caseless,
18947                                                                                                                                                                                                                    global])),
18948    <<"xaabc">> = iolist_to_binary(re:replace("xaabc","(?<=[^a]{2})b","CQ&DXxjEdVkGvk\\1",[caseless])),
18949    <<"xaabc">> = iolist_to_binary(re:replace("xaabc","(?<=[^a]{2})b","CQ&DXxjEdVkGvk\\1",[caseless,
18950                                                                                                                                                                                                                 global])),
18951    <<"abcdTXqBlsLHncSPA">> = iolist_to_binary(re:replace("abc","(?<=a\\H)c","&dTXqBlsLH\\1n&SPA\\1",[])),
18952    <<"abcdTXqBlsLHncSPA">> = iolist_to_binary(re:replace("abc","(?<=a\\H)c","&dTXqBlsLH\\1n&SPA\\1",[global])),
18953    <<"abjV">> = iolist_to_binary(re:replace("abc","(?<=a\\V)c","jV",[])),
18954    <<"abjV">> = iolist_to_binary(re:replace("abc","(?<=a\\V)c","jV",[global])),
18955    <<"a
18956oscmdgX">> = iolist_to_binary(re:replace("a
18957c","(?<=a\\v)c","os&mdgX",[])),
18958    <<"a
18959oscmdgX">> = iolist_to_binary(re:replace("a
18960c","(?<=a\\v)c","os&mdgX",[global])),
18961    <<"XYpwLicvrdWdBXRX">> = iolist_to_binary(re:replace("XcccddYX","(?(?=c)c|d)++Y","YpwL\\1icvrdWdBXR",[])),
18962    <<"XYpwLicvrdWdBXRX">> = iolist_to_binary(re:replace("XcccddYX","(?(?=c)c|d)++Y","YpwL\\1icvrdWdBXR",[global])),
18963    <<"XialhPX">> = iolist_to_binary(re:replace("XcccddYX","(?(?=c)c|d)*+Y","ia\\1lhP\\1",[])),
18964    <<"XialhPX">> = iolist_to_binary(re:replace("XcccddYX","(?(?=c)c|d)*+Y","ia\\1lhP\\1",[global])),
18965    <<"aaaaaaaBYHaBaaaaaaaaaajJ">> = iolist_to_binary(re:replace("aaaaaaa","^(a{2,3}){2,}+a","&BYHaB\\1&jJ",[])),
18966    <<"aaaaaaaBYHaBaaaaaaaaaajJ">> = iolist_to_binary(re:replace("aaaaaaa","^(a{2,3}){2,}+a","&BYHaB\\1&jJ",[global])),
18967    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a{2,3}){2,}+a","BVB",[])),
18968    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a{2,3}){2,}+a","BVB",[global])),
18969    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^(a{2,3}){2,}+a","&cSk&xmMuHJpt\\1&VoP",[])),
18970    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^(a{2,3}){2,}+a","&cSk&xmMuHJpt\\1&VoP",[global])),
18971    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a{2,3}){2,}+a","c",[])),
18972    <<"aaaaaaaaa">> = iolist_to_binary(re:replace("aaaaaaaaa","^(a{2,3}){2,}+a","c",[global])),
18973    ok.
18974run40() ->
18975    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a{2,3})++a","GeKmc\\1WhXfk\\1TBYDb&Ca",[])),
18976    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a{2,3})++a","GeKmc\\1WhXfk\\1TBYDb&Ca",[global])),
18977    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^(a{2,3})++a","MMBt&lb\\1&jbxk",[])),
18978    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^(a{2,3})++a","MMBt&lb\\1&jbxk",[global])),
18979    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a{2,3})*+a","pwt&tvQ&X\\1uUUqymOuO",[])),
18980    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a{2,3})*+a","pwt&tvQ&X\\1uUUqymOuO",[global])),
18981    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^(a{2,3})*+a","\\1",[])),
18982    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^(a{2,3})*+a","\\1",[global])),
18983    <<"ODb">> = iolist_to_binary(re:replace("abXde","ab\\Cde","ODb",[])),
18984    <<"ODb">> = iolist_to_binary(re:replace("abXde","ab\\Cde","ODb",[global])),
18985    <<"abZdeOUSVkwkXixHSXuXh">> = iolist_to_binary(re:replace("abZdeX","(?<=ab\\Cde)X","OUSVkw\\1k&ixHS\\1&u\\1&h",[])),
18986    <<"abZdeOUSVkwkXixHSXuXh">> = iolist_to_binary(re:replace("abZdeX","(?<=ab\\Cde)X","OUSVkw\\1k&ixHS\\1&u\\1&h",[global])),
18987    <<"wcl">> = iolist_to_binary(re:replace("aCb","a[\\CD]b","wcl",[])),
18988    <<"wcl">> = iolist_to_binary(re:replace("aCb","a[\\CD]b","wcl",[global])),
18989    <<"R">> = iolist_to_binary(re:replace("aDb","a[\\CD]b","R",[])),
18990    <<"R">> = iolist_to_binary(re:replace("aDb","a[\\CD]b","R",[global])),
18991    <<"aJbUeGhRaJb">> = iolist_to_binary(re:replace("aJb","a[\\C-X]b","&UeGhR&",[])),
18992    <<"aJbUeGhRaJb">> = iolist_to_binary(re:replace("aJb","a[\\C-X]b","&UeGhR&",[global])),
18993    <<"X X">> = iolist_to_binary(re:replace("X X","\\H\\h\\V\\v","&e&aKbUC&nHH\\1qy\\1",[])),
18994    <<"X X">> = iolist_to_binary(re:replace("X X","\\H\\h\\V\\v","&e&aKbUC&nHH\\1qy\\1",[global])),
18995    <<"JqKpfdXTX	XMbyX	XX	X">> = iolist_to_binary(re:replace("X	X","\\H\\h\\V\\v","JqKpfdXT&Mby&\\1&",[])),
18996    <<"JqKpfdXTX	XMbyX	XX	X">> = iolist_to_binary(re:replace("X	X","\\H\\h\\V\\v","JqKpfdXT&Mby&\\1&",[global])),
18997    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","\\H\\h\\V\\v","FAmVe\\1O",[])),
18998    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","\\H\\h\\V\\v","FAmVe\\1O",[global])),
18999    <<"  X">> = iolist_to_binary(re:replace("  X","\\H\\h\\V\\v","\\1mSDSJp",[])),
19000    <<"  X">> = iolist_to_binary(re:replace("  X","\\H\\h\\V\\v","\\1mSDSJp",[global])),
19001    <<"JagFUGCxoJ	  X
19002
19003SMGCK">> = iolist_to_binary(re:replace("	  X
19004
19005","\\H*\\h+\\V?\\v{3,4}","JagFUGCxoJ&\\1SMGCK",[])),
19006    <<"JagFUGCxoJ	  X
19007
19008SMGCK">> = iolist_to_binary(re:replace("	  X
19009
19010","\\H*\\h+\\V?\\v{3,4}","JagFUGCxoJ&\\1SMGCK",[global])),
19011    <<"	  
19012
19013an	  
19014
19015uIjsv">> = iolist_to_binary(re:replace("	  
19016
19017","\\H*\\h+\\V?\\v{3,4}","&an&\\1uIjsv\\1",[])),
19018    <<"	  
19019
19020an	  
19021
19022uIjsv">> = iolist_to_binary(re:replace("	  
19023
19024","\\H*\\h+\\V?\\v{3,4}","&an&\\1uIjsv\\1",[global])),
19025    <<"	  
19026Cnyt	  
19027sJWoCUIsrr">> = iolist_to_binary(re:replace("	  
19028","\\H*\\h+\\V?\\v{3,4}","&C\\1nyt\\1\\1&\\1sJWoCUIsrr",[])),
19029    <<"	  
19030Cnyt	  
19031sJWoCUIsrr">> = iolist_to_binary(re:replace("	  
19032","\\H*\\h+\\V?\\v{3,4}","&C\\1nyt\\1\\1&\\1sJWoCUIsrr",[global])),
19033    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","\\H*\\h+\\V?\\v{3,4}","heJfENVeR\\1TJ\\1&&Dvf",[])),
19034    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","\\H*\\h+\\V?\\v{3,4}","heJfENVeR\\1TJ\\1&&Dvf",[global])),
19035    <<"	  
19036">> = iolist_to_binary(re:replace("	  
19037","\\H*\\h+\\V?\\v{3,4}","g&",[])),
19038    <<"	  
19039">> = iolist_to_binary(re:replace("	  
19040","\\H*\\h+\\V?\\v{3,4}","g&",[global])),
19041    <<"XY  bvHE">> = iolist_to_binary(re:replace("XY  ABCDE","\\H{3,4}","bvH",[])),
19042    <<"XY  bvHE">> = iolist_to_binary(re:replace("XY  ABCDE","\\H{3,4}","bvH",[global])),
19043    <<"XY  PQRGrQwU ST">> = iolist_to_binary(re:replace("XY  PQR ST","\\H{3,4}","&GrQw\\1U",[])),
19044    <<"XY  PQRGrQwU ST">> = iolist_to_binary(re:replace("XY  PQR ST","\\H{3,4}","&GrQw\\1U",[global])),
19045    <<"XY  AxeQRS">> = iolist_to_binary(re:replace("XY  AB    PQRS",".\\h{3,4}.","xe",[])),
19046    <<"XY  AxeQRS">> = iolist_to_binary(re:replace("XY  AB    PQRS",".\\h{3,4}.","xe",[global])),
19047    <<">PvFpXNNNYZpueukCvxXNNNYZUJ">> = iolist_to_binary(re:replace(">XNNNYZ","\\h*X\\h?\\H+Y\\H?Z","PvFp&pueukCv\\1\\1\\1x&UJ",[])),
19048    <<">PvFpXNNNYZpueukCvxXNNNYZUJ">> = iolist_to_binary(re:replace(">XNNNYZ","\\h*X\\h?\\H+Y\\H?Z","PvFp&pueukCv\\1\\1\\1x&UJ",[global])),
19049    <<">enigqoQeBUc  X NYQZFyFLjg">> = iolist_to_binary(re:replace(">  X NYQZ","\\h*X\\h?\\H+Y\\H?Z","\\1enigqo\\1QeBUc&FyFLjg",[])),
19050    <<">enigqoQeBUc  X NYQZFyFLjg">> = iolist_to_binary(re:replace(">  X NYQZ","\\h*X\\h?\\H+Y\\H?Z","\\1enigqo\\1QeBUc&FyFLjg",[global])),
19051    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","\\h*X\\h?\\H+Y\\H?Z","X",[])),
19052    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","\\h*X\\h?\\H+Y\\H?Z","X",[global])),
19053    <<">XYZ">> = iolist_to_binary(re:replace(">XYZ","\\h*X\\h?\\H+Y\\H?Z","CSYvJMwNrX\\1",[])),
19054    <<">XYZ">> = iolist_to_binary(re:replace(">XYZ","\\h*X\\h?\\H+Y\\H?Z","CSYvJMwNrX\\1",[global])),
19055    <<">  X NY Z">> = iolist_to_binary(re:replace(">  X NY Z","\\h*X\\h?\\H+Y\\H?Z","WVcuLyAOpQ&",[])),
19056    <<">  X NY Z">> = iolist_to_binary(re:replace(">  X NY Z","\\h*X\\h?\\H+Y\\H?Z","WVcuLyAOpQ&",[global])),
19057    <<">EXY
19058Z
19059ANNPIMXY
19060Z
19061ANNEvk">> = iolist_to_binary(re:replace(">XY
19062Z
19063ANN","\\v*X\\v?Y\\v+Z\\V*\\x0a\\V+\\x0b\\V{2,3}\\x0c","E&PIM\\1&E\\1vk",[])),
19064    <<">EXY
19065Z
19066ANNPIMXY
19067Z
19068ANNEvk">> = iolist_to_binary(re:replace(">XY
19069Z
19070ANN","\\v*X\\v?Y\\v+Z\\V*\\x0a\\V+\\x0b\\V{2,3}\\x0c","E&PIM\\1&E\\1vk",[global])),
19071    <<">ux">> = iolist_to_binary(re:replace(">
19072
19073X
19074Y
19075ZZZ
19076AAANNN","\\v*X\\v?Y\\v+Z\\V*\\x0a\\V+\\x0b\\V{2,3}\\x0c","\\1ux",[])),
19077    <<">ux">> = iolist_to_binary(re:replace(">
19078
19079X
19080Y
19081ZZZ
19082AAANNN","\\v*X\\v?Y\\v+Z\\V*\\x0a\\V+\\x0b\\V{2,3}\\x0c","\\1ux",[global])),
19083    <<"fooIlI">> = iolist_to_binary(re:replace("foobar","(foo)\\Kbar","IlI",[])),
19084    <<"fooIlI">> = iolist_to_binary(re:replace("foobar","(foo)\\Kbar","IlI",[global])),
19085    <<"fooMAfoowltkWfEDP">> = iolist_to_binary(re:replace("foobar","(foo)(\\Kbar|baz)","MA\\1wltkWfEDP",[])),
19086    <<"fooMAfoowltkWfEDP">> = iolist_to_binary(re:replace("foobar","(foo)(\\Kbar|baz)","MA\\1wltkWfEDP",[global])),
19087    <<"foobazhoMQ">> = iolist_to_binary(re:replace("foobaz","(foo)(\\Kbar|baz)","&hoMQ",[])),
19088    <<"foobazhoMQ">> = iolist_to_binary(re:replace("foobaz","(foo)(\\Kbar|baz)","&hoMQ",[global])),
19089    <<"fooenlbarbazfoobarOskJvtabarbazfoobarePBU">> = iolist_to_binary(re:replace("foobarbaz","(foo\\Kbar)baz","enl&\\1OskJvta&\\1ePBU",[])),
19090    <<"fooenlbarbazfoobarOskJvtabarbazfoobarePBU">> = iolist_to_binary(re:replace("foobarbaz","(foo\\Kbar)baz","enl&\\1OskJvta&\\1ePBU",[global])),
19091    <<"BDWEtomstom-tomtom-tom">> = iolist_to_binary(re:replace("tom-tom","(?<A>tom|bon)-\\g{A}","BDWE\\1s&&",[])),
19092    <<"BDWEtomstom-tomtom-tom">> = iolist_to_binary(re:replace("tom-tom","(?<A>tom|bon)-\\g{A}","BDWE\\1s&&",[global])),
19093    <<"wjbonFbon-bon">> = iolist_to_binary(re:replace("bon-bon","(?<A>tom|bon)-\\g{A}","wj\\1F&",[])),
19094    <<"wjbonFbon-bon">> = iolist_to_binary(re:replace("bon-bon","(?<A>tom|bon)-\\g{A}","wj\\1F&",[global])),
19095    <<"bacxxx">> = iolist_to_binary(re:replace("bacxxx","(^(a|b\\g{-1}))","Sx",[])),
19096    <<"bacxxx">> = iolist_to_binary(re:replace("bacxxx","(^(a|b\\g{-1}))","Sx",[global])),
19097    <<"H">> = iolist_to_binary(re:replace("abcabc","(?|(abc)|(xyz))\\1","H",[])),
19098    <<"H">> = iolist_to_binary(re:replace("abcabc","(?|(abc)|(xyz))\\1","H",[global])),
19099    <<"yxyzWcxyzxyzduabfPinElhSxyzxyzxyzxyz">> = iolist_to_binary(re:replace("xyzxyz","(?|(abc)|(xyz))\\1","y\\1Wc&duabfPinElhS&&",[])),
19100    <<"yxyzWcxyzxyzduabfPinElhSxyzxyzxyzxyz">> = iolist_to_binary(re:replace("xyzxyz","(?|(abc)|(xyz))\\1","y\\1Wc&duabfPinElhS&&",[global])),
19101    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?|(abc)|(xyz))\\1","b\\1&layoQ",[])),
19102    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?|(abc)|(xyz))\\1","b\\1&layoQ",[global])),
19103    <<"abcxyz">> = iolist_to_binary(re:replace("abcxyz","(?|(abc)|(xyz))\\1","pF",[])),
19104    <<"abcxyz">> = iolist_to_binary(re:replace("abcxyz","(?|(abc)|(xyz))\\1","pF",[global])),
19105    <<"xyzabc">> = iolist_to_binary(re:replace("xyzabc","(?|(abc)|(xyz))\\1","GblOAJxEl",[])),
19106    <<"xyzabc">> = iolist_to_binary(re:replace("xyzabc","(?|(abc)|(xyz))\\1","GblOAJxEl",[global])),
19107    <<"wDMUaJIhLW">> = iolist_to_binary(re:replace("abcabc","(?|(abc)|(xyz))(?1)","wDMUaJIhLW",[])),
19108    <<"wDMUaJIhLW">> = iolist_to_binary(re:replace("abcabc","(?|(abc)|(xyz))(?1)","wDMUaJIhLW",[global])),
19109    <<"uhDuxyzJEuDDxyzabcJKaxyzabcvdX">> = iolist_to_binary(re:replace("xyzabc","(?|(abc)|(xyz))(?1)","uhDu\\1JEuDD&JKa&vdX",[])),
19110    <<"uhDuxyzJEuDDxyzabcJKaxyzabcvdX">> = iolist_to_binary(re:replace("xyzabc","(?|(abc)|(xyz))(?1)","uhDu\\1JEuDD&JKa&vdX",[global])),
19111    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?|(abc)|(xyz))(?1)","oUFI&utTyJ",[])),
19112    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?|(abc)|(xyz))(?1)","oUFI&utTyJ",[global])),
19113    <<"xyzxyz">> = iolist_to_binary(re:replace("xyzxyz","(?|(abc)|(xyz))(?1)","ib\\1&erlkw&wuHdHNtS",[])),
19114    <<"xyzxyz">> = iolist_to_binary(re:replace("xyzxyz","(?|(abc)|(xyz))(?1)","ib\\1&erlkw&wuHdHNtS",[global])),
19115    ok.
19116run41() ->
19117    <<"UAyUXYabcdYapHaoXYabcdYOaaHkXYabcdY">> = iolist_to_binary(re:replace("XYabcdY","^X(?5)(a)(?|(b)|(q))(c)(d)(Y)","UAyU&\\1pH\\1o&O\\1\\1Hk&",[])),
19118    <<"UAyUXYabcdYapHaoXYabcdYOaaHkXYabcdY">> = iolist_to_binary(re:replace("XYabcdY","^X(?5)(a)(?|(b)|(q))(c)(d)(Y)","UAyU&\\1pH\\1o&O\\1\\1Hk&",[global])),
19119    <<"UlXYabcdYmKaP">> = iolist_to_binary(re:replace("XYabcdY","^X(?7)(a)(?|(b|(r)(s))|(q))(c)(d)(Y)","Ul&mKaP",[])),
19120    <<"UlXYabcdYmKaP">> = iolist_to_binary(re:replace("XYabcdY","^X(?7)(a)(?|(b|(r)(s))|(q))(c)(d)(Y)","Ul&mKaP",[global])),
19121    <<"mOVIXYabcdYkbaNflC">> = iolist_to_binary(re:replace("XYabcdY","^X(?7)(a)(?|(b|(?|(r)|(t))(s))|(q))(c)(d)(Y)","mOVI&kb\\1NflC",[])),
19122    <<"mOVIXYabcdYkbaNflC">> = iolist_to_binary(re:replace("XYabcdY","^X(?7)(a)(?|(b|(?|(r)|(t))(s))|(q))(c)(d)(Y)","mOVI&kb\\1NflC",[global])),
19123    <<"a:aaaua:aaaa:aacaKjjSkMSaLxyz">> = iolist_to_binary(re:replace("a:aaxyz","(?'abc'\\w+):\\k<abc>{2}","&\\1u&a&caKjjSkMS\\1L",[])),
19124    <<"a:aaaua:aaaa:aacaKjjSkMSaLxyz">> = iolist_to_binary(re:replace("a:aaxyz","(?'abc'\\w+):\\k<abc>{2}","&\\1u&a&caKjjSkMS\\1L",[global])),
19125    <<"ab:ababDababxyz">> = iolist_to_binary(re:replace("ab:ababxyz","(?'abc'\\w+):\\k<abc>{2}","&D\\1\\1",[])),
19126    <<"ab:ababDababxyz">> = iolist_to_binary(re:replace("ab:ababxyz","(?'abc'\\w+):\\k<abc>{2}","&D\\1\\1",[global])),
19127    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?'abc'\\w+):\\k<abc>{2}","NhofxbK\\1smLiNJ\\1YyrV",[])),
19128    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?'abc'\\w+):\\k<abc>{2}","NhofxbK\\1smLiNJ\\1YyrV",[global])),
19129    <<"a:axyz">> = iolist_to_binary(re:replace("a:axyz","(?'abc'\\w+):\\k<abc>{2}","&R&&m&&",[])),
19130    <<"a:axyz">> = iolist_to_binary(re:replace("a:axyz","(?'abc'\\w+):\\k<abc>{2}","&R&&m&&",[global])),
19131    <<"ab:abxyz">> = iolist_to_binary(re:replace("ab:abxyz","(?'abc'\\w+):\\k<abc>{2}","cxccnpYwqQ",[])),
19132    <<"ab:abxyz">> = iolist_to_binary(re:replace("ab:abxyz","(?'abc'\\w+):\\k<abc>{2}","cxccnpYwqQ",[global])),
19133    <<"waYQqa:aalJrcNa:aaQujaFa:aanxyz">> = iolist_to_binary(re:replace("a:aaxyz","(?'abc'\\w+):\\g{abc}{2}","w\\1YQq&lJrcN&Quj\\1F&n",[])),
19134    <<"waYQqa:aalJrcNa:aaQujaFa:aanxyz">> = iolist_to_binary(re:replace("a:aaxyz","(?'abc'\\w+):\\g{abc}{2}","w\\1YQq&lJrcN&Quj\\1F&n",[global])),
19135    <<"SSNdab:ababnWnnujabab:ababab:ababxyz">> = iolist_to_binary(re:replace("ab:ababxyz","(?'abc'\\w+):\\g{abc}{2}","SSNd&nWnnuj\\1&&",[])),
19136    <<"SSNdab:ababnWnnujabab:ababab:ababxyz">> = iolist_to_binary(re:replace("ab:ababxyz","(?'abc'\\w+):\\g{abc}{2}","SSNd&nWnnuj\\1&&",[global])),
19137    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?'abc'\\w+):\\g{abc}{2}","sC\\1",[])),
19138    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?'abc'\\w+):\\g{abc}{2}","sC\\1",[global])),
19139    <<"a:axyz">> = iolist_to_binary(re:replace("a:axyz","(?'abc'\\w+):\\g{abc}{2}","\\1&KtbPW\\1jI",[])),
19140    <<"a:axyz">> = iolist_to_binary(re:replace("a:axyz","(?'abc'\\w+):\\g{abc}{2}","\\1&KtbPW\\1jI",[global])),
19141    <<"ab:abxyz">> = iolist_to_binary(re:replace("ab:abxyz","(?'abc'\\w+):\\g{abc}{2}","&Dh",[])),
19142    <<"ab:abxyz">> = iolist_to_binary(re:replace("ab:abxyz","(?'abc'\\w+):\\g{abc}{2}","&Dh",[global])),
19143    <<"HX">> = iolist_to_binary(re:replace("abd","^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)","HX",[extended])),
19144    <<"HX">> = iolist_to_binary(re:replace("abd","^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)","HX",[extended,
19145                                                                                                                                                                                                                                           global])),
19146    <<"BlTxckgd">> = iolist_to_binary(re:replace("ce","^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)","BlTx\\1ckgd",[extended])),
19147    <<"BlTxckgd">> = iolist_to_binary(re:replace("ce","^(?<ab>a)? (?(<ab>)b|c) (?('ab')d|e)","BlTx\\1ckgd",[extended,
19148                                                                                                                                                                                                                                                            global])),
19149    <<"WbqaXaXZ">> = iolist_to_binary(re:replace("aXaXZ","^(a.)\\g-1Z","Wbq&",[])),
19150    <<"WbqaXaXZ">> = iolist_to_binary(re:replace("aXaXZ","^(a.)\\g-1Z","Wbq&",[global])),
19151    <<"xLqaXYaXouuKkaXU">> = iolist_to_binary(re:replace("aXaXZ","^(a.)\\g{-1}Z","xLq\\1Y\\1ouuKk\\1U",[])),
19152    <<"xLqaXYaXouuKkaXU">> = iolist_to_binary(re:replace("aXaXZ","^(a.)\\g{-1}Z","xLq\\1Y\\1ouuKk\\1U",[global])),
19153    <<"uADabXiwJcd">> = iolist_to_binary(re:replace("abcd","^(?(DEFINE) (?<A> a) (?<B> b) )  (?&A) (?&B) ","uAD&XiwJ",[extended])),
19154    <<"uADabXiwJcd">> = iolist_to_binary(re:replace("abcd","^(?(DEFINE) (?<A> a) (?<B> b) )  (?&A) (?&B) ","uAD&XiwJ",[extended,
19155                                                                                                                                                                                                                                                            global])),
19156    <<"metcalfe 33yCmetcalfe 33jQmetcalfemetcalfe 33metcalfe 33E">> = iolist_to_binary(re:replace("metcalfe 33","(?<NAME>(?&NAME_PAT))\\s+(?<ADDR>(?&ADDRESS_PAT))
19157  (?(DEFINE)
19158  (?<NAME_PAT>[a-z]+)
19159  (?<ADDRESS_PAT>\\d+)
19160  )","&yC&jQ\\1&&E",[extended])),
19161    <<"metcalfe 33yCmetcalfe 33jQmetcalfemetcalfe 33metcalfe 33E">> = iolist_to_binary(re:replace("metcalfe 33","(?<NAME>(?&NAME_PAT))\\s+(?<ADDR>(?&ADDRESS_PAT))
19162  (?(DEFINE)
19163  (?<NAME_PAT>[a-z]+)
19164  (?<ADDRESS_PAT>\\d+)
19165  )","&yC&jQ\\1&&E",[extended,global])),
19166    <<"csUt">> = iolist_to_binary(re:replace("1.2.3.4","(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))\\b(?&byte)(\\.(?&byte)){3}","csUt",[])),
19167    <<"csUt">> = iolist_to_binary(re:replace("1.2.3.4","(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))\\b(?&byte)(\\.(?&byte)){3}","csUt",[global])),
19168    <<"131.111.10.206CEy131.111.10.206iDmGa131.111.10.206Dl">> = iolist_to_binary(re:replace("131.111.10.206","(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))\\b(?&byte)(\\.(?&byte)){3}","&CEy&iDmGa&\\1Dl",[])),
19169    <<"131.111.10.206CEy131.111.10.206iDmGa131.111.10.206Dl">> = iolist_to_binary(re:replace("131.111.10.206","(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))\\b(?&byte)(\\.(?&byte)){3}","&CEy&iDmGa&\\1Dl",[global])),
19170    <<"YQqPs10.0.0.0DQgo10.0.0.0Nnyi10.0.0.0Ny">> = iolist_to_binary(re:replace("10.0.0.0","(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))\\b(?&byte)(\\.(?&byte)){3}","YQqPs&DQgo\\1\\1&Nnyi&Ny",[])),
19171    <<"YQqPs10.0.0.0DQgo10.0.0.0Nnyi10.0.0.0Ny">> = iolist_to_binary(re:replace("10.0.0.0","(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))\\b(?&byte)(\\.(?&byte)){3}","YQqPs&DQgo\\1\\1&Nnyi&Ny",[global])),
19172    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))\\b(?&byte)(\\.(?&byte)){3}","o\\1\\1&&Ds&F&",[])),
19173    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))\\b(?&byte)(\\.(?&byte)){3}","o\\1\\1&&Ds&F&",[global])),
19174    <<"10.6">> = iolist_to_binary(re:replace("10.6","(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))\\b(?&byte)(\\.(?&byte)){3}","s&\\1BXWRj\\1rQXiOeLx",[])),
19175    <<"10.6">> = iolist_to_binary(re:replace("10.6","(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))\\b(?&byte)(\\.(?&byte)){3}","s&\\1BXWRj\\1rQXiOeLx",[global])),
19176    <<"455.3.4.5">> = iolist_to_binary(re:replace("455.3.4.5","(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))\\b(?&byte)(\\.(?&byte)){3}","Y",[])),
19177    <<"455.3.4.5">> = iolist_to_binary(re:replace("455.3.4.5","(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))\\b(?&byte)(\\.(?&byte)){3}","Y",[global])),
19178    <<"DaLYYtnY">> = iolist_to_binary(re:replace("1.2.3.4","\\b(?&byte)(\\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))","DaLYYtnY",[])),
19179    <<"DaLYYtnY">> = iolist_to_binary(re:replace("1.2.3.4","\\b(?&byte)(\\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))","DaLYYtnY",[global])),
19180    <<"MBU.206M">> = iolist_to_binary(re:replace("131.111.10.206","\\b(?&byte)(\\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))","MBU\\1M",[])),
19181    <<"MBU.206M">> = iolist_to_binary(re:replace("131.111.10.206","\\b(?&byte)(\\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))","MBU\\1M",[global])),
19182    <<"10.0.0.0Lp">> = iolist_to_binary(re:replace("10.0.0.0","\\b(?&byte)(\\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))","&Lp",[])),
19183    <<"10.0.0.0Lp">> = iolist_to_binary(re:replace("10.0.0.0","\\b(?&byte)(\\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))","&Lp",[global])),
19184    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","\\b(?&byte)(\\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))","hr&USJrD",[])),
19185    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","\\b(?&byte)(\\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))","hr&USJrD",[global])),
19186    <<"10.6">> = iolist_to_binary(re:replace("10.6","\\b(?&byte)(\\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))","BbfgCNDo&\\1C\\1",[])),
19187    <<"10.6">> = iolist_to_binary(re:replace("10.6","\\b(?&byte)(\\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))","BbfgCNDo&\\1C\\1",[global])),
19188    <<"455.3.4.5">> = iolist_to_binary(re:replace("455.3.4.5","\\b(?&byte)(\\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))","w&Yt",[])),
19189    <<"455.3.4.5">> = iolist_to_binary(re:replace("455.3.4.5","\\b(?&byte)(\\.(?&byte)){3}(?(DEFINE)(?<byte>2[0-4]\\d|25[0-5]|1\\d\\d|[1-9]?\\d))","w&Yt",[global])),
19190    <<"Agnow is the time for all good men to come to the aid of the partyV">> = iolist_to_binary(re:replace("now is the time for all good men to come to the aid of the party","^(\\w++|\\s++)*$","Ag&V",[])),
19191    <<"Agnow is the time for all good men to come to the aid of the partyV">> = iolist_to_binary(re:replace("now is the time for all good men to come to the aid of the party","^(\\w++|\\s++)*$","Ag&V",[global])),
19192    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\w++|\\s++)*$","VxnH\\1OwDhnQQemGf&IJ",[])),
19193    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\w++|\\s++)*$","VxnH\\1OwDhnQQemGf&IJ",[global])),
19194    <<"this is not a line with only words and spaces!">> = iolist_to_binary(re:replace("this is not a line with only words and spaces!","^(\\w++|\\s++)*$","OmS\\1W&&yOcff\\1pn",[])),
19195    <<"this is not a line with only words and spaces!">> = iolist_to_binary(re:replace("this is not a line with only words and spaces!","^(\\w++|\\s++)*$","OmS\\1W&&yOcff\\1pn",[global])),
19196    <<"X12345aM">> = iolist_to_binary(re:replace("12345a","(\\d++)(\\w)","X&M",[])),
19197    <<"X12345aM">> = iolist_to_binary(re:replace("12345a","(\\d++)(\\w)","X&M",[global])),
19198    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(\\d++)(\\w)","G&QA&qhihaMMrQ",[])),
19199    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","(\\d++)(\\w)","G&QA&qhihaMMrQ",[global])),
19200    <<"12345+">> = iolist_to_binary(re:replace("12345+","(\\d++)(\\w)","kIxM\\1rD\\1B\\1a",[])),
19201    <<"12345+">> = iolist_to_binary(re:replace("12345+","(\\d++)(\\w)","kIxM\\1rD\\1B\\1a",[global])),
19202    <<"tkeKIY">> = iolist_to_binary(re:replace("aaab","a++b","tkeKIY",[])),
19203    <<"tkeKIY">> = iolist_to_binary(re:replace("aaab","a++b","tkeKIY",[global])),
19204    <<"aaabIaaab">> = iolist_to_binary(re:replace("aaab","(a++b)","\\1I\\1",[])),
19205    <<"aaabIaaab">> = iolist_to_binary(re:replace("aaab","(a++b)","\\1I\\1",[global])),
19206    <<"rOaaabYBnR">> = iolist_to_binary(re:replace("aaab","(a++)b","rO&YBnR",[])),
19207    <<"rOaaabYBnR">> = iolist_to_binary(re:replace("aaab","(a++)b","rO&YBnR",[global])),
19208    <<"((uwsqruwBU">> = iolist_to_binary(re:replace("((abc(ade)ufh()()x","([^()]++|\\([^()]*\\))+","uwsqruwBU",[])),
19209    <<"((uwsqruwBU">> = iolist_to_binary(re:replace("((abc(ade)ufh()()x","([^()]++|\\([^()]*\\))+","uwsqruwBU",[global])),
19210    <<"(abc)GFFGlEEaBgxgufwp">> = iolist_to_binary(re:replace("(abc)","\\(([^()]++|\\([^()]+\\))+\\)","&GFFGlEEaBgxgufwp",[])),
19211    <<"(abc)GFFGlEEaBgxgufwp">> = iolist_to_binary(re:replace("(abc)","\\(([^()]++|\\([^()]+\\))+\\)","&GFFGlEEaBgxgufwp",[global])),
19212    <<"x(abc(def)xyz)(abc(def)xyz)Jvx(abc(def)xyz)xyzd(abc(def)xyz)(abc(def)xyz)">> = iolist_to_binary(re:replace("(abc(def)xyz)","\\(([^()]++|\\([^()]+\\))+\\)","x&&Jvx&\\1d&&",[])),
19213    <<"x(abc(def)xyz)(abc(def)xyz)Jvx(abc(def)xyz)xyzd(abc(def)xyz)(abc(def)xyz)">> = iolist_to_binary(re:replace("(abc(def)xyz)","\\(([^()]++|\\([^()]+\\))+\\)","x&&Jvx&\\1d&&",[global])),
19214    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\(([^()]++|\\([^()]+\\))+\\)","ieL\\1IsedxuM",[])),
19215    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","\\(([^()]++|\\([^()]+\\))+\\)","ieL\\1IsedxuM",[global])),
19216    <<"((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","\\(([^()]++|\\([^()]+\\))+\\)","&\\1fqeu\\1",[])),
19217    <<"((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa">> = iolist_to_binary(re:replace("((()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","\\(([^()]++|\\([^()]+\\))+\\)","&\\1fqeu\\1",[global])),
19218    <<"kqQTCl">> = iolist_to_binary(re:replace("abc","^([^()]|\\((?1)*\\))*$","kqQTCl",[])),
19219    <<"kqQTCl">> = iolist_to_binary(re:replace("abc","^([^()]|\\((?1)*\\))*$","kqQTCl",[global])),
19220    <<"cRla(b)cGc">> = iolist_to_binary(re:replace("a(b)c","^([^()]|\\((?1)*\\))*$","\\1Rl&G\\1",[])),
19221    <<"cRla(b)cGc">> = iolist_to_binary(re:replace("a(b)c","^([^()]|\\((?1)*\\))*$","\\1Rl&G\\1",[global])),
19222    <<"dKa(b(c))dfGndCr">> = iolist_to_binary(re:replace("a(b(c))d","^([^()]|\\((?1)*\\))*$","\\1K&fGn\\1Cr",[])),
19223    <<"dKa(b(c))dfGndCr">> = iolist_to_binary(re:replace("a(b(c))d","^([^()]|\\((?1)*\\))*$","\\1K&fGn\\1Cr",[global])),
19224    <<"*** Failers)">> = iolist_to_binary(re:replace("*** Failers)","^([^()]|\\((?1)*\\))*$","\\1n\\1&umpF&",[])),
19225    <<"*** Failers)">> = iolist_to_binary(re:replace("*** Failers)","^([^()]|\\((?1)*\\))*$","\\1n\\1&umpF&",[global])),
19226    <<"a(b(c)d">> = iolist_to_binary(re:replace("a(b(c)d","^([^()]|\\((?1)*\\))*$","\\1JTc",[])),
19227    <<"a(b(c)d">> = iolist_to_binary(re:replace("a(b(c)d","^([^()]|\\((?1)*\\))*$","\\1JTc",[global])),
19228    ok.
19229run42() ->
19230    <<">abc>123<xyz<Po3Pcn3tBnXovXUUqId">> = iolist_to_binary(re:replace(">abc>123<xyz<","^>abc>([^()]|\\((?1)*\\))*<xyz<$","&Po\\1Pcn\\1tBnXovXUUqId",[])),
19231    <<">abc>123<xyz<Po3Pcn3tBnXovXUUqId">> = iolist_to_binary(re:replace(">abc>123<xyz<","^>abc>([^()]|\\((?1)*\\))*<xyz<$","&Po\\1Pcn\\1tBnXovXUUqId",[global])),
19232    <<"P3KXinsyIho">> = iolist_to_binary(re:replace(">abc>1(2)3<xyz<","^>abc>([^()]|\\((?1)*\\))*<xyz<$","P\\1KXinsyIho",[])),
19233    <<"P3KXinsyIho">> = iolist_to_binary(re:replace(">abc>1(2)3<xyz<","^>abc>([^()]|\\((?1)*\\))*<xyz<$","P\\1KXinsyIho",[global])),
19234    <<"dQI(1(2)3)Ox>abc>(1(2)3)<xyz<MgB(1(2)3)(1(2)3)m(1(2)3)i>abc>(1(2)3)<xyz<SNVV">> = iolist_to_binary(re:replace(">abc>(1(2)3)<xyz<","^>abc>([^()]|\\((?1)*\\))*<xyz<$","dQI\\1Ox&MgB\\1\\1m\\1i&SNVV",[])),
19235    <<"dQI(1(2)3)Ox>abc>(1(2)3)<xyz<MgB(1(2)3)(1(2)3)m(1(2)3)i>abc>(1(2)3)<xyz<SNVV">> = iolist_to_binary(re:replace(">abc>(1(2)3)<xyz<","^>abc>([^()]|\\((?1)*\\))*<xyz<$","dQI\\1Ox&MgB\\1\\1m\\1i&SNVV",[global])),
19236    <<"fjn">> = iolist_to_binary(re:replace("1221","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","fjn",[caseless])),
19237    <<"fjn">> = iolist_to_binary(re:replace("1221","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","fjn",[caseless,
19238                                                                                                                                                                                                                              global])),
19239    <<"EWyIbgb">> = iolist_to_binary(re:replace("Satanoscillatemymetallicsonatas","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","EW\\1yIbgb",[caseless])),
19240    <<"EWyIbgb">> = iolist_to_binary(re:replace("Satanoscillatemymetallicsonatas","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","EW\\1yIbgb",[caseless,
19241                                                                                                                                                                                                                                                                                                   global])),
19242    <<"aAmanaplanacanalPanamayDfAmanaplanacanalPanamaanKSCjCr">> = iolist_to_binary(re:replace("AmanaplanacanalPanama","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","a&yDf&anKS\\1CjCr",[caseless])),
19243    <<"aAmanaplanacanalPanamayDfAmanaplanacanalPanamaanKSCjCr">> = iolist_to_binary(re:replace("AmanaplanacanalPanama","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","a&yDf&anKS\\1CjCr",[caseless,
19244                                                                                                                                                                                                                                                                                               global])),
19245    <<"hTo">> = iolist_to_binary(re:replace("AblewasIereIsawElba","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","\\1h\\1To",[caseless])),
19246    <<"hTo">> = iolist_to_binary(re:replace("AblewasIereIsawElba","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","\\1h\\1To",[caseless,
19247                                                                                                                                                                                                                                                                          global])),
19248    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","SQq",[caseless])),
19249    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","SQq",[caseless,
19250                                                                                                                                                                                                                                            global])),
19251    <<"Thequickbrownfox">> = iolist_to_binary(re:replace("Thequickbrownfox","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","m&\\1ypjt",[caseless])),
19252    <<"Thequickbrownfox">> = iolist_to_binary(re:replace("Thequickbrownfox","^(?:((.)(?1)\\2|)|((.)(?3)\\4|.))$","m&\\1ypjt",[caseless,
19253                                                                                                                                                                                                                                                                    global])),
19254    <<"vmtlvgrhXoIVUjuxCJ">> = iolist_to_binary(re:replace("12","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","vmtlvgrhXoIVUjuxCJ",[])),
19255    <<"vmtlvgrhXoIVUjuxCJ">> = iolist_to_binary(re:replace("12","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","vmtlvgrhXoIVUjuxCJ",[global])),
19256    <<"S(((2+2)*-3)-7)hoEGuxAELDlwIpN">> = iolist_to_binary(re:replace("(((2+2)*-3)-7)","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","S\\1hoEGuxAELDlwIpN",[])),
19257    <<"S(((2+2)*-3)-7)hoEGuxAELDlwIpN">> = iolist_to_binary(re:replace("(((2+2)*-3)-7)","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","S\\1hoEGuxAELDlwIpN",[global])),
19258    <<"fn-12K">> = iolist_to_binary(re:replace("-12","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","fn&K",[])),
19259    <<"fn-12K">> = iolist_to_binary(re:replace("-12","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","fn&K",[global])),
19260    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","kbKqwY\\1dbLnM",[])),
19261    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","kbKqwY\\1dbLnM",[global])),
19262    <<"((2+2)*-3)-7)">> = iolist_to_binary(re:replace("((2+2)*-3)-7)","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","&aHqiP",[])),
19263    <<"((2+2)*-3)-7)">> = iolist_to_binary(re:replace("((2+2)*-3)-7)","^(\\d+|\\((?1)([+*-])(?1)\\)|-(?1))$","&aHqiP",[global])),
19264    <<"qxyzCk">> = iolist_to_binary(re:replace("xyz","^(x(y|(?1){2})z)","q&Ck",[])),
19265    <<"qxyzCk">> = iolist_to_binary(re:replace("xyz","^(x(y|(?1){2})z)","q&Ck",[global])),
19266    <<"LxxyzxyzzSIxxyzxyzzHmXxxyzxyzzmxxyzxyzzxxyzxyzzQaGiQRxxyzxyzz">> = iolist_to_binary(re:replace("xxyzxyzz","^(x(y|(?1){2})z)","L&SI\\1HmX\\1m&&QaGiQR&",[])),
19267    <<"LxxyzxyzzSIxxyzxyzzHmXxxyzxyzzmxxyzxyzzxxyzxyzzQaGiQRxxyzxyzz">> = iolist_to_binary(re:replace("xxyzxyzz","^(x(y|(?1){2})z)","L&SI\\1HmX\\1m&&QaGiQR&",[global])),
19268    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(x(y|(?1){2})z)","JDpAfO\\1cLFC",[])),
19269    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(x(y|(?1){2})z)","JDpAfO\\1cLFC",[global])),
19270    <<"xxyzz">> = iolist_to_binary(re:replace("xxyzz","^(x(y|(?1){2})z)","iy\\1e\\1b",[])),
19271    <<"xxyzz">> = iolist_to_binary(re:replace("xxyzz","^(x(y|(?1){2})z)","iy\\1e\\1b",[global])),
19272    <<"xxyzxyzxyzz">> = iolist_to_binary(re:replace("xxyzxyzxyzz","^(x(y|(?1){2})z)","xpghdaVtJ\\1PnXNv\\1ALV",[])),
19273    <<"xxyzxyzxyzz">> = iolist_to_binary(re:replace("xxyzxyzxyzz","^(x(y|(?1){2})z)","xpghdaVtJ\\1PnXNv\\1ALV",[global])),
19274    <<"p">> = iolist_to_binary(re:replace("<>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","p",[extended])),
19275    <<"p">> = iolist_to_binary(re:replace("<>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","p",[extended,
19276                                                                                                                                                                                                                                          global])),
19277    <<"YRKO">> = iolist_to_binary(re:replace("<abcd>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","YRKO",[extended])),
19278    <<"YRKO">> = iolist_to_binary(re:replace("<abcd>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","YRKO",[extended,
19279                                                                                                                                                                                                                                                        global])),
19280    <<"BraUcvnkvGpATS<abc <123> hij>jqC">> = iolist_to_binary(re:replace("<abc <123> hij>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","BraUcvnkvGpATS&jqC",[extended])),
19281    <<"BraUcvnkvGpATS<abc <123> hij>jqC">> = iolist_to_binary(re:replace("<abc <123> hij>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","BraUcvnkvGpATS&jqC",[extended,
19282                                                                                                                                                                                                                                                                                                       global])),
19283    <<"<abc SvwukU<def>xY<def>tL<def>WM<def>johX hij>">> = iolist_to_binary(re:replace("<abc <def> hij>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","SvwukU&xY&tL&WM\\1johX",[extended])),
19284    <<"<abc SvwukU<def>xY<def>tL<def>WM<def>johX hij>">> = iolist_to_binary(re:replace("<abc <def> hij>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","SvwukU&xY&tL&WM\\1johX",[extended,
19285                                                                                                                                                                                                                                                                                                                  global])),
19286    <<"nrGC<abc<>def>R">> = iolist_to_binary(re:replace("<abc<>def>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","nrGC&R",[extended])),
19287    <<"nrGC<abc<>def>R">> = iolist_to_binary(re:replace("<abc<>def>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","nrGC&R",[extended,
19288                                                                                                                                                                                                                                                                     global])),
19289    <<"<abcqCRcTne<>iv<>sCXFrnd">> = iolist_to_binary(re:replace("<abc<>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","qCRcTne&iv&sCXFrnd",[extended])),
19290    <<"<abcqCRcTne<>iv<>sCXFrnd">> = iolist_to_binary(re:replace("<abc<>","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","qCRcTne&iv&sCXFrnd",[extended,
19291                                                                                                                                                                                                                                                                                      global])),
19292    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","\\1b&ult&hg\\1P",[extended])),
19293    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","\\1b&ult&hg\\1P",[extended,
19294                                                                                                                                                                                                                                                                                            global])),
19295    <<"<abc">> = iolist_to_binary(re:replace("<abc","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","tRwOvxXk\\1pyskS\\1n",[extended])),
19296    <<"<abc">> = iolist_to_binary(re:replace("<abc","((< (?: (?(R) \\d++  | [^<>]*+) | (?2)) * >))","tRwOvxXk\\1pyskS\\1n",[extended,
19297                                                                                                                                                                                                                                                                                      global])),
19298    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^a+(*FAIL)","gLGD",[])),
19299    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^a+(*FAIL)","gLGD",[global])),
19300    <<"aaabccc">> = iolist_to_binary(re:replace("aaabccc","a+b?c+(*FAIL)","e\\1SW&\\1gEu\\1WBl",[])),
19301    <<"aaabccc">> = iolist_to_binary(re:replace("aaabccc","a+b?c+(*FAIL)","e\\1SW&\\1gEu\\1WBl",[global])),
19302    <<"aaabccc">> = iolist_to_binary(re:replace("aaabccc","a+b?(*PRUNE)c+(*FAIL)","Cy",[])),
19303    <<"aaabccc">> = iolist_to_binary(re:replace("aaabccc","a+b?(*PRUNE)c+(*FAIL)","Cy",[global])),
19304    <<"aaabccc">> = iolist_to_binary(re:replace("aaabccc","a+b?(*COMMIT)c+(*FAIL)","lCKqNoFrmqk",[])),
19305    <<"aaabccc">> = iolist_to_binary(re:replace("aaabccc","a+b?(*COMMIT)c+(*FAIL)","lCKqNoFrmqk",[global])),
19306    <<"aaabcccaaabccc">> = iolist_to_binary(re:replace("aaabcccaaabccc","a+b?(*SKIP)c+(*FAIL)","gh\\1A&NTPGyR\\1C&",[])),
19307    <<"aaabcccaaabccc">> = iolist_to_binary(re:replace("aaabcccaaabccc","a+b?(*SKIP)c+(*FAIL)","gh\\1A&NTPGyR\\1C&",[global])),
19308    <<"IUaaaxxxxxxP">> = iolist_to_binary(re:replace("aaaxxxxxx","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","IU&P",[])),
19309    <<"IUaaaxxxxxxP">> = iolist_to_binary(re:replace("aaaxxxxxx","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","IU&P",[global])),
19310    <<"hdKDpy++++++">> = iolist_to_binary(re:replace("aaa++++++","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","hdKDpy",[])),
19311    <<"hdKDpy++++++">> = iolist_to_binary(re:replace("aaa++++++","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","hdKDpy",[global])),
19312    <<"nAXgVEbbbxxxxxhYFcyFVwuV">> = iolist_to_binary(re:replace("bbbxxxxx","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","nAX\\1gVE&hYF\\1cy\\1FVwuV",[])),
19313    <<"nAXgVEbbbxxxxxhYFcyFVwuV">> = iolist_to_binary(re:replace("bbbxxxxx","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","nAX\\1gVE&hYF\\1cy\\1FVwuV",[global])),
19314    <<"jM+++++">> = iolist_to_binary(re:replace("bbb+++++","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","jM",[])),
19315    <<"jM+++++">> = iolist_to_binary(re:replace("bbb+++++","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","jM",[global])),
19316    <<"xqHG">> = iolist_to_binary(re:replace("cccxxxx","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","xqHG",[])),
19317    <<"xqHG">> = iolist_to_binary(re:replace("cccxxxx","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","xqHG",[global])),
19318    <<"GeWPQyGcccAhlBccccx++++">> = iolist_to_binary(re:replace("ccc++++","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","GeWPQyG&Ahl\\1Bc&x",[])),
19319    <<"GeWPQyGcccAhlBccccx++++">> = iolist_to_binary(re:replace("ccc++++","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","GeWPQyG&Ahl\\1Bc&x",[global])),
19320    <<"dNWERdddBmdddlSrdddddd">> = iolist_to_binary(re:replace("dddddddd","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","dNWE\\1R&Bm&\\1lSrd",[])),
19321    <<"dNWERdddBmdddlSrdddddd">> = iolist_to_binary(re:replace("dddddddd","^(?:aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","dNWE\\1R&Bm&\\1lSrd",[global])),
19322    <<"aaaxxxxxxaaaxxxxxxaaaxxxxxxXAFhdfF">> = iolist_to_binary(re:replace("aaaxxxxxx","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","&\\1&XAFhdfF",[])),
19323    <<"aaaxxxxxxaaaxxxxxxaaaxxxxxxXAFhdfF">> = iolist_to_binary(re:replace("aaaxxxxxx","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","&\\1&XAFhdfF",[global])),
19324    <<"BADWi++++++">> = iolist_to_binary(re:replace("aaa++++++","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","BADWi",[])),
19325    <<"BADWi++++++">> = iolist_to_binary(re:replace("aaa++++++","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","BADWi",[global])),
19326    <<"iGhbbbxxxxxY">> = iolist_to_binary(re:replace("bbbxxxxx","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","iGh&Y",[])),
19327    <<"iGhbbbxxxxxY">> = iolist_to_binary(re:replace("bbbxxxxx","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","iGh&Y",[global])),
19328    <<"o+++++">> = iolist_to_binary(re:replace("bbb+++++","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","o",[])),
19329    <<"o+++++">> = iolist_to_binary(re:replace("bbb+++++","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","o",[global])),
19330    <<"cccxxxxYEHecccxxxxcccxxxxIOtAN">> = iolist_to_binary(re:replace("cccxxxx","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","\\1YEHe\\1\\1IOtAN",[])),
19331    <<"cccxxxxYEHecccxxxxcccxxxxIOtAN">> = iolist_to_binary(re:replace("cccxxxx","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","\\1YEHe\\1\\1IOtAN",[global])),
19332    <<"RgcccpccccCrLGccccccGS++++">> = iolist_to_binary(re:replace("ccc++++","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","Rg\\1p&cCrLG\\1\\1GS",[])),
19333    <<"RgcccpccccCrLGccccccGS++++">> = iolist_to_binary(re:replace("ccc++++","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","Rg\\1p&cCrLG\\1\\1GS",[global])),
19334    <<"aJddddd">> = iolist_to_binary(re:replace("dddddddd","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","aJ",[])),
19335    <<"aJddddd">> = iolist_to_binary(re:replace("dddddddd","^(aaa(*THEN)\\w{6}|bbb(*THEN)\\w{5}|ccc(*THEN)\\w{4}|\\w{3})","aJ",[global])),
19336    <<"aaabccc">> = iolist_to_binary(re:replace("aaabccc","a+b?(*THEN)c+(*FAIL)","O&n",[])),
19337    <<"aaabccc">> = iolist_to_binary(re:replace("aaabccc","a+b?(*THEN)c+(*FAIL)","O&n",[global])),
19338    <<"TxOFuVua">> = iolist_to_binary(re:replace("AB","(A (A|B(*ACCEPT)|C) D)(E)","TxOFuVua",[extended])),
19339    <<"TxOFuVua">> = iolist_to_binary(re:replace("AB","(A (A|B(*ACCEPT)|C) D)(E)","TxOFuVua",[extended,
19340                                                                                                                                                                                                               global])),
19341    <<"SUX">> = iolist_to_binary(re:replace("ABX","(A (A|B(*ACCEPT)|C) D)(E)","SU",[extended])),
19342    <<"SUX">> = iolist_to_binary(re:replace("ABX","(A (A|B(*ACCEPT)|C) D)(E)","SU",[extended,
19343                                                                                                                                                                                                     global])),
19344    <<"AADAADAADELrNAADnAADEnGvAADEaNIaWn">> = iolist_to_binary(re:replace("AADE","(A (A|B(*ACCEPT)|C) D)(E)","\\1\\1&LrN\\1n&nGv&aNIaWn",[extended])),
19345    <<"AADAADAADELrNAADnAADEnGvAADEaNIaWn">> = iolist_to_binary(re:replace("AADE","(A (A|B(*ACCEPT)|C) D)(E)","\\1\\1&LrN\\1n&nGv&aNIaWn",[extended,
19346                                                                                                                                                                                                                                                           global])),
19347    <<"ACDYODJodgCmmfKwfACD">> = iolist_to_binary(re:replace("ACDE","(A (A|B(*ACCEPT)|C) D)(E)","\\1YODJodgCmmfKwf\\1",[extended])),
19348    <<"ACDYODJodgCmmfKwfACD">> = iolist_to_binary(re:replace("ACDE","(A (A|B(*ACCEPT)|C) D)(E)","\\1YODJodgCmmfKwf\\1",[extended,
19349                                                                                                                                                                                                                                             global])),
19350    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(A (A|B(*ACCEPT)|C) D)(E)","N\\1FtqpFbrL\\1Uwr&u",[extended])),
19351    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(A (A|B(*ACCEPT)|C) D)(E)","N\\1FtqpFbrL\\1Uwr&u",[extended,
19352                                                                                                                                                                                                                                                          global])),
19353    <<"AD">> = iolist_to_binary(re:replace("AD","(A (A|B(*ACCEPT)|C) D)(E)","\\1A\\1QPFrGi",[extended])),
19354    <<"AD">> = iolist_to_binary(re:replace("AD","(A (A|B(*ACCEPT)|C) D)(E)","\\1A\\1QPFrGi",[extended,
19355                                                                                                                                                                                                                           global])),
19356    <<"xw1221OijBNT1221R12211221">> = iolist_to_binary(re:replace("1221","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","xw\\1OijBNT\\1R\\1\\1",[caseless])),
19357    <<"xw1221OijBNT1221R12211221">> = iolist_to_binary(re:replace("1221","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","xw\\1OijBNT\\1R\\1\\1",[caseless,
19358                                                                                                                                                                                                                                                                                                                                                              global])),
19359    <<"Satan, oscillate my metallic sonatas!lqABSOBSatan, oscillate my metallic sonatas!">> = iolist_to_binary(re:replace("Satan, oscillate my metallic sonatas!","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","&\\1lqABSOB&",[caseless])),
19360    <<"Satan, oscillate my metallic sonatas!lqABSOBSatan, oscillate my metallic sonatas!">> = iolist_to_binary(re:replace("Satan, oscillate my metallic sonatas!","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","&\\1lqABSOB&",[caseless,
19361                                                                                                                                                                                                                                                                                                                                                                                                             global])),
19362    <<"fUpPJGcmtHgPTjp">> = iolist_to_binary(re:replace("A man, a plan, a canal: Panama!","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","fUpPJGc\\1mtHgP\\1Tjp",[caseless])),
19363    <<"fUpPJGcmtHgPTjp">> = iolist_to_binary(re:replace("A man, a plan, a canal: Panama!","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","fUpPJGc\\1mtHgP\\1Tjp",[caseless,
19364                                                                                                                                                                                                                                                                                                                                                                                                                  global])),
19365    <<"Able was I ere I saw Elba.pQyfPUbHSt">> = iolist_to_binary(re:replace("Able was I ere I saw Elba.","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","&pQyfPUb\\1HSt",[caseless])),
19366    <<"Able was I ere I saw Elba.pQyfPUbHSt">> = iolist_to_binary(re:replace("Able was I ere I saw Elba.","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","&pQyfPUb\\1HSt",[caseless,
19367                                                                                                                                                                                                                                                                                                                                                                                          global])),
19368    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","QItD\\1t&XKbLqmp",[caseless])),
19369    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","QItD\\1t&XKbLqmp",[caseless,
19370                                                                                                                                                                                                                                                                                                                                                                global])),
19371    <<"The quick brown fox">> = iolist_to_binary(re:replace("The quick brown fox","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","HyrL&",[caseless])),
19372    <<"The quick brown fox">> = iolist_to_binary(re:replace("The quick brown fox","^\\W*+(?:((.)\\W*+(?1)\\W*+\\2|)|((.)\\W*+(?3)\\W*+\\4|\\W*+.\\W*+))\\W*+$","HyrL&",[caseless,
19373                                                                                                                                                                                                                                                                                                                                                         global])),
19374    <<"MUxDTa">> = iolist_to_binary(re:replace("a","^((.)(?1)\\2|.)$","MUxDT&",[])),
19375    <<"MUxDTa">> = iolist_to_binary(re:replace("a","^((.)(?1)\\2|.)$","MUxDT&",[global])),
19376    <<"sdabaq">> = iolist_to_binary(re:replace("aba","^((.)(?1)\\2|.)$","sd\\1q",[])),
19377    <<"sdabaq">> = iolist_to_binary(re:replace("aba","^((.)(?1)\\2|.)$","sd\\1q",[global])),
19378    <<"FQLjaabaaHLRNaabaaaabaat">> = iolist_to_binary(re:replace("aabaa","^((.)(?1)\\2|.)$","FQLj&HLRN\\1\\1t",[])),
19379    <<"FQLjaabaaHLRNaabaaaabaat">> = iolist_to_binary(re:replace("aabaa","^((.)(?1)\\2|.)$","FQLj&HLRN\\1\\1t",[global])),
19380    <<"dAayeabcdcbaBfabcdcbaUNI">> = iolist_to_binary(re:replace("abcdcba","^((.)(?1)\\2|.)$","dAaye\\1Bf&UNI",[])),
19381    <<"dAayeabcdcbaBfabcdcbaUNI">> = iolist_to_binary(re:replace("abcdcba","^((.)(?1)\\2|.)$","dAaye\\1Bf&UNI",[global])),
19382    <<"OpqaabaaqpQpqaabaaqpfkfGJxwpqaabaaqpxkmrGMpqaabaaqp">> = iolist_to_binary(re:replace("pqaabaaqp","^((.)(?1)\\2|.)$","O&Q\\1fkfGJxw&xkmrGM&",[])),
19383    <<"OpqaabaaqpQpqaabaaqpfkfGJxwpqaabaaqpxkmrGMpqaabaaqp">> = iolist_to_binary(re:replace("pqaabaaqp","^((.)(?1)\\2|.)$","O&Q\\1fkfGJxw&xkmrGM&",[global])),
19384    <<"bdVxablewasiereisawelbaYcoMDjqablewasiereisawelbafdablewasiereisawelbatinE">> = iolist_to_binary(re:replace("ablewasiereisawelba","^((.)(?1)\\2|.)$","bdVx&YcoMDjq&fd\\1tinE",[])),
19385    <<"bdVxablewasiereisawelbaYcoMDjqablewasiereisawelbafdablewasiereisawelbatinE">> = iolist_to_binary(re:replace("ablewasiereisawelba","^((.)(?1)\\2|.)$","bdVx&YcoMDjq&fd\\1tinE",[global])),
19386    <<"rhubarb">> = iolist_to_binary(re:replace("rhubarb","^((.)(?1)\\2|.)$","XD\\1&vY\\1SvD&NK&AfJ",[])),
19387    <<"rhubarb">> = iolist_to_binary(re:replace("rhubarb","^((.)(?1)\\2|.)$","XD\\1&vY\\1SvD&NK&AfJ",[global])),
19388    <<"the quick brown fox">> = iolist_to_binary(re:replace("the quick brown fox","^((.)(?1)\\2|.)$","MnEjDLxqRfD\\1dksvBNU",[])),
19389    <<"the quick brown fox">> = iolist_to_binary(re:replace("the quick brown fox","^((.)(?1)\\2|.)$","MnEjDLxqRfD\\1dksvBNU",[global])),
19390    <<"bSanz">> = iolist_to_binary(re:replace("baz","(a)(?<=b(?1))","S\\1n",[])),
19391    <<"bSanz">> = iolist_to_binary(re:replace("baz","(a)(?<=b(?1))","S\\1n",[global])),
19392    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(a)(?<=b(?1))","I\\1&BaUakXjhOFhQy\\1kv",[])),
19393    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(a)(?<=b(?1))","I\\1&BaUakXjhOFhQy\\1kv",[global])),
19394    <<"caz">> = iolist_to_binary(re:replace("caz","(a)(?<=b(?1))","&x&&&cABhoecjW&D",[])),
19395    <<"caz">> = iolist_to_binary(re:replace("caz","(a)(?<=b(?1))","&x&&&cABhoecjW&D",[global])),
19396    <<"zbamBPamYeGJasagajz">> = iolist_to_binary(re:replace("zbaaz","(?<=b(?1))(a)","mBP\\1mYeGJ\\1s&g&j",[])),
19397    <<"zbamBPamYeGJasagajz">> = iolist_to_binary(re:replace("zbaaz","(?<=b(?1))(a)","mBP\\1mYeGJ\\1s&g&j",[global])),
19398    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=b(?1))(a)","&y&R&ANqnrUXsC",[])),
19399    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=b(?1))(a)","&y&R&ANqnrUXsC",[global])),
19400    <<"aaa">> = iolist_to_binary(re:replace("aaa","(?<=b(?1))(a)","F&&lb\\1OEkErh\\1&s\\1T",[])),
19401    <<"aaa">> = iolist_to_binary(re:replace("aaa","(?<=b(?1))(a)","F&&lb\\1OEkErh\\1&s\\1T",[global])),
19402    <<"basaBtugJSalfoIoaaz">> = iolist_to_binary(re:replace("baz","(?<X>a)(?<=b(?&X))","\\1s&BtugJS\\1lfoIo\\1a",[])),
19403    <<"basaBtugJSalfoIoaaz">> = iolist_to_binary(re:replace("baz","(?<X>a)(?<=b(?&X))","\\1s&BtugJS\\1lfoIo\\1a",[global])),
19404    <<"abcabcdfYwAHcFyJUBIKabcabcabcabcabcabc">> = iolist_to_binary(re:replace("abcabc","^(?|(abc)|(def))\\1","&dfYwAHcFyJUBIK&&&",[])),
19405    <<"abcabcdfYwAHcFyJUBIKabcabcabcabcabcabc">> = iolist_to_binary(re:replace("abcabc","^(?|(abc)|(def))\\1","&dfYwAHcFyJUBIK&&&",[global])),
19406    <<"defdefewRuSdefdefb">> = iolist_to_binary(re:replace("defdef","^(?|(abc)|(def))\\1","&ewRuS&b",[])),
19407    <<"defdefewRuSdefdefb">> = iolist_to_binary(re:replace("defdef","^(?|(abc)|(def))\\1","&ewRuS&b",[global])),
19408    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?|(abc)|(def))\\1","iOiPewDMrMw&Iy",[])),
19409    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?|(abc)|(def))\\1","iOiPewDMrMw&Iy",[global])),
19410    <<"abcdef">> = iolist_to_binary(re:replace("abcdef","^(?|(abc)|(def))\\1","rkSqOQ",[])),
19411    <<"abcdef">> = iolist_to_binary(re:replace("abcdef","^(?|(abc)|(def))\\1","rkSqOQ",[global])),
19412    <<"defabc">> = iolist_to_binary(re:replace("defabc","^(?|(abc)|(def))\\1","V",[])),
19413    <<"defabc">> = iolist_to_binary(re:replace("defabc","^(?|(abc)|(def))\\1","V",[global])),
19414    ok.
19415run43() ->
19416    <<"LfjQyR">> = iolist_to_binary(re:replace("abcabc","^(?|(abc)|(def))(?1)","LfjQyR",[])),
19417    <<"LfjQyR">> = iolist_to_binary(re:replace("abcabc","^(?|(abc)|(def))(?1)","LfjQyR",[global])),
19418    <<"tWpTOWdefabcdefkdefabcYBc">> = iolist_to_binary(re:replace("defabc","^(?|(abc)|(def))(?1)","tWpTOW&\\1k&YBc",[])),
19419    <<"tWpTOWdefabcdefkdefabcYBc">> = iolist_to_binary(re:replace("defabc","^(?|(abc)|(def))(?1)","tWpTOW&\\1k&YBc",[global])),
19420    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?|(abc)|(def))(?1)","&XvMpW",[])),
19421    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?|(abc)|(def))(?1)","&XvMpW",[global])),
19422    <<"defdef">> = iolist_to_binary(re:replace("defdef","^(?|(abc)|(def))(?1)","JS\\1AJl&S",[])),
19423    <<"defdef">> = iolist_to_binary(re:replace("defdef","^(?|(abc)|(def))(?1)","JS\\1AJl&S",[global])),
19424    <<"abcdef">> = iolist_to_binary(re:replace("abcdef","^(?|(abc)|(def))(?1)","s&",[])),
19425    <<"abcdef">> = iolist_to_binary(re:replace("abcdef","^(?|(abc)|(def))(?1)","s&",[global])),
19426    <<"ACIMaBCCCrtBCLBSuRcqDCrD">> = iolist_to_binary(re:replace("ABCD","(?:(?1)|B)(A(*F)|C)","\\1IMa&\\1\\1rt&LBSuRcqDCr",[])),
19427    <<"ACIMaBCCCrtBCLBSuRcqDCrD">> = iolist_to_binary(re:replace("ABCD","(?:(?1)|B)(A(*F)|C)","\\1IMa&\\1\\1rt&LBSuRcqDCr",[global])),
19428    <<"oCCiCCCkCfarCUTFD">> = iolist_to_binary(re:replace("CCD","(?:(?1)|B)(A(*F)|C)","o&i&\\1k\\1far\\1UTF",[])),
19429    <<"oCCiCCCkCfarCUTFD">> = iolist_to_binary(re:replace("CCD","(?:(?1)|B)(A(*F)|C)","o&i&\\1k\\1far\\1UTF",[global])),
19430    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?:(?1)|B)(A(*F)|C)","fR\\1POKy&h\\1tsX",[])),
19431    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?:(?1)|B)(A(*F)|C)","fR\\1POKy&h\\1tsX",[global])),
19432    <<"CAD">> = iolist_to_binary(re:replace("CAD","(?:(?1)|B)(A(*F)|C)","&hH\\1XGD\\1tfghlx\\1",[])),
19433    <<"CAD">> = iolist_to_binary(re:replace("CAD","(?:(?1)|B)(A(*F)|C)","&hH\\1XGD\\1tfghlx\\1",[global])),
19434    <<"CCePUJnkSD">> = iolist_to_binary(re:replace("CCD","^(?:(?1)|B)(A(*F)|C)","&ePUJnkS",[])),
19435    <<"CCePUJnkSD">> = iolist_to_binary(re:replace("CCD","^(?:(?1)|B)(A(*F)|C)","&ePUJnkS",[global])),
19436    <<"HDSBCbcCRNYiEPlVoYXD">> = iolist_to_binary(re:replace("BCD","^(?:(?1)|B)(A(*F)|C)","HDS&bc\\1RNYiEPlVoYX",[])),
19437    <<"HDSBCbcCRNYiEPlVoYXD">> = iolist_to_binary(re:replace("BCD","^(?:(?1)|B)(A(*F)|C)","HDS&bc\\1RNYiEPlVoYX",[global])),
19438    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?:(?1)|B)(A(*F)|C)","S",[])),
19439    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?:(?1)|B)(A(*F)|C)","S",[global])),
19440    <<"ABCD">> = iolist_to_binary(re:replace("ABCD","^(?:(?1)|B)(A(*F)|C)","jMfVoww\\1ses&oWOL&yd",[])),
19441    <<"ABCD">> = iolist_to_binary(re:replace("ABCD","^(?:(?1)|B)(A(*F)|C)","jMfVoww\\1ses&oWOL&yd",[global])),
19442    <<"CAD">> = iolist_to_binary(re:replace("CAD","^(?:(?1)|B)(A(*F)|C)","QqHTIgCo\\1&\\1\\1iIlqX&O",[])),
19443    <<"CAD">> = iolist_to_binary(re:replace("CAD","^(?:(?1)|B)(A(*F)|C)","QqHTIgCo\\1&\\1\\1iIlqX&O",[global])),
19444    <<"BAD">> = iolist_to_binary(re:replace("BAD","^(?:(?1)|B)(A(*F)|C)","fBLv",[])),
19445    <<"BAD">> = iolist_to_binary(re:replace("BAD","^(?:(?1)|B)(A(*F)|C)","fBLv",[global])),
19446    <<"lyLDABYgvAD">> = iolist_to_binary(re:replace("AAD","(?:(?1)|B)(A(*ACCEPT)XX|C)D","lyLD\\1BYgv\\1",[])),
19447    <<"lyLDABYgvAD">> = iolist_to_binary(re:replace("AAD","(?:(?1)|B)(A(*ACCEPT)XX|C)D","lyLD\\1BYgv\\1",[global])),
19448    <<"RyACDCXACDqsCvwyCACDkyHc">> = iolist_to_binary(re:replace("ACD","(?:(?1)|B)(A(*ACCEPT)XX|C)D","Ry&\\1X&qs\\1vwy\\1&kyHc",[])),
19449    <<"RyACDCXACDqsCvwyCACDkyHc">> = iolist_to_binary(re:replace("ACD","(?:(?1)|B)(A(*ACCEPT)XX|C)D","Ry&\\1X&qs\\1vwy\\1&kyHc",[global])),
19450    <<"AuXMduD">> = iolist_to_binary(re:replace("BAD","(?:(?1)|B)(A(*ACCEPT)XX|C)D","\\1uXMdu",[])),
19451    <<"AuXMduD">> = iolist_to_binary(re:replace("BAD","(?:(?1)|B)(A(*ACCEPT)XX|C)D","\\1uXMdu",[global])),
19452    <<"oTbEDv">> = iolist_to_binary(re:replace("BCD","(?:(?1)|B)(A(*ACCEPT)XX|C)D","oTbEDv",[])),
19453    <<"oTbEDv">> = iolist_to_binary(re:replace("BCD","(?:(?1)|B)(A(*ACCEPT)XX|C)D","oTbEDv",[global])),
19454    <<"RBAelTeYBABAAX">> = iolist_to_binary(re:replace("BAX","(?:(?1)|B)(A(*ACCEPT)XX|C)D","R&elTeY&&\\1",[])),
19455    <<"RBAelTeYBABAAX">> = iolist_to_binary(re:replace("BAX","(?:(?1)|B)(A(*ACCEPT)XX|C)D","R&elTeY&&\\1",[global])),
19456    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?:(?1)|B)(A(*ACCEPT)XX|C)D","&&X\\1",[])),
19457    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?:(?1)|B)(A(*ACCEPT)XX|C)D","&&X\\1",[global])),
19458    <<"ACX">> = iolist_to_binary(re:replace("ACX","(?:(?1)|B)(A(*ACCEPT)XX|C)D","\\1YnMw&&&\\1Nxi&Wfb",[])),
19459    <<"ACX">> = iolist_to_binary(re:replace("ACX","(?:(?1)|B)(A(*ACCEPT)XX|C)D","\\1YnMw&&&\\1Nxi&Wfb",[global])),
19460    <<"ABC">> = iolist_to_binary(re:replace("ABC","(?:(?1)|B)(A(*ACCEPT)XX|C)D","eX\\1YNXkcuaal",[])),
19461    <<"ABC">> = iolist_to_binary(re:replace("ABC","(?:(?1)|B)(A(*ACCEPT)XX|C)D","eX\\1YNXkcuaal",[global])),
19462    <<"cpDBACdDivSoeWp">> = iolist_to_binary(re:replace("BAC","(?(DEFINE)(A))B(?1)C","cpD&dD\\1i\\1vSoeWp",[])),
19463    <<"cpDBACdDivSoeWp">> = iolist_to_binary(re:replace("BAC","(?(DEFINE)(A))B(?1)C","cpD&dD\\1i\\1vSoeWp",[global])),
19464    <<"HTBAAC">> = iolist_to_binary(re:replace("BAAC","(?(DEFINE)((A)\\2))B(?1)C","H\\1T&",[])),
19465    <<"HTBAAC">> = iolist_to_binary(re:replace("BAAC","(?(DEFINE)((A)\\2))B(?1)C","H\\1T&",[global])),
19466    <<"U(ab(cd)ef)Wy">> = iolist_to_binary(re:replace("(ab(cd)ef)","(?<pn> \\( ( [^()]++ | (?&pn) )* \\) )","U\\1Wy",[extended])),
19467    <<"U(ab(cd)ef)Wy">> = iolist_to_binary(re:replace("(ab(cd)ef)","(?<pn> \\( ( [^()]++ | (?&pn) )* \\) )","U\\1Wy",[extended,
19468                                                                                                                                                                                                                                                        global])),
19469    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?=a(*SKIP)b|ac)","rGTH&RVHejd&k",[])),
19470    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?=a(*SKIP)b|ac)","rGTH&RVHejd&k",[global])),
19471    <<"ac">> = iolist_to_binary(re:replace("ac","^(?=a(*SKIP)b|ac)","\\1&GCt&D&Lja",[])),
19472    <<"ac">> = iolist_to_binary(re:replace("ac","^(?=a(*SKIP)b|ac)","\\1&GCt&D&Lja",[global])),
19473    <<"fQfwLkab">> = iolist_to_binary(re:replace("ab","^(?=a(*PRUNE)b)","f\\1QfwLk",[])),
19474    <<"fQfwLkab">> = iolist_to_binary(re:replace("ab","^(?=a(*PRUNE)b)","f\\1QfwLk",[global])),
19475    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?=a(*PRUNE)b)","\\1yjrFT&QU\\1QP\\1&u",[])),
19476    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?=a(*PRUNE)b)","\\1yjrFT&QU\\1QP\\1&u",[global])),
19477    <<"ac">> = iolist_to_binary(re:replace("ac","^(?=a(*PRUNE)b)","&gpi\\1",[])),
19478    <<"ac">> = iolist_to_binary(re:replace("ac","^(?=a(*PRUNE)b)","&gpi\\1",[global])),
19479    <<"kQac">> = iolist_to_binary(re:replace("ac","^(?=a(*ACCEPT)b)","kQ",[])),
19480    <<"kQac">> = iolist_to_binary(re:replace("ac","^(?=a(*ACCEPT)b)","kQ",[global])),
19481    <<"ajbIblt">> = iolist_to_binary(re:replace("ab","(?>a\\Kb)","j&I&lt",[])),
19482    <<"ajbIblt">> = iolist_to_binary(re:replace("ab","(?>a\\Kb)","j&I&lt",[global])),
19483    <<"ajOfKabMbvu">> = iolist_to_binary(re:replace("ab","((?>a\\Kb))","jOfK\\1M&vu",[])),
19484    <<"ajOfKabMbvu">> = iolist_to_binary(re:replace("ab","((?>a\\Kb))","jOfK\\1M&vu",[global])),
19485    <<"aWbQSVababHodUgHSHnt">> = iolist_to_binary(re:replace("ab","(a\\Kb)","W&QSV\\1\\1HodUgHSHnt",[])),
19486    <<"aWbQSVababHodUgHSHnt">> = iolist_to_binary(re:replace("ab","(a\\Kb)","W&QSV\\1\\1HodUgHSHnt",[global])),
19487    <<"oyDWsqkcnuracWk">> = iolist_to_binary(re:replace("ac","^a\\Kcz|ac","oyDWsqkc\\1nur&\\1Wk",[])),
19488    <<"oyDWsqkcnuracWk">> = iolist_to_binary(re:replace("ac","^a\\Kcz|ac","oyDWsqkc\\1nur&\\1Wk",[global])),
19489    <<"drmFabyB">> = iolist_to_binary(re:replace("ab","(?>a\\Kbz|ab)","dr\\1mF&yB",[])),
19490    <<"drmFabyB">> = iolist_to_binary(re:replace("ab","(?>a\\Kbz|ab)","dr\\1mF&yB",[global])),
19491    <<"ajbVLbJkkPEEGEA">> = iolist_to_binary(re:replace("ab","^(?&t)(?(DEFINE)(?<t>a\\Kb))$","j\\1&VL&Jk\\1kPEE\\1G\\1E\\1A",[])),
19492    <<"ajbVLbJkkPEEGEA">> = iolist_to_binary(re:replace("ab","^(?&t)(?(DEFINE)(?<t>a\\Kb))$","j\\1&VL&Jk\\1kPEE\\1G\\1E\\1A",[global])),
19493    <<"Ua(b)c">> = iolist_to_binary(re:replace("a(b)c","^([^()]|\\((?1)*\\))*$","U&",[])),
19494    <<"Ua(b)c">> = iolist_to_binary(re:replace("a(b)c","^([^()]|\\((?1)*\\))*$","U&",[global])),
19495    <<"a(b(c)d)eU">> = iolist_to_binary(re:replace("a(b(c)d)e","^([^()]|\\((?1)*\\))*$","&U",[])),
19496    <<"a(b(c)d)eU">> = iolist_to_binary(re:replace("a(b(c)d)e","^([^()]|\\((?1)*\\))*$","&U",[global])),
19497    <<"Wc00ens">> = iolist_to_binary(re:replace("0","(?P<L1>(?P<L2>0)(?P>L1)|(?P>L2))","Wc&\\1ens",[])),
19498    <<"Wc00ens">> = iolist_to_binary(re:replace("0","(?P<L1>(?P<L2>0)(?P>L1)|(?P>L2))","Wc&\\1ens",[global])),
19499    <<"ot">> = iolist_to_binary(re:replace("00","(?P<L1>(?P<L2>0)(?P>L1)|(?P>L2))","ot",[])),
19500    <<"ot">> = iolist_to_binary(re:replace("00","(?P<L1>(?P<L2>0)(?P>L1)|(?P>L2))","ot",[global])),
19501    <<"TKKhmnqB0000j0000hwMe000000000000">> = iolist_to_binary(re:replace("0000","(?P<L1>(?P<L2>0)(?P>L1)|(?P>L2))","TKKhmnqB&j\\1hwMe&&&",[])),
19502    <<"TKKhmnqB0000j0000hwMe000000000000">> = iolist_to_binary(re:replace("0000","(?P<L1>(?P<L2>0)(?P>L1)|(?P>L2))","TKKhmnqB&j\\1hwMe&&&",[global])),
19503    <<"A0FKEFFLo0gFNc0ISDNV">> = iolist_to_binary(re:replace("0","(?P<L1>(?P<L2>0)|(?P>L2)(?P>L1))","A&FKEFFLo&gFNc&ISDNV",[])),
19504    <<"A0FKEFFLo0gFNc0ISDNV">> = iolist_to_binary(re:replace("0","(?P<L1>(?P<L2>0)|(?P>L2)(?P>L1))","A&FKEFFLo&gFNc&ISDNV",[global])),
19505    <<"gbEHUma0JEum0t0TGBi0">> = iolist_to_binary(re:replace("00","(?P<L1>(?P<L2>0)|(?P>L2)(?P>L1))","gbEHUma\\1JEum\\1t\\1TGBi",[])),
19506    <<"gbEHUma0JEum0t0TGBigbEHUma0JEum0t0TGBi">> = iolist_to_binary(re:replace("00","(?P<L1>(?P<L2>0)|(?P>L2)(?P>L1))","gbEHUma\\1JEum\\1t\\1TGBi",[global])),
19507    <<"Mfh0OrMhJ0C00sj0000">> = iolist_to_binary(re:replace("0000","(?P<L1>(?P<L2>0)|(?P>L2)(?P>L1))","Mfh&OrMhJ&C&\\1sj&",[])),
19508    <<"Mfh0OrMhJ0C00sj0Mfh0OrMhJ0C00sj0Mfh0OrMhJ0C00sj0Mfh0OrMhJ0C00sj0">> = iolist_to_binary(re:replace("0000","(?P<L1>(?P<L2>0)|(?P>L2)(?P>L1))","Mfh&OrMhJ&C&\\1sj&",[global])),
19509    ok.
19510run44() ->
19511    <<"ACABX">> = iolist_to_binary(re:replace("ACABX","A(*COMMIT)(B|D)","RuGESUvQDVqs",[])),
19512    <<"ACABX">> = iolist_to_binary(re:replace("ACABX","A(*COMMIT)(B|D)","RuGESUvQDVqs",[global])),
19513    <<"AABCQYABCchASpSgMsjmJDEFG">> = iolist_to_binary(re:replace("ABCDEFG","(*COMMIT)(A|P)(B|P)(C|P)","\\1&QY&ch\\1SpSgMsjmJ",[])),
19514    <<"AABCQYABCchASpSgMsjmJDEFG">> = iolist_to_binary(re:replace("ABCDEFG","(*COMMIT)(A|P)(B|P)(C|P)","\\1&QY&ch\\1SpSgMsjmJ",[global])),
19515    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(*COMMIT)(A|P)(B|P)(C|P)","OnYL&y&\\1\\1YaeL&Rp&Bh",[])),
19516    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(*COMMIT)(A|P)(B|P)(C|P)","OnYL&y&\\1\\1YaeL&Rp&Bh",[global])),
19517    <<"DEFGABC">> = iolist_to_binary(re:replace("DEFGABC","(*COMMIT)(A|P)(B|P)(C|P)","oeob&",[])),
19518    <<"DEFGABC">> = iolist_to_binary(re:replace("DEFGABC","(*COMMIT)(A|P)(B|P)(C|P)","oeob&",[global])),
19519    <<"axGkabbbGcWn">> = iolist_to_binary(re:replace("abbb","(\\w+)(?>b(*COMMIT))\\w{2}","axGk&GcWn",[])),
19520    <<"axGkabbbGcWn">> = iolist_to_binary(re:replace("abbb","(\\w+)(?>b(*COMMIT))\\w{2}","axGk&GcWn",[global])),
19521    <<"abbb">> = iolist_to_binary(re:replace("abbb","(\\w+)b(*COMMIT)\\w{2}","lC\\1",[])),
19522    <<"abbb">> = iolist_to_binary(re:replace("abbb","(\\w+)b(*COMMIT)\\w{2}","lC\\1",[global])),
19523    <<"bRbYbpaRdHcFNHavc">> = iolist_to_binary(re:replace("bac","(?&t)(?#()(?(DEFINE)(?<t>a))","\\1RbYbp\\1&\\1R\\1dHcFNH&v\\1",[])),
19524    <<"bRbYbpaRdHcFNHavc">> = iolist_to_binary(re:replace("bac","(?&t)(?#()(?(DEFINE)(?<t>a))","\\1RbYbp\\1&\\1R\\1dHcFNH&v\\1",[global])),
19525    <<"yes">> = iolist_to_binary(re:replace("yes","(?>(*COMMIT)(?>yes|no)(*THEN)(*F))?","C\\1&LrSNg",[])),
19526    <<"yes">> = iolist_to_binary(re:replace("yes","(?>(*COMMIT)(?>yes|no)(*THEN)(*F))?","C\\1&LrSNg",[global])),
19527    <<"yes">> = iolist_to_binary(re:replace("yes","(?>(*COMMIT)(yes|no)(*THEN)(*F))?","nLsXq",[])),
19528    <<"yes">> = iolist_to_binary(re:replace("yes","(?>(*COMMIT)(yes|no)(*THEN)(*F))?","nLsXq",[global])),
19529    <<"ifJxMRlgahWwjbcUG">> = iolist_to_binary(re:replace("bc","b?(*SKIP)c","ifJxMRlgah\\1Wwj&U\\1G",[])),
19530    <<"ifJxMRlgahWwjbcUG">> = iolist_to_binary(re:replace("bc","b?(*SKIP)c","ifJxMRlgah\\1Wwj&U\\1G",[global])),
19531    <<"aFcoMMtM">> = iolist_to_binary(re:replace("abc","b?(*SKIP)c","FcoMMtM",[])),
19532    <<"aFcoMMtM">> = iolist_to_binary(re:replace("abc","b?(*SKIP)c","FcoMMtM",[global])),
19533    ok.
19534run45() ->
19535    <<"a">> = iolist_to_binary(re:replace("a","(*SKIP)bc","K&KkIb\\1J\\1ADN\\1y",[])),
19536    <<"a">> = iolist_to_binary(re:replace("a","(*SKIP)bc","K&KkIb\\1J\\1ADN\\1y",[global])),
19537    <<"a">> = iolist_to_binary(re:replace("a","(*SKIP)b","ug",[])),
19538    <<"a">> = iolist_to_binary(re:replace("a","(*SKIP)b","ug",[global])),
19539    <<"IByJwJUuLMjxxx">> = iolist_to_binary(re:replace("xxx","(?P<abn>(?P=abn)xxx|)+","IByJwJUuLMj",[])),
19540    <<"IByJwJUuLMjxIByJwJUuLMjxIByJwJUuLMjxIByJwJUuLMj">> = iolist_to_binary(re:replace("xxx","(?P<abn>(?P=abn)xxx|)+","IByJwJUuLMj",[global])),
19541    <<"VPSaaaabCaadQCaaLaaBy">> = iolist_to_binary(re:replace("aa","(?i:([^b]))(?1)","VPS\\1&\\1bC&dQC&L&By",[])),
19542    <<"VPSaaaabCaadQCaaLaaBy">> = iolist_to_binary(re:replace("aa","(?i:([^b]))(?1)","VPS\\1&\\1bC&dQC&L&By",[global])),
19543    <<"yafgfEXSPbNaAHn">> = iolist_to_binary(re:replace("aA","(?i:([^b]))(?1)","y\\1fgfEXSPbN&Hn",[])),
19544    <<"yafgfEXSPbNaAHn">> = iolist_to_binary(re:replace("aA","(?i:([^b]))(?1)","y\\1fgfEXSPbN&Hn",[global])),
19545    <<"jtvi*CH**b Failers">> = iolist_to_binary(re:replace("** Failers","(?i:([^b]))(?1)","jtvi\\1CH&b",[])),
19546    <<"jtvi*CH**bjtvi CH FbjtviaCHaibjtvilCHlebjtvirCHrsb">> = iolist_to_binary(re:replace("** Failers","(?i:([^b]))(?1)","jtvi\\1CH&b",[global])),
19547    <<"ab">> = iolist_to_binary(re:replace("ab","(?i:([^b]))(?1)","ufawxH&",[])),
19548    <<"ab">> = iolist_to_binary(re:replace("ab","(?i:([^b]))(?1)","ufawxH&",[global])),
19549    <<"aB">> = iolist_to_binary(re:replace("aB","(?i:([^b]))(?1)","kJi\\1Q",[])),
19550    <<"aB">> = iolist_to_binary(re:replace("aB","(?i:([^b]))(?1)","kJi\\1Q",[global])),
19551    <<"Ba">> = iolist_to_binary(re:replace("Ba","(?i:([^b]))(?1)","JMtj&Suu\\1jXYqQqQYj",[])),
19552    <<"Ba">> = iolist_to_binary(re:replace("Ba","(?i:([^b]))(?1)","JMtj&Suu\\1jXYqQqQYj",[global])),
19553    <<"ba">> = iolist_to_binary(re:replace("ba","(?i:([^b]))(?1)","T\\1Qayl\\1T",[])),
19554    <<"ba">> = iolist_to_binary(re:replace("ba","(?i:([^b]))(?1)","T\\1Qayl\\1T",[global])),
19555    <<"lxmLDk">> = iolist_to_binary(re:replace("aaaaaaX","^(?&t)*+(?(DEFINE)(?<t>a))\\w$","lxmLDk",[])),
19556    <<"lxmLDk">> = iolist_to_binary(re:replace("aaaaaaX","^(?&t)*+(?(DEFINE)(?<t>a))\\w$","lxmLDk",[global])),
19557    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?&t)*+(?(DEFINE)(?<t>a))\\w$","aFfF",[])),
19558    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?&t)*+(?(DEFINE)(?<t>a))\\w$","aFfF",[global])),
19559    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^(?&t)*+(?(DEFINE)(?<t>a))\\w$","QEtPA&\\1OwM",[])),
19560    <<"aaaaaa">> = iolist_to_binary(re:replace("aaaaaa","^(?&t)*+(?(DEFINE)(?<t>a))\\w$","QEtPA&\\1OwM",[global])),
19561    <<"SmAoeEyBaaaaaaXbwguE">> = iolist_to_binary(re:replace("aaaaaaX","^(?&t)*(?(DEFINE)(?<t>a))\\w$","SmAoeEyB&bwguE",[])),
19562    <<"SmAoeEyBaaaaaaXbwguE">> = iolist_to_binary(re:replace("aaaaaaX","^(?&t)*(?(DEFINE)(?<t>a))\\w$","SmAoeEyB&bwguE",[global])),
19563    <<"Uaaaaaaxaaaaaaafp">> = iolist_to_binary(re:replace("aaaaaa","^(?&t)*(?(DEFINE)(?<t>a))\\w$","U&x&afp",[])),
19564    <<"Uaaaaaaxaaaaaaafp">> = iolist_to_binary(re:replace("aaaaaa","^(?&t)*(?(DEFINE)(?<t>a))\\w$","U&x&afp",[global])),
19565    <<"HaaaaXaaaaXadaaaaXaaaaXareQQQkMYOa">> = iolist_to_binary(re:replace("aaaaX","^(a)*+(\\w)","H&&\\1d&&\\1reQQQkMYO\\1",[])),
19566    <<"HaaaaXaaaaXadaaaaXaaaaXareQQQkMYOa">> = iolist_to_binary(re:replace("aaaaX","^(a)*+(\\w)","H&&\\1d&&\\1reQQQkMYO\\1",[global])),
19567    <<"bRpsdEYGFIGPlQJJvLZ">> = iolist_to_binary(re:replace("YZ","^(a)*+(\\w)","bRpsdE&GFIG\\1PlQJ\\1JvL",[])),
19568    <<"bRpsdEYGFIGPlQJJvLZ">> = iolist_to_binary(re:replace("YZ","^(a)*+(\\w)","bRpsdE&GFIG\\1PlQJ\\1JvL",[global])),
19569    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a)*+(\\w)","TEN&fs\\1AcOopKHNR&j",[])),
19570    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a)*+(\\w)","TEN&fs\\1AcOopKHNR&j",[global])),
19571    <<"aaaa">> = iolist_to_binary(re:replace("aaaa","^(a)*+(\\w)","mRufNYP&WdWMD",[])),
19572    <<"aaaa">> = iolist_to_binary(re:replace("aaaa","^(a)*+(\\w)","mRufNYP&WdWMD",[global])),
19573    <<"TFRaaaaXfHXTvXEuMCNthKV">> = iolist_to_binary(re:replace("aaaaX","^(?:a)*+(\\w)","TFR&fH\\1Tv\\1EuMCNthKV",[])),
19574    <<"TFRaaaaXfHXTvXEuMCNthKV">> = iolist_to_binary(re:replace("aaaaX","^(?:a)*+(\\w)","TFR&fH\\1Tv\\1EuMCNthKV",[global])),
19575    <<"tkYFkuQZ">> = iolist_to_binary(re:replace("YZ","^(?:a)*+(\\w)","tk\\1FkuQ",[])),
19576    <<"tkYFkuQZ">> = iolist_to_binary(re:replace("YZ","^(?:a)*+(\\w)","tk\\1FkuQ",[global])),
19577    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?:a)*+(\\w)","kd\\1PEKSAAL&xu",[])),
19578    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?:a)*+(\\w)","kd\\1PEKSAAL&xu",[global])),
19579    <<"aaaa">> = iolist_to_binary(re:replace("aaaa","^(?:a)*+(\\w)","Lf",[])),
19580    <<"aaaa">> = iolist_to_binary(re:replace("aaaa","^(?:a)*+(\\w)","Lf",[global])),
19581    <<"oaFjagULdV">> = iolist_to_binary(re:replace("aaaaX","^(a)++(\\w)","o\\1Fj\\1gULdV",[])),
19582    <<"oaFjagULdV">> = iolist_to_binary(re:replace("aaaaX","^(a)++(\\w)","o\\1Fj\\1gULdV",[global])),
19583    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a)++(\\w)","vpc",[])),
19584    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a)++(\\w)","vpc",[global])),
19585    <<"aaaa">> = iolist_to_binary(re:replace("aaaa","^(a)++(\\w)","Bl",[])),
19586    <<"aaaa">> = iolist_to_binary(re:replace("aaaa","^(a)++(\\w)","Bl",[global])),
19587    <<"YZ">> = iolist_to_binary(re:replace("YZ","^(a)++(\\w)","pW\\1&FBWdWw&np",[])),
19588    <<"YZ">> = iolist_to_binary(re:replace("YZ","^(a)++(\\w)","pW\\1&FBWdWw&np",[global])),
19589    <<"XGTXnaaaaXXYlwcXc">> = iolist_to_binary(re:replace("aaaaX","^(?:a)++(\\w)","\\1GT\\1n&\\1Ylwc\\1c",[])),
19590    <<"XGTXnaaaaXXYlwcXc">> = iolist_to_binary(re:replace("aaaaX","^(?:a)++(\\w)","\\1GT\\1n&\\1Ylwc\\1c",[global])),
19591    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?:a)++(\\w)","knydJYg\\1",[])),
19592    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?:a)++(\\w)","knydJYg\\1",[global])),
19593    <<"aaaa">> = iolist_to_binary(re:replace("aaaa","^(?:a)++(\\w)","BY",[])),
19594    <<"aaaa">> = iolist_to_binary(re:replace("aaaa","^(?:a)++(\\w)","BY",[global])),
19595    <<"YZ">> = iolist_to_binary(re:replace("YZ","^(?:a)++(\\w)","&WnuGAP&RVIb\\1&g&",[])),
19596    <<"YZ">> = iolist_to_binary(re:replace("YZ","^(?:a)++(\\w)","&WnuGAP&RVIb\\1&g&",[global])),
19597    <<"abOaagwaaX">> = iolist_to_binary(re:replace("aaaaX","^(a)?+(\\w)","\\1bO&gw",[])),
19598    <<"abOaagwaaX">> = iolist_to_binary(re:replace("aaaaX","^(a)?+(\\w)","\\1bO&gw",[global])),
19599    <<"vfWlFqvTQcSsMBueZ">> = iolist_to_binary(re:replace("YZ","^(a)?+(\\w)","vfWlFqvTQcSsMBue",[])),
19600    <<"vfWlFqvTQcSsMBueZ">> = iolist_to_binary(re:replace("YZ","^(a)?+(\\w)","vfWlFqvTQcSsMBue",[global])),
19601    <<"gcDaaX">> = iolist_to_binary(re:replace("aaaaX","^(?:a)?+(\\w)","gcD",[])),
19602    <<"gcDaaX">> = iolist_to_binary(re:replace("aaaaX","^(?:a)?+(\\w)","gcD",[global])),
19603    <<"AXYrLumLDPdeYhsZ">> = iolist_to_binary(re:replace("YZ","^(?:a)?+(\\w)","AX\\1rLumLDPde&hs",[])),
19604    <<"AXYrLumLDPdeYhsZ">> = iolist_to_binary(re:replace("YZ","^(?:a)?+(\\w)","AX\\1rLumLDPde&hs",[global])),
19605    <<"GbIoTYfSk">> = iolist_to_binary(re:replace("aaaaX","^(a){2,}+(\\w)","GbIoTYfSk",[])),
19606    <<"GbIoTYfSk">> = iolist_to_binary(re:replace("aaaaX","^(a){2,}+(\\w)","GbIoTYfSk",[global])),
19607    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a){2,}+(\\w)","XIW&php\\1D&&uKhDB\\1fhy",[])),
19608    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(a){2,}+(\\w)","XIW&php\\1D&&uKhDB\\1fhy",[global])),
19609    <<"aaa">> = iolist_to_binary(re:replace("aaa","^(a){2,}+(\\w)","eqY\\1Dr\\1luTHwQ",[])),
19610    <<"aaa">> = iolist_to_binary(re:replace("aaa","^(a){2,}+(\\w)","eqY\\1Dr\\1luTHwQ",[global])),
19611    <<"YZ">> = iolist_to_binary(re:replace("YZ","^(a){2,}+(\\w)","DCSsYSA",[])),
19612    <<"YZ">> = iolist_to_binary(re:replace("YZ","^(a){2,}+(\\w)","DCSsYSA",[global])),
19613    <<"sXOEXqrXNLjeIpAFEqS">> = iolist_to_binary(re:replace("aaaaX","^(?:a){2,}+(\\w)","sXOEXqr\\1NLjeIpAFEqS",[])),
19614    <<"sXOEXqrXNLjeIpAFEqS">> = iolist_to_binary(re:replace("aaaaX","^(?:a){2,}+(\\w)","sXOEXqr\\1NLjeIpAFEqS",[global])),
19615    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?:a){2,}+(\\w)","RhG&SVJRvrSbFfks",[])),
19616    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","^(?:a){2,}+(\\w)","RhG&SVJRvrSbFfks",[global])),
19617    <<"aaa">> = iolist_to_binary(re:replace("aaa","^(?:a){2,}+(\\w)","VMSsQq&x",[])),
19618    <<"aaa">> = iolist_to_binary(re:replace("aaa","^(?:a){2,}+(\\w)","VMSsQq&x",[global])),
19619    <<"YZ">> = iolist_to_binary(re:replace("YZ","^(?:a){2,}+(\\w)","I&ofEGK\\1gk&y",[])),
19620    <<"YZ">> = iolist_to_binary(re:replace("YZ","^(?:a){2,}+(\\w)","I&ofEGK\\1gk&y",[global])),
19621    <<"bRSn">> = iolist_to_binary(re:replace("b","(a|)*(?1)b","\\1&RSn",[])),
19622    <<"bRSn">> = iolist_to_binary(re:replace("b","(a|)*(?1)b","\\1&RSn",[global])),
19623    <<"kOQDBCniDmabX">> = iolist_to_binary(re:replace("ab","(a|)*(?1)b","k\\1OQD\\1BCniDm&X",[])),
19624    <<"kOQDBCniDmabX">> = iolist_to_binary(re:replace("ab","(a|)*(?1)b","k\\1OQD\\1BCniDm&X",[global])),
19625    <<"DxcDd">> = iolist_to_binary(re:replace("aab","(a|)*(?1)b","DxcDd",[])),
19626    <<"DxcDd">> = iolist_to_binary(re:replace("aab","(a|)*(?1)b","DxcDd",[global])),
19627    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(a)++(?1)b","VTtm\\1&qWBwH&TFG",[])),
19628    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(a)++(?1)b","VTtm\\1&qWBwH&TFG",[global])),
19629    <<"ab">> = iolist_to_binary(re:replace("ab","(a)++(?1)b","cVqmxH",[])),
19630    <<"ab">> = iolist_to_binary(re:replace("ab","(a)++(?1)b","cVqmxH",[global])),
19631    <<"aab">> = iolist_to_binary(re:replace("aab","(a)++(?1)b","VPevb\\1Il",[])),
19632    <<"aab">> = iolist_to_binary(re:replace("aab","(a)++(?1)b","VPevb\\1Il",[global])),
19633    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(a)*+(?1)b","\\1KCKqqqW&OhQmC&c",[])),
19634    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(a)*+(?1)b","\\1KCKqqqW&OhQmC&c",[global])),
19635    <<"ab">> = iolist_to_binary(re:replace("ab","(a)*+(?1)b","\\1\\1AofrA\\1",[])),
19636    <<"ab">> = iolist_to_binary(re:replace("ab","(a)*+(?1)b","\\1\\1AofrA\\1",[global])),
19637    <<"aab">> = iolist_to_binary(re:replace("aab","(a)*+(?1)b","YU&W&&&br&b&&T\\1&",[])),
19638    <<"aab">> = iolist_to_binary(re:replace("aab","(a)*+(?1)b","YU&W&&&br&b&&T\\1&",[global])),
19639    <<"ylblrGgeOFdq">> = iolist_to_binary(re:replace("b","(?1)(?:(b)){0}","yl&lrGgeOFdq",[])),
19640    <<"ylblrGgeOFdq">> = iolist_to_binary(re:replace("b","(?1)(?:(b)){0}","yl&lrGgeOFdq",[global])),
19641    <<"RVQfoo(bar(baz)+baz(bop))nWTFmuu">> = iolist_to_binary(re:replace("foo(bar(baz)+baz(bop))","(foo ( \\( ((?:(?> [^()]+ )|(?2))*) \\) ) )","RVQ&nWTFmuu",[extended])),
19642    <<"RVQfoo(bar(baz)+baz(bop))nWTFmuu">> = iolist_to_binary(re:replace("foo(bar(baz)+baz(bop))","(foo ( \\( ((?:(?> [^()]+ )|(?2))*) \\) ) )","RVQ&nWTFmuu",[extended,
19643                                                                                                                                                                                                                                                                                                    global])),
19644    <<"SsABnABjAABWrFxABNxTAB">> = iolist_to_binary(re:replace("AB","(A (A|B(*ACCEPT)|C) D)(E)","Ss&n&jA&WrFx\\1NxT\\1",[extended])),
19645    <<"SsABnABjAABWrFxABNxTAB">> = iolist_to_binary(re:replace("AB","(A (A|B(*ACCEPT)|C) D)(E)","Ss&n&jA&WrFx\\1NxT\\1",[extended,
19646                                                                                                                                                                                                                                              global])),
19647    ok.
19648run46() ->
19649    <<"oykaGJTnwyJ">> = iolist_to_binary(re:replace("ba","\\A.*?(a|bc)","oyk\\1GJTnwyJ",[])),
19650    <<"oykaGJTnwyJ">> = iolist_to_binary(re:replace("ba","\\A.*?(a|bc)","oyk\\1GJTnwyJ",[global])),
19651    <<"rP">> = iolist_to_binary(re:replace("ba","\\A.*?(?:a|bc)++","r\\1P",[])),
19652    <<"rP">> = iolist_to_binary(re:replace("ba","\\A.*?(?:a|bc)++","r\\1P",[global])),
19653    <<"mVYabaiTtvcE">> = iolist_to_binary(re:replace("ba","\\A.*?(a|bc)++","mVY\\1&iTtvcE",[])),
19654    <<"mVYabaiTtvcE">> = iolist_to_binary(re:replace("ba","\\A.*?(a|bc)++","mVY\\1&iTtvcE",[global])),
19655    <<"LbassxlIODjbanukQ">> = iolist_to_binary(re:replace("ba","\\A.*?(?:a|bc|d)","L&ssxlIODj&n\\1\\1ukQ",[])),
19656    <<"LbassxlIODjbanukQ">> = iolist_to_binary(re:replace("ba","\\A.*?(?:a|bc|d)","L&ssxlIODj&n\\1\\1ukQ",[global])),
19657    <<"aPbcQmbYueetle">> = iolist_to_binary(re:replace("beetle","(?:(b))++","aPbcQm&Yu",[])),
19658    <<"aPbcQmbYueetle">> = iolist_to_binary(re:replace("beetle","(?:(b))++","aPbcQm&Yu",[global])),
19659    <<"Gaqa">> = iolist_to_binary(re:replace("a","(?(?=(a(*ACCEPT)z))a)","G\\1q&",[])),
19660    <<"GaqaGq">> = iolist_to_binary(re:replace("a","(?(?=(a(*ACCEPT)z))a)","G\\1q&",[global])),
19661    <<"aaaabjQnJbiaaaabtUxBujcSC">> = iolist_to_binary(re:replace("aaaab","^(a)(?1)+ab","&jQnJbi&tUxBujcSC",[])),
19662    <<"aaaabjQnJbiaaaabtUxBujcSC">> = iolist_to_binary(re:replace("aaaab","^(a)(?1)+ab","&jQnJbi&tUxBujcSC",[global])),
19663    <<"aaaab">> = iolist_to_binary(re:replace("aaaab","^(a)(?1)++ab","DNWp&\\1",[])),
19664    <<"aaaab">> = iolist_to_binary(re:replace("aaaab","^(a)(?1)++ab","DNWp&\\1",[global])),
19665    <<"FbaUCbajUSvbabLskbVFDSRckgammon">> = iolist_to_binary(re:replace("backgammon","(?(DEFINE)(a))?b(?1)","F&UC&jUSv&bLskbVFDSR",[])),
19666    <<"FbaUCbajUSvbabLskbVFDSRckgammon">> = iolist_to_binary(re:replace("backgammon","(?(DEFINE)(a))?b(?1)","F&UC&jUSv&bLskbVFDSR",[global])),
19667    <<"x
19668def">> = iolist_to_binary(re:replace("abc
19669def","^\\N+","x",[])),
19670    <<"x
19671def">> = iolist_to_binary(re:replace("abc
19672def","^\\N+","x",[global])),
19673    <<"uvwVXabc
19674def">> = iolist_to_binary(re:replace("abc
19675def","^\\N{1,}","uv\\1wVX\\1&",[])),
19676    <<"uvwVXabc
19677def">> = iolist_to_binary(re:replace("abc
19678def","^\\N{1,}","uv\\1wVX\\1&",[global])),
19679    <<"aXqaaaabqcaaaabhUBcde">> = iolist_to_binary(re:replace("aaaabcde","(?(R)a+|(?R)b)","aXq&qc&hUB",[])),
19680    <<"aXqaaaabqcaaaabhUBcde">> = iolist_to_binary(re:replace("aaaabcde","(?(R)a+|(?R)b)","aXq&qc&hUB",[global])),
19681    <<"aaaabdaaaaBaaaabXbaaaaefaaaaOwsSNUSdKcde">> = iolist_to_binary(re:replace("aaaabcde","(?(R)a+|((?R))b)","&d\\1B&Xb\\1ef\\1OwsSNUSdK",[])),
19682    <<"aaaabdaaaaBaaaabXbaaaaefaaaaOwsSNUSdKcde">> = iolist_to_binary(re:replace("aaaabcde","(?(R)a+|((?R))b)","&d\\1B&Xb\\1ef\\1OwsSNUSdK",[global])),
19683    <<"YRaaaabaaaabaVaaaabaaaabjPdaaaabaaaabjaaaabmaaaabKMmcde">> = iolist_to_binary(re:replace("aaaabcde","((?(R)a+|(?1)b))","YR&\\1aV\\1\\1jPd\\1\\1j&m&KMm",[])),
19684    <<"YRaaaabaaaabaVaaaabaaaabjPdaaaabaaaabjaaaabmaaaabKMmcde">> = iolist_to_binary(re:replace("aaaabcde","((?(R)a+|(?1)b))","YR&\\1aV\\1\\1jPd\\1\\1j&m&KMm",[global])),
19685    <<"CKJwaLFaaaabMsaaaabaaaabaaaabLrcde">> = iolist_to_binary(re:replace("aaaabcde","((?(R1)a+|(?1)b))","CKJwaLF&Ms&\\1\\1Lr",[])),
19686    <<"CKJwaLFaaaabMsaaaabaaaabaaaabLrcde">> = iolist_to_binary(re:replace("aaaabcde","((?(R1)a+|(?1)b))","CKJwaLF&Ms&\\1\\1Lr",[global])),
19687    <<"eaMVQRJEeaaaVaBfXaaa">> = iolist_to_binary(re:replace("aaa","((?(R)a|(?1)))*","e\\1MVQRJEe&V\\1BfX&",[])),
19688    <<"eaMVQRJEeaaaVaBfXaaaeMVQRJEeVBfX">> = iolist_to_binary(re:replace("aaa","((?(R)a|(?1)))*","e\\1MVQRJEe&V\\1BfX&",[global])),
19689    <<"MakJwuACGqDMaaaaaUnx">> = iolist_to_binary(re:replace("aaa","((?(R)a|(?1)))+","M\\1kJwuACGqDM\\1&aUnx",[])),
19690    <<"MakJwuACGqDMaaaaaUnx">> = iolist_to_binary(re:replace("aaa","((?(R)a|(?1)))+","M\\1kJwuACGqDM\\1&aUnx",[global])),
19691    <<"h">> = iolist_to_binary(re:replace("a","(?>(?&t)c|(?&t))(?(DEFINE)(?<t>a|b(*PRUNE)c))","h",[])),
19692    <<"h">> = iolist_to_binary(re:replace("a","(?>(?&t)c|(?&t))(?(DEFINE)(?<t>a|b(*PRUNE)c))","h",[global])),
19693    <<"bRCaBnaanS">> = iolist_to_binary(re:replace("ba","(?>(?&t)c|(?&t))(?(DEFINE)(?<t>a|b(*PRUNE)c))","RC&Bn&\\1\\1&nS",[])),
19694    <<"bRCaBnaanS">> = iolist_to_binary(re:replace("ba","(?>(?&t)c|(?&t))(?(DEFINE)(?<t>a|b(*PRUNE)c))","RC&Bn&\\1\\1&nS",[global])),
19695    <<"bbaagaaxOODdgKqaOJ">> = iolist_to_binary(re:replace("bba","(?>(?&t)c|(?&t))(?(DEFINE)(?<t>a|b(*PRUNE)c))","a\\1&g&&xOODd\\1g\\1Kq&\\1OJ",[])),
19696    <<"bbaagaaxOODdgKqaOJ">> = iolist_to_binary(re:replace("bba","(?>(?&t)c|(?&t))(?(DEFINE)(?<t>a|b(*PRUNE)c))","a\\1&g&&xOODd\\1g\\1Kq&\\1OJ",[global])),
19697    ok.
19698run47() ->
19699    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (a(*THEN)b) c","TsVxnH\\1",[extended])),
19700    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (a(*THEN)b) c","TsVxnH\\1",[extended,
19701                                                                                                                                                                                                        global])),
19702    <<"aknaabcabababsabaabcxIQjWA">> = iolist_to_binary(re:replace("aabc","^.*? (a(*THEN)b|(*F)) c","akn&\\1\\1\\1s\\1&xIQjWA",[extended])),
19703    <<"aknaabcabababsabaabcxIQjWA">> = iolist_to_binary(re:replace("aabc","^.*? (a(*THEN)b|(*F)) c","akn&\\1\\1\\1s\\1&xIQjWA",[extended,
19704                                                                                                                                                                                                                                                     global])),
19705    <<"F">> = iolist_to_binary(re:replace("aabc","^.*? ( (a(*THEN)b) | (*F) ) c","F",[extended])),
19706    <<"F">> = iolist_to_binary(re:replace("aabc","^.*? ( (a(*THEN)b) | (*F) ) c","F",[extended,
19707                                                                                                                                                                                                             global])),
19708    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? ( (a(*THEN)b) ) c","bITLs\\1MJKk\\1\\1m",[extended])),
19709    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? ( (a(*THEN)b) ) c","bITLs\\1MJKk\\1\\1m",[extended,
19710                                                                                                                                                                                                                                      global])),
19711    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?:a(*THEN)b) c","u&IJDM\\1WAKII&G\\1hn",[extended])),
19712    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?:a(*THEN)b) c","u&IJDM\\1WAKII&G\\1hn",[extended,
19713                                                                                                                                                                                                                                       global])),
19714    <<"KPwyWqtephaabccFNSg">> = iolist_to_binary(re:replace("aabc","^.*? (?:a(*THEN)b|(*F)) c","KPwy\\1Wqteph&cFN\\1Sg\\1",[extended])),
19715    <<"KPwyWqtephaabccFNSg">> = iolist_to_binary(re:replace("aabc","^.*? (?:a(*THEN)b|(*F)) c","KPwy\\1Wqteph&cFN\\1Sg\\1",[extended,
19716                                                                                                                                                                                                                                                         global])),
19717    <<"HHvvo">> = iolist_to_binary(re:replace("aabc","^.*? (?: (?:a(*THEN)b) | (*F) ) c","HHvvo",[extended])),
19718    <<"HHvvo">> = iolist_to_binary(re:replace("aabc","^.*? (?: (?:a(*THEN)b) | (*F) ) c","HHvvo",[extended,
19719                                                                                                                                                                                                                             global])),
19720    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?: (?:a(*THEN)b) ) c","QVIA\\1d",[extended])),
19721    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?: (?:a(*THEN)b) ) c","QVIA\\1d",[extended,
19722                                                                                                                                                                                                                      global])),
19723    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?>a(*THEN)b) c","qjrOI&&nRtGbf",[extended])),
19724    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?>a(*THEN)b) c","qjrOI&&nRtGbf",[extended,
19725                                                                                                                                                                                                                     global])),
19726    <<"w">> = iolist_to_binary(re:replace("aabc","^.*? (?>a(*THEN)b|(*F)) c","w",[extended])),
19727    <<"w">> = iolist_to_binary(re:replace("aabc","^.*? (?>a(*THEN)b|(*F)) c","w",[extended,
19728                                                                                                                                                                                                     global])),
19729    <<"keXPouTAhaabcXevPvyjQT">> = iolist_to_binary(re:replace("aabc","^.*? (?> (?>a(*THEN)b) | (*F) ) c","keXPouTAh&XevPvyjQT",[extended])),
19730    <<"keXPouTAhaabcXevPvyjQT">> = iolist_to_binary(re:replace("aabc","^.*? (?> (?>a(*THEN)b) | (*F) ) c","keXPouTAh&XevPvyjQT",[extended,
19731                                                                                                                                                                                                                                                          global])),
19732    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?> (?>a(*THEN)b) ) c","&Rj&sfrR",[extended])),
19733    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?> (?>a(*THEN)b) ) c","&Rj&sfrR",[extended,
19734                                                                                                                                                                                                                       global])),
19735    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (a(*THEN)b)++ c","\\1prYdoWF\\1MgrcQIUdFSO",[extended])),
19736    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (a(*THEN)b)++ c","\\1prYdoWF\\1MgrcQIUdFSO",[extended,
19737                                                                                                                                                                                                                                           global])),
19738    <<"MOaabcnbyBabtGHNao">> = iolist_to_binary(re:replace("aabc","^.*? (a(*THEN)b|(*F))++ c","MO&nbyB\\1tGHNao",[extended])),
19739    <<"MOaabcnbyBabtGHNao">> = iolist_to_binary(re:replace("aabc","^.*? (a(*THEN)b|(*F))++ c","MO&nbyB\\1tGHNao",[extended,
19740                                                                                                                                                                                                                                     global])),
19741    <<"yxJFsgWaabchb">> = iolist_to_binary(re:replace("aabc","^.*? ( (a(*THEN)b)++ | (*F) )++ c","yxJFsgW&hb",[extended])),
19742    <<"yxJFsgWaabchb">> = iolist_to_binary(re:replace("aabc","^.*? ( (a(*THEN)b)++ | (*F) )++ c","yxJFsgW&hb",[extended,
19743                                                                                                                                                                                                                                        global])),
19744    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? ( (a(*THEN)b)++ )++ c","EmmhY&&",[extended])),
19745    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? ( (a(*THEN)b)++ )++ c","EmmhY&&",[extended,
19746                                                                                                                                                                                                                     global])),
19747    ok.
19748run48() ->
19749    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?:a(*THEN)b)++ c","RD",[extended])),
19750    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?:a(*THEN)b)++ c","RD",[extended,
19751                                                                                                                                                                                                 global])),
19752    <<"HVPtJaabckhaabcTDNQFaabc">> = iolist_to_binary(re:replace("aabc","^.*? (?:a(*THEN)b|(*F))++ c","HVPtJ&k\\1\\1h&TDNQ\\1F&",[extended])),
19753    <<"HVPtJaabckhaabcTDNQFaabc">> = iolist_to_binary(re:replace("aabc","^.*? (?:a(*THEN)b|(*F))++ c","HVPtJ&k\\1\\1h&TDNQ\\1F&",[extended,
19754                                                                                                                                                                                                                                                             global])),
19755    <<"GYWUPwD">> = iolist_to_binary(re:replace("aabc","^.*? (?: (?:a(*THEN)b)++ | (*F) )++ c","GYWUPwD",[extended])),
19756    <<"GYWUPwD">> = iolist_to_binary(re:replace("aabc","^.*? (?: (?:a(*THEN)b)++ | (*F) )++ c","GYWUPwD",[extended,
19757                                                                                                                                                                                                                                         global])),
19758    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?: (?:a(*THEN)b)++ )++ c","f\\1\\1Ek&r\\1\\1&",[extended])),
19759    <<"aabc">> = iolist_to_binary(re:replace("aabc","^.*? (?: (?:a(*THEN)b)++ )++ c","f\\1\\1Ek&r\\1\\1&",[extended,
19760                                                                                                                                                                                                                                                       global])),
19761    <<"taclqoaJUC">> = iolist_to_binary(re:replace("ac","^(?(?=a(*THEN)b)ab|ac)","t&lqoaJUC",[])),
19762    <<"taclqoaJUC">> = iolist_to_binary(re:replace("ac","^(?(?=a(*THEN)b)ab|ac)","t&lqoaJUC",[global])),
19763    <<"ba">> = iolist_to_binary(re:replace("ba","^.*?(?(?=a)a|b(*THEN)c)","Vh\\1CaWxBWkPj&",[])),
19764    <<"ba">> = iolist_to_binary(re:replace("ba","^.*?(?(?=a)a|b(*THEN)c)","Vh\\1CaWxBWkPj&",[global])),
19765    <<"keB">> = iolist_to_binary(re:replace("ba","^.*?(?:(?(?=a)a|b(*THEN)c)|d)","keB",[])),
19766    <<"keB">> = iolist_to_binary(re:replace("ba","^.*?(?:(?(?=a)a|b(*THEN)c)|d)","keB",[global])),
19767    <<"ac">> = iolist_to_binary(re:replace("ac","^.*?(?(?=a)a(*THEN)b|c)","&hGHyUT",[])),
19768    <<"ac">> = iolist_to_binary(re:replace("ac","^.*?(?(?=a)a(*THEN)b|c)","&hGHyUT",[global])),
19769    <<"aalwRkdRudOgViabc">> = iolist_to_binary(re:replace("aabc","^.*(?=a(*THEN)b)","\\1\\1&al\\1\\1wRkdRudO\\1gVi",[])),
19770    <<"aalwRkdRudOgViabc">> = iolist_to_binary(re:replace("aabc","^.*(?=a(*THEN)b)","\\1\\1&al\\1\\1wRkdRudO\\1gVi",[global])),
19771    <<"xaBjvlyeNRakKKdd">> = iolist_to_binary(re:replace("xacd","(?<=a(*ACCEPT)b)c","Bj\\1vlyeNRa\\1kKKd",[])),
19772    <<"xaBjvlyeNRakKKdd">> = iolist_to_binary(re:replace("xacd","(?<=a(*ACCEPT)b)c","Bj\\1vlyeNRa\\1kKKd",[global])),
19773    <<"xahwEupkaeaicd">> = iolist_to_binary(re:replace("xacd","(?<=(a(*ACCEPT)b))c","hwEupk\\1e\\1i&",[])),
19774    <<"xahwEupkaeaicd">> = iolist_to_binary(re:replace("xacd","(?<=(a(*ACCEPT)b))c","hwEupk\\1e\\1i&",[global])),
19775    <<"xabTIskAGiopxbaboXHqhd">> = iolist_to_binary(re:replace("xabcd","(?<=(a(*COMMIT)b))c","TIskAGiopxb\\1oXHqh",[])),
19776    <<"xabTIskAGiopxbaboXHqhd">> = iolist_to_binary(re:replace("xabcd","(?<=(a(*COMMIT)b))c","TIskAGiopxb\\1oXHqh",[global])),
19777    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=(a(*COMMIT)b))c","&kSi\\1u\\1nbm",[])),
19778    <<"** Failers">> = iolist_to_binary(re:replace("** Failers","(?<=(a(*COMMIT)b))c","&kSi\\1u\\1nbm",[global])),
19779    <<"xacd">> = iolist_to_binary(re:replace("xacd","(?<=(a(*COMMIT)b))c","W\\1\\1kCqBlt&Hi\\1YuyKE",[])),
19780    <<"xacd">> = iolist_to_binary(re:replace("xacd","(?<=(a(*COMMIT)b))c","W\\1\\1kCqBlt&Hi\\1YuyKE",[global])),
19781    <<"xlBhbKjcSd">> = iolist_to_binary(re:replace("xcd","(?<!a(*FAIL)b)c","l\\1\\1\\1Bhb\\1Kj&S",[])),
19782    <<"xlBhbKjcSd">> = iolist_to_binary(re:replace("xcd","(?<!a(*FAIL)b)c","l\\1\\1\\1Bhb\\1Kj&S",[global])),
19783    <<"aTnbXLTid">> = iolist_to_binary(re:replace("acd","(?<!a(*FAIL)b)c","Tn\\1bXLTi\\1",[])),
19784    <<"aTnbXLTid">> = iolist_to_binary(re:replace("acd","(?<!a(*FAIL)b)c","Tn\\1bXLTi\\1",[global])),
19785    <<"xabiSd">> = iolist_to_binary(re:replace("xabcd","(?<=a(*PRUNE)b)c","i\\1\\1S",[])),
19786    <<"xabiSd">> = iolist_to_binary(re:replace("xabcd","(?<=a(*PRUNE)b)c","i\\1\\1S",[global])),
19787    <<"xabPPMbccnlcFnbcFteud">> = iolist_to_binary(re:replace("xabcd","(?<=a(*SKIP)b)c","PPMb&&nl&FnbcFteu",[])),
19788    <<"xabPPMbccnlcFnbcFteud">> = iolist_to_binary(re:replace("xabcd","(?<=a(*SKIP)b)c","PPMb&&nl&FnbcFteu",[global])),
19789    <<"xabVUmuVjd">> = iolist_to_binary(re:replace("xabcd","(?<=a(*THEN)b)c","V\\1UmuVj",[])),
19790    <<"xabVUmuVjd">> = iolist_to_binary(re:replace("xabcd","(?<=a(*THEN)b)c","V\\1UmuVj",[global])),
19791    ok.
19792run49() ->
19793    <<"fQabcdabcdjOmbrqfabcdAbBVYaRO">> = iolist_to_binary(re:replace("abcd","(a)(?2){2}(.)","fQ&&jOmbrqf&AbBVY\\1RO",[])),
19794    <<"fQabcdabcdjOmbrqfabcdAbBVYaRO">> = iolist_to_binary(re:replace("abcd","(a)(?2){2}(.)","fQ&&jOmbrqf&AbBVY\\1RO",[global])),
19795    <<"hello world yxxigMcOStestrk">> = iolist_to_binary(re:replace("hello world test","(another)?(\\1?)test","yxxigMcOS&rk",[])),
19796    <<"hello world yxxigMcOStestrk">> = iolist_to_binary(re:replace("hello world test","(another)?(\\1?)test","yxxigMcOS&rk",[global])),
19797    <<"hello world test">> = iolist_to_binary(re:replace("hello world test","(another)?(\\1+)test","dx\\1giHSx&BeV&E",[])),
19798    <<"hello world test">> = iolist_to_binary(re:replace("hello world test","(another)?(\\1+)test","dx\\1giHSx&BeV&E",[global])),
19799    <<"DwfaacPJXaacSN">> = iolist_to_binary(re:replace("aac","(a(*COMMIT)b){0}a(?1)|aac","Dwf&PJX\\1\\1&SN",[])),
19800    <<"DwfaacPJXaacSN">> = iolist_to_binary(re:replace("aac","(a(*COMMIT)b){0}a(?1)|aac","Dwf&PJX\\1\\1&SN",[global])),
19801    <<"lQ">> = iolist_to_binary(re:replace("aac","((?:a?)*)*c","l\\1Q",[])),
19802    <<"lQ">> = iolist_to_binary(re:replace("aac","((?:a?)*)*c","l\\1Q",[global])),
19803    <<"mytQYMtByQalFhPaqAF">> = iolist_to_binary(re:replace("aac","((?>a?)*)*c","\\1mytQYMtByQalFhPaqAF",[])),
19804    <<"mytQYMtByQalFhPaqAF">> = iolist_to_binary(re:replace("aac","((?>a?)*)*c","\\1mytQYMtByQalFhPaqAF",[global])),
19805    <<"aJcbatLdoGHtuOHxJ">> = iolist_to_binary(re:replace("aba","(?>.*?a)(?<=ba)","Jc&tLdoGHt\\1uOHxJ",[])),
19806    <<"aJcbatLdoGHtuOHxJ">> = iolist_to_binary(re:replace("aba","(?>.*?a)(?<=ba)","Jc&tLdoGHt\\1uOHxJ",[global])),
19807    <<"jnJTr">> = iolist_to_binary(re:replace("aba","(?:.*?a)(?<=ba)","jnJTr",[])),
19808    <<"jnJTr">> = iolist_to_binary(re:replace("aba","(?:.*?a)(?<=ba)","jnJTr",[global])),
19809    <<"aSSoEg">> = iolist_to_binary(re:replace("aab",".*?a(*PRUNE)b","SS\\1\\1oE\\1g",[])),
19810    <<"aSSoEg">> = iolist_to_binary(re:replace("aab",".*?a(*PRUNE)b","SS\\1\\1oE\\1g",[global])),
19811    <<"aOdJuWtvQ">> = iolist_to_binary(re:replace("aab",".*?a(*PRUNE)b","OdJuWtvQ",[dotall])),
19812    <<"aOdJuWtvQ">> = iolist_to_binary(re:replace("aab",".*?a(*PRUNE)b","OdJuWtvQ",[dotall,
19813                                                                                                                                                                                         global])),
19814    <<"aab">> = iolist_to_binary(re:replace("aab","^a(*PRUNE)b","u\\1oO\\1B\\1\\1",[dotall])),
19815    <<"aab">> = iolist_to_binary(re:replace("aab","^a(*PRUNE)b","u\\1oO\\1B\\1\\1",[dotall,
19816                                                                                                                                                                                                         global])),
19817    <<"aUtmYVcabmqfPDm">> = iolist_to_binary(re:replace("aab",".*?a(*SKIP)b","\\1UtmYVc\\1&mq\\1fPDm",[])),
19818    <<"aUtmYVcabmqfPDm">> = iolist_to_binary(re:replace("aab",".*?a(*SKIP)b","\\1UtmYVc\\1&mq\\1fPDm",[global])),
19819    <<"amg">> = iolist_to_binary(re:replace("aab","(?>.*?a)b","m\\1g",[dotall])),
19820    <<"amg">> = iolist_to_binary(re:replace("aab","(?>.*?a)b","m\\1g",[dotall,
19821                                                                                                                                                                            global])),
19822    ok.
19823run50() ->
19824    <<"aPabRwBtwCmcabVfNbs">> = iolist_to_binary(re:replace("aab","(?>.*?a)b","P&RwBtwCmc&VfNb\\1\\1s",[])),
19825    <<"aPabRwBtwCmcabVfNbs">> = iolist_to_binary(re:replace("aab","(?>.*?a)b","P&RwBtwCmc&VfNb\\1\\1s",[global])),
19826    <<"aab">> = iolist_to_binary(re:replace("aab","(?>^a)b","a\\1a",[dotall])),
19827    <<"aab">> = iolist_to_binary(re:replace("aab","(?>^a)b","a\\1a",[dotall,
19828                                                                                                                                                                        global])),
19829    <<"alphabetabcdQVHlseDxWoyVop">> = iolist_to_binary(re:replace("alphabetabcd","(?>.*?)(?<=(abcd)|(wxyz))","QVHlseDxWoyVop",[])),
19830    <<"alphabetabcdQVHlseDxWoyVop">> = iolist_to_binary(re:replace("alphabetabcd","(?>.*?)(?<=(abcd)|(wxyz))","QVHlseDxWoyVop",[global])),
19831    <<"endingwxyzvOEVceUN">> = iolist_to_binary(re:replace("endingwxyz","(?>.*?)(?<=(abcd)|(wxyz))","vOE\\1VceUN&",[])),
19832    <<"endingwxyzvOEVceUN">> = iolist_to_binary(re:replace("endingwxyz","(?>.*?)(?<=(abcd)|(wxyz))","vOE\\1VceUN&",[global])),
19833    <<"VaQAuabcdDRalphabetabcdGQKSabcdMbhX">> = iolist_to_binary(re:replace("alphabetabcd","(?>.*)(?<=(abcd)|(wxyz))","VaQAu\\1DR&GQKS\\1MbhX",[])),
19834    <<"VaQAuabcdDRalphabetabcdGQKSabcdMbhXVaQAuabcdDRGQKSabcdMbhX">> = iolist_to_binary(re:replace("alphabetabcd","(?>.*)(?<=(abcd)|(wxyz))","VaQAu\\1DR&GQKS\\1MbhX",[global])),
19835    <<"Lendingwxyz">> = iolist_to_binary(re:replace("endingwxyz","(?>.*)(?<=(abcd)|(wxyz))","L\\1&",[])),
19836    <<"LendingwxyzL">> = iolist_to_binary(re:replace("endingwxyz","(?>.*)(?<=(abcd)|(wxyz))","L\\1&",[global])),
19837    <<"abcdfooxyz">> = iolist_to_binary(re:replace("abcdfooxyz","(?>.*)foo","O\\1",[])),
19838    <<"abcdfooxyz">> = iolist_to_binary(re:replace("abcdfooxyz","(?>.*)foo","O\\1",[global])),
19839    <<"abcdEDLXMxyz">> = iolist_to_binary(re:replace("abcdfooxyz","(?>.*?)foo","EDLXM",[])),
19840    <<"abcdEDLXMxyz">> = iolist_to_binary(re:replace("abcdfooxyz","(?>.*?)foo","EDLXM",[global])),
19841    <<"KacvfWficUMXYUhCR">> = iolist_to_binary(re:replace("ac","(?:(a(*PRUNE)b)){0}(?:(?1)|ac)","K&vfWficUMXYUhCR",[])),
19842    <<"KacvfWficUMXYUhCR">> = iolist_to_binary(re:replace("ac","(?:(a(*PRUNE)b)){0}(?:(?1)|ac)","K&vfWficUMXYUhCR",[global])),
19843    <<"lVNcLhkqs">> = iolist_to_binary(re:replace("ac","(?:(a(*SKIP)b)){0}(?:(?1)|ac)","lVNcLhkqs",[])),
19844    <<"lVNcLhkqs">> = iolist_to_binary(re:replace("ac","(?:(a(*SKIP)b)){0}(?:(?1)|ac)","lVNcLhkqs",[global])),
19845    <<"aa">> = iolist_to_binary(re:replace("aa","(?<=(*SKIP)ac)a","WA\\1ysWU",[])),
19846    <<"aa">> = iolist_to_binary(re:replace("aa","(?<=(*SKIP)ac)a","WA\\1ysWU",[global])),
19847    <<"aaHvYt">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*PRUNE)b|a+c","Hv\\1Yt",[])),
19848    <<"aaHvYt">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*PRUNE)b|a+c","Hv\\1Yt",[global])),
19849    <<"aamkEaaaaclOsMTmDx">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*SKIP)(*PRUNE)b|a+c","mkE&lOsM\\1TmDx",[])),
19850    <<"aamkEaaaaclOsMTmDx">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*SKIP)(*PRUNE)b|a+c","mkE&lOsM\\1TmDx",[global])),
19851    <<"aarTnFhwuaaaacOCC">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*SKIP:N)(*PRUNE)b|a+c","rTn\\1Fhwu\\1&OCC",[])),
19852    <<"aarTnFhwuaaaacOCC">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*SKIP:N)(*PRUNE)b|a+c","rTn\\1Fhwu\\1&OCC",[global])),
19853    <<"aaWgwMatYijEPVVhET">> = iolist_to_binary(re:replace("aaaaaac","aaaa(*:N)a(*SKIP:N)(*PRUNE)b|a+c","WgwMatYijEPVVhET",[])),
19854    <<"aaWgwMatYijEPVVhET">> = iolist_to_binary(re:replace("aaaaaac","aaaa(*:N)a(*SKIP:N)(*PRUNE)b|a+c","WgwMatYijEPVVhET",[global])),
19855    <<"aaDFldiXfsqAoaaaacgyaaaacaaaac">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*THEN)(*PRUNE)b|a+c","DFl\\1diXfsqAo&gy&&",[])),
19856    <<"aaDFldiXfsqAoaaaacgyaaaacaaaac">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*THEN)(*PRUNE)b|a+c","DFl\\1diXfsqAo&gy&&",[global])),
19857    ok.
19858run51() ->
19859    <<"aaaaaacacLQGPDsBacWqi">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*SKIP)b|a+c","&&LQG\\1\\1PDsB&W\\1qi",[])),
19860    <<"aaaaaacacLQGPDsBacWqi">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*SKIP)b|a+c","&&LQG\\1\\1PDsB&W\\1qi",[global])),
19861    <<"aaaaaqFvS">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*PRUNE)(*SKIP)b|a+c","qFvS",[])),
19862    <<"aaaaaqFvS">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*PRUNE)(*SKIP)b|a+c","qFvS",[global])),
19863    <<"aaaaaxduXkuthyKkfDvdGK">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*THEN)(*SKIP)b|a+c","xduXkuthyK\\1kfDvdGK",[])),
19864    <<"aaaaaxduXkuthyKkfDvdGK">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*THEN)(*SKIP)b|a+c","xduXkuthyK\\1kfDvdGK",[global])),
19865    <<"aaaaaT">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*COMMIT)(*SKIP)b|a+c","T",[])),
19866    <<"aaaaaT">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*COMMIT)(*SKIP)b|a+c","T",[global])),
19867    <<"aaaaaac">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*COMMIT)b|a+c","tK\\1X\\1ycVaGLc\\1RU\\1&",[])),
19868    <<"aaaaaac">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*COMMIT)b|a+c","tK\\1X\\1ycVaGLc\\1RU\\1&",[global])),
19869    <<"iVaaaaaackkBjFkaaaaaacmlfslVAM">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*THEN)b|a+c","iV&kkBjFk&mlfslVAM",[])),
19870    <<"iVaaaaaackkBjFkaaaaaacmlfslVAM">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*THEN)b|a+c","iV&kkBjFk&mlfslVAM",[global])),
19871    <<"o">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*SKIP)(*THEN)b|a+c","o",[])),
19872    <<"o">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*SKIP)(*THEN)b|a+c","o",[global])),
19873    <<"wLxnFkaaaaaacAX">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*PRUNE)(*THEN)b|a+c","wLxnF\\1k&AX",[])),
19874    <<"wLxnFkaaaaaacAX">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*PRUNE)(*THEN)b|a+c","wLxnF\\1k&AX",[global])),
19875    <<"RkcioItaaaaaacT">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*COMMIT)(*THEN)b|a+c","Rk\\1cioI\\1t&T",[])),
19876    <<"RkcioItaaaaaacT">> = iolist_to_binary(re:replace("aaaaaac","aaaaa(*COMMIT)(*THEN)b|a+c","Rk\\1cioI\\1t&T",[global])),
19877    ok.
19878run52() ->
19879    <<"aaaaaWSYDaO">> = iolist_to_binary(re:replace("aaaaaa","aaaaa(*:m)(*PRUNE:m)(*SKIP:m)m|a+","WSYDaO",[])),
19880    <<"aaaaaWSYDaO">> = iolist_to_binary(re:replace("aaaaaa","aaaaa(*:m)(*PRUNE:m)(*SKIP:m)m|a+","WSYDaO",[global])),
19881    <<"aaaaaWAaddaTedlmqyrPY">> = iolist_to_binary(re:replace("aaaaaa","aaaaa(*:m)(*MARK:m)(*PRUNE)(*SKIP:m)m|a+","WA\\1&dd\\1&TedlmqyrPY",[])),
19882    <<"aaaaaWAaddaTedlmqyrPY">> = iolist_to_binary(re:replace("aaaaaa","aaaaa(*:m)(*MARK:m)(*PRUNE)(*SKIP:m)m|a+","WA\\1&dd\\1&TedlmqyrPY",[global])),
19883    <<"aaJwaaaataaaaaaaaJ">> = iolist_to_binary(re:replace("aaaaaa","aaaaa(*:n)(*PRUNE:m)(*SKIP:m)m|a+","Jw&t&&J",[])),
19884    <<"aaJwaaaataaaaaaaaJ">> = iolist_to_binary(re:replace("aaaaaa","aaaaa(*:n)(*PRUNE:m)(*SKIP:m)m|a+","Jw&t&&J",[global])),
19885    <<"aaaaawaeihCejEsBaGR">> = iolist_to_binary(re:replace("aaaaaa","aaaaa(*:n)(*MARK:m)(*PRUNE)(*SKIP:m)m|a+","wae\\1ih\\1Ce\\1jEsBaG\\1R",[])),
19886    <<"aaaaawaeihCejEsBaGR">> = iolist_to_binary(re:replace("aaaaaa","aaaaa(*:n)(*MARK:m)(*PRUNE)(*SKIP:m)m|a+","wae\\1ih\\1Ce\\1jEsBaG\\1R",[global])),
19887    <<"aavaacNX">> = iolist_to_binary(re:replace("aaaac","a(*MARK:A)aa(*PRUNE:A)a(*SKIP:A)b|a+c","v&\\1NX",[])),
19888    <<"aavaacNX">> = iolist_to_binary(re:replace("aaaac","a(*MARK:A)aa(*PRUNE:A)a(*SKIP:A)b|a+c","v&\\1NX",[global])),
19889    <<"aaapmNFtwlMXJwfQ">> = iolist_to_binary(re:replace("aaaac","a(*MARK:A)aa(*MARK:A)a(*SKIP:A)b|a+c","pmNFtwlMXJ\\1wfQ",[])),
19890    <<"aaapmNFtwlMXJwfQ">> = iolist_to_binary(re:replace("aaaac","a(*MARK:A)aa(*MARK:A)a(*SKIP:A)b|a+c","pmNFtwlMXJ\\1wfQ",[global])),
19891    <<"aaEaacnKG">> = iolist_to_binary(re:replace("aaaac","aaa(*PRUNE:A)a(*SKIP:A)b|a+c","E&nKG",[])),
19892    <<"aaEaacnKG">> = iolist_to_binary(re:replace("aaaac","aaa(*PRUNE:A)a(*SKIP:A)b|a+c","E&nKG",[global])),
19893    <<"aaaEmXmYyXMvMPacsIUnacb">> = iolist_to_binary(re:replace("aaaac","aaa(*MARK:A)a(*SKIP:A)b|a+c","E\\1mXmY\\1yXMvMP&sIUn&b",[])),
19894    <<"aaaEmXmYyXMvMPacsIUnacb">> = iolist_to_binary(re:replace("aaaac","aaa(*MARK:A)a(*SKIP:A)b|a+c","E\\1mXmY\\1yXMvMP&sIUn&b",[global])),
19895    <<"sctyVa">> = iolist_to_binary(re:replace("ba",".?(a|b(*THEN)c)","sctyV\\1",[])),
19896    <<"sctyVa">> = iolist_to_binary(re:replace("ba",".?(a|b(*THEN)c)","sctyV\\1",[global])),
19897    <<"abcEabcyEabLepBwabcDne">> = iolist_to_binary(re:replace("abc","(a(*COMMIT)b)c|abd","&E&yE\\1LepBw&Dne",[])),
19898    <<"abcEabcyEabLepBwabcDne">> = iolist_to_binary(re:replace("abc","(a(*COMMIT)b)c|abd","&E&yE\\1LepBw&Dne",[global])),
19899    <<"abd">> = iolist_to_binary(re:replace("abd","(a(*COMMIT)b)c|abd","EnmKFsm&",[])),
19900    <<"abd">> = iolist_to_binary(re:replace("abd","(a(*COMMIT)b)c|abd","EnmKFsm&",[global])),
19901    <<"pXGcB">> = iolist_to_binary(re:replace("abc","(?=a(*COMMIT)b)abc|abd","pXGcB",[])),
19902    <<"pXGcB">> = iolist_to_binary(re:replace("abc","(?=a(*COMMIT)b)abc|abd","pXGcB",[global])),
19903    <<"yqRflvWfdabd">> = iolist_to_binary(re:replace("abd","(?=a(*COMMIT)b)abc|abd","yqR\\1flvW\\1fd&",[])),
19904    <<"yqRflvWfdabd">> = iolist_to_binary(re:replace("abd","(?=a(*COMMIT)b)abc|abd","yqR\\1flvW\\1fd&",[global])),
19905    <<"caqabcfAabcVd">> = iolist_to_binary(re:replace("abc","(?>a(*COMMIT)b)c|abd","caq&fA&Vd",[])),
19906    <<"caqabcfAabcVd">> = iolist_to_binary(re:replace("abc","(?>a(*COMMIT)b)c|abd","caq&fA&Vd",[global])),
19907    <<"BYnSX">> = iolist_to_binary(re:replace("abd","(?>a(*COMMIT)b)c|abd","BY\\1nSX",[])),
19908    <<"BYnSX">> = iolist_to_binary(re:replace("abd","(?>a(*COMMIT)b)c|abd","BY\\1nSX",[global])),
19909    <<"abd">> = iolist_to_binary(re:replace("abd","a(?=b(*COMMIT)c)[^d]|abd","d\\1h\\1&",[])),
19910    <<"abd">> = iolist_to_binary(re:replace("abd","a(?=b(*COMMIT)c)[^d]|abd","d\\1h\\1&",[global])),
19911    <<"rYJdMtasqc">> = iolist_to_binary(re:replace("abc","a(?=b(*COMMIT)c)[^d]|abd","rYJd\\1Mtasq\\1",[])),
19912    <<"rYJdMtasqc">> = iolist_to_binary(re:replace("abc","a(?=b(*COMMIT)c)[^d]|abd","rYJd\\1Mtasq\\1",[global])),
19913    <<"o">> = iolist_to_binary(re:replace("abd","a(?=bc).|abd","o\\1",[])),
19914    <<"o">> = iolist_to_binary(re:replace("abd","a(?=bc).|abd","o\\1",[global])),
19915    <<"WSUNxSjyjPQXxic">> = iolist_to_binary(re:replace("abc","a(?=bc).|abd","W\\1SUNxSjyjPQXxi",[])),
19916    <<"WSUNxSjyjPQXxic">> = iolist_to_binary(re:replace("abc","a(?=bc).|abd","W\\1SUNxSjyjPQXxi",[global])),
19917    <<"abceabd">> = iolist_to_binary(re:replace("abceabd","a(?>b(*COMMIT)c)d|abd","iF",[])),
19918    <<"abceabd">> = iolist_to_binary(re:replace("abceabd","a(?>b(*COMMIT)c)d|abd","iF",[global])),
19919    <<"abceoxabdvpqchabdcfPpHmTC">> = iolist_to_binary(re:replace("abceabd","a(?>bc)d|abd","ox&vpq\\1ch&cfPpHmTC",[])),
19920    <<"abceoxabdvpqchabdcfPpHmTC">> = iolist_to_binary(re:replace("abceabd","a(?>bc)d|abd","ox&vpq\\1ch&cfPpHmTC",[global])),
19921    <<"EPsAiuAXGag">> = iolist_to_binary(re:replace("abd","(?>a(*COMMIT)b)c|abd","EPsAiuAXGag",[])),
19922    <<"EPsAiuAXGag">> = iolist_to_binary(re:replace("abd","(?>a(*COMMIT)b)c|abd","EPsAiuAXGag",[global])),
19923    <<"abd">> = iolist_to_binary(re:replace("abd","(?>a(*COMMIT)c)d|abd","iTR\\1KirHaAm\\1u&L",[])),
19924    <<"abd">> = iolist_to_binary(re:replace("abd","(?>a(*COMMIT)c)d|abd","iTR\\1KirHaAm\\1u&L",[global])),
19925    <<"hopmrj">> = iolist_to_binary(re:replace("ac","((?=a(*COMMIT)b)ab|ac){0}(?:(?1)|a(c))","hopm\\1\\1\\1rj",[])),
19926    <<"hopmrj">> = iolist_to_binary(re:replace("ac","((?=a(*COMMIT)b)ab|ac){0}(?:(?1)|a(c))","hopm\\1\\1\\1rj",[global])),
19927    ok.
19928run53() ->
19929    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a)?(?(1)a|b)+$","G&aHbV\\1y&\\1&KV\\1\\1",[])),
19930    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^(a)?(?(1)a|b)+$","G&aHbV\\1y&\\1&KV\\1\\1",[global])),
19931    <<"a">> = iolist_to_binary(re:replace("a","^(a)?(?(1)a|b)+$","vJmS\\1lM\\1yq\\1F&T",[])),
19932    <<"a">> = iolist_to_binary(re:replace("a","^(a)?(?(1)a|b)+$","vJmS\\1lM\\1yq\\1F&T",[global])),
19933    <<"abROgE">> = iolist_to_binary(re:replace("ab","(?=a\\Kb)ab","&RO\\1gE",[])),
19934    <<"abROgE">> = iolist_to_binary(re:replace("ab","(?=a\\Kb)ab","&RO\\1gE",[global])),
19935    <<"AVraX">> = iolist_to_binary(re:replace("ac","(?!a\\Kb)ac","AVraX",[])),
19936    <<"AVraX">> = iolist_to_binary(re:replace("ac","(?!a\\Kb)ac","AVraX",[global])),
19937    <<"abrftocdgfVofMMeQcd">> = iolist_to_binary(re:replace("abcd","^abc(?<=b\\Kc)d","rfto&gfVofMM\\1eQ&",[])),
19938    <<"abrftocdgfVofMMeQcd">> = iolist_to_binary(re:replace("abcd","^abc(?<=b\\Kc)d","rfto&gfVofMM\\1eQ&",[global])),
19939    <<"NHQVjk">> = iolist_to_binary(re:replace("abcd","^abc(?<!b\\Kq)d","N\\1HQVjk",[])),
19940    <<"NHQVjk">> = iolist_to_binary(re:replace("abcd","^abc(?<!b\\Kq)d","N\\1HQVjk",[global])),
19941    <<"GLeLtFYabcdabcdgLpecJf">> = iolist_to_binary(re:replace("abcd","^((abc|abcx)(*THEN)y|abcd)","GLeLtFY\\1\\1gLpecJf",[])),
19942    <<"GLeLtFYabcdabcdgLpecJf">> = iolist_to_binary(re:replace("abcd","^((abc|abcx)(*THEN)y|abcd)","GLeLtFY\\1\\1gLpecJf",[global])),
19943    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^((abc|abcx)(*THEN)y|abcd)","wcL\\1",[])),
19944    <<"*** Failers">> = iolist_to_binary(re:replace("*** Failers","^((abc|abcx)(*THEN)y|abcd)","wcL\\1",[global])),
19945    <<"abcxy">> = iolist_to_binary(re:replace("abcxy","^((abc|abcx)(*THEN)y|abcd)","RUVUoonAhCsbWrFjwfb",[])),
19946    <<"abcxy">> = iolist_to_binary(re:replace("abcxy","^((abc|abcx)(*THEN)y|abcd)","RUVUoonAhCsbWrFjwfb",[global])),
19947    <<"yes">> = iolist_to_binary(re:replace("yes","^((yes|no)(*THEN)(*F))?","&ymEfDG&",[])),
19948    <<"yes">> = iolist_to_binary(re:replace("yes","^((yes|no)(*THEN)(*F))?","&ymEfDG&",[global])),
19949    <<"ac">> = iolist_to_binary(re:replace("ac","(?=a(*COMMIT)b|ac)ac|ac","VWaTi",[])),
19950    <<"ac">> = iolist_to_binary(re:replace("ac","(?=a(*COMMIT)b|ac)ac|ac","VWaTi",[global])),
19951    <<"ac">> = iolist_to_binary(re:replace("ac","(?=a(*COMMIT)b|(ac)) ac | (a)c","QYq&",[extended])),
19952    <<"ac">> = iolist_to_binary(re:replace("ac","(?=a(*COMMIT)b|(ac)) ac | (a)c","QYq&",[extended,
19953                                                                                                                                                                                                                  global])),
19954    <<"CRAbnGGrAbnXLfMKFAn">> = iolist_to_binary(re:replace("bnn","(?(?!b(*THEN)a)bn|bnn)","CRA&G\\1G\\1r\\1A&XLfMKFA",[])),
19955    <<"CRAbnGGrAbnXLfMKFAn">> = iolist_to_binary(re:replace("bnn","(?(?!b(*THEN)a)bn|bnn)","CRA&G\\1G\\1r\\1A&XLfMKFA",[global])),
19956    <<"pn">> = iolist_to_binary(re:replace("bnn","(?!b(*SKIP)a)bn|bnn","p",[])),
19957    <<"pn">> = iolist_to_binary(re:replace("bnn","(?!b(*SKIP)a)bn|bnn","p",[global])),
19958    <<"avnuwGVQnbbnMn">> = iolist_to_binary(re:replace("bnn","(?(?!b(*SKIP)a)bn|bnn)","avnuw\\1\\1GVQ\\1nb&M",[])),
19959    <<"avnuwGVQnbbnMn">> = iolist_to_binary(re:replace("bnn","(?(?!b(*SKIP)a)bn|bnn)","avnuw\\1\\1GVQ\\1nb&M",[global])),
19960    <<"dbJHbnQmNvUjn">> = iolist_to_binary(re:replace("bnn","(?!b(*PRUNE)a)bn|bnn","dbJH&QmNvU\\1j",[])),
19961    <<"dbJHbnQmNvUjn">> = iolist_to_binary(re:replace("bnn","(?!b(*PRUNE)a)bn|bnn","dbJH&QmNvU\\1j",[global])),
19962    <<"CjOjn">> = iolist_to_binary(re:replace("bnn","(?(?!b(*PRUNE)a)bn|bnn)","\\1CjOj",[])),
19963    <<"CjOjn">> = iolist_to_binary(re:replace("bnn","(?(?!b(*PRUNE)a)bn|bnn)","\\1CjOj",[global])),
19964    <<"KpYyerFiCpuOn">> = iolist_to_binary(re:replace("bnn","(?!b(*COMMIT)a)bn|bnn","KpYyerF\\1iCpuO",[])),
19965    <<"KpYyerFiCpuOn">> = iolist_to_binary(re:replace("bnn","(?!b(*COMMIT)a)bn|bnn","KpYyerF\\1iCpuO",[global])),
19966    <<"YmcadBbnnCCREKHHXlMoHn">> = iolist_to_binary(re:replace("bnn","(?(?!b(*COMMIT)a)bn|bnn)","YmcadB&nCCREKHHXlMoH",[])),
19967    <<"YmcadBbnnCCREKHHXlMoHn">> = iolist_to_binary(re:replace("bnn","(?(?!b(*COMMIT)a)bn|bnn)","YmcadB&nCCREKHHXlMoH",[global])),
19968    <<"bnn">> = iolist_to_binary(re:replace("bnn","(?=b(*SKIP)a)bn|bnn","OvTfjYJC\\1XmGdYVUwWCW",[])),
19969    <<"bnn">> = iolist_to_binary(re:replace("bnn","(?=b(*SKIP)a)bn|bnn","OvTfjYJC\\1XmGdYVUwWCW",[global])),
19970    <<"FDbNbagbnngDbDDd">> = iolist_to_binary(re:replace("bnn","(?=b(*THEN)a)bn|bnn","FDbNbag&gDbDDd",[])),
19971    <<"FDbNbagbnngDbDDd">> = iolist_to_binary(re:replace("bnn","(?=b(*THEN)a)bn|bnn","FDbNbag&gDbDDd",[global])),
19972    ok.
19973run54() ->
19974    <<"sachjxkMNacCQoCXVcd">> = iolist_to_binary(re:replace("acd","(?!a(*SKIP)b)..","s&hjxkMN&CQoCXVc",[])),
19975    <<"sachjxkMNacCQoCXVcd">> = iolist_to_binary(re:replace("acd","(?!a(*SKIP)b)..","s&hjxkMN&CQoCXVc",[global])),
19976    <<"RdrPCVLRILnac">> = iolist_to_binary(re:replace("ac","^(?(?!a(*SKIP)b))","RdrPCVLR&ILn\\1",[])),
19977    <<"RdrPCVLRILnac">> = iolist_to_binary(re:replace("ac","^(?(?!a(*SKIP)b))","RdrPCVLR&ILn\\1",[global])),
19978    <<"bKbacacMacacHkactlacTd">> = iolist_to_binary(re:replace("acd","^(?!a(*PRUNE)b)..","bKb\\1&&M&&Hk&tl&T",[])),
19979    <<"bKbacacMacacHkactlacTd">> = iolist_to_binary(re:replace("acd","^(?!a(*PRUNE)b)..","bKb\\1&&M&&Hk&tl&T",[global])),
19980    <<"acgUOdBxWpud">> = iolist_to_binary(re:replace("acd","(?!a(*PRUNE)b)..","&gUO\\1dB\\1\\1x\\1\\1\\1Wpu",[])),
19981    <<"acgUOdBxWpud">> = iolist_to_binary(re:replace("acd","(?!a(*PRUNE)b)..","&gUO\\1dB\\1\\1x\\1\\1\\1Wpu",[global])),
19982    <<"CbaXhvafbabaFbadgban">> = iolist_to_binary(re:replace("ba","\\A.*?(?:a|bc)","C&Xhvaf&\\1&\\1\\1F&dg&n",[])),
19983    <<"CbaXhvafbabaFbadgban">> = iolist_to_binary(re:replace("ba","\\A.*?(?:a|bc)","C&Xhvaf&\\1&\\1\\1F&dg&n",[global])),
19984    <<"VCDF">> = iolist_to_binary(re:replace("CD","^(A(*THEN)B|C(*THEN)D)","V\\1F",[])),
19985    <<"VCDF">> = iolist_to_binary(re:replace("CD","^(A(*THEN)B|C(*THEN)D)","V\\1F",[global])),
19986    <<"TN1234">> = iolist_to_binary(re:replace("1234","^\\d*\\w{4}","\\1TN&\\1",[])),
19987    <<"TN1234">> = iolist_to_binary(re:replace("1234","^\\d*\\w{4}","\\1TN&\\1",[global])),
19988    <<"123">> = iolist_to_binary(re:replace("123","^\\d*\\w{4}","A\\1oHKKl\\1\\1OsT\\1Q",[])),
19989    <<"123">> = iolist_to_binary(re:replace("123","^\\d*\\w{4}","A\\1oHKKl\\1\\1OsT\\1Q",[global])),
19990    <<"nVISfRINBaChaaaaaaaaaaaaiab">> = iolist_to_binary(re:replace("aaaa","^[^b]*\\w{4}","nVISfRI\\1NBaC\\1h&&&iab",[])),
19991    <<"nVISfRINBaChaaaaaaaaaaaaiab">> = iolist_to_binary(re:replace("aaaa","^[^b]*\\w{4}","nVISfRI\\1NBaC\\1h&&&iab",[global])),
19992    <<"aaa">> = iolist_to_binary(re:replace("aaa","^[^b]*\\w{4}","u&ip\\1ip\\1\\1yi&\\1b&V",[])),
19993    <<"aaa">> = iolist_to_binary(re:replace("aaa","^[^b]*\\w{4}","u&ip\\1ip\\1\\1yi&\\1b&V",[global])),
19994    <<"wAjTGXoySgBSd">> = iolist_to_binary(re:replace("aaaa","^[^b]*\\w{4}","wAjTGXoySgBSd",[caseless])),
19995    <<"wAjTGXoySgBSd">> = iolist_to_binary(re:replace("aaaa","^[^b]*\\w{4}","wAjTGXoySgBSd",[caseless,
19996                                                                                                                                                                                                    global])),
19997    <<"aaa">> = iolist_to_binary(re:replace("aaa","^[^b]*\\w{4}","cHIJOeNBWAOX",[caseless])),
19998    <<"aaa">> = iolist_to_binary(re:replace("aaa","^[^b]*\\w{4}","cHIJOeNBWAOX",[caseless,
19999                                                                                                                                                                                                global])),
20000    <<"aaaawbaaaaaaaagaaaa">> = iolist_to_binary(re:replace("aaaa","^a*\\w{4}","&wb&&g&",[])),
20001    <<"aaaawbaaaaaaaagaaaa">> = iolist_to_binary(re:replace("aaaa","^a*\\w{4}","&wb&&g&",[global])),
20002    <<"aaa">> = iolist_to_binary(re:replace("aaa","^a*\\w{4}","XSEM&",[])),
20003    <<"aaa">> = iolist_to_binary(re:replace("aaa","^a*\\w{4}","XSEM&",[global])),
20004    <<"QmAqwBScoVE">> = iolist_to_binary(re:replace("aaaa","^a*\\w{4}","QmAqwBScoV\\1\\1E",[caseless])),
20005    <<"QmAqwBScoVE">> = iolist_to_binary(re:replace("aaaa","^a*\\w{4}","QmAqwBScoV\\1\\1E",[caseless,
20006                                                                                                                                                                                                        global])),
20007    <<"aaa">> = iolist_to_binary(re:replace("aaa","^a*\\w{4}","OMTiwdqw",[caseless])),
20008    <<"aaa">> = iolist_to_binary(re:replace("aaa","^a*\\w{4}","OMTiwdqw",[caseless,
20009                                                                                                                                                                                  global])),
20010    <<"1 IN SOA non-sp1 non-sp2(ITgBp1 IN SOA non-sp1 non-sp2(BJFr1PT1">> = iolist_to_binary(re:replace("1 IN SOA non-sp1 non-sp2(","^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$","&ITgBp&BJFr\\1PT\\1",[])),
20011    <<"1 IN SOA non-sp1 non-sp2(ITgBp1 IN SOA non-sp1 non-sp2(BJFr1PT1">> = iolist_to_binary(re:replace("1 IN SOA non-sp1 non-sp2(","^(\\d+)\\s+IN\\s+SOA\\s+(\\S+)\\s+(\\S+)\\s*\\(\\s*$","&ITgBp&BJFr\\1PT\\1",[global])),
20012    <<"AZ">> = iolist_to_binary(re:replace("AZ","^A\\xZ","SV\\1ASuT\\1",[])),
20013    <<"AZ">> = iolist_to_binary(re:replace("AZ","^A\\xZ","SV\\1ASuT\\1",[global])),
20014    <<"eTO">> = iolist_to_binary(re:replace("ASB","^A\\o{123}B","eTO",[])),
20015    <<"eTO">> = iolist_to_binary(re:replace("ASB","^A\\o{123}B","eTO",[global])),
20016    <<"HAJaaaabw">> = iolist_to_binary(re:replace("aaaab"," ^ a + + b $ ","HAJ&w\\1",[extended])),
20017    <<"HAJaaaabw">> = iolist_to_binary(re:replace("aaaab"," ^ a + + b $ ","HAJ&w\\1",[extended,
20018                                                                                                                                                                                                global])),
20019    <<"EMvXhBG">> = iolist_to_binary(re:replace("aaaab"," ^ a + #comment
20020  + b $ ","EMvXhBG",[extended])),
20021    <<"EMvXhBG">> = iolist_to_binary(re:replace("aaaab"," ^ a + #comment
20022  + b $ ","EMvXhBG",[extended,global])),
20023    <<"rWaaaablOQEcegVcvQpr">> = iolist_to_binary(re:replace("aaaab"," ^ a + #comment
20024  #comment
20025  + b $ ","r\\1W&lOQEcegVcvQp\\1r",[extended])),
20026    <<"rWaaaablOQEcegVcvQpr">> = iolist_to_binary(re:replace("aaaab"," ^ a + #comment
20027  #comment
20028  + b $ ","r\\1W&lOQEcegVcvQp\\1r",[extended,global])),
20029    ok.
20030run55() ->
20031    <<"JABcaaaabT">> = iolist_to_binary(re:replace("aaaab"," ^ (?> a + ) b $ ","JABc&T",[extended])),
20032    <<"JABcaaaabT">> = iolist_to_binary(re:replace("aaaab"," ^ (?> a + ) b $ ","JABc&T",[extended,
20033                                                                                                                                                                                                   global])),
20034    <<"aaaanEIdwsaaaabaaaaYo">> = iolist_to_binary(re:replace("aaaab"," ^ ( a + ) + + \\w $ ","\\1nEIdws&\\1Yo",[extended])),
20035    <<"aaaanEIdwsaaaabaaaaYo">> = iolist_to_binary(re:replace("aaaab"," ^ ( a + ) + + \\w $ ","\\1nEIdws&\\1Yo",[extended,
20036                                                                                                                                                                                                                                global])),
20037    <<"acb">> = iolist_to_binary(re:replace("acb","(?:x|(?:(xx|yy)+|x|x|x|x|x)|a|a|a)bc","w&d",[])),
20038    <<"acb">> = iolist_to_binary(re:replace("acb","(?:x|(?:(xx|yy)+|x|x|x|x|x)|a|a|a)bc","w&d",[global])),
20039    <<"sprnh\"NOT MATCHED">> = iolist_to_binary(re:replace("NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED","\\A(?:[^\\\"]++|\\\"(?:[^\\\"]*+|\\\"\\\")*+\\\")++","sp\\1rnh",[])),
20040    <<"sprnh\"NOT MATCHED">> = iolist_to_binary(re:replace("NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED","\\A(?:[^\\\"]++|\\\"(?:[^\\\"]*+|\\\"\\\")*+\\\")++","sp\\1rnh",[global])),
20041    <<"NON QUOTED \"QUOT\"\"ED\" AFTER hDhrDNON QUOTED \"QUOT\"\"ED\" AFTER Lif\"NOT MATCHED">> = iolist_to_binary(re:replace("NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED","\\A(?:[^\\\"]++|\\\"(?:[^\\\"]++|\\\"\\\")*+\\\")++","&h\\1DhrD&\\1Lif",[])),
20042    <<"NON QUOTED \"QUOT\"\"ED\" AFTER hDhrDNON QUOTED \"QUOT\"\"ED\" AFTER Lif\"NOT MATCHED">> = iolist_to_binary(re:replace("NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED","\\A(?:[^\\\"]++|\\\"(?:[^\\\"]++|\\\"\\\")*+\\\")++","&h\\1DhrD&\\1Lif",[global])),
20043    <<"FFjeNON QUOTED \"QUOT\"\"ED\" AFTER FNON QUOTED \"QUOT\"\"ED\" AFTER evYb\"NOT MATCHED">> = iolist_to_binary(re:replace("NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED","\\A(?:[^\\\"]++|\\\"(?:[^\\\"]++|\\\"\\\")++\\\")++","FF\\1je&F&ev\\1Yb",[])),
20044    <<"FFjeNON QUOTED \"QUOT\"\"ED\" AFTER FNON QUOTED \"QUOT\"\"ED\" AFTER evYb\"NOT MATCHED">> = iolist_to_binary(re:replace("NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED","\\A(?:[^\\\"]++|\\\"(?:[^\\\"]++|\\\"\\\")++\\\")++","FF\\1je&F&ev\\1Yb",[global])),
20045    <<"lkNON QUOTED \"QUOT\"\"ED\" AFTER NON QUOTED \"QUOT\"\"ED\" AFTER ep\"NOT MATCHED">> = iolist_to_binary(re:replace("NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED","\\A([^\\\"1]++|[\\\"2]([^\\\"3]*+|[\\\"4][\\\"5])*+[\\\"6])++","lk&&ep",[])),
20046    <<"lkNON QUOTED \"QUOT\"\"ED\" AFTER NON QUOTED \"QUOT\"\"ED\" AFTER ep\"NOT MATCHED">> = iolist_to_binary(re:replace("NON QUOTED \"QUOT\"\"ED\" AFTER \"NOT MATCHED","\\A([^\\\"1]++|[\\\"2]([^\\\"3]*+|[\\\"4][\\\"5])*+[\\\"6])++","lk&&ep",[global])),
20047    <<"QwrEsgmHnPVatesUBtesNt test">> = iolist_to_binary(re:replace("test test","^\\w+(?>\\s*)(?<=\\w)","QwrEs\\1g\\1m\\1HnPVa&UB&N",[])),
20048    <<"QwrEsgmHnPVatesUBtesNt test">> = iolist_to_binary(re:replace("test test","^\\w+(?>\\s*)(?<=\\w)","QwrEs\\1g\\1m\\1HnPVa&UB&N",[global])),
20049    <<"QnwXYs">> = iolist_to_binary(re:replace("acl","(?P<Name>a)?(?P<Name2>b)?(?(<Name>)c|d)*l","QnwXYs",[])),
20050    <<"QnwXYs">> = iolist_to_binary(re:replace("acl","(?P<Name>a)?(?P<Name2>b)?(?(<Name>)c|d)*l","QnwXYs",[global])),
20051    <<"pJjRpVdTtnNitYwRL">> = iolist_to_binary(re:replace("bdl","(?P<Name>a)?(?P<Name2>b)?(?(<Name>)c|d)*l","pJjRp\\1VdTtnNitYw\\1RL",[])),
20052    <<"pJjRpVdTtnNitYwRL">> = iolist_to_binary(re:replace("bdl","(?P<Name>a)?(?P<Name2>b)?(?(<Name>)c|d)*l","pJjRp\\1VdTtnNitYw\\1RL",[global])),
20053    <<"atdlHdlPdlUHuXIoBk">> = iolist_to_binary(re:replace("adl","(?P<Name>a)?(?P<Name2>b)?(?(<Name>)c|d)*l","t&H&P&UHuXIoBk",[])),
20054    <<"atdlHdlPdlUHuXIoBk">> = iolist_to_binary(re:replace("adl","(?P<Name>a)?(?P<Name2>b)?(?(<Name>)c|d)*l","t&H&P&UHuXIoBk",[global])),
20055    <<"bcpmlSoBl">> = iolist_to_binary(re:replace("bcl","(?P<Name>a)?(?P<Name2>b)?(?(<Name>)c|d)*l","pm&SoB&",[])),
20056    <<"bcpmlSoBl">> = iolist_to_binary(re:replace("bcl","(?P<Name>a)?(?P<Name2>b)?(?(<Name>)c|d)*l","pm&SoB&",[global])),
20057    <<"vbIJabcy">> = iolist_to_binary(re:replace("abc","\\sabc","vbIJ&y",[])),
20058    <<"vbIJabcy">> = iolist_to_binary(re:replace("abc","\\sabc","vbIJ&y",[global])),
20059    <<"wY">> = iolist_to_binary(re:replace("aa]]","[\\Qa]\\E]+","wY",[])),
20060    <<"wY">> = iolist_to_binary(re:replace("aa]]","[\\Qa]\\E]+","wY",[global])),
20061    <<"y">> = iolist_to_binary(re:replace("aa]]","[\\Q]a\\E]+","y",[])),
20062    <<"y">> = iolist_to_binary(re:replace("aa]]","[\\Q]a\\E]+","y",[global])),
20063    <<"iaARIM1234abcd">> = iolist_to_binary(re:replace("1234abcd","(?:((abcd))|(((?:(?:(?:(?:abc|(?:abcdef))))b)abcdefghi)abc)|((*ACCEPT)))","iaARIM",[])),
20064    <<"iaARIM1iaARIM2iaARIM3iaARIM4iaARIMiaARIM">> = iolist_to_binary(re:replace("1234abcd","(?:((abcd))|(((?:(?:(?:(?:abc|(?:abcdef))))b)abcdefghi)abc)|((*ACCEPT)))","iaARIM",[global])),
20065    ok.
20066run56() ->
20067    <<"bGBRdcc">> = iolist_to_binary(re:replace("baaaaaaaaac","(?1)(?#?'){8}(a)","GBRdc",[])),
20068    <<"bGBRdcc">> = iolist_to_binary(re:replace("baaaaaaaaac","(?1)(?#?'){8}(a)","GBRdc",[global])),
20069    <<"PqUuuXKRgsccvHSabcd">> = iolist_to_binary(re:replace("abcd","(?|(\\k'Pm')|(?'Pm'))","PqUuuXKRgsc&\\1cvHS\\1",[])),
20070    <<"PqUuuXKRgsccvHSaPqUuuXKRgsccvHSbPqUuuXKRgsccvHScPqUuuXKRgsccvHSdPqUuuXKRgsccvHS">> = iolist_to_binary(re:replace("abcd","(?|(\\k'Pm')|(?'Pm'))","PqUuuXKRgsc&\\1cvHS\\1",[global])),
20071    <<"  MumdPEeFred:099">> = iolist_to_binary(re:replace("  Fred:099","(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[,;:])(?=.{8,16})(?!.*[\\s])","\\1&M&umdPE&e",[])),
20072    <<"  MumdPEeFred:099">> = iolist_to_binary(re:replace("  Fred:099","(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[,;:])(?=.{8,16})(?!.*[\\s])","\\1&M&umdPE&e",[global])),
20073    <<"  ugxGKrBXEcHyG">> = iolist_to_binary(re:replace("  X","(?=.*X)X$","ugxGKrB&EcHyG",[])),
20074    <<"  ugxGKrBXEcHyG">> = iolist_to_binary(re:replace("  X","(?=.*X)X$","ugxGKrB&EcHyG",[global])),
20075    <<">MHFvXX<">> = iolist_to_binary(re:replace(">XXX<","X+(?#comment)?","MHFv",[])),
20076    <<">MHFvMHFvMHFv<">> = iolist_to_binary(re:replace(">XXX<","X+(?#comment)?","MHFv",[global])),
20077    <<"lTpokusldxfHXOpokuswsrRorpokus.">> = iolist_to_binary(re:replace("pokus.","   (?<word> \\w+ )*    \\.   ","lT\\1ldxfHXO\\1wsrRor&",[extended,
20078                                                                                                                                                                                                                                                                caseless])),
20079    <<"lTpokusldxfHXOpokuswsrRorpokus.">> = iolist_to_binary(re:replace("pokus.","   (?<word> \\w+ )*    \\.   ","lT\\1ldxfHXO\\1wsrRor&",[extended,
20080                                                                                                                                                                                                                                                                 caseless,
20081                                                                                                                                                                                                                                                                 global])),
20082    <<"Oeapokus.xo">> = iolist_to_binary(re:replace("pokus.","(?(DEFINE) (?<word> \\w+ ) ) (?&word)*   \\.","Oea&xo",[extended,
20083                                                                                                                                                                                                                                                            caseless])),
20084    <<"Oeapokus.xo">> = iolist_to_binary(re:replace("pokus.","(?(DEFINE) (?<word> \\w+ ) ) (?&word)*   \\.","Oea&xo",[extended,
20085                                                                                                                                                                                                                                                             caseless,
20086                                                                                                                                                                                                                                                             global])),
20087    <<"Wpokus.pity">> = iolist_to_binary(re:replace("pokus.","(?(DEFINE) (?<word> \\w+ ) ) ( (?&word)* )   \\.","W&pity",[extended,
20088                                                                                                                                                                                                                                                                    caseless])),
20089    <<"Wpokus.pity">> = iolist_to_binary(re:replace("pokus.","(?(DEFINE) (?<word> \\w+ ) ) ( (?&word)* )   \\.","W&pity",[extended,
20090                                                                                                                                                                                                                                                                     caseless,
20091                                                                                                                                                                                                                                                                     global])),
20092    <<"iujmNtBvmcyi">> = iolist_to_binary(re:replace("pokus.","(?&word)*  (?(DEFINE) (?<word> \\w+ ) )  \\.","iuj\\1m\\1NtBvmcyi\\1",[extended,
20093                                                                                                                                                                                                                                                                                            caseless])),
20094    <<"iujmNtBvmcyi">> = iolist_to_binary(re:replace("pokus.","(?&word)*  (?(DEFINE) (?<word> \\w+ ) )  \\.","iuj\\1m\\1NtBvmcyi\\1",[extended,
20095                                                                                                                                                                                                                                                                                             caseless,
20096                                                                                                                                                                                                                                                                                             global])),
20097    <<"Ipokus.hokusbQpokus.hokusB">> = iolist_to_binary(re:replace("pokus.hokus","(?&word)*  \\. (?<word> \\w+ )","I&bQ&B",[extended,
20098                                                                                                                                                                                                                                           caseless])),
20099    <<"Ipokus.hokusbQpokus.hokusB">> = iolist_to_binary(re:replace("pokus.hokus","(?&word)*  \\. (?<word> \\w+ )","I&bQ&B",[extended,
20100                                                                                                                                                                                                                                            caseless,
20101                                                                                                                                                                                                                                            global])),
20102    ok.
20103